Ver código fonte

fix:收款,支付添加锁

ly 9 meses atrás
pai
commit
a159078a02

+ 6 - 0
src/main/java/cn/ezhizao/project/business/collection/controller/BizCollectionController.java

@@ -125,6 +125,7 @@ public class BizCollectionController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:collection:edit')")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "financialCollectionSaveAll",key = "#collection.contractId")
     public AjaxResult saveAll(@RequestBody BizCollection collection) throws NoSuchFieldException, IllegalAccessException {
         boolean changeFormNo = true;
         final String redisKey = "collection_flow_no";
@@ -244,6 +245,7 @@ public class BizCollectionController extends BaseController {
     @ApiOperation("修改收款状态")
     @Log(title = "修改收款状态", businessType = BusinessType.UPDATE)
     @PutMapping("/setCollectionStatus")
+    @distributedLock(prefix = "financialCollectionSetStatus",key = "#conditions.id")
     public AjaxResult setCollectionStatus(@RequestBody BizArchiveInput conditions) throws NoSuchFieldException, IllegalAccessException {
 
         return success(archiveInputService.updateById(conditions));
@@ -357,6 +359,7 @@ public class BizCollectionController extends BaseController {
     @PostMapping("/checkArrive")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "financialCollectionCheckArrive",key = "#conditions.id")
     public AjaxResult checkArrive(@RequestBody BizCollection collection) {
 
         AtomicBoolean collectionCheck = new AtomicBoolean(true);
@@ -385,6 +388,7 @@ public class BizCollectionController extends BaseController {
     @PostMapping("/verified")
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "收款管理审核", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "financialCollectionVerified",key = "#conditions.id")
     public AjaxResult verified(@RequestBody BizCollection collection) {
         try {
             collection.setVerifyId(getUserId());
@@ -415,6 +419,7 @@ public class BizCollectionController extends BaseController {
     @Log(title = "收款导入", businessType = BusinessType.IMPORT)
     @PreAuthorize("@ss.hasPermi('business:collection:import')")
     @PostMapping("/importLoop")
+    @distributedLock(prefix = "financialCollectionImportLoop",key = "@tenantId")
     public AjaxResult importLoop(MultipartFile file) throws Exception {
         ExcelUtil<CollectionExcelLoopModel> util = new ExcelUtil<>(CollectionExcelLoopModel.class);
         List<CollectionExcelLoopModel> orderList = util.importExcel(file.getInputStream());
@@ -425,6 +430,7 @@ public class BizCollectionController extends BaseController {
     @Log(title = "收款导入", businessType = BusinessType.IMPORT)
     @PreAuthorize("@ss.hasPermi('business:collection:import')")
     @PostMapping("/importOnce")
+    @distributedLock(prefix = "financialCollectionImportOnce",key = "@tenantId")
     public AjaxResult importOnce(MultipartFile file) throws Exception {
         ExcelUtil<CollectionExcelOnceModel> util = new ExcelUtil<>(CollectionExcelOnceModel.class);
         List<CollectionExcelOnceModel> orderList = util.importExcel(file.getInputStream());

+ 4 - 0
src/main/java/cn/ezhizao/project/business/payment/controller/BizPaymentController.java

@@ -5,6 +5,7 @@ import cn.ezhizao.common.utils.StringUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
 import cn.ezhizao.framework.aspectj.lang.annotation.Log;
+import cn.ezhizao.framework.aspectj.lang.annotation.distributedLock;
 import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
@@ -101,6 +102,7 @@ public class BizPaymentController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:payment:add')")
     @Log(title = "支付保存", businessType = BusinessType.INSERT)
     @ResponseBody
+    @distributedLock(prefix = "financialBizPaymentSaveAll",key = "#payment.contractId")
     public AjaxResult saveAll(@RequestBody BizPayment payment) throws NoSuchFieldException, IllegalAccessException {
         boolean changeFormNo = true;
         final String redisKey = "payment_flow_no";
@@ -154,6 +156,7 @@ public class BizPaymentController extends BaseController {
 
     @Log(title = "修改收款的状态", businessType = BusinessType.UPDATE)
     @GetMapping ("/setPaymentZero/{id}")
+    @distributedLock(prefix = "financialBizPaymentSetCollectionZero",key = "#id")
     public AjaxResult setCollectionZero(@PathVariable Long id) {
 
         LambdaUpdateWrapper<BizPayment> eq = new LambdaUpdateWrapper<BizPayment>()
@@ -444,6 +447,7 @@ public class BizPaymentController extends BaseController {
     @Log(title = "支付审核", businessType = BusinessType.UPDATE)
     @PreAuthorize("@ss.hasAnyPermi('business:payment:submitVerify,business:payment:financialVerify,business:payment:cashierVerify')")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "financialBizPaymentVerified",key = "#payment.id")
     public AjaxResult verified(@RequestBody BizPayment payment) {
         try {
             payment.setVerifyDate(payment.getVerifyDate() == null ? DateTime.now().toTimestamp() : payment.getVerifyDate());