From 315ee2a5e94744002e6132414807054b45f243d8 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 11 Jul 2025 11:12:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(check):=20=E4=BF=AE=E5=A4=8D=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E6=B4=BB=E5=8A=A8=E5=B7=B2=E7=94=A8=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/VtbVerificationController.java | 44 +++++++++---------- .../vtb/mapper/VtbVerificationMapper.java | 5 +++ .../service/VtbVerificationApplication.java | 7 +-- .../impl/VtbVerificationServiceImpl.java | 13 ++++-- 4 files changed, 41 insertions(+), 28 deletions(-) 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 63334d8..240350d 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 @@ -488,34 +488,34 @@ public class VtbVerificationController { * @return */ //@GetMapping("successCommit") - public R successCommit(Long verificationId){ - vtbVerificationService.successCommit(verificationId,false); - return R.ok(); - } +// public R successCommit(Long verificationId){ +// vtbVerificationService.successCommit(verificationId,false); +// return R.ok(); +// } /** * 成功提交回调 * @return */ //@GetMapping("successCommit2") - public R successCommit2(){ - //错误的 - Long[] costIds = new Long[]{ - 22010L, - 264884L, - 266434L - }; - List costIds2 = Arrays.asList(costIds); - - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.in(VtbVerification::getCostApplyId,costIds2); - lqw.select(VtbVerification::getId); - List vtbVerificationList = vtbVerificationService.list(lqw); - for (VtbVerification verification : vtbVerificationList) { - vtbVerificationService.successCommit(verification.getId(),false); - } - return R.ok(); - } +// public R successCommit2(){ +// //错误的 +// Long[] costIds = new Long[]{ +// 22010L, +// 264884L, +// 266434L +// }; +// List costIds2 = Arrays.asList(costIds); +// +// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); +// lqw.in(VtbVerification::getCostApplyId,costIds2); +// lqw.select(VtbVerification::getId); +// List vtbVerificationList = vtbVerificationService.list(lqw); +// for (VtbVerification verification : vtbVerificationList) { +// vtbVerificationService.successCommit(verification.getId(),false); +// } +// return R.ok(); +// } @GetMapping("delErp") public R a(String checkCode){ diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java index 1ccf8eb..a919630 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java @@ -35,6 +35,11 @@ public interface VtbVerificationMapper extends BaseMapper { @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and activity_id = #{activityId} and verification_state = 1") BigDecimal totalActivityVerification(@Param("activityId")String activityId); + @Select("select COALESCE(sum(amount),0) from vtb_verification " + + " where del_flag = 0 and activity_id = #{activityId}" + + " and verification_state = 1 and id != #{verificationId}") + BigDecimal totalActivityVerification(@Param("activityId")String activityId,@Param("verificationId")String verificationId); + @InterceptorIgnore(tenantLine = "true") @Select("SELECT verification_code FROM `vtb_verification`" + " where verification_code like 'HX%'" + diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index 6221800..843d9c4 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -138,7 +138,7 @@ public class VtbVerificationApplication { if(result.getData().equals("next")){ summeryResult = "next"; } - VerificationUtil.startLog(stopWatch,"成功回调"); + VerificationUtil.startLog(stopWatch,"致远请求成功后回调"); R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult); VerificationUtil.stop(stopWatch); VerificationUtil.startLog(stopWatch,"异步更新冻结状态"); @@ -417,7 +417,7 @@ public class VtbVerificationApplication { vtbVerificationService.release(verification.getActivityId(),sysUser.getCode(),false); } }else { - //更新金额 + //没有完成记录金额走下一轮提交 VtbVerification vtbVer = new VtbVerification(); vtbVer.setId(verification.getId()); vtbVer.setAmount(totalAmount); @@ -442,7 +442,8 @@ public class VtbVerificationApplication { } //刷新活动金额 TbsActivity activity = tbsActivityService.getById(verification.getActivityId()); - BigDecimal totalUsed = activity.getUsedAmount().add(totalAmount); + BigDecimal activityLastUsed = verificationMapper.totalActivityVerification(verification.getActivityId()+"",verification.getId()+""); + BigDecimal totalUsed = activityLastUsed.add(totalAmount); TbsActivity activity4Upd = new TbsActivity(); activity4Upd.setId(activity.getId()); activity4Upd.setUsedAmount(totalUsed); 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 972b9f0..58d42d1 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 @@ -72,6 +72,7 @@ import com.qs.serve.modules.vtb.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; +import org.springframework.dao.DeadlockLoserDataAccessException; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -1624,10 +1625,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl centerGoodsIds = activityCenterGoodsOfSubject.stream().map(TbsActivityCenterGoods::getId).collect(Collectors.toList()); List lastUsedList = vtbFundFlowMapper.listActivityCenterGoodsUsed(centerGoodsIds); //统计不匹配金额 + List centerGoodsUpdates = new ArrayList<>(); for (int i = 0; i < activityCenterGoodsOfSubject.size(); i++) { TbsActivityCenterGoods centerGoods = activityCenterGoodsOfSubject.get(i); BigDecimal currentTimeAmount; @@ -1673,7 +1673,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl