秒殺開啟時,輸出秒殺接口地址
@Override public?Exposer?exportSeckillUrl(long?seckillId)?{ ????Seckill?seckill?=?seckillMapper.selectByPrimaryKey(seckillId); ????if?(seckill?==?null)?{ ????????return?new?Exposer(false,?seckillId); ????} ????Date?startTime?=?seckill.getStartTime(); ????Date?endTime?=?seckill.getEndTime(); ????//?系統當前時間 ????Date?nowTime?=?new?Date(); ????if?(nowTime.getTime()?<?startTime.getTime() ????????????||?nowTime.getTime()?>?endTime.getTime())?{ ????????return?new?Exposer(false,?seckillId,?nowTime.getTime(), ????????????????startTime.getTime(),?endTime.getTime()); ????} ????//?轉化為特定字符串的轉化過程,不可逆 ????String?md5?=?getMd5(seckillId); ????return?new?Exposer(true,?md5,?seckillId); }
為什么這個方法的第一句是通過seckillId獲取秒殺商品對象,并且不存在seckill時,返回new Exposer(false, seckillId);
該商品還未開啟秒殺并不等同于該商品不存在???是不是我在哪里理解錯了,求解?
2021-10-22
2018-05-04
老師的代碼挺規范的,如果沒有這個商品,前端可以跟據開始時間與結束時間就可以判斷前端要顯示的邏輯
三種情況:
????exposed等于false, start_time, end_time, now_time == null, 沒有這個商品
? ? exposed== fasle, start_time,end_time, now_time 有值,未開啟或已結束
????exposed==true, 已開啟,md5有值。
2018-01-19
我知道了,這個方法只是輸出一個秒殺接口。