diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index 16eebef..d560a0d 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -8,6 +8,7 @@ import com.qs.serve.framework.base.model.PageVo; import com.qs.serve.framework.base.model.R; import com.qs.serve.common.enums.BizType; import com.qs.serve.common.enums.SystemModule; +import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil; import com.qs.serve.modules.sys.common.AuthContextUtils; import com.qs.serve.common.utils.CopierUtil; import com.qs.serve.common.utils.PageUtil; @@ -88,18 +89,10 @@ public class TbsActivityController { public R reset(@PathVariable("id") Long id){ String msg = tbsActivityDebugApplicationService.reset(id); TbsActivity activity = tbsActivityService.getById(id); + BirActivityCenterGoodsUtil.buildBir(activity.getCostApplyId()); return R.ok(msg); } - @GetMapping("/resetList") - public R reset(){ - Long[] ids = new Long[]{ - }; - for (Long id : ids) { - System.out.println(tbsActivityDebugApplicationService.reset(id)); - } - return R.ok(); - } /** * 列表 diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivitySubjectMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivitySubjectMapper.java index db35a27..6638498 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivitySubjectMapper.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivitySubjectMapper.java @@ -22,13 +22,13 @@ public interface TbsActivitySubjectMapper extends BaseMapper "\tgroup by activity_id\n" + ") act_info on act_info.activity_id = tbs_activity.id\n" + "where tbs_activity.del_flag = 0 \n" + - "and tbs_cost_apply.del_flag = 0\n" + - "and tbs_cost_apply.charge_state in (1,2,3,7)\n" + - "and tbs_cost_apply.cancel_flag = 0\n" + - "and tbs_activity.cancel_flag = 0\n" + - "and tbs_activity.release_flag = 1\n" + - "and tbs_activity.id = #{activityId} " + - "and act_info.tal_used != tbs_activity.used_amount ") + " and tbs_cost_apply.del_flag = 0\n" + + " and tbs_cost_apply.charge_state in (1,2,3,7)\n" + + " and tbs_cost_apply.cancel_flag = 0\n" + + " and tbs_activity.cancel_flag = 0\n" + + //"and tbs_activity.release_flag = 1\n" + + " and tbs_activity.id = #{activityId} " + + " and act_info.tal_used != tbs_activity.used_amount ") Long checkActAndSubjectAmt(@Param("activityId") Long activityId); } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityDebugApplicationService.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityDebugApplicationService.java index e7dad11..855f11d 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityDebugApplicationService.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityDebugApplicationService.java @@ -56,34 +56,51 @@ public class TbsActivityDebugApplicationService { // return "方法仅支持普通订单"; // } - BirActivityCenterGoodsUtil.buildBir(activity.getCostApplyId()); - BigDecimal checkeAmt = activity.getUsedAmount(); - if(activity.getReleaseFlag().equals(1)){ - checkeAmt = checkeAmt.add(activity.getReleaseAmount()); - } - if(checkeAmt.compareTo(activity.getTotalAmount())>0){ - log.warn("活动自身金额异常"); - return "活动自身金额异常"; - } - - Long unMatchNum = activitySubjectMapper.checkActAndSubjectAmt(activityId); - if(unMatchNum!=null&&unMatchNum>0){ - log.warn("活动科目金额异常"); - return "活动科目金额异常"; - } //校验核销金额,错误则不执行 BigDecimal totalVerificationAmt = verificationMapper.getActivityVerificationAmt(activityId); if(totalVerificationAmt==null){ totalVerificationAmt = BigDecimal.ZERO; } + boolean updateActivity = false; + //确保已用金额和核销金额一致 + TbsActivity activity4Upd = new TbsActivity(); + activity4Upd.setId(activity.getId()); if(activity.getUsedAmount().compareTo(BigDecimal.ZERO)!=0 &&activity.getUsedAmount().compareTo(totalVerificationAmt)!=0){ - return "核销金额异常"; + activity.setUsedAmount(totalVerificationAmt); + updateActivity = true; + activity4Upd.setUsedAmount(totalVerificationAmt); } - // subject是和activity的 申请金额和核销金额一致,不进行更新 + BigDecimal releaseAmount = activity.getTotalAmount().subtract(activity.getUsedAmount()); + if(activity.getReleaseFlag().equals(1)){ + if (activity.getReleaseAmount()==null||activity.getReleaseAmount().compareTo(releaseAmount)!=0){ + updateActivity = true; + activity.setReleaseAmount(releaseAmount); + } + } + + if (updateActivity){ + activityMapper.updateById(activity4Upd); + } + Long unMatchNum = activitySubjectMapper.checkActAndSubjectAmt(activityId); + boolean restSubjectUsed = unMatchNum!=null&&unMatchNum>0; List activitySubjectList = activitySubjectService.list(wrapper); + if(restSubjectUsed){ + BigDecimal totalSubjectUsed = totalVerificationAmt; + for (TbsActivitySubject subject : activitySubjectList) { + if(subject.getAmount().compareTo(totalSubjectUsed)>=0){ + subject.setUsedAmount(totalSubjectUsed); + }else { + totalSubjectUsed = totalSubjectUsed.subtract(subject.getAmount()); + subject.setUsedAmount(subject.getAmount()); + } + activitySubjectMapper.updateById(subject); + } + } + + // subject是和activity的 申请金额和核销金额一致,不进行更新 List activityCenterList = activityCenterService.list(wrapper); List activityCenterGoodsList = activityCenterGoodsService.list(wrapper); @@ -293,7 +310,6 @@ public class TbsActivityDebugApplicationService { } } } - } //二次校验 diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index 240350d..8711408 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -343,23 +343,9 @@ public class VtbVerificationController { public R commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ seeYonService.testConnection(); R r = verificationApplication.commitAffair(affairCommit); - if(affairCommit.getState().equals(2)){ - runCompensate(affairCommit); - } return r; } - @Async - public void runCompensate(TbsAffairCommitBo affairCommit) { - try { - Thread.sleep(500); - } catch (InterruptedException e) { - e.printStackTrace(); - } - AuthContextUtils.setTenant("001"); - vtbVerificationOperationService.runCompensate(affairCommit.getCostApplyId()+""); - } - /** * 加签 * @param param diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 58d42d1..f91cf5b 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -367,12 +367,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl contractLambdaQueryWrapper = new LambdaQueryWrapper<>(); contractLambdaQueryWrapper.eq(TbsActivityPayCondition::getActivityId,verification.getActivityId());