Bladeren bron

fix:添加锁

ly 9 maanden geleden
bovenliggende
commit
9e070e24c9

+ 5 - 0
src/main/java/cn/ezhizao/project/business/housingFund/controller/BizHousingFundConfirmController.java

@@ -5,6 +5,7 @@ import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 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;
@@ -204,6 +205,7 @@ public class BizHousingFundConfirmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:housingFundConfirm:edit')")
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "填写社保人员信息", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "housingFundConfirmDetailSaveDetail",key = "#detail.companyId")
     public AjaxResult saveDetail(@RequestBody BizHousingFundConfirmDetail detail) {
         detail.setVerifierTime(new Date());
         detail.setVerifierId(SecurityUtils.getUserId());
@@ -231,6 +233,7 @@ public class BizHousingFundConfirmController extends BaseController {
     @PostMapping("/updateDetail")
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "修改公积金人员信息", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "housingFundConfirmDetailUpdateDetail",key = "#detail.id")
     public AjaxResult updateDetail(@RequestBody BizHousingFundConfirmDetail detail) {
         BizCompany company = companyService.getById(detail.getCompanyId());
         company.setHousingFundPassword(detail.getHousingFundPassword());
@@ -280,6 +283,7 @@ public class BizHousingFundConfirmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:housingFundConfirm:verify')")
     @PostMapping("/verifyDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "housingFundConfirmDetailVerifyDetail",key = "#detail.id")
     public AjaxResult verifyDetail(@RequestBody BizHousingFundConfirmDetail detail) {
         boolean bool = true;
         detail.setVerifierId(SecurityUtils.getUserId());
@@ -332,6 +336,7 @@ public class BizHousingFundConfirmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:housingFundConfirm:return')")
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "housingFundConfirmDetailTurnBackDetail",key = "#detail.id")
     public AjaxResult turnBackDetail(@RequestBody BizHousingFundConfirmDetail detail) {
         // 先判断是否社保申报完成,申报完成状态不能进行工资退回
         BizHousingFundDeclareDetail financialReceiveTicketDetail = housingFundDeclareDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();

+ 4 - 0
src/main/java/cn/ezhizao/project/business/housingFund/controller/BizHousingFundDeclareController.java

@@ -3,6 +3,7 @@ package cn.ezhizao.project.business.housingFund.controller;
 import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 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;
@@ -371,6 +372,7 @@ public class BizHousingFundDeclareController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:housingFundDeclare:edit')")
     @Log(title = "公积金申报任务", businessType = BusinessType.UPDATE)
     @ResponseBody
+    @distributedLock(prefix = "HousingFundDeclareDetailSaveDetail",key = "#detail.companyId")
     public AjaxResult saveDetail(@RequestBody BizHousingFundDeclareDetail detail) {
         detail.setVerifierId(SecurityUtils.getUserId());
         detail.setVerifierTime(new Date());
@@ -402,6 +404,7 @@ public class BizHousingFundDeclareController extends BaseController {
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "公积金审核", businessType = BusinessType.UPDATE)
     @ResponseBody
+    @distributedLock(prefix = "HousingFundDeclareDetailVerify",key = "#detail.id")
     public AjaxResult verify(@RequestBody BizHousingFundDeclareDetail detail) {
 //        if(detail.getValueAddedTax())
         BigDecimal amount = detail.getUnitAmount().add(detail.getIndividualAmount());
@@ -489,6 +492,7 @@ public class BizHousingFundDeclareController extends BaseController {
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "公积金申报任务-退回", businessType = BusinessType.UPDATE)
     @ResponseBody
+    @distributedLock(prefix = "HousingFundDeclareDetailTurnBack",key = "#detail.id")
     public AjaxResult deductionTurnBack(@RequestBody BizHousingFundDeclareDetail detail) {
         detail.setStatus(1);
         List<BizDeduction> deductions = deductionService.query().eq("source_table_name", "biz_housing_fund_declare_detail").eq("source_id", detail.getId()).list();

+ 4 - 1
src/main/java/cn/ezhizao/project/business/housingFund/service/impl/BizHousingFundConfirmDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.housingFund.service.impl;
 
+import cn.ezhizao.common.exception.ServiceException;
 import cn.ezhizao.project.business.housingFund.domain.BizHousingFundConfirmDetail;
 import cn.ezhizao.project.business.housingFund.domain.BizHousingFundConfirmDetailEmployee;
 import cn.ezhizao.project.business.housingFund.mapper.BizHousingFundConfirmDetailMapper;
@@ -62,7 +63,9 @@ public class BizHousingFundConfirmDetailServiceImpl extends ServiceImpl<BizHousi
 
     private boolean updateById(BizHousingFundConfirmDetail entity, List<BizHousingFundConfirmDetailEmployee> employees) {
         boolean bool = super.updateById(entity);
-
+        if(!bool){
+            throw new ServiceException("不是最新数据请刷新页面");
+        }
         Map<String, Object> delDetail = new HashMap<>();
         delDetail.put("housingFundConfirmDetailId", entity.getId());
         financialHousingFundConfirmDetailEmployeeService.physicallyDelete(delDetail);

+ 4 - 0
src/main/java/cn/ezhizao/project/business/keepAccounts/controller/BizFinancialKeepAccountController.java

@@ -4,6 +4,7 @@ import cn.ezhizao.common.exception.ServiceException;
 import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 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;
@@ -258,6 +259,7 @@ public class BizFinancialKeepAccountController extends BaseController {
     @PostMapping("/verify")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "productionKeepAccountVerify",key = "#detail.id")
     public AjaxResult verify(@RequestBody BizFinancialKeepAccountDetail detail) {
         if (detail.getStatus().equals(3)) {
             QueryWrapper<BizFinancialReportTax> qw = new QueryWrapper<>();
@@ -312,6 +314,7 @@ public class BizFinancialKeepAccountController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:keepAccount:edit')")
     @PostMapping("/updateDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "productionKeepAccountEdit",key = "#bizFinancialSalaryDetail.id")
     public AjaxResult updateDetail(@RequestBody BizFinancialKeepAccountDetail bizFinancialSalaryDetail) {
         return toAjax(financialKeepAccountDetailService.updateById(bizFinancialSalaryDetail) && addRecord(bizFinancialSalaryDetail.getFinancialKeepAccountId(), bizFinancialSalaryDetail.getYear(), bizFinancialSalaryDetail.getMonth(), SecurityUtils.getUserId(), "修改记账信息"));
     }
@@ -319,6 +322,7 @@ public class BizFinancialKeepAccountController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:keepAccount:return')")
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "productionKeepAccountTurnBack",key = "#detail.id")
     public AjaxResult turnBackDetail(@RequestBody BizFinancialKeepAccountDetail detail) {
         // 先判断是否记账完成,记账完成状态不能进行工资退回
 //        BizFinancialKeepAccountDetail keepAccountDetail = financialKeepAccountDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();

+ 3 - 0
src/main/java/cn/ezhizao/project/business/receiveTicket/controller/BizFinancialReceiveTicketController.java

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.StringUtils;
+import cn.ezhizao.framework.aspectj.lang.annotation.distributedLock;
 import cn.ezhizao.project.business.company.domain.BizCompany;
 import cn.ezhizao.project.business.company.service.IBizCompanyService;
 import cn.ezhizao.project.business.keepAccounts.domain.BizFinancialKeepAccount;
@@ -251,6 +252,7 @@ public class BizFinancialReceiveTicketController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:receiveTicket:verify')")
     @PostMapping("/verifyDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialReceiveTicketDetailVerifyDetail",key = "#detail.id")
     public AjaxResult verifyDetail(@RequestBody BizFinancialReceiveTicketDetail detail) {
         detail.setVerifierId(SecurityUtils.getUserId());
         boolean bool = handleFeedback(detail);
@@ -277,6 +279,7 @@ public class BizFinancialReceiveTicketController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:receiveTicket:return')")
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialReceiveTicketDetailTurnBackDetail",key = "#detail.id")
     public AjaxResult turnBackDetail(@RequestBody BizFinancialReceiveTicketDetail detail) {
         // 先判断是否记账完成,记账完成状态不能进行工资退回
         BizFinancialKeepAccountDetail keepAccountDetail = financialKeepAccountDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();

+ 4 - 0
src/main/java/cn/ezhizao/project/business/reportTax/controller/BizFinancialReportTaxNonZeroController.java

@@ -4,6 +4,7 @@ import cn.ezhizao.common.exception.ServiceException;
 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.lock.DistributionLock;
 import cn.ezhizao.framework.lock.LockKey;
@@ -419,6 +420,7 @@ public BigDecimal getLastMonthLoess(@RequestBody BizFinancialReportTaxDetail fin
     @PostMapping("/setZero")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "FinancialReportTaxNonZeroSetZero",key = "@tenantId")
     public AjaxResult setZero(@RequestBody List<BizFinancialReportTaxNonZero> financialReportTaxes) {
         List<BizFinancialReportTaxDetailNonZero> details = new ArrayList<>();
         financialReportTaxes.forEach(l -> {
@@ -449,6 +451,7 @@ public BigDecimal getLastMonthLoess(@RequestBody BizFinancialReportTaxDetail fin
     @PostMapping("/verify")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "FinancialReportTaxNonZeroVerify",key = "#detail.id")
     public AjaxResult verify(@RequestBody BizFinancialReportTaxDetailNonZero detail) {
 //        if(detail.getValueAddedTax())
         BigDecimal amount = detail.getValueAddedTax().add(detail.getStampTax()).add(detail.getAdditionsTaxOfEducation()).add(detail.getExcise()).add(detail.getLAdditionsTaxOfEducation()).add(detail.getBusinessIncomeTax()).add(detail.getCityConstructTax()).add(detail.getCulturalConstructTax()).add(detail.getIndividualIncomeTax());
@@ -579,6 +582,7 @@ public BigDecimal getLastMonthLoess(@RequestBody BizFinancialReportTaxDetail fin
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
     @Log(title = "扣款任务-退回", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "FinancialReportTaxNonZeroTurnBack",key = "#detail.id")
     public AjaxResult deductionTurnBack(@RequestBody BizFinancialReportTaxDetail detail) {
         detail.setStatus(1);
         BizFinancialMerge merge = financialMergeService.query().eq("financial_report_tax_detail_id", detail.getId()).one();

+ 9 - 2
src/main/java/cn/ezhizao/project/business/reportTaxIsZero/controller/BizFinancialReportTaxController.java

@@ -3,6 +3,7 @@ package cn.ezhizao.project.business.reportTaxIsZero.controller;
 import cn.ezhizao.common.exception.ServiceException;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 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.lock.DistributionLock;
 import cn.ezhizao.framework.lock.LockKey;
@@ -129,6 +130,8 @@ public class BizFinancialReportTaxController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:financialReportTax:saveDetail')")
     @Log(title = "报税零申报", businessType = BusinessType.UPDATE)
     @ResponseBody
+    @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "productionReportTaxDetailSave",key = "#detail.companyId")
     public AjaxResult saveDetail(@RequestBody BizFinancialReportTaxDetail detail) throws Exception {
         String join = LockKey.join(LockKey.REPORTTAXZERODETAIL,detail.getFinancialReportTaxId(),detail.getYear(),detail.getMonth(),detail.getCompanyId());
         DistributionLock lock = new DistributionLock(join);
@@ -185,12 +188,10 @@ public class BizFinancialReportTaxController extends BaseController {
             bool = bool && (fileStorages.isEmpty() || fileStorageService.saveOrUpdateBatch(fileStorages));
             return bool ? success(detail) : error();
         } catch (Exception e) {
-            e.printStackTrace();
             throw new Exception("保存失败");
         } finally {
             lock.unlock();
         }
-
     }
 
     /**
@@ -199,6 +200,7 @@ public class BizFinancialReportTaxController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:financialReportTax:export')")
     @Log(title = "报税零申报", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
+    @Transactional(rollbackFor = Exception.class)
     public void export(HttpServletResponse response, BizFinancialReportTax financialReportTax) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(financialReportTax);
         List<BizFinancialReportTax> list = financialReportTaxService.getList(financialReportTax);
@@ -252,6 +254,8 @@ public class BizFinancialReportTaxController extends BaseController {
      */
     @Log(title = "报税详情", businessType = BusinessType.UPDATE)
     @PutMapping
+    @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "productionReportTaxDetailEdit",key = "#detail.id")
     public AjaxResult edit(@RequestBody BizFinancialReportTaxDetail detail) throws NoSuchFieldException, IllegalAccessException {
         //查询文件报表文件
         List<BizFinancialReportTaxDetailReport> fileStorages = detail.getReportFiles();
@@ -383,6 +387,7 @@ public class BizFinancialReportTaxController extends BaseController {
     @PostMapping("/setZero")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "productionReportTaxSetZero",key = "@tenantId",errorMsg = "你的同事正在设置数据请您稍后刷新页面再试")
     public AjaxResult setZero(@RequestBody List<BizFinancialReportTax> financialReportTaxes) {
         List<BizFinancialReportTaxDetail> details = new ArrayList<>();
         financialReportTaxes.forEach(l -> {
@@ -413,6 +418,7 @@ public class BizFinancialReportTaxController extends BaseController {
     @PostMapping("/verify")
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
+    @distributedLock(prefix = "productionReportTaxDetailVerify",key = "#detail.id")
     public AjaxResult verify(@RequestBody BizFinancialReportTaxDetail detail) {
 //        if(detail.getValueAddedTax())
         BigDecimal amount = detail.getValueAddedTax().add(detail.getStampTax()).add(detail.getAdditionsTaxOfEducation()).add(detail.getExcise()).add(detail.getLAdditionsTaxOfEducation()).add(detail.getBusinessIncomeTax()).add(detail.getCityConstructTax()).add(detail.getCulturalConstructTax()).add(detail.getIndividualIncomeTax());
@@ -540,6 +546,7 @@ public class BizFinancialReportTaxController extends BaseController {
     @Transactional(rollbackFor = Exception.class)
     @ResponseBody
     @Log(title = "报税-退回", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "productionReportTaxDetailTurnBack",key = "#detail.id")
     public AjaxResult deductionTurnBack(@RequestBody BizFinancialReportTaxDetail detail) {
         detail.setStatus(1);
         BizFinancialMerge merge = financialMergeService.query().eq("financial_report_tax_detail_id", detail.getId()).one();

+ 3 - 0
src/main/java/cn/ezhizao/project/business/salary/controller/BizFinancialSalaryController.java

@@ -22,6 +22,7 @@ import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.StringUtils;
 import cn.ezhizao.framework.aspectj.lang.annotation.Anonymous;
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.aspectj.lang.annotation.distributedLock;
 import cn.ezhizao.framework.lock.DistributionLock;
 import cn.ezhizao.framework.lock.LockKey;
 import cn.ezhizao.project.business.company.domain.BizCompany;
@@ -505,6 +506,7 @@ public class BizFinancialSalaryController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:salary:edit')")
     @PostMapping("/updateDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialSalaryDetailUpdateDetail",key = "#bizFinancialSalaryDetail.id")
     public AjaxResult updateDetail(@RequestBody BizFinancialSalaryDetail bizFinancialSalaryDetail) {
         return toAjax(bizFinancialSalaryDetailService.updateById(bizFinancialSalaryDetail) && addRecord(bizFinancialSalaryDetail.getFinancialSalaryId(), bizFinancialSalaryDetail.getYear(), bizFinancialSalaryDetail.getMonth(), SecurityUtils.getUserId(), "修改工资信息"));
     }
@@ -579,6 +581,7 @@ public class BizFinancialSalaryController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:salary:back')")
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialSalaryDetailTurnBackDetail",key = "#bizFinancialSalaryDetail.id")
     public AjaxResult turnBackDetail(@RequestBody BizFinancialSalaryDetail detail) {
         // 先判断是否收票完成,收票完成状态不能进行工资退回
         BizFinancialReceiveTicketDetail financialReceiveTicketDetail = financialReceiveTicketDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();

+ 4 - 0
src/main/java/cn/ezhizao/project/business/salary/controller/BizFinancialSalaryZeroController.java

@@ -5,6 +5,7 @@ import cn.ezhizao.common.utils.StringUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 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.lock.DistributionLock;
 import cn.ezhizao.framework.lock.LockKey;
@@ -375,6 +376,7 @@ public class BizFinancialSalaryZeroController extends BaseController {
     @Log(title = "生产管理-工资零申报-更新", businessType = BusinessType.UPDATE)
     @PostMapping("/updateDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialSalaryZeroDetailUpdateDetail",key = "#bizFinancialSalaryDetail.id")
     public AjaxResult updateDetail(@RequestBody BizFinancialSalaryDetail bizFinancialSalaryDetail) {
         return toAjax(bizFinancialSalaryDetailService.updateById(bizFinancialSalaryDetail) && addRecord(bizFinancialSalaryDetail.getFinancialSalaryId(), bizFinancialSalaryDetail.getYear(), bizFinancialSalaryDetail.getMonth(), SecurityUtils.getUserId(), "修改工资信息"));
     }
@@ -383,6 +385,7 @@ public class BizFinancialSalaryZeroController extends BaseController {
     @PostMapping("/verifyDetail")
     @Log(title = "生产管理-公司零申报-审核通过", businessType = BusinessType.UPDATE)
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "FinancialSalaryZeroDetailVerifyDetail",key = "#bizFinancialSalaryDetail.id")
     public AjaxResult verifyDetail(@RequestBody BizFinancialSalaryDetail bizFinancialSalaryDetail) {
         boolean bool = true;
         bizFinancialSalaryDetail.setVerifierId(SecurityUtils.getUserId());
@@ -427,6 +430,7 @@ public class BizFinancialSalaryZeroController extends BaseController {
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "生产管理-工资零申报-审核退回", businessType = BusinessType.UPDATE)
+    @distributedLock(prefix = "FinancialSalaryZeroDetailTurnBackDetail",key = "#detail.id")
     public AjaxResult turnBackDetail(@RequestBody BizFinancialSalaryDetail detail) {
         // 先判断是否收票完成,收票完成状态不能进行工资退回
         BizFinancialReceiveTicketDetail financialReceiveTicketDetail = financialReceiveTicketDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();

+ 5 - 0
src/main/java/cn/ezhizao/project/business/socialSecurity/controller/SocialSecurityConfirmController.java

@@ -5,6 +5,7 @@ import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 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.lock.DistributionLock;
 import cn.ezhizao.framework.lock.LockKey;
@@ -217,6 +218,7 @@ public class SocialSecurityConfirmController extends BaseController {
     @ApiOperation("审核")
     @PostMapping("/verify")
     @ResponseBody
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult verify(@RequestBody BizSocialSecurityConfirmDetail detail) {
         String join = LockKey.join(LockKey.SOCIALSECURITYCONFIRMDETAIL,detail.getSocialSecurityConfirmId(),detail.getYear(),detail.getMonth(),detail.getCompanyId());
         DistributionLock lock = new DistributionLock(join);
@@ -263,6 +265,7 @@ public class SocialSecurityConfirmController extends BaseController {
     @PostMapping("/saveDetail")
     @Transactional(rollbackFor = Exception.class)
     @Log(title = "社保人员信息-新增", businessType = BusinessType.INSERT)
+    @distributedLock(prefix = "SocialSecurityConfirmDetailVerify",key = "#detail.companyId")
     public AjaxResult saveDetail(@RequestBody BizSocialSecurityConfirmDetail detail) {
         // 判断之前是否有保存一个明细
         BizSocialSecurityConfirmDetail conditions = new BizSocialSecurityConfirmDetail();
@@ -361,6 +364,7 @@ public class SocialSecurityConfirmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:socialSecurityConfirm:edit')")
     @PostMapping("/updateDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "SocialSecurityConfirmDetailUpdateDetail",key = "#detail.id")
     public AjaxResult updateDetail(@RequestBody BizSocialSecurityConfirmDetail detail) {
 
         BizSocialSecurityConfirmDetail oldDetail = socialSecurityConfirmDetailService.query()
@@ -495,6 +499,7 @@ public class SocialSecurityConfirmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:socialSecurityConfirm:return')")
     @PostMapping("/turnBackDetail")
     @Transactional(rollbackFor = Exception.class)
+    @distributedLock(prefix = "SocialSecurityConfirmDetailTurnBackDetail",key = "#detail.id")
     public AjaxResult turnBackDetail(@RequestBody BizSocialSecurityConfirmDetail detail) {
         // 先判断是否社保申报完成,申报完成状态不能进行工资退回
         BizSocialSecurityDeclareDetail financialReceiveTicketDetail = socialSecurityDeclareDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();