From 4f9ecfc8394b36042c2e5fd84f25176fb0b64dad Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 11 Jul 2025 17:39:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(check):=20=E4=BF=AE=E5=A4=8D=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BB=A5=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E4=B8=BA=E5=9F=BA=E7=A1=80=E5=8E=BB=E6=9B=B4=E6=96=B0=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/controller/TbsActivityController.java | 11 +--- .../tbs/mapper/TbsActivitySubjectMapper.java | 14 ++--- .../TbsActivityDebugApplicationService.java | 52 ++++++++++++------- .../controller/VtbVerificationController.java | 14 ----- .../impl/VtbVerificationServiceImpl.java | 14 +++-- 5 files changed, 49 insertions(+), 56 deletions(-) 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());