web:重构sequenceUtil到common中

dev_2.1.0
xueqingkun 1 year ago
parent a12748a27c
commit 1fd02b71b3

@ -0,0 +1,48 @@
package com.supervision.util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
@Slf4j
public class RedisSequenceUtil {
private volatile static RedisTemplate<String, String> redisTemplate = null;
public static String getProcessNo(){
// 从零开始计算
long processNoSeq = getIncrement("process_no_seq") -1;
char prefix = (char) ('a' + processNoSeq / 1000000);
Long suffix = processNoSeq % 1000000;
return prefix + String.format("%06d", suffix);
}
public static Long getIncrement(String key){
ValueOperations<String, String> operations = getRedisTemplate().opsForValue();
return operations.increment( key,1L);
}
public static RedisTemplate<String, String> getRedisTemplate() {
if (redisTemplate == null) {
synchronized (RedisSequenceUtil.class){
if (null == redisTemplate){
redisTemplate = createRedisTemplate();
}
}
}
return redisTemplate;
}
private static RedisTemplate<String, String> createRedisTemplate() {
ApplicationContext applicationContext = SpringBeanUtil.getApplicationContext();
if (null == applicationContext){
return null;
}
return applicationContext.getBean(RedisTemplate.class);
}
}

@ -4,13 +4,11 @@ import cn.hutool.core.lang.Assert;
import com.supervision.exception.BusinessException;
import com.supervision.model.MedicalRec;
import com.supervision.model.Process;
import com.supervision.model.ProcessMedical;
import com.supervision.model.User;
import com.supervision.service.AskProcessService;
import com.supervision.service.MedicalRecService;
import com.supervision.service.ProcessMedicalService;
import com.supervision.service.ProcessService;
import com.supervision.util.SequenceUtil;
import com.supervision.util.RedisSequenceUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -39,7 +37,7 @@ public class AskProcessServiceImpl implements AskProcessService {
process.setCreateUserId(user.getId());
process.setUpdateUserId(user.getId());
process.setProcessType(0);//默认学习类型
process.setProcessNo(SequenceUtil.getProcessNo());
process.setProcessNo(RedisSequenceUtil.getProcessNo());
processService.save(process);
return process;
}

@ -1,29 +0,0 @@
package com.supervision.util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
@Slf4j
public class SequenceUtil {
private static final RedisTemplate<String, String> redisTemplate = SpringBeanUtil.getBean("redisTemplate", RedisTemplate.class);
public static String getProcessNo(){
// 从零开始计算
long processNoSeq = getIncrement("process_no_seq") -1;
char prefix = (char) ('a' + processNoSeq / 1000000);
Long suffix = processNoSeq % 1000000;
return prefix + String.format("%06d", suffix);
}
public static Long getIncrement(String key){
ValueOperations<String, String> operations = redisTemplate.opsForValue();
return operations.increment( key,1L);
}
}
Loading…
Cancel
Save