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