maven
19 小时以前 fbcede1d8f108b5084e86a74b92da93d01eb699c
yys  协同审批编号重复问题修复
已修改2个文件
15 ■■■■■ 文件已修改
src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-new.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java
@@ -4,6 +4,7 @@
import com.ruoyi.approve.mapper.ApproveProcessMapper;
import com.ruoyi.approve.pojo.ApproveProcess;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
@@ -26,6 +27,9 @@
    public DailyRedisCounter(StringRedisTemplate redisTemplate) {
        this.redisTemplate = redisTemplate;
    }
    @Value("${ruoyi.approvalNumberPrefix}")
    private String approvalNumberPrefix;
    /**查缓存
     * 获取指定计数器在今日的数值,并自增1
@@ -71,7 +75,7 @@
     * @return 今日自增后的计数值
     */
    public long incrementAndGetByDb() {
        String approveId = redisTemplate.opsForValue().get("approveNum");
        String approveId = redisTemplate.opsForValue().get(approvalNumberPrefix + ":approveNum");
        if(approveId == null){
            StartAndEndDateDto dateTime = getDateTime();
            LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -81,16 +85,16 @@
                    .lt(ApproveProcess::getCreateTime,dateTime.getEndDate());
            Long aLong = approveProcessMapper.selectCount(approveProcessLambdaQueryWrapper);
            if(aLong == null){
                redisTemplate.opsForValue().set("approveNum","1",1L, TimeUnit.HOURS);
                redisTemplate.opsForValue().set(approvalNumberPrefix + ":approveNum","1",1L, TimeUnit.HOURS);
                return 1;
            }else{
                aLong += 1;
                redisTemplate.opsForValue().set("approveNum",aLong.toString(),1L, TimeUnit.HOURS);
                redisTemplate.opsForValue().set(approvalNumberPrefix + ":approveNum",aLong.toString(),1L, TimeUnit.HOURS);
                return aLong;
            }
        }else{
            Long num = Long.parseLong(approveId) + 1;
            redisTemplate.opsForValue().set("approveNum",num.toString(),1L, TimeUnit.HOURS);
            redisTemplate.opsForValue().set(approvalNumberPrefix + ":approveNum",num.toString(),1L, TimeUnit.HOURS);
            return Long.parseLong(approveId);
        }
src/main/resources/application-new.yml
@@ -13,7 +13,8 @@
  addressEnabled: false
  # 验证码类型 math 数字计算 char 字符验证
  captchaType: math
  # 协同审批编号前缀(配置文件后缀命名)
  approvalNumberPrefix: NEW
# 开发环境配置
server:
  # 服务器的HTTP端口,默认为8080