From 7d59a85e4a97ffddbb92450fdbe5f1f919dae60f Mon Sep 17 00:00:00 2001 From: jiangchao Date: Tue, 7 Mar 2023 11:48:39 +0800 Subject: [PATCH] feature(*): redis锁名称修改 --- doc/2023_update.sql | 19 ++++++++++++++++++- fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupTask.java | 13 +++---------- fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java | 9 ++++++--- fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiGroupUserTask.java | 9 ++++++--- fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiReportRatioTask.java | 8 ++++++-- fw-morax-server/src/main/java/cn/fw/morax/server/task/PayoffTask.java | 9 +++++++-- fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryGroupTask.java | 8 ++++++-- fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryPoolFundShopTask.java | 8 ++++++-- fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java | 8 ++++++-- 9 files changed, 64 insertions(+), 27 deletions(-) diff --git a/doc/2023_update.sql b/doc/2023_update.sql index ebc9ac4..ecce0a0 100644 --- a/doc/2023_update.sql +++ b/doc/2023_update.sql @@ -1,3 +1,20 @@ -- 2023年3月7日 ALTER TABLE `fw_morax`.`eval_group_reward_ladders` - ADD COLUMN `rank_order_type` tinyint(4) NULL DEFAULT 1 COMMENT '排名顺序类型 1:正 2:负' AFTER `upper`; \ No newline at end of file + ADD COLUMN `rank_order_type` tinyint(4) NULL DEFAULT 1 COMMENT '排名顺序类型 1:正 2:负' AFTER `upper`; + +CREATE TABLE `eval_group_reward_rank_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `pool_id` bigint(20) DEFAULT NULL COMMENT '人员id 、门店id', + `scope_type` tinyint(4) NOT NULL COMMENT '考评范围; 1:门店考评 2:人员考评', + `refer_id` bigint(20) DEFAULT NULL COMMENT '考评奖惩 前置条件 配置id', + `target_type` tinyint(4) DEFAULT NULL COMMENT '1:参数 2:前置条件', + `value` decimal(18,4) DEFAULT NULL COMMENT '原始值', + `reach_value` decimal(18,4) DEFAULT NULL COMMENT '达成目标', + `rank` int(10) DEFAULT NULL COMMENT '排名', + `data_date` date NOT NULL COMMENT '数据日期', + `group_id` bigint(20) NOT NULL COMMENT '集团', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + `yn` tinyint(1) DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='考评指标达成目标记录'; \ No newline at end of file diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupTask.java index 221aa75..368fb89 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupTask.java @@ -50,21 +50,14 @@ import java.util.stream.Collectors; @ConditionalOnProperty(prefix = "task", name = "switch", havingValue = "on") public class EvalGroupTask { - private final EvalRewardService evalRewardService; private final EvalShopPoolService evalShopPoolService; - private final EvalGroupRewardService evalGroupRewardService; - private final EvalGroupDataService evalGroupDataService; - private final EvalGroupBizService evalGroupBizService; private final EvalGroupService evalGroupService; private final EvalService evalService; private final DistributedLocker distributedLocker; - private final StringRedisTemplate stringRedisTemplate; - @Value("${spring.cache.custom.global-prefix}:distr:eval-group") + @Value("${spring.cache.custom.global-prefix}:eval:group") @Getter - private String distributionKey; - private final static String LOCK_KEY = "eval:group"; - private final static String REWARD_LOCK_KEY = "eval:group:reward"; + private String evalGroupDistKey; /** * 每天凌晨3点 @@ -75,7 +68,7 @@ public class EvalGroupTask { @Scheduled(cron = TimeTaskConstant.EVAL) @Transactional(rollbackFor = Exception.class) public void processCurMonthEffectEvals() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getEvalGroupDistKey()); if (! ((RLock) lock).isLocked()) { return; } diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java index 68b562c..9d7da42 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java @@ -11,9 +11,11 @@ import cn.fw.morax.service.data.eval.EvalGroupUserService; import cn.hutool.core.date.StopWatch; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Lists; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -41,10 +43,11 @@ public class EvalGroupUserTask { private final EvalGroupUserBizService evalGroupUserBizService; private final EvalGroupUserService evalGroupUserService; - private final EvalGroupBizService evalGroupBizService; private final DistributedLocker distributedLocker; - private final static String LOCK_KEY = "eval:group:user"; + @Value("${spring.cache.custom.global-prefix}:eval:group:user") + @Getter + private String evalGroupUserDistKey; /** * 每天凌晨30分执行(人事角色、岗位调整在5点执行) @@ -55,7 +58,7 @@ public class EvalGroupUserTask { @Scheduled(cron = TimeTaskConstant.EVAL_GROUP_USER) @Transactional(rollbackFor = Exception.class) public void processEvalUser() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getEvalGroupUserDistKey()); if (((RLock) lock).isLocked()) { try { log.info("定时任务【考评组人员更新】开始执行"); diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiGroupUserTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiGroupUserTask.java index 8414060..610cf40 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiGroupUserTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiGroupUserTask.java @@ -14,9 +14,11 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -45,8 +47,9 @@ public class KpiGroupUserTask { private final KpiGroupBizService kpiGroupBizService; private final DistributedLocker distributedLocker; - private final static String LOCK_KEY = "kpi:group:user"; - + @Value("${spring.cache.custom.global-prefix}:kpi:group:user") + @Getter + private String kpiGroupUserDistKey; /** * 每天凌晨30分执行(人事角色、岗位调整在5点执行) * 1. 将待生效数据改为生效中 @@ -56,7 +59,7 @@ public class KpiGroupUserTask { @Scheduled(cron = TimeTaskConstant.KPI_GROUP_USER) @Transactional(rollbackFor = Exception.class) public void processKpiUser() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getKpiGroupUserDistKey()); if (((RLock) lock).isLocked()) { try { log.info("定时任务【绩效组人员更新】开始执行"); diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiReportRatioTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiReportRatioTask.java index 6f99aa3..4c932a6 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiReportRatioTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/KpiReportRatioTask.java @@ -19,10 +19,12 @@ import cn.fw.morax.service.data.kpi.KpiPoolService; import cn.fw.morax.service.data.kpi.KpiRatioService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Lists; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.map.MultiKeyMap; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -58,7 +60,9 @@ public class KpiReportRatioTask { private final EhrRpcService ehrRpcService; private final OopRpcService oopRpcService; - private final static String LOCK_KEY = "kpi:group:report"; + @Value("${spring.cache.custom.global-prefix}:kpi:group:report") + @Getter + private String kpiGroupReportDistKey; /** * 绩效报表定时任务 @@ -77,7 +81,7 @@ public class KpiReportRatioTask { */ @Transactional(rollbackFor = Exception.class) public void kpiReport(LocalDate date) { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getKpiGroupReportDistKey()); if (! ((RLock) lock).isLocked()) { return; } diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/PayoffTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/PayoffTask.java index 9478fcf..0fc5618 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/PayoffTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/PayoffTask.java @@ -6,9 +6,11 @@ import cn.fw.morax.rpc.oop.OopRpcService; import cn.fw.morax.rpc.oop.dto.GroupDTO; import cn.fw.morax.service.biz.salary.PayoffBizService; import cn.fw.morax.service.biz.salary.SalaryConfirmBizService; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -31,11 +33,14 @@ import java.util.concurrent.locks.Lock; @ConditionalOnProperty(prefix = "task", name = "switch", havingValue = "on") public class PayoffTask { private final PayoffBizService payoffBizService; - private final static String LOCK_KEY = ":createSalarySheet"; private final DistributedLocker distributedLocker; private final OopRpcService oopRpcService; private final SalaryConfirmBizService salaryConfirmBizService; + @Value("${spring.cache.custom.global-prefix}:createSalarySheet") + @Getter + private String createSalarySheetKey; + @Autowired public PayoffTask(final PayoffBizService payoffBizService, final DistributedLocker distributedLocker, @@ -71,7 +76,7 @@ public class PayoffTask { */ @Scheduled(cron = "0 0 0/2 * * ?") public void createSalarySheet() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getCreateSalarySheetKey()); if (((RLock) lock).isLocked()) { List list = oopRpcService.allGroups(); if (!CollectionUtils.isEmpty(list)) { diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryGroupTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryGroupTask.java index 4467779..90c6cb4 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryGroupTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryGroupTask.java @@ -12,9 +12,11 @@ import cn.fw.morax.service.biz.salary.SalaryGroupUserBizService; import cn.fw.morax.service.data.salary.SalaryGroupService; import cn.hutool.core.date.StopWatch; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -44,7 +46,9 @@ public class SalaryGroupTask { private final SalaryGroupService salaryGroupService; private final DistributedLocker distributedLocker; - private final static String LOCK_KEY = "salary:group"; + @Value("${spring.cache.custom.global-prefix}:salary:group") + @Getter + private String salaryGroupKey; /** * 每个月1号凌晨3点执行 @@ -55,7 +59,7 @@ public class SalaryGroupTask { @Scheduled(cron = TimeTaskConstant.SALARY_GROUP) @Transactional(rollbackFor = Exception.class) public void processCurMonthEffectSalaryGroup() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getSalaryGroupKey()); if (((RLock) lock).isLocked()) { try { log.info("定时任务【每月薪酬组配置状态改变】开始执行"); diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryPoolFundShopTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryPoolFundShopTask.java index 71ef191..fd08920 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryPoolFundShopTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryPoolFundShopTask.java @@ -11,9 +11,11 @@ import cn.fw.morax.rpc.ehr.dto.StaffShopInfoDTO; import cn.fw.morax.service.data.salary.SalaryPoolService; import com.google.common.base.Functions; import com.google.common.collect.Lists; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -43,7 +45,9 @@ public class SalaryPoolFundShopTask { private final SalaryPoolService salaryPoolService; private final EhrRpcService ehrRpcService; - private final static String LOCK_KEY = "salary:pool:fund"; + @Value("${spring.cache.custom.global-prefix}:salary:pool:fund") + @Getter + private String salaryPoolFundKey; /** * 每月第一天凌晨执行,薪酬池写入社保公积金门店 @@ -53,7 +57,7 @@ public class SalaryPoolFundShopTask { @Scheduled(cron = TimeTaskConstant.SALARY_POOL_FUND_SHOP) @Transactional(rollbackFor = Exception.class) public void dealSalaryPoolFundShop() { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getSalaryPoolFundKey()); if (((RLock) lock).isLocked()) { try { log.info("定时任务【酬池写入社保公积金门店】开始执行"); diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java index c043236..c5c780c 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java @@ -21,10 +21,12 @@ import cn.fw.morax.service.data.salary.SalaryRewardService; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Lists; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.map.MultiKeyMap; import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -60,7 +62,9 @@ public class SalaryReportTask { private final OopRpcService oopRpcService; private final DistributedLocker distributedLocker; - private final static String LOCK_KEY = "kpi:group:report"; + @Value("${spring.cache.custom.global-prefix}:salary:group:report") + @Getter + private String salaryGroupReport; /** * 绩效报表定时任务 @@ -78,7 +82,7 @@ public class SalaryReportTask { */ @Transactional(rollbackFor = Exception.class) public void salaryReport(LocalDate date) { - Lock lock = distributedLocker.lock(LOCK_KEY); + Lock lock = distributedLocker.lock(getSalaryGroupReport()); if (!((RLock) lock).isLocked()) { return; } -- libgit2 0.22.2