Просмотр исходного кода

修复活动结束还遗留的机制问题,修复待入账处理问题

wangxiaoming 6 лет назад
Родитель
Сommit
93987fbffa

+ 7 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java

@@ -73,6 +73,13 @@ public interface UseIntegralService {
     boolean updateIntegralStayToAlready();
 
     /**
+     * 定时任务
+     * 待入账积分更改到已入账操作
+     * @return
+     */
+    String integralStayToAlready(StayIntegral stayIntegral);
+
+    /**
      * 查询待入账积分的集合
      * @return
      */

+ 61 - 45
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java

@@ -27,6 +27,8 @@ public class UseIntegralServiceImpl implements UseIntegralService {
 
     @Autowired
     private MemberMapper memberMapper;
+    @Autowired
+    private UseIntegralService useIntegralService;
 
     /**
      * 获取会员信息.会员等级名称
@@ -141,66 +143,80 @@ public class UseIntegralServiceImpl implements UseIntegralService {
     }
 
     @Override
-    @Transient
     public boolean updateIntegralStayToAlready() {
         StayIntegral stayIntegral = new StayIntegral();
         stayIntegral.setStayStatus(1);
         stayIntegral.setStayRecordedTime(new Date());
         /*获取所有的待入账积分*/
         List<StayIntegral>  stayIntegralList = useIntegralMapper.listStayIntegral(stayIntegral);
+        String msg = "";
         for(StayIntegral si : stayIntegralList ){
-		    /*增加入账积分,累计积分,减去待入账积分*/
-            Member member = memberMapper.getMemberByUserOpenId(si.getUserOpenId());
-            Member mem = new Member();
-            mem.setUserOpenid(si.getUserOpenId());
-            mem.setUserSurplusIntegral(member.getUserSurplusIntegral() + si.getStayNumber());
-            mem.setUserIntegral(member.getUserIntegral() + si.getStayNumber());
-            mem.setUserStayIntegral(member.getUserStayIntegral() - si.getStayNumber());
-            Integer flag = memberMapper.updateMemberByUserId(mem);
-            if (flag < 1) {
-                logger.info("== 修改积分失败-->记录id:"+ si.getStayId() );
-                throw new RuntimeException("修改积分失败");
+            try {
+                msg = msg + useIntegralService.integralStayToAlready(si);
+            }catch (Exception e){
+                e.printStackTrace();
             }
+        }
+        logger.info(msg);
+		/*增加入账记录*/
+        return true;
+    }
+
+    @Override
+    @Transient
+    public String integralStayToAlready(StayIntegral si) {
+        String msg = "";
+        /*增加入账积分,累计积分,减去待入账积分*/
+        Member member = memberMapper.getMemberByUserOpenId(si.getUserOpenId());
+        Member mem = new Member();
+        mem.setUserOpenid(si.getUserOpenId());
+        mem.setUserSurplusIntegral(member.getUserSurplusIntegral() + si.getStayNumber());
+        mem.setUserIntegral(member.getUserIntegral() + si.getStayNumber());
+        mem.setUserStayIntegral(member.getUserStayIntegral() - si.getStayNumber());
+        Integer flag = memberMapper.updateMemberByUserId(mem);
+        if (flag < 1) {
+            logger.info("== 修改积分失败-->记录id:"+ si.getStayId());
+            throw new RuntimeException("修改积分失败");
+        }
 
             /*添加入账日志*/
-            UseIntegral useIntegral = new UseIntegral();
-            useIntegral.setUserOpenId(si.getUserOpenId());
-            useIntegral.setIntegralNumber(si.getStayNumber());
-            useIntegral.setStayId(si.getStayId());
-            useIntegral.setIntegralBeforeNumber(member.getUserSurplusIntegral()); //变动前
-            useIntegral.setIntegralEndNumber(mem.getUserSurplusIntegral()); //变动后
-            useIntegral.setIntegralType(1); //入账
-            useIntegral.setConfigId(si.getConfigId());
-            //useIntegral.setIntegralRemarks("由待入账变更为已入账");
-            flag = useIntegralMapper.addUseIntegral(useIntegral);
-            if (flag < 1) {
-                logger.info("== 添加入账日志失败-->记录id:"+ si.getStayId() );
-                throw new RuntimeException("添加入账日志失败");
-            }
+        UseIntegral useIntegral = new UseIntegral();
+        useIntegral.setUserOpenId(si.getUserOpenId());
+        useIntegral.setIntegralNumber(si.getStayNumber());
+        useIntegral.setStayId(si.getStayId());
+        useIntegral.setIntegralBeforeNumber(member.getUserSurplusIntegral()); //变动前
+        useIntegral.setIntegralEndNumber(mem.getUserSurplusIntegral()); //变动后
+        useIntegral.setIntegralType(1); //入账
+        useIntegral.setConfigId(si.getConfigId());
+        //useIntegral.setIntegralRemarks("由待入账变更为已入账");
+        flag = useIntegralMapper.addUseIntegral(useIntegral);
+        if (flag < 1) {
+            logger.info("== 添加入账日志失败-->记录id:"+ si.getStayId() );
+            throw new RuntimeException("添加入账日志失败");
+        }
 
             /*删除日志*/
-            UseIntegral ui = new UseIntegral();
-            ui.setUserOpenId(si.getUserOpenId());
-            ui.setStayId(si.getStayId());
-            ui.setIntegralType(3);
-            flag = useIntegralMapper.delUseIntegral(ui);
-            if (flag < 1) {
-                logger.info("== 删除待入账日志失败-->记录id:"+ si.getStayId() );
-                throw new RuntimeException("删除待入账日志失败");
-            }
+        UseIntegral ui = new UseIntegral();
+        ui.setUserOpenId(si.getUserOpenId());
+        ui.setStayId(si.getStayId());
+        ui.setIntegralType(3);
+        flag = useIntegralMapper.delUseIntegral(ui);
+        if (flag < 1) {
+            logger.info("== 删除待入账日志失败-->记录id:"+ si.getStayId() );
+            msg += "== 删除待入账日志失败-->记录id:"+ si.getStayId();
+            //throw new RuntimeException("删除待入账日志失败");
+        }
 
             /*再将待入账信息改为已入账状态*/
-            StayIntegral stayInte =  new StayIntegral();
-            stayInte.setStayId(si.getStayId());
-            stayInte.setStayStatus(2);
-            flag = useIntegralMapper.updateStayIntegral(stayInte);
-            if (flag < 1) {
-                logger.info("== 修改待入账状态失败-->记录id:"+ si.getStayId() );
-                throw new RuntimeException("修改待入账状态失败");
-            }
+        StayIntegral stayInte =  new StayIntegral();
+        stayInte.setStayId(si.getStayId());
+        stayInte.setStayStatus(2);
+        flag = useIntegralMapper.updateStayIntegral(stayInte);
+        if (flag < 1) {
+            logger.info("== 修改待入账状态失败-->记录id:"+ si.getStayId() );
+            throw new RuntimeException("修改待入账状态失败");
         }
-		/*增加入账记录*/
-        return true;
+        return msg;
     }
 
     /**

+ 6 - 5
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -814,11 +814,12 @@ public class OrderHandler {
 		}
 
 		//双十二期间,全场满328元减50元,全场满499元减100元,全场满满699元减150元
-//		activityDate
-		for (SalesActivities salesActivities : activityDate.getSalesActivitiesList()){
-			if(mustPay >= salesActivities.getSalesActivitiesFull()){
-				mustPay = mustPay - salesActivities.getSalesActivitiesReduction();
-				break;
+		if (activityDate.isStatus()) {
+			for (SalesActivities salesActivities : activityDate.getSalesActivitiesList()){
+				if(mustPay >= salesActivities.getSalesActivitiesFull()){
+					mustPay = mustPay - salesActivities.getSalesActivitiesReduction();
+					break;
+				}
 			}
 		}