Commit 7d59a85e4a97ffddbb92450fdbe5f1f919dae60f

Authored by 姜超
1 parent eee77f4e

feature(*): redis锁名称修改

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