Pārlūkot izejas kodu

领取增加校验,未到领取开始时间不允许领取

why 4 gadi atpakaļ
vecāks
revīzija
1b7804288d

+ 9 - 3
src/main/java/com/td/boss/game/comcnttosnb/service/ComCntToSnbServiceImpl.java

@@ -65,10 +65,16 @@ public class ComCntToSnbServiceImpl extends CommonServiceImpl<ComCntToSnbVo, Com
         if (comCntToSnb.getReceivedDay() >= comCntToSnb.getTotalDay()) {
             return Result.of(null, false, "已全部领取完毕");
         }
+        // 服务器时间
+        Date serverDate = new Date();
+        // 未到领取时间
+        if (DateUtil.compare(comCntToSnb.getBeginTime(), serverDate) > 0) {
+            return Result.of(null, false, "未到领取时间");
+        }
         // 计算本次可领天数. 服务器时间 - 开始时间 - 已领取天数
-        Integer day = Convert.toInt(DateUtil.betweenDay(comCntToSnb.getBeginTime(), new Date(), true)) - comCntToSnb.getReceivedDay() + 1;
+        Integer day = Convert.toInt(DateUtil.betweenDay(comCntToSnb.getBeginTime(), serverDate, true)) - comCntToSnb.getReceivedDay() + 1;
         System.out.println("领取开始时间:" + DateUtil.format(comCntToSnb.getBeginTime(), "yyyy-MM-dd"));
-        System.out.println("服务器时间:" + DateUtil.format(new Date(), "yyyy-MM-dd"));
+        System.out.println("服务器时间:" + DateUtil.format(serverDate, "yyyy-MM-dd"));
         System.out.println("已领取:" + comCntToSnb.getReceivedDay() + "天,本次可领取:" + day + "天");
         if (day <= 0) {
             return Result.of(null, false, "领取失败,今日已领取");
@@ -121,7 +127,7 @@ public class ComCntToSnbServiceImpl extends CommonServiceImpl<ComCntToSnbVo, Com
             snbTran.setBeforeSnbPart(Convert.toDouble(comCntToSnb.getReceivedQuantity().subtract(thisReceiveQuantity)));
             // 交易完成后的snb
             snbTran.setAfterSnbPart(Convert.toDouble(comCntToSnb.getReceivedQuantity()));
-            snbTran.setCreateTime(new Date());
+            snbTran.setCreateTime(serverDate);
             comSnbTranService.save(snbTran);
 
             return Result.of(null, false, "领取成功");