From 7393d962591b53304d4f47487bf1e6ba7ed835a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 11 Sep 2024 16:13:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B4=A6=E5=A5=97=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=8E=A5=E5=8F=A3=E7=BA=A7=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SalaryAcctSobConfigServiceImpl.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctSobConfigServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctSobConfigServiceImpl.java index 085abe60e..c4ccb325a 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctSobConfigServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctSobConfigServiceImpl.java @@ -18,6 +18,7 @@ import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.MapperProxyFactory; +import org.apache.commons.lang3.StringUtils; import weaver.hrm.User; import java.util.*; @@ -171,14 +172,23 @@ public class SalaryAcctSobConfigServiceImpl extends Service implements SalaryAcc } @Override - public void updateBySalaryAcctRecordId(Long salaryAcctRecordId) { + public synchronized void updateBySalaryAcctRecordId(Long salaryAcctRecordId) { SalaryAcctRecordPO salaryAcctRecord = getSalaryAcctRecordService(user).getById(salaryAcctRecordId); if (salaryAcctRecord == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156474, "参数错误,薪资核算记录不存在或已被删除")); } SalaryAcctSobConfigPO salaryAcctSobConfig = initBySalaryAcctRecord(salaryAcctRecord); + + String acctSobConfigFlag = getSalaryCacheService(user).get(SalaryCacheKey.ACCT_SOB_CONFIG + salaryAcctRecordId); + if (acctSobConfigFlag != null && StringUtils.equals(acctSobConfigFlag, "TRUE")) { + return; + } + getSalaryCacheService(user).set(SalaryCacheKey.ACCT_SOB_CONFIG + salaryAcctRecordId, "TRUE"); + deleteBySalaryAcctRecordIds(Collections.singleton(salaryAcctRecordId)); getSalaryAcctSobConfigMapper().insertIgnoreNull(salaryAcctSobConfig); + + getSalaryCacheService(user).set(SalaryCacheKey.ACCT_SOB_CONFIG + salaryAcctRecordId, "FALSE"); } @Override