From ba4af275c3b8d073f863be7b12e43974b3ef14a2 Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期六, 12 七月 2025 10:27:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/product-inventory-management-after into pim_ly --- src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java b/src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java index eec0e4a..d98a005 100644 --- a/src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java +++ b/src/main/java/com/ruoyi/approve/utils/DailyRedisCounter.java @@ -1,12 +1,18 @@ package com.ruoyi.approve.utils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.approve.mapper.ApproveProcessMapper; +import com.ruoyi.approve.pojo.ApproveProcess; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Calendar; +import java.util.Date; import java.util.concurrent.TimeUnit; @@ -21,7 +27,7 @@ this.redisTemplate = redisTemplate; } - /** + /**鏌ョ紦瀛� * 鑾峰彇鎸囧畾璁℃暟鍣ㄥ湪浠婃棩鐨勬暟鍊硷紝骞惰嚜澧�1 * @param counterName 璁℃暟鍣ㄥ悕绉帮紙渚嬪锛歭ogin_count銆乷rder_count锛� * @return 浠婃棩鑷鍚庣殑璁℃暟鍊� @@ -39,6 +45,57 @@ return count; } + @Autowired + private ApproveProcessMapper approveProcessMapper; + + /** + * 鑾峰彇褰撳墠鏃堕棿鐨� 寮�濮嬫棩鏈� 锛岀粨鏉熸棩鏈� + * @return + */ + public static StartAndEndDateDto getDateTime(){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DATE,1); + String startDateTime = simpleDateFormat.format(date); + String endDateTime = simpleDateFormat.format(cal.getTime()); + StartAndEndDateDto startAndEndDateDto = new StartAndEndDateDto(); + startAndEndDateDto.setStartDate(startDateTime); + startAndEndDateDto.setEndDate(endDateTime); + return startAndEndDateDto; + } + + /**鏌ユ暟鎹簱 + * 鑾峰彇鎸囧畾璁℃暟鍣ㄥ湪浠婃棩鐨勬暟鍊硷紝骞惰嚜澧�1 + * @return 浠婃棩鑷鍚庣殑璁℃暟鍊� + */ + public long incrementAndGetByDb() { + String approveId = redisTemplate.opsForValue().get("approveNum"); + if(approveId == null){ + StartAndEndDateDto dateTime = getDateTime(); + LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>(); + approveProcessLambdaQueryWrapper + .eq(ApproveProcess::getApproveDelete,0) + .gt(ApproveProcess::getCreateTime,dateTime.getStartDate()) + .lt(ApproveProcess::getCreateTime,dateTime.getEndDate()); + Long aLong = approveProcessMapper.selectCount(approveProcessLambdaQueryWrapper); + if(aLong == null){ + redisTemplate.opsForValue().set("approveNum","1",1L, TimeUnit.HOURS); + return 1; + }else{ + aLong += 1; + redisTemplate.opsForValue().set("approveNum",aLong.toString(),1L, TimeUnit.HOURS); + return aLong; + } + }else{ + Long num = Long.parseLong(approveId) + 1; + redisTemplate.opsForValue().set("approveNum",num.toString(),1L, TimeUnit.HOURS); + return Long.parseLong(approveId); + } + + } + /** * 鑾峰彇鎸囧畾璁℃暟鍣ㄥ湪浠婃棩鐨勫綋鍓嶆暟鍊� * @param counterName 璁℃暟鍣ㄥ悕绉� -- Gitblit v1.9.3