Commit 632a132a6a9365c3a852cc6a3a6759fe3fc4f05d

Authored by xingyu4j
1 parent 2c1419fb

refactor: Date ==> LocalDateTime

Showing 324 changed files with 1137 additions and 997 deletions
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java
1 package cn.iocoder.yudao.framework.common.util.date; 1 package cn.iocoder.yudao.framework.common.util.date;
2 2
3 import cn.hutool.core.date.DateUtil; 3 import cn.hutool.core.date.DateUtil;
  4 +import cn.hutool.core.date.LocalDateTimeUtil;
4 5
5 import java.time.Duration; 6 import java.time.Duration;
  7 +import java.time.Instant;
  8 +import java.time.LocalDateTime;
  9 +import java.time.ZoneId;
  10 +import java.time.ZonedDateTime;
  11 +import java.time.temporal.ChronoUnit;
6 import java.util.Calendar; 12 import java.util.Calendar;
7 import java.util.Date; 13 import java.util.Date;
8 14
@@ -25,6 +31,22 @@ public class DateUtils { @@ -25,6 +31,22 @@ public class DateUtils {
25 31
26 public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss"; 32 public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss";
27 33
  34 + public static Date localDateTimeToDate(LocalDateTime date){
  35 + // 将此日期时间与时区相结合以创建 ZonedDateTime
  36 + ZonedDateTime zonedDateTime = date.atZone(ZoneId.systemDefault());
  37 + // 本地时间线LocalDateTime到即时时间线Instant时间戳
  38 + Instant instant = zonedDateTime.toInstant();
  39 + // UTC时间(世界协调时间,UTC + 00:00)转北京(北京,UTC + 8:00)时间
  40 + return Date.from(instant);
  41 + }
  42 +
  43 + public static LocalDateTime dateToLocalDateTime(Date date){
  44 + // 转为时间戳
  45 + Instant instant = date.toInstant();
  46 + // UTC时间(世界协调时间,UTC + 00:00)转北京(北京,UTC + 8:00)时间
  47 + return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
  48 + }
  49 +
28 public static Date addTime(Duration duration) { 50 public static Date addTime(Duration duration) {
29 return new Date(System.currentTimeMillis() + duration.toMillis()); 51 return new Date(System.currentTimeMillis() + duration.toMillis());
30 } 52 }
@@ -33,6 +55,11 @@ public class DateUtils { @@ -33,6 +55,11 @@ public class DateUtils {
33 return System.currentTimeMillis() > time.getTime(); 55 return System.currentTimeMillis() > time.getTime();
34 } 56 }
35 57
  58 + public static boolean isExpired(LocalDateTime time) {
  59 + LocalDateTime now = LocalDateTime.now();
  60 + return now.isAfter(time);
  61 + }
  62 +
36 public static long diff(Date endTime, Date startTime) { 63 public static long diff(Date endTime, Date startTime) {
37 return endTime.getTime() - startTime.getTime(); 64 return endTime.getTime() - startTime.getTime();
38 } 65 }
@@ -40,24 +67,28 @@ public class DateUtils { @@ -40,24 +67,28 @@ public class DateUtils {
40 /** 67 /**
41 * 创建指定时间 68 * 创建指定时间
42 * 69 *
43 - * @param year 年  
44 - * @param mouth 月  
45 - * @param day 日 70 + * @param year 年
  71 + * @param mouth 月
  72 + * @param day 日
46 * @return 指定时间 73 * @return 指定时间
47 */ 74 */
48 public static Date buildTime(int year, int mouth, int day) { 75 public static Date buildTime(int year, int mouth, int day) {
49 return buildTime(year, mouth, day, 0, 0, 0); 76 return buildTime(year, mouth, day, 0, 0, 0);
50 } 77 }
51 78
  79 + public static LocalDateTime buildLocalDateTime(int year, int mouth, int day) {
  80 + return buildLocalDateTime(year, mouth, day, 0, 0, 0);
  81 + }
  82 +
52 /** 83 /**
53 * 创建指定时间 84 * 创建指定时间
54 * 85 *
55 - * @param year 年  
56 - * @param mouth 月  
57 - * @param day 日  
58 - * @param hour 小时  
59 - * @param minute 分钟  
60 - * @param second 秒 86 + * @param year 年
  87 + * @param mouth 月
  88 + * @param day 日
  89 + * @param hour 小时
  90 + * @param minute 分钟
  91 + * @param second 秒
61 * @return 指定时间 92 * @return 指定时间
62 */ 93 */
63 public static Date buildTime(int year, int mouth, int day, 94 public static Date buildTime(int year, int mouth, int day,
@@ -73,6 +104,19 @@ public class DateUtils { @@ -73,6 +104,19 @@ public class DateUtils {
73 return calendar.getTime(); 104 return calendar.getTime();
74 } 105 }
75 106
  107 + public static LocalDateTime buildLocalDateTime(int year, int mouth, int day,
  108 + int hour, int minute, int second) {
  109 + Calendar calendar = Calendar.getInstance();
  110 + calendar.set(Calendar.YEAR, year);
  111 + calendar.set(Calendar.MONTH, mouth - 1);
  112 + calendar.set(Calendar.DAY_OF_MONTH, day);
  113 + calendar.set(Calendar.HOUR_OF_DAY, hour);
  114 + calendar.set(Calendar.MINUTE, minute);
  115 + calendar.set(Calendar.SECOND, second);
  116 + calendar.set(Calendar.MILLISECOND, 0); // 一般情况下,都是 0 毫秒
  117 + return dateToLocalDateTime(calendar.getTime());
  118 + }
  119 +
76 public static Date max(Date a, Date b) { 120 public static Date max(Date a, Date b) {
77 if (a == null) { 121 if (a == null) {
78 return b; 122 return b;
@@ -83,6 +127,16 @@ public class DateUtils { @@ -83,6 +127,16 @@ public class DateUtils {
83 return a.compareTo(b) > 0 ? a : b; 127 return a.compareTo(b) > 0 ? a : b;
84 } 128 }
85 129
  130 + public static LocalDateTime maxLocalDateTime(LocalDateTime a, LocalDateTime b) {
  131 + if (a == null) {
  132 + return b;
  133 + }
  134 + if (b == null) {
  135 + return a;
  136 + }
  137 + return a.compareTo(b) > 0 ? a : b;
  138 + }
  139 +
86 public static boolean beforeNow(Date date) { 140 public static boolean beforeNow(Date date) {
87 return date.getTime() < System.currentTimeMillis(); 141 return date.getTime() < System.currentTimeMillis();
88 } 142 }
@@ -91,6 +145,10 @@ public class DateUtils { @@ -91,6 +145,10 @@ public class DateUtils {
91 return date.getTime() >= System.currentTimeMillis(); 145 return date.getTime() >= System.currentTimeMillis();
92 } 146 }
93 147
  148 + public static boolean afterNow(LocalDateTime localDateTime) {
  149 + return localDateTime.isAfter(LocalDateTime.now());
  150 + }
  151 +
94 /** 152 /**
95 * 计算当期时间相差的日期 153 * 计算当期时间相差的日期
96 * 154 *
@@ -135,4 +193,14 @@ public class DateUtils { @@ -135,4 +193,14 @@ public class DateUtils {
135 return DateUtil.isSameDay(date, new Date()); 193 return DateUtil.isSameDay(date, new Date());
136 } 194 }
137 195
  196 + /**
  197 + * 是否今天
  198 + *
  199 + * @param date 日期
  200 + * @return 是否
  201 + */
  202 + public static boolean isToday(LocalDateTime date) {
  203 + return LocalDateTimeUtil.isSameDay(date, LocalDateTime.now());
  204 + }
  205 +
138 } 206 }
yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java
@@ -10,7 +10,7 @@ import org.springframework.boot.context.event.ApplicationReadyEvent; @@ -10,7 +10,7 @@ import org.springframework.boot.context.event.ApplicationReadyEvent;
10 import org.springframework.context.event.EventListener; 10 import org.springframework.context.event.EventListener;
11 import org.springframework.scheduling.annotation.Scheduled; 11 import org.springframework.scheduling.annotation.Scheduled;
12 12
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 /** 16 /**
@@ -41,7 +41,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader { @@ -41,7 +41,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
41 /** 41 /**
42 * 缓存错误码的最大更新时间,用于后续的增量轮询,判断是否有更新 42 * 缓存错误码的最大更新时间,用于后续的增量轮询,判断是否有更新
43 */ 43 */
44 - private Date maxUpdateTime; 44 + private LocalDateTime maxUpdateTime;
45 45
46 @EventListener(ApplicationReadyEvent.class) 46 @EventListener(ApplicationReadyEvent.class)
47 public void loadErrorCodes() { 47 public void loadErrorCodes() {
@@ -66,7 +66,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader { @@ -66,7 +66,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
66 // 写入到错误码的缓存 66 // 写入到错误码的缓存
67 putErrorCode(errorCodeRespDTO.getCode(), errorCodeRespDTO.getMessage()); 67 putErrorCode(errorCodeRespDTO.getCode(), errorCodeRespDTO.getMessage());
68 // 记录下更新时间,方便增量更新 68 // 记录下更新时间,方便增量更新
69 - maxUpdateTime = DateUtils.max(maxUpdateTime, errorCodeRespDTO.getUpdateTime()); 69 + maxUpdateTime = DateUtils.maxLocalDateTime(maxUpdateTime, errorCodeRespDTO.getUpdateTime());
70 }); 70 });
71 } 71 }
72 72
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/aop/OperateLogAspect.java
1 package cn.iocoder.yudao.framework.operatelog.core.aop; 1 package cn.iocoder.yudao.framework.operatelog.core.aop;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.exceptions.ExceptionUtil; 4 import cn.hutool.core.exceptions.ExceptionUtil;
4 import cn.hutool.core.util.ArrayUtil; 5 import cn.hutool.core.util.ArrayUtil;
5 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
@@ -32,6 +33,7 @@ import javax.servlet.http.HttpServletRequest; @@ -32,6 +33,7 @@ import javax.servlet.http.HttpServletRequest;
32 import javax.servlet.http.HttpServletResponse; 33 import javax.servlet.http.HttpServletResponse;
33 import java.lang.annotation.Annotation; 34 import java.lang.annotation.Annotation;
34 import java.lang.reflect.Array; 35 import java.lang.reflect.Array;
  36 +import java.time.LocalDateTime;
35 import java.util.*; 37 import java.util.*;
36 import java.util.function.Predicate; 38 import java.util.function.Predicate;
37 import java.util.stream.IntStream; 39 import java.util.stream.IntStream;
@@ -94,7 +96,7 @@ public class OperateLogAspect { @@ -94,7 +96,7 @@ public class OperateLogAspect {
94 } 96 }
95 97
96 // 记录开始时间 98 // 记录开始时间
97 - Date startTime = new Date(); 99 + LocalDateTime startTime = LocalDateTime.now();
98 try { 100 try {
99 // 执行原有方法 101 // 执行原有方法
100 Object result = joinPoint.proceed(); 102 Object result = joinPoint.proceed();
@@ -128,7 +130,7 @@ public class OperateLogAspect { @@ -128,7 +130,7 @@ public class OperateLogAspect {
128 private void log(ProceedingJoinPoint joinPoint, 130 private void log(ProceedingJoinPoint joinPoint,
129 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog, 131 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog,
130 ApiOperation apiOperation, 132 ApiOperation apiOperation,
131 - Date startTime, Object result, Throwable exception) { 133 + LocalDateTime startTime, Object result, Throwable exception) {
132 try { 134 try {
133 // 判断不记录的情况 135 // 判断不记录的情况
134 if (!isLogEnable(joinPoint, operateLog)) { 136 if (!isLogEnable(joinPoint, operateLog)) {
@@ -145,7 +147,7 @@ public class OperateLogAspect { @@ -145,7 +147,7 @@ public class OperateLogAspect {
145 private void log0(ProceedingJoinPoint joinPoint, 147 private void log0(ProceedingJoinPoint joinPoint,
146 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog, 148 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog,
147 ApiOperation apiOperation, 149 ApiOperation apiOperation,
148 - Date startTime, Object result, Throwable exception) { 150 + LocalDateTime startTime, Object result, Throwable exception) {
149 OperateLog operateLogObj = new OperateLog(); 151 OperateLog operateLogObj = new OperateLog();
150 // 补全通用字段 152 // 补全通用字段
151 operateLogObj.setTraceId(TracerUtils.getTraceId()); 153 operateLogObj.setTraceId(TracerUtils.getTraceId());
@@ -226,7 +228,7 @@ public class OperateLogAspect { @@ -226,7 +228,7 @@ public class OperateLogAspect {
226 private static void fillMethodFields(OperateLog operateLogObj, 228 private static void fillMethodFields(OperateLog operateLogObj,
227 ProceedingJoinPoint joinPoint, 229 ProceedingJoinPoint joinPoint,
228 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog, 230 cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog operateLog,
229 - Date startTime, Object result, Throwable exception) { 231 + LocalDateTime startTime, Object result, Throwable exception) {
230 MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); 232 MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
231 operateLogObj.setJavaMethod(methodSignature.toString()); 233 operateLogObj.setJavaMethod(methodSignature.toString());
232 if (operateLog == null || operateLog.logArgs()) { 234 if (operateLog == null || operateLog.logArgs()) {
@@ -235,7 +237,7 @@ public class OperateLogAspect { @@ -235,7 +237,7 @@ public class OperateLogAspect {
235 if (operateLog == null || operateLog.logResultData()) { 237 if (operateLog == null || operateLog.logResultData()) {
236 operateLogObj.setResultData(obtainResultData(result)); 238 operateLogObj.setResultData(obtainResultData(result));
237 } 239 }
238 - operateLogObj.setDuration((int) (System.currentTimeMillis() - startTime.getTime())); 240 + operateLogObj.setDuration((int) (LocalDateTimeUtil.between(startTime, LocalDateTime.now()).toMillis()));
239 // (正常)处理 resultCode 和 resultMsg 字段 241 // (正常)处理 resultCode 和 resultMsg 字段
240 if (result instanceof CommonResult) { 242 if (result instanceof CommonResult) {
241 CommonResult<?> commonResult = (CommonResult<?>) result; 243 CommonResult<?> commonResult = (CommonResult<?>) result;
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/OperateLog.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.operatelog.core.service; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.operatelog.core.service;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 import java.util.Map; 6 import java.util.Map;
7 7
8 /** 8 /**
@@ -85,7 +85,7 @@ public class OperateLog { @@ -85,7 +85,7 @@ public class OperateLog {
85 /** 85 /**
86 * 开始时间 86 * 开始时间
87 */ 87 */
88 - private Date startTime; 88 + private LocalDateTime startTime;
89 89
90 /** 90 /**
91 * 执行时长,单位:毫秒 91 * 执行时长,单位:毫秒
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/PayOrderNotifyRespDTO.java
@@ -5,7 +5,7 @@ import lombok.Builder; @@ -5,7 +5,7 @@ import lombok.Builder;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.NoArgsConstructor; 6 import lombok.NoArgsConstructor;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * 支付通知 Response DTO 11 * 支付通知 Response DTO
@@ -33,7 +33,7 @@ public class PayOrderNotifyRespDTO { @@ -33,7 +33,7 @@ public class PayOrderNotifyRespDTO {
33 /** 33 /**
34 * 支付成功时间 34 * 支付成功时间
35 */ 35 */
36 - private Date successTime; 36 + private LocalDateTime successTime;
37 37
38 /** 38 /**
39 * 通知的原始数据 39 * 通知的原始数据
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/PayOrderUnifiedReqDTO.java
@@ -7,7 +7,7 @@ import org.hibernate.validator.constraints.URL; @@ -7,7 +7,7 @@ import org.hibernate.validator.constraints.URL;
7 import javax.validation.constraints.DecimalMin; 7 import javax.validation.constraints.DecimalMin;
8 import javax.validation.constraints.NotEmpty; 8 import javax.validation.constraints.NotEmpty;
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.Map; 11 import java.util.Map;
12 12
13 /** 13 /**
@@ -68,7 +68,7 @@ public class PayOrderUnifiedReqDTO { @@ -68,7 +68,7 @@ public class PayOrderUnifiedReqDTO {
68 * 支付过期时间 68 * 支付过期时间
69 */ 69 */
70 @NotNull(message = "支付过期时间不能为空") 70 @NotNull(message = "支付过期时间不能为空")
71 - private Date expireTime; 71 + private LocalDateTime expireTime;
72 72
73 // ========== 拓展参数 ========== 73 // ========== 拓展参数 ==========
74 /** 74 /**
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/PayRefundNotifyDTO.java
@@ -5,7 +5,7 @@ import lombok.Builder; @@ -5,7 +5,7 @@ import lombok.Builder;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * 从渠道返回数据中解析得到的支付退款通知的Notify DTO 11 * 从渠道返回数据中解析得到的支付退款通知的Notify DTO
@@ -57,7 +57,7 @@ public class PayRefundNotifyDTO { @@ -57,7 +57,7 @@ public class PayRefundNotifyDTO {
57 /** 57 /**
58 * 退款成功时间 58 * 退款成功时间
59 */ 59 */
60 - private Date refundSuccessTime; 60 + private LocalDateTime refundSuccessTime;
61 61
62 62
63 } 63 }
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayClient.java
1 package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; 1 package cn.iocoder.yudao.framework.pay.core.client.impl.alipay;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 -import cn.hutool.core.date.DateUtil;  
5 -import cn.hutool.http.HttpUtil; 4 +import cn.hutool.core.date.LocalDateTimeUtil;
6 import cn.iocoder.yudao.framework.pay.core.client.AbstractPayCodeMapping; 5 import cn.iocoder.yudao.framework.pay.core.client.AbstractPayCodeMapping;
7 import cn.iocoder.yudao.framework.pay.core.client.PayCommonResult; 6 import cn.iocoder.yudao.framework.pay.core.client.PayCommonResult;
8 import cn.iocoder.yudao.framework.pay.core.client.dto.*; 7 import cn.iocoder.yudao.framework.pay.core.client.dto.*;
@@ -61,7 +60,7 @@ public abstract class AbstractAlipayClient extends AbstractPayClient&lt;AlipayPayCl @@ -61,7 +60,7 @@ public abstract class AbstractAlipayClient extends AbstractPayClient&lt;AlipayPayCl
61 return PayOrderNotifyRespDTO.builder().orderExtensionNo(params.get("out_trade_no")) 60 return PayOrderNotifyRespDTO.builder().orderExtensionNo(params.get("out_trade_no"))
62 .channelOrderNo(params.get("trade_no")).channelUserId(params.get("seller_id")) 61 .channelOrderNo(params.get("trade_no")).channelUserId(params.get("seller_id"))
63 .tradeStatus(params.get("trade_status")) 62 .tradeStatus(params.get("trade_status"))
64 - .successTime(DateUtil.parse(params.get("notify_time"), "yyyy-MM-dd HH:mm:ss")) 63 + .successTime(LocalDateTimeUtil.parse(params.get("notify_time"), "yyyy-MM-dd HH:mm:ss"))
65 .data(data.getBody()).build(); 64 .data(data.getBody()).build();
66 } 65 }
67 66
@@ -72,7 +71,7 @@ public abstract class AbstractAlipayClient extends AbstractPayClient&lt;AlipayPayCl @@ -72,7 +71,7 @@ public abstract class AbstractAlipayClient extends AbstractPayClient&lt;AlipayPayCl
72 .tradeNo(params.get("out_trade_no")) 71 .tradeNo(params.get("out_trade_no"))
73 .reqNo(params.get("out_biz_no")) 72 .reqNo(params.get("out_biz_no"))
74 .status(PayNotifyRefundStatusEnum.SUCCESS) 73 .status(PayNotifyRefundStatusEnum.SUCCESS)
75 - .refundSuccessTime(DateUtil.parse(params.get("gmt_refund"), "yyyy-MM-dd HH:mm:ss")) 74 + .refundSuccessTime(LocalDateTimeUtil.parse(params.get("gmt_refund"), "yyyy-MM-dd HH:mm:ss"))
76 .build(); 75 .build();
77 return notifyDTO; 76 return notifyDTO;
78 } 77 }
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXLitePayClient.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.date.DateUtil; 4 import cn.hutool.core.date.DateUtil;
  5 +import cn.hutool.core.date.LocalDateTimeUtil;
5 import cn.hutool.core.lang.Assert; 6 import cn.hutool.core.lang.Assert;
6 import cn.hutool.core.map.MapUtil; 7 import cn.hutool.core.map.MapUtil;
7 import cn.hutool.core.util.StrUtil; 8 import cn.hutool.core.util.StrUtil;
@@ -167,7 +168,7 @@ public class WXLitePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -167,7 +168,7 @@ public class WXLitePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
167 .builder() 168 .builder()
168 .orderExtensionNo(result.getOutTradeNo()) 169 .orderExtensionNo(result.getOutTradeNo())
169 .channelOrderNo(result.getTradeState()) 170 .channelOrderNo(result.getTradeState())
170 - .successTime(DateUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 171 + .successTime(LocalDateTimeUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX"))
171 .data(data.getBody()) 172 .data(data.getBody())
172 .build(); 173 .build();
173 } 174 }
@@ -181,7 +182,7 @@ public class WXLitePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -181,7 +182,7 @@ public class WXLitePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
181 .orderExtensionNo(notifyResult.getOutTradeNo()) 182 .orderExtensionNo(notifyResult.getOutTradeNo())
182 .channelOrderNo(notifyResult.getTransactionId()) 183 .channelOrderNo(notifyResult.getTransactionId())
183 .channelUserId(notifyResult.getOpenid()) 184 .channelUserId(notifyResult.getOpenid())
184 - .successTime(DateUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss")) 185 + .successTime(LocalDateTimeUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss"))
185 .data(data.getBody()) 186 .data(data.getBody())
186 .build(); 187 .build();
187 188
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXNativePayClient.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.date.DateUtil; 4 import cn.hutool.core.date.DateUtil;
  5 +import cn.hutool.core.date.LocalDateTimeUtil;
5 import cn.hutool.core.lang.Assert; 6 import cn.hutool.core.lang.Assert;
6 import cn.hutool.core.util.StrUtil; 7 import cn.hutool.core.util.StrUtil;
7 import cn.iocoder.yudao.framework.common.util.io.FileUtils; 8 import cn.iocoder.yudao.framework.common.util.io.FileUtils;
@@ -150,7 +151,7 @@ public class WXNativePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -150,7 +151,7 @@ public class WXNativePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
150 .builder() 151 .builder()
151 .orderExtensionNo(result.getOutTradeNo()) 152 .orderExtensionNo(result.getOutTradeNo())
152 .channelOrderNo(result.getTradeState()) 153 .channelOrderNo(result.getTradeState())
153 - .successTime(DateUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 154 + .successTime(LocalDateTimeUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX"))
154 .data(data.getBody()) 155 .data(data.getBody())
155 .build(); 156 .build();
156 } 157 }
@@ -164,7 +165,7 @@ public class WXNativePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -164,7 +165,7 @@ public class WXNativePayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
164 .orderExtensionNo(notifyResult.getOutTradeNo()) 165 .orderExtensionNo(notifyResult.getOutTradeNo())
165 .channelOrderNo(notifyResult.getTransactionId()) 166 .channelOrderNo(notifyResult.getTransactionId())
166 .channelUserId(notifyResult.getOpenid()) 167 .channelUserId(notifyResult.getOpenid())
167 - .successTime(DateUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss")) 168 + .successTime(LocalDateTimeUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss"))
168 .data(data.getBody()) 169 .data(data.getBody())
169 .build(); 170 .build();
170 171
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPubPayClient.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.framework.pay.core.client.impl.wx;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.date.DateUtil; 4 import cn.hutool.core.date.DateUtil;
  5 +import cn.hutool.core.date.LocalDateTimeUtil;
5 import cn.hutool.core.lang.Assert; 6 import cn.hutool.core.lang.Assert;
6 import cn.hutool.core.map.MapUtil; 7 import cn.hutool.core.map.MapUtil;
7 import cn.hutool.core.util.StrUtil; 8 import cn.hutool.core.util.StrUtil;
@@ -161,7 +162,7 @@ public class WXPubPayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -161,7 +162,7 @@ public class WXPubPayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
161 .builder() 162 .builder()
162 .orderExtensionNo(result.getOutTradeNo()) 163 .orderExtensionNo(result.getOutTradeNo())
163 .channelOrderNo(result.getTradeState()) 164 .channelOrderNo(result.getTradeState())
164 - .successTime(DateUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX")) 165 + .successTime(LocalDateTimeUtil.parse(result.getSuccessTime(), "yyyy-MM-dd'T'HH:mm:ssXXX"))
165 .data(data.getBody()) 166 .data(data.getBody())
166 .build(); 167 .build();
167 } 168 }
@@ -175,7 +176,7 @@ public class WXPubPayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; { @@ -175,7 +176,7 @@ public class WXPubPayClient extends AbstractPayClient&lt;WXPayClientConfig&gt; {
175 .orderExtensionNo(notifyResult.getOutTradeNo()) 176 .orderExtensionNo(notifyResult.getOutTradeNo())
176 .channelOrderNo(notifyResult.getTransactionId()) 177 .channelOrderNo(notifyResult.getTransactionId())
177 .channelUserId(notifyResult.getOpenid()) 178 .channelUserId(notifyResult.getOpenid())
178 - .successTime(DateUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss")) 179 + .successTime(LocalDateTimeUtil.parse(notifyResult.getTimeEnd(), "yyyyMMddHHmmss"))
179 .data(data.getBody()) 180 .data(data.getBody())
180 .build(); 181 .build();
181 182
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/dto/SmsReceiveRespDTO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.sms.core.client.dto; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.sms.core.client.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 6
7 /** 7 /**
8 * 消息接收 Response DTO 8 * 消息接收 Response DTO
@@ -32,7 +32,7 @@ public class SmsReceiveRespDTO { @@ -32,7 +32,7 @@ public class SmsReceiveRespDTO {
32 /** 32 /**
33 * 用户接收时间 33 * 用户接收时间
34 */ 34 */
35 - private Date receiveTime; 35 + private LocalDateTime receiveTime;
36 36
37 /** 37 /**
38 * 短信 API 发送返回的序号 38 * 短信 API 发送返回的序号
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/aliyun/AliyunSmsClient.java
@@ -28,7 +28,7 @@ import com.google.common.annotations.VisibleForTesting; @@ -28,7 +28,7 @@ import com.google.common.annotations.VisibleForTesting;
28 import lombok.Data; 28 import lombok.Data;
29 import lombok.extern.slf4j.Slf4j; 29 import lombok.extern.slf4j.Slf4j;
30 30
31 -import java.util.Date; 31 +import java.time.LocalDateTime;
32 import java.util.List; 32 import java.util.List;
33 import java.util.Objects; 33 import java.util.Objects;
34 import java.util.function.Function; 34 import java.util.function.Function;
@@ -166,13 +166,13 @@ public class AliyunSmsClient extends AbstractSmsClient { @@ -166,13 +166,13 @@ public class AliyunSmsClient extends AbstractSmsClient {
166 */ 166 */
167 @JsonProperty("send_time") 167 @JsonProperty("send_time")
168 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 168 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
169 - private Date sendTime; 169 + private LocalDateTime sendTime;
170 /** 170 /**
171 * 状态报告时间 171 * 状态报告时间
172 */ 172 */
173 @JsonProperty("report_time") 173 @JsonProperty("report_time")
174 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 174 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
175 - private Date reportTime; 175 + private LocalDateTime reportTime;
176 /** 176 /**
177 * 是否接收成功 177 * 是否接收成功
178 */ 178 */
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/tencent/TencentSmsClient.java
@@ -22,7 +22,7 @@ import com.tencentcloudapi.sms.v20210111.SmsClient; @@ -22,7 +22,7 @@ import com.tencentcloudapi.sms.v20210111.SmsClient;
22 import com.tencentcloudapi.sms.v20210111.models.*; 22 import com.tencentcloudapi.sms.v20210111.models.*;
23 import lombok.Data; 23 import lombok.Data;
24 24
25 -import java.util.Date; 25 +import java.time.LocalDateTime;
26 import java.util.List; 26 import java.util.List;
27 import java.util.function.Function; 27 import java.util.function.Function;
28 import java.util.function.Supplier; 28 import java.util.function.Supplier;
@@ -240,7 +240,7 @@ public class TencentSmsClient extends AbstractSmsClient { @@ -240,7 +240,7 @@ public class TencentSmsClient extends AbstractSmsClient {
240 */ 240 */
241 @JsonProperty("user_receive_time") 241 @JsonProperty("user_receive_time")
242 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 242 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
243 - private Date receiveTime; 243 + private LocalDateTime receiveTime;
244 244
245 /** 245 /**
246 * 国家(或地区)码 246 * 国家(或地区)码
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/yunpian/YunpianSmsClient.java
@@ -23,6 +23,7 @@ import com.yunpian.sdk.model.Template; @@ -23,6 +23,7 @@ import com.yunpian.sdk.model.Template;
23 import lombok.Data; 23 import lombok.Data;
24 import lombok.extern.slf4j.Slf4j; 24 import lombok.extern.slf4j.Slf4j;
25 25
  26 +import java.time.LocalDateTime;
26 import java.util.*; 27 import java.util.*;
27 import java.util.function.Function; 28 import java.util.function.Function;
28 import java.util.function.Supplier; 29 import java.util.function.Supplier;
@@ -198,7 +199,7 @@ public class YunpianSmsClient extends AbstractSmsClient { @@ -198,7 +199,7 @@ public class YunpianSmsClient extends AbstractSmsClient {
198 */ 199 */
199 @JsonProperty("user_receive_time") 200 @JsonProperty("user_receive_time")
200 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 201 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
201 - private Date userReceiveTime; 202 + private LocalDateTime userReceiveTime;
202 203
203 } 204 }
204 205
yudao-framework/yudao-spring-boot-starter-biz-sms/src/test/java/cn/iocoder/yudao/framework/sms/core/client/impl/aliyun/AliyunSmsClientTest.java
@@ -125,7 +125,7 @@ public class AliyunSmsClientTest extends BaseMockitoUnitTest { @@ -125,7 +125,7 @@ public class AliyunSmsClientTest extends BaseMockitoUnitTest {
125 assertEquals("DELIVERED", statuses.get(0).getErrorCode()); 125 assertEquals("DELIVERED", statuses.get(0).getErrorCode());
126 assertEquals("用户接收成功", statuses.get(0).getErrorMsg()); 126 assertEquals("用户接收成功", statuses.get(0).getErrorMsg());
127 assertEquals("13900000001", statuses.get(0).getMobile()); 127 assertEquals("13900000001", statuses.get(0).getMobile());
128 - assertEquals(DateUtils.buildTime(2017, 2, 2, 22, 23, 24), statuses.get(0).getReceiveTime()); 128 + assertEquals(DateUtils.buildLocalDateTime(2017, 2, 2, 22, 23, 24), statuses.get(0).getReceiveTime());
129 assertEquals("12345", statuses.get(0).getSerialNo()); 129 assertEquals("12345", statuses.get(0).getSerialNo());
130 assertEquals(67890L, statuses.get(0).getLogId()); 130 assertEquals(67890L, statuses.get(0).getLogId());
131 } 131 }
yudao-framework/yudao-spring-boot-starter-biz-sms/src/test/java/cn/iocoder/yudao/framework/sms/core/client/impl/tencent/TencentSmsClientTest.java
@@ -146,7 +146,7 @@ public class TencentSmsClientTest extends BaseMockitoUnitTest { @@ -146,7 +146,7 @@ public class TencentSmsClientTest extends BaseMockitoUnitTest {
146 assertEquals("DELIVRD", statuses.get(0).getErrorCode()); 146 assertEquals("DELIVRD", statuses.get(0).getErrorCode());
147 assertEquals("用户短信送达成功", statuses.get(0).getErrorMsg()); 147 assertEquals("用户短信送达成功", statuses.get(0).getErrorMsg());
148 assertEquals("13900000001", statuses.get(0).getMobile()); 148 assertEquals("13900000001", statuses.get(0).getMobile());
149 - assertEquals(DateUtils.buildTime(2015, 10, 17, 8, 3, 4), statuses.get(0).getReceiveTime()); 149 + assertEquals(DateUtils.buildLocalDateTime(2015, 10, 17, 8, 3, 4), statuses.get(0).getReceiveTime());
150 assertEquals("12345", statuses.get(0).getSerialNo()); 150 assertEquals("12345", statuses.get(0).getSerialNo());
151 assertEquals(67890L, statuses.get(0).getLogId()); 151 assertEquals(67890L, statuses.get(0).getLogId());
152 } 152 }
yudao-framework/yudao-spring-boot-starter-biz-sms/src/test/java/cn/iocoder/yudao/framework/sms/core/client/impl/yunpian/YunpianSmsClientTest.java
@@ -115,7 +115,7 @@ public class YunpianSmsClientTest extends BaseMockitoUnitTest { @@ -115,7 +115,7 @@ public class YunpianSmsClientTest extends BaseMockitoUnitTest {
115 assertEquals("", statuses.get(0).getErrorCode()); 115 assertEquals("", statuses.get(0).getErrorCode());
116 assertNull(statuses.get(0).getErrorMsg()); 116 assertNull(statuses.get(0).getErrorMsg());
117 assertEquals("15205201314", statuses.get(0).getMobile()); 117 assertEquals("15205201314", statuses.get(0).getMobile());
118 - assertEquals(DateUtils.buildTime(2014, 3, 17, 22, 55, 21), statuses.get(0).getReceiveTime()); 118 + assertEquals(DateUtils.buildLocalDateTime(2014, 3, 17, 22, 55, 21), statuses.get(0).getReceiveTime());
119 assertEquals("9527", statuses.get(0).getSerialNo()); 119 assertEquals("9527", statuses.get(0).getSerialNo());
120 assertEquals(1024L, statuses.get(0).getLogId()); 120 assertEquals(1024L, statuses.get(0).getLogId());
121 } 121 }
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/ConfigFrameworkDAO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.apollo.internals; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.apollo.internals;
2 2
3 import cn.iocoder.yudao.framework.apollo.internals.dto.ConfigRespDTO; 3 import cn.iocoder.yudao.framework.apollo.internals.dto.ConfigRespDTO;
4 4
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 import java.util.List; 6 import java.util.List;
7 7
8 /** 8 /**
@@ -20,7 +20,7 @@ public interface ConfigFrameworkDAO { @@ -20,7 +20,7 @@ public interface ConfigFrameworkDAO {
20 * @param maxUpdateTime 最大更新时间 20 * @param maxUpdateTime 最大更新时间
21 * @return 是否存在 21 * @return 是否存在
22 */ 22 */
23 - int selectCountByUpdateTimeGt(Date maxUpdateTime); 23 + int selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
24 24
25 /** 25 /**
26 * 查询配置列表 26 * 查询配置列表
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/DBConfigRepository.java
@@ -18,8 +18,8 @@ import lombok.SneakyThrows; @@ -18,8 +18,8 @@ import lombok.SneakyThrows;
18 import lombok.extern.slf4j.Slf4j; 18 import lombok.extern.slf4j.Slf4j;
19 19
20 import java.lang.reflect.Constructor; 20 import java.lang.reflect.Constructor;
  21 +import java.time.LocalDateTime;
21 import java.util.Comparator; 22 import java.util.Comparator;
22 -import java.util.Date;  
23 import java.util.List; 23 import java.util.List;
24 import java.util.Properties; 24 import java.util.Properties;
25 import java.util.concurrent.Executors; 25 import java.util.concurrent.Executors;
@@ -48,7 +48,7 @@ public class DBConfigRepository extends AbstractConfigRepository { @@ -48,7 +48,7 @@ public class DBConfigRepository extends AbstractConfigRepository {
48 /** 48 /**
49 * 缓存配置的最大更新时间,用于后续的增量轮询,判断是否有更新 49 * 缓存配置的最大更新时间,用于后续的增量轮询,判断是否有更新
50 */ 50 */
51 - private volatile Date maxUpdateTime; 51 + private volatile LocalDateTime maxUpdateTime;
52 52
53 /** 53 /**
54 * 配置读取 DAO 54 * 配置读取 DAO
@@ -166,7 +166,7 @@ public class DBConfigRepository extends AbstractConfigRepository { @@ -166,7 +166,7 @@ public class DBConfigRepository extends AbstractConfigRepository {
166 * @param maxUpdateTime 当前配置的最大更新时间 166 * @param maxUpdateTime 当前配置的最大更新时间
167 * @return 配置列表 167 * @return 配置列表
168 */ 168 */
169 - private List<ConfigRespDTO> loadConfigIfUpdate(Date maxUpdateTime) { 169 + private List<ConfigRespDTO> loadConfigIfUpdate(LocalDateTime maxUpdateTime) {
170 // 第一步,判断是否要更新。 170 // 第一步,判断是否要更新。
171 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 171 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
172 log.info("[loadConfigIfUpdate][首次加载全量配置]"); 172 log.info("[loadConfigIfUpdate][首次加载全量配置]");
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/dto/ConfigRespDTO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.apollo.internals.dto; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.apollo.internals.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 6
7 /** 7 /**
8 * 配置 Response DTO 8 * 配置 Response DTO
@@ -28,6 +28,6 @@ public class ConfigRespDTO { @@ -28,6 +28,6 @@ public class ConfigRespDTO {
28 /** 28 /**
29 * 更新时间 29 * 更新时间
30 */ 30 */
31 - private Date updateTime; 31 + private LocalDateTime updateTime;
32 32
33 } 33 }
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/core/handler/JobHandlerInvoker.java
1 package cn.iocoder.yudao.framework.quartz.core.handler; 1 package cn.iocoder.yudao.framework.quartz.core.handler;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.lang.Assert; 4 import cn.hutool.core.lang.Assert;
4 import cn.hutool.core.thread.ThreadUtil; 5 import cn.hutool.core.thread.ThreadUtil;
5 import cn.iocoder.yudao.framework.quartz.core.enums.JobDataKeyEnum; 6 import cn.iocoder.yudao.framework.quartz.core.enums.JobDataKeyEnum;
@@ -13,10 +14,10 @@ import org.springframework.context.ApplicationContext; @@ -13,10 +14,10 @@ import org.springframework.context.ApplicationContext;
13 import org.springframework.scheduling.quartz.QuartzJobBean; 14 import org.springframework.scheduling.quartz.QuartzJobBean;
14 15
15 import javax.annotation.Resource; 16 import javax.annotation.Resource;
16 -import java.util.Date; 17 +import java.time.LocalDateTime;
  18 +import java.time.temporal.ChronoUnit;
17 19
18 import static cn.hutool.core.exceptions.ExceptionUtil.getRootCauseMessage; 20 import static cn.hutool.core.exceptions.ExceptionUtil.getRootCauseMessage;
19 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.diff;  
20 21
21 /** 22 /**
22 * 基础 Job 调用者,负责调用 {@link JobHandler#execute(String)} 执行任务 23 * 基础 Job 调用者,负责调用 {@link JobHandler#execute(String)} 执行任务
@@ -46,7 +47,7 @@ public class JobHandlerInvoker extends QuartzJobBean { @@ -46,7 +47,7 @@ public class JobHandlerInvoker extends QuartzJobBean {
46 47
47 // 第二步,执行任务 48 // 第二步,执行任务
48 Long jobLogId = null; 49 Long jobLogId = null;
49 - Date startTime = new Date(); 50 + LocalDateTime startTime = LocalDateTime.now();
50 String data = null; 51 String data = null;
51 Throwable exception = null; 52 Throwable exception = null;
52 try { 53 try {
@@ -73,9 +74,9 @@ public class JobHandlerInvoker extends QuartzJobBean { @@ -73,9 +74,9 @@ public class JobHandlerInvoker extends QuartzJobBean {
73 return jobHandler.execute(jobHandlerParam); 74 return jobHandler.execute(jobHandlerParam);
74 } 75 }
75 76
76 - private void updateJobLogResultAsync(Long jobLogId, Date startTime, String data, Throwable exception, 77 + private void updateJobLogResultAsync(Long jobLogId, LocalDateTime startTime, String data, Throwable exception,
77 JobExecutionContext executionContext) { 78 JobExecutionContext executionContext) {
78 - Date endTime = new Date(); 79 + LocalDateTime endTime = LocalDateTime.now();
79 // 处理是否成功 80 // 处理是否成功
80 boolean success = exception == null; 81 boolean success = exception == null;
81 if (!success) { 82 if (!success) {
@@ -83,7 +84,7 @@ public class JobHandlerInvoker extends QuartzJobBean { @@ -83,7 +84,7 @@ public class JobHandlerInvoker extends QuartzJobBean {
83 } 84 }
84 // 更新日志 85 // 更新日志
85 try { 86 try {
86 - jobLogFrameworkService.updateJobLogResultAsync(jobLogId, endTime, (int) diff(endTime, startTime), success, data); 87 + jobLogFrameworkService.updateJobLogResultAsync(jobLogId, endTime, (int) LocalDateTimeUtil.between(startTime, endTime).toMillis(), success, data);
87 } catch (Exception ex) { 88 } catch (Exception ex) {
88 log.error("[executeInternal][Job({}) logId({}) 记录执行日志失败({}/{})]", 89 log.error("[executeInternal][Job({}) logId({}) 记录执行日志失败({}/{})]",
89 executionContext.getJobDetail().getKey(), jobLogId, success, data); 90 executionContext.getJobDetail().getKey(), jobLogId, success, data);
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/core/service/JobLogFrameworkService.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.quartz.core.service; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.quartz.core.service;
2 2
3 import javax.validation.constraints.NotEmpty; 3 import javax.validation.constraints.NotEmpty;
4 import javax.validation.constraints.NotNull; 4 import javax.validation.constraints.NotNull;
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 6
7 /** 7 /**
8 * Job 日志 Framework Service 接口 8 * Job 日志 Framework Service 接口
@@ -22,7 +22,7 @@ public interface JobLogFrameworkService { @@ -22,7 +22,7 @@ public interface JobLogFrameworkService {
22 * @return Job 日志的编号 22 * @return Job 日志的编号
23 */ 23 */
24 Long createJobLog(@NotNull(message = "任务编号不能为空") Long jobId, 24 Long createJobLog(@NotNull(message = "任务编号不能为空") Long jobId,
25 - @NotNull(message = "开始时间") Date beginTime, 25 + @NotNull(message = "开始时间") LocalDateTime beginTime,
26 @NotEmpty(message = "Job 处理器的名字不能为空") String jobHandlerName, 26 @NotEmpty(message = "Job 处理器的名字不能为空") String jobHandlerName,
27 String jobHandlerParam, 27 String jobHandlerParam,
28 @NotNull(message = "第几次执行不能为空") Integer executeIndex); 28 @NotNull(message = "第几次执行不能为空") Integer executeIndex);
@@ -37,7 +37,7 @@ public interface JobLogFrameworkService { @@ -37,7 +37,7 @@ public interface JobLogFrameworkService {
37 * @param result 成功数据 37 * @param result 成功数据
38 */ 38 */
39 void updateJobLogResultAsync(@NotNull(message = "日志编号不能为空") Long logId, 39 void updateJobLogResultAsync(@NotNull(message = "日志编号不能为空") Long logId,
40 - @NotNull(message = "结束时间不能为空") Date endTime, 40 + @NotNull(message = "结束时间不能为空") LocalDateTime endTime,
41 @NotNull(message = "运行时长不能为空") Integer duration, 41 @NotNull(message = "运行时长不能为空") Integer duration,
42 boolean success, String result); 42 boolean success, String result);
43 43
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/core/util/CronUtils.java
1 package cn.iocoder.yudao.framework.quartz.core.util; 1 package cn.iocoder.yudao.framework.quartz.core.util;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import org.quartz.CronExpression; 4 import org.quartz.CronExpression;
4 5
5 import java.text.ParseException; 6 import java.text.ParseException;
  7 +import java.time.LocalDateTime;
6 import java.util.ArrayList; 8 import java.util.ArrayList;
7 import java.util.Date; 9 import java.util.Date;
8 import java.util.List; 10 import java.util.List;
@@ -31,7 +33,7 @@ public class CronUtils { @@ -31,7 +33,7 @@ public class CronUtils {
31 * @param n 数量 33 * @param n 数量
32 * @return 满足条件的执行时间 34 * @return 满足条件的执行时间
33 */ 35 */
34 - public static List<Date> getNextTimes(String cronExpression, int n) { 36 + public static List<LocalDateTime> getNextTimes(String cronExpression, int n) {
35 // 获得 CronExpression 对象 37 // 获得 CronExpression 对象
36 CronExpression cron; 38 CronExpression cron;
37 try { 39 try {
@@ -41,10 +43,10 @@ public class CronUtils { @@ -41,10 +43,10 @@ public class CronUtils {
41 } 43 }
42 // 从当前开始计算,n 个满足条件的 44 // 从当前开始计算,n 个满足条件的
43 Date now = new Date(); 45 Date now = new Date();
44 - List<Date> nextTimes = new ArrayList<>(n); 46 + List<LocalDateTime> nextTimes = new ArrayList<>(n);
45 for (int i = 0; i < n; i++) { 47 for (int i = 0; i < n; i++) {
46 Date nextTime = cron.getNextValidTimeAfter(now); 48 Date nextTime = cron.getNextValidTimeAfter(now);
47 - nextTimes.add(nextTime); 49 + nextTimes.add(LocalDateTimeUtil.of(nextTime));
48 // 切换现在,为下一个触发时间; 50 // 切换现在,为下一个触发时间;
49 now = nextTime; 51 now = nextTime;
50 } 52 }
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/dataobject/BaseDO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import org.apache.ibatis.type.JdbcType; 7 import org.apache.ibatis.type.JdbcType;
8 8
9 import java.io.Serializable; 9 import java.io.Serializable;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 基础实体对象 13 * 基础实体对象
@@ -21,12 +21,12 @@ public abstract class BaseDO implements Serializable { @@ -21,12 +21,12 @@ public abstract class BaseDO implements Serializable {
21 * 创建时间 21 * 创建时间
22 */ 22 */
23 @TableField(fill = FieldFill.INSERT) 23 @TableField(fill = FieldFill.INSERT)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 /** 25 /**
26 * 最后更新时间 26 * 最后更新时间
27 */ 27 */
28 @TableField(fill = FieldFill.INSERT_UPDATE) 28 @TableField(fill = FieldFill.INSERT_UPDATE)
29 - private Date updateTime; 29 + private LocalDateTime updateTime;
30 /** 30 /**
31 * 创建者,目前使用 SysUser 的 id 编号 31 * 创建者,目前使用 SysUser 的 id 编号
32 * 32 *
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/handler/DefaultDBFieldHandler.java
@@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
5 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; 5 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
6 import org.apache.ibatis.reflection.MetaObject; 6 import org.apache.ibatis.reflection.MetaObject;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 import java.util.Objects; 9 import java.util.Objects;
10 10
11 /** 11 /**
@@ -22,7 +22,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { @@ -22,7 +22,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
22 if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) { 22 if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
23 BaseDO baseDO = (BaseDO) metaObject.getOriginalObject(); 23 BaseDO baseDO = (BaseDO) metaObject.getOriginalObject();
24 24
25 - Date current = new Date(); 25 + LocalDateTime current = LocalDateTime.now();
26 // 创建时间为空,则以当前时间为插入时间 26 // 创建时间为空,则以当前时间为插入时间
27 if (Objects.isNull(baseDO.getCreateTime())) { 27 if (Objects.isNull(baseDO.getCreateTime())) {
28 baseDO.setCreateTime(current); 28 baseDO.setCreateTime(current);
@@ -49,7 +49,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { @@ -49,7 +49,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
49 // 更新时间为空,则以当前时间为更新时间 49 // 更新时间为空,则以当前时间为更新时间
50 Object modifyTime = getFieldValByName("updateTime", metaObject); 50 Object modifyTime = getFieldValByName("updateTime", metaObject);
51 if (Objects.isNull(modifyTime)) { 51 if (Objects.isNull(modifyTime)) {
52 - setFieldValByName("updateTime", new Date(), metaObject); 52 + setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
53 } 53 }
54 54
55 // 当前登录用户不为空,更新人为空,则当前登录用户为更新人 55 // 当前登录用户不为空,更新人为空,则当前登录用户为更新人
yudao-framework/yudao-spring-boot-starter-test/src/main/java/cn/iocoder/yudao/framework/test/core/util/RandomUtils.java
1 package cn.iocoder.yudao.framework.test.core.util; 1 package cn.iocoder.yudao.framework.test.core.util;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.util.ArrayUtil; 4 import cn.hutool.core.util.ArrayUtil;
4 import cn.hutool.core.util.RandomUtil; 5 import cn.hutool.core.util.RandomUtil;
5 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
@@ -8,6 +9,7 @@ import uk.co.jemos.podam.api.PodamFactory; @@ -8,6 +9,7 @@ import uk.co.jemos.podam.api.PodamFactory;
8 import uk.co.jemos.podam.api.PodamFactoryImpl; 9 import uk.co.jemos.podam.api.PodamFactoryImpl;
9 10
10 import java.lang.reflect.Type; 11 import java.lang.reflect.Type;
  12 +import java.time.LocalDateTime;
11 import java.util.Arrays; 13 import java.util.Arrays;
12 import java.util.Date; 14 import java.util.Date;
13 import java.util.List; 15 import java.util.List;
@@ -76,6 +78,10 @@ public class RandomUtils { @@ -76,6 +78,10 @@ public class RandomUtils {
76 return RandomUtil.randomDay(0, RANDOM_DATE_MAX); 78 return RandomUtil.randomDay(0, RANDOM_DATE_MAX);
77 } 79 }
78 80
  81 + public static LocalDateTime randomLocalDateTime() {
  82 + return LocalDateTimeUtil.of(randomDate());
  83 + }
  84 +
79 public static Short randomShort() { 85 public static Short randomShort() {
80 return (short) RandomUtil.randomInt(0, Short.MAX_VALUE); 86 return (short) RandomUtil.randomInt(0, Short.MAX_VALUE);
81 } 87 }
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/filter/ApiAccessLogFilter.java
1 package cn.iocoder.yudao.framework.apilog.core.filter; 1 package cn.iocoder.yudao.framework.apilog.core.filter;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.exceptions.ExceptionUtil; 4 import cn.hutool.core.exceptions.ExceptionUtil;
4 import cn.hutool.core.map.MapUtil; 5 import cn.hutool.core.map.MapUtil;
5 import cn.hutool.extra.servlet.ServletUtil; 6 import cn.hutool.extra.servlet.ServletUtil;
@@ -7,7 +8,6 @@ import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLog; @@ -7,7 +8,6 @@ import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLog;
7 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService; 8 import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService;
8 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; 9 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
9 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 10 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
10 -import cn.iocoder.yudao.framework.common.util.date.DateUtils;  
11 import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; 11 import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
12 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; 12 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
13 import cn.iocoder.yudao.framework.web.config.WebProperties; 13 import cn.iocoder.yudao.framework.web.config.WebProperties;
@@ -20,7 +20,8 @@ import javax.servlet.ServletException; @@ -20,7 +20,8 @@ import javax.servlet.ServletException;
20 import javax.servlet.http.HttpServletRequest; 20 import javax.servlet.http.HttpServletRequest;
21 import javax.servlet.http.HttpServletResponse; 21 import javax.servlet.http.HttpServletResponse;
22 import java.io.IOException; 22 import java.io.IOException;
23 -import java.util.Date; 23 +import java.time.LocalDateTime;
  24 +import java.time.temporal.ChronoUnit;
24 import java.util.Map; 25 import java.util.Map;
25 26
26 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 27 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
@@ -47,7 +48,7 @@ public class ApiAccessLogFilter extends ApiRequestFilter { @@ -47,7 +48,7 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
47 protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) 48 protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
48 throws ServletException, IOException { 49 throws ServletException, IOException {
49 // 获得开始时间 50 // 获得开始时间
50 - Date beginTim = new Date(); 51 + LocalDateTime beginTime = LocalDateTime.now();
51 // 提前获得参数,避免 XssFilter 过滤处理 52 // 提前获得参数,避免 XssFilter 过滤处理
52 Map<String, String> queryString = ServletUtil.getParamMap(request); 53 Map<String, String> queryString = ServletUtil.getParamMap(request);
53 String requestBody = ServletUtils.isJsonRequest(request) ? ServletUtil.getBody(request) : null; 54 String requestBody = ServletUtils.isJsonRequest(request) ? ServletUtil.getBody(request) : null;
@@ -56,15 +57,15 @@ public class ApiAccessLogFilter extends ApiRequestFilter { @@ -56,15 +57,15 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
56 // 继续过滤器 57 // 继续过滤器
57 filterChain.doFilter(request, response); 58 filterChain.doFilter(request, response);
58 // 正常执行,记录日志 59 // 正常执行,记录日志
59 - createApiAccessLog(request, beginTim, queryString, requestBody, null); 60 + createApiAccessLog(request, beginTime, queryString, requestBody, null);
60 } catch (Exception ex) { 61 } catch (Exception ex) {
61 // 异常执行,记录日志 62 // 异常执行,记录日志
62 - createApiAccessLog(request, beginTim, queryString, requestBody, ex); 63 + createApiAccessLog(request, beginTime, queryString, requestBody, ex);
63 throw ex; 64 throw ex;
64 } 65 }
65 } 66 }
66 67
67 - private void createApiAccessLog(HttpServletRequest request, Date beginTime, 68 + private void createApiAccessLog(HttpServletRequest request, LocalDateTime beginTime,
68 Map<String, String> queryString, String requestBody, Exception ex) { 69 Map<String, String> queryString, String requestBody, Exception ex) {
69 ApiAccessLog accessLog = new ApiAccessLog(); 70 ApiAccessLog accessLog = new ApiAccessLog();
70 try { 71 try {
@@ -75,7 +76,7 @@ public class ApiAccessLogFilter extends ApiRequestFilter { @@ -75,7 +76,7 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
75 } 76 }
76 } 77 }
77 78
78 - private void buildApiAccessLogDTO(ApiAccessLog accessLog, HttpServletRequest request, Date beginTime, 79 + private void buildApiAccessLogDTO(ApiAccessLog accessLog, HttpServletRequest request, LocalDateTime beginTime,
79 Map<String, String> queryString, String requestBody, Exception ex) { 80 Map<String, String> queryString, String requestBody, Exception ex) {
80 // 处理用户信息 81 // 处理用户信息
81 accessLog.setUserId(WebFrameworkUtils.getLoginUserId(request)); 82 accessLog.setUserId(WebFrameworkUtils.getLoginUserId(request));
@@ -103,8 +104,8 @@ public class ApiAccessLogFilter extends ApiRequestFilter { @@ -103,8 +104,8 @@ public class ApiAccessLogFilter extends ApiRequestFilter {
103 accessLog.setUserIp(ServletUtil.getClientIP(request)); 104 accessLog.setUserIp(ServletUtil.getClientIP(request));
104 // 持续时间 105 // 持续时间
105 accessLog.setBeginTime(beginTime); 106 accessLog.setBeginTime(beginTime);
106 - accessLog.setEndTime(new Date());  
107 - accessLog.setDuration((int) DateUtils.diff(accessLog.getEndTime(), accessLog.getBeginTime())); 107 + accessLog.setEndTime(LocalDateTime.now());
  108 + accessLog.setDuration((int) LocalDateTimeUtil.between(accessLog.getBeginTime(), accessLog.getEndTime(), ChronoUnit.SECONDS));
108 } 109 }
109 110
110 } 111 }
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/service/ApiAccessLog.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.apilog.core.service; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.apilog.core.service;
3 import lombok.Data; 3 import lombok.Data;
4 4
5 import javax.validation.constraints.NotNull; 5 import javax.validation.constraints.NotNull;
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * API 访问日志 9 * API 访问日志
@@ -61,12 +61,12 @@ public class ApiAccessLog { @@ -61,12 +61,12 @@ public class ApiAccessLog {
61 * 开始请求时间 61 * 开始请求时间
62 */ 62 */
63 @NotNull(message = "开始请求时间不能为空") 63 @NotNull(message = "开始请求时间不能为空")
64 - private Date beginTime; 64 + private LocalDateTime beginTime;
65 /** 65 /**
66 * 结束请求时间 66 * 结束请求时间
67 */ 67 */
68 @NotNull(message = "结束请求时间不能为空") 68 @NotNull(message = "结束请求时间不能为空")
69 - private Date endTime; 69 + private LocalDateTime endTime;
70 /** 70 /**
71 * 执行时长,单位:毫秒 71 * 执行时长,单位:毫秒
72 */ 72 */
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/service/ApiErrorLog.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.apilog.core.service; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.apilog.core.service;
3 import lombok.Data; 3 import lombok.Data;
4 4
5 import javax.validation.constraints.NotNull; 5 import javax.validation.constraints.NotNull;
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * API 错误日志 9 * API 错误日志
@@ -61,7 +61,7 @@ public class ApiErrorLog { @@ -61,7 +61,7 @@ public class ApiErrorLog {
61 * 异常时间 61 * 异常时间
62 */ 62 */
63 @NotNull(message = "异常时间不能为空") 63 @NotNull(message = "异常时间不能为空")
64 - private Date exceptionTime; 64 + private LocalDateTime exceptionTime;
65 /** 65 /**
66 * 异常名 66 * 异常名
67 */ 67 */
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
@@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletRequest; @@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletRequest;
31 import javax.validation.ConstraintViolation; 31 import javax.validation.ConstraintViolation;
32 import javax.validation.ConstraintViolationException; 32 import javax.validation.ConstraintViolationException;
33 import javax.validation.ValidationException; 33 import javax.validation.ValidationException;
34 -import java.util.Date; 34 +import java.time.LocalDateTime;
35 import java.util.Map; 35 import java.util.Map;
36 36
37 import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.*; 37 import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.*;
@@ -267,7 +267,7 @@ public class GlobalExceptionHandler { @@ -267,7 +267,7 @@ public class GlobalExceptionHandler {
267 errorLog.setRequestMethod(request.getMethod()); 267 errorLog.setRequestMethod(request.getMethod());
268 errorLog.setUserAgent(ServletUtils.getUserAgent(request)); 268 errorLog.setUserAgent(ServletUtils.getUserAgent(request));
269 errorLog.setUserIp(ServletUtil.getClientIP(request)); 269 errorLog.setUserIp(ServletUtil.getClientIP(request));
270 - errorLog.setExceptionTime(new Date()); 270 + errorLog.setExceptionTime(LocalDateTime.now());
271 } 271 }
272 272
273 } 273 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.List; 11 import java.util.List;
12 12
13 @ApiModel("管理后台 - 动态表单 Response VO") 13 @ApiModel("管理后台 - 动态表单 Response VO")
@@ -28,6 +28,6 @@ public class BpmFormRespVO extends BpmFormBaseVO { @@ -28,6 +28,6 @@ public class BpmFormRespVO extends BpmFormBaseVO {
28 private List<String> fields; 28 private List<String> fields;
29 29
30 @ApiModelProperty(value = "创建时间", required = true) 30 @ApiModelProperty(value = "创建时间", required = true)
31 - private Date createTime; 31 + private LocalDateTime createTime;
32 32
33 } 33 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java
@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
9 import lombok.ToString; 9 import lombok.ToString;
10 import org.springframework.format.annotation.DateTimeFormat; 10 import org.springframework.format.annotation.DateTimeFormat;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 13
14 @ApiModel("管理后台 - 用户组分页 Request VO") 14 @ApiModel("管理后台 - 用户组分页 Request VO")
15 @Data 15 @Data
@@ -25,6 +25,6 @@ public class BpmUserGroupPageReqVO extends PageParam { @@ -25,6 +25,6 @@ public class BpmUserGroupPageReqVO extends PageParam {
25 25
26 @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 @ApiModelProperty(value = "创建时间") 27 @ApiModelProperty(value = "创建时间")
28 - private Date[] createTime; 28 + private LocalDateTime[] createTime;
29 29
30 } 30 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
1 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group; 1 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
  6 +
5 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
6 8
7 @ApiModel("管理后台 - 用户组 Response VO") 9 @ApiModel("管理后台 - 用户组 Response VO")
@@ -14,6 +16,6 @@ public class BpmUserGroupRespVO extends BpmUserGroupBaseVO { @@ -14,6 +16,6 @@ public class BpmUserGroupRespVO extends BpmUserGroupBaseVO {
14 private Long id; 16 private Long id;
15 17
16 @ApiModelProperty(value = "创建时间", required = true) 18 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 19 + private LocalDateTime createTime;
18 20
19 } 21 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 流程模型的分页的每一项 Response VO") 11 @ApiModel("管理后台 - 流程模型的分页的每一项 Response VO")
12 @Data 12 @Data
@@ -21,7 +21,7 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO { @@ -21,7 +21,7 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO {
21 private String formName; 21 private String formName;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 /** 26 /**
27 * 最新部署的流程定义 27 * 最新部署的流程定义
@@ -39,7 +39,7 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO { @@ -39,7 +39,7 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO {
39 private Integer version; 39 private Integer version;
40 40
41 @ApiModelProperty(value = "部署时间", required = true) 41 @ApiModelProperty(value = "部署时间", required = true)
42 - private Date deploymentTime; 42 + private LocalDateTime deploymentTime;
43 43
44 @ApiModelProperty(value = "中断状态", required = true, example = "1", notes = "参见 SuspensionState 枚举") 44 @ApiModelProperty(value = "中断状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
45 private Integer suspensionState; 45 private Integer suspensionState;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 流程模型的创建 Request VO") 11 @ApiModel("管理后台 - 流程模型的创建 Request VO")
12 @Data 12 @Data
@@ -21,6 +21,6 @@ public class BpmModelRespVO extends BpmModelBaseVO { @@ -21,6 +21,6 @@ public class BpmModelRespVO extends BpmModelBaseVO {
21 private String bpmnXml; 21 private String bpmnXml;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 } 26 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 流程定义的分页的每一项 Response VO") 11 @ApiModel("管理后台 - 流程定义的分页的每一项 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionResp @@ -18,6 +18,6 @@ public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionResp
18 private String formName; 18 private String formName;
19 19
20 @ApiModelProperty(value = "部署时间", required = true) 20 @ApiModelProperty(value = "部署时间", required = true)
21 - private Date deploymentTime; 21 + private LocalDateTime deploymentTime;
22 22
23 } 23 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java
1 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo; 1 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 5 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 6 import javax.validation.constraints.*;
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
@@ -18,11 +18,11 @@ public class BpmOALeaveBaseVO { @@ -18,11 +18,11 @@ public class BpmOALeaveBaseVO {
18 @ApiModelProperty(value = "请假的开始时间", required = true) 18 @ApiModelProperty(value = "请假的开始时间", required = true)
19 @NotNull(message = "开始时间不能为空") 19 @NotNull(message = "开始时间不能为空")
20 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 20 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
21 - private Date startTime; 21 + private LocalDateTime startTime;
22 @ApiModelProperty(value = "请假的结束时间", required = true) 22 @ApiModelProperty(value = "请假的结束时间", required = true)
23 @NotNull(message = "结束时间不能为空") 23 @NotNull(message = "结束时间不能为空")
24 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 24 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
25 - private Date endTime; 25 + private LocalDateTime endTime;
26 26
27 @ApiModelProperty(value = "请假类型", required = true, example = "1", notes = "参见 bpm_oa_type 枚举") 27 @ApiModelProperty(value = "请假类型", required = true, example = "1", notes = "参见 bpm_oa_type 枚举")
28 private Integer type; 28 private Integer type;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java
@@ -15,7 +15,7 @@ public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO { @@ -15,7 +15,7 @@ public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO {
15 15
16 @AssertTrue(message = "结束时间,需要在开始时间之后") 16 @AssertTrue(message = "结束时间,需要在开始时间之后")
17 public boolean isEndTimeValid() { 17 public boolean isEndTimeValid() {
18 - return !getEndTime().before(getStartTime()); 18 + return !getEndTime().isBefore(getStartTime());
19 } 19 }
20 20
21 } 21 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java
1 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo; 1 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 5 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 6 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
@@ -25,6 +25,6 @@ public class BpmOALeavePageReqVO extends PageParam { @@ -25,6 +25,6 @@ public class BpmOALeavePageReqVO extends PageParam {
25 25
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 @ApiModelProperty(value = "申请时间") 27 @ApiModelProperty(value = "申请时间")
28 - private Date[] createTime; 28 + private LocalDateTime[] createTime;
29 29
30 } 30 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.*; @@ -5,7 +5,7 @@ import io.swagger.annotations.*;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,7 +24,7 @@ public class BpmOALeaveRespVO extends BpmOALeaveBaseVO { @@ -24,7 +24,7 @@ public class BpmOALeaveRespVO extends BpmOALeaveBaseVO {
24 @ApiModelProperty(value = "申请时间", required = true) 24 @ApiModelProperty(value = "申请时间", required = true)
25 @NotNull(message = "申请时间不能为空") 25 @NotNull(message = "申请时间不能为空")
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 - private Date createTime; 27 + private LocalDateTime createTime;
28 28
29 @ApiModelProperty(value = "流程id") 29 @ApiModelProperty(value = "流程id")
30 private String processInstanceId; 30 private String processInstanceId;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 @ApiModel("管理后台 - 流程活动的 Response VO") 9 @ApiModel("管理后台 - 流程活动的 Response VO")
10 @Data 10 @Data
@@ -16,9 +16,9 @@ public class BpmActivityRespVO { @@ -16,9 +16,9 @@ public class BpmActivityRespVO {
16 private String type; 16 private String type;
17 17
18 @ApiModelProperty(value = "流程活动的开始时间", required = true) 18 @ApiModelProperty(value = "流程活动的开始时间", required = true)
19 - private Date startTime; 19 + private LocalDateTime startTime;
20 @ApiModelProperty(value = "流程活动的结束时间", required = true) 20 @ApiModelProperty(value = "流程活动的结束时间", required = true)
21 - private Date endTime; 21 + private LocalDateTime endTime;
22 22
23 @ApiModelProperty(value = "关联的流程任务的编号", example = "2048", notes = "关联的流程任务,只有 UserTask 等类型才有") 23 @ApiModelProperty(value = "关联的流程任务的编号", example = "2048", notes = "关联的流程任务,只有 UserTask 等类型才有")
24 private String taskId; 24 private String taskId;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceMyPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -35,6 +35,6 @@ public class BpmProcessInstanceMyPageReqVO extends PageParam { @@ -35,6 +35,6 @@ public class BpmProcessInstanceMyPageReqVO extends PageParam {
35 35
36 @ApiModelProperty(value = "创建时间") 36 @ApiModelProperty(value = "创建时间")
37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
38 - private Date[] createTime; 38 + private LocalDateTime[] createTime;
39 39
40 } 40 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 import java.util.List; 8 import java.util.List;
9 9
10 @ApiModel("管理后台 - 流程实例的分页 Item Response VO") 10 @ApiModel("管理后台 - 流程实例的分页 Item Response VO")
@@ -30,10 +30,10 @@ public class BpmProcessInstancePageItemRespVO { @@ -30,10 +30,10 @@ public class BpmProcessInstancePageItemRespVO {
30 private Integer result; 30 private Integer result;
31 31
32 @ApiModelProperty(value = "提交时间", required = true) 32 @ApiModelProperty(value = "提交时间", required = true)
33 - private Date createTime; 33 + private LocalDateTime createTime;
34 34
35 @ApiModelProperty(value = "结束时间", required = true) 35 @ApiModelProperty(value = "结束时间", required = true)
36 - private Date endTime; 36 + private LocalDateTime endTime;
37 37
38 /** 38 /**
39 * 当前任务 39 * 当前任务
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 import java.util.List; 8 import java.util.List;
9 import java.util.Map; 9 import java.util.Map;
10 10
@@ -28,10 +28,10 @@ public class BpmProcessInstanceRespVO { @@ -28,10 +28,10 @@ public class BpmProcessInstanceRespVO {
28 private Integer result; 28 private Integer result;
29 29
30 @ApiModelProperty(value = "提交时间", required = true) 30 @ApiModelProperty(value = "提交时间", required = true)
31 - private Date createTime; 31 + private LocalDateTime createTime;
32 32
33 @ApiModelProperty(value = "结束时间", required = true) 33 @ApiModelProperty(value = "结束时间", required = true)
34 - private Date endTime; 34 + private LocalDateTime endTime;
35 35
36 @ApiModelProperty(value = "提交的表单值", required = true) 36 @ApiModelProperty(value = "提交的表单值", required = true)
37 private Map<String, Object> formVariables; 37 private Map<String, Object> formVariables;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 流程任务的 Done 已完成的分页项 Response VO") 11 @ApiModel("管理后台 - 流程任务的 Done 已完成的分页项 Response VO")
12 @Data 12 @Data
@@ -15,7 +15,7 @@ import java.util.Date; @@ -15,7 +15,7 @@ import java.util.Date;
15 public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO { 15 public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO {
16 16
17 @ApiModelProperty(value = "结束时间", required = true) 17 @ApiModelProperty(value = "结束时间", required = true)
18 - private Date endTime; 18 + private LocalDateTime endTime;
19 @ApiModelProperty(value = "持续时间", required = true, example = "1000") 19 @ApiModelProperty(value = "持续时间", required = true, example = "1000")
20 private Long durationInMillis; 20 private Long durationInMillis;
21 21
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -23,10 +23,10 @@ public class BpmTaskDonePageReqVO extends PageParam { @@ -23,10 +23,10 @@ public class BpmTaskDonePageReqVO extends PageParam {
23 23
24 @ApiModelProperty(value = "开始的创建收间") 24 @ApiModelProperty(value = "开始的创建收间")
25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
26 - private Date beginCreateTime; 26 + private LocalDateTime beginCreateTime;
27 27
28 @ApiModelProperty(value = "结束的创建时间") 28 @ApiModelProperty(value = "结束的创建时间")
29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
30 - private Date endCreateTime; 30 + private LocalDateTime endCreateTime;
31 31
32 } 32 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 @ApiModel("管理后台 - 流程任务的 Running 进行中的分页项 Response VO") 9 @ApiModel("管理后台 - 流程任务的 Running 进行中的分页项 Response VO")
10 @Data 10 @Data
@@ -17,10 +17,10 @@ public class BpmTaskTodoPageItemRespVO { @@ -17,10 +17,10 @@ public class BpmTaskTodoPageItemRespVO {
17 private String name; 17 private String name;
18 18
19 @ApiModelProperty(value = "接收时间", required = true) 19 @ApiModelProperty(value = "接收时间", required = true)
20 - private Date claimTime; 20 + private LocalDateTime claimTime;
21 21
22 @ApiModelProperty(value = "创建时间", required = true) 22 @ApiModelProperty(value = "创建时间", required = true)
23 - private Date createTime; 23 + private LocalDateTime createTime;
24 24
25 @ApiModelProperty(value = "激活状态", required = true, example = "1", notes = "参见 SuspensionState 枚举") 25 @ApiModelProperty(value = "激活状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
26 private Integer suspensionState; 26 private Integer suspensionState;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -23,10 +23,10 @@ public class BpmTaskTodoPageReqVO extends PageParam { @@ -23,10 +23,10 @@ public class BpmTaskTodoPageReqVO extends PageParam {
23 23
24 @ApiModelProperty(value = "开始的创建收间") 24 @ApiModelProperty(value = "开始的创建收间")
25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
26 - private Date beginCreateTime; 26 + private LocalDateTime beginCreateTime;
27 27
28 @ApiModelProperty(value = "结束的创建时间") 28 @ApiModelProperty(value = "结束的创建时间")
29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
30 - private Date endCreateTime; 30 + private LocalDateTime endCreateTime;
31 31
32 } 32 }
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.convert.definition; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.convert.definition;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  5 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
5 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 6 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
6 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*; 7 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*;
7 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; 8 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
@@ -44,7 +45,7 @@ public interface BpmModelConvert { @@ -44,7 +45,7 @@ public interface BpmModelConvert {
44 default BpmModelPageItemRespVO convert(Model model, BpmFormDO form, Deployment deployment, ProcessDefinition processDefinition) { 45 default BpmModelPageItemRespVO convert(Model model, BpmFormDO form, Deployment deployment, ProcessDefinition processDefinition) {
45 BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO(); 46 BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO();
46 modelRespVO.setId(model.getId()); 47 modelRespVO.setId(model.getId());
47 - modelRespVO.setCreateTime(model.getCreateTime()); 48 + modelRespVO.setCreateTime(DateUtils.dateToLocalDateTime(model.getCreateTime()));
48 // 通用 copy 49 // 通用 copy
49 copyTo(model, modelRespVO); 50 copyTo(model, modelRespVO);
50 // Form 51 // Form
@@ -57,7 +58,7 @@ public interface BpmModelConvert { @@ -57,7 +58,7 @@ public interface BpmModelConvert {
57 if (modelRespVO.getProcessDefinition() != null) { 58 if (modelRespVO.getProcessDefinition() != null) {
58 modelRespVO.getProcessDefinition().setSuspensionState(processDefinition.isSuspended() ? 59 modelRespVO.getProcessDefinition().setSuspensionState(processDefinition.isSuspended() ?
59 SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode()); 60 SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode());
60 - modelRespVO.getProcessDefinition().setDeploymentTime(deployment.getDeploymentTime()); 61 + modelRespVO.getProcessDefinition().setDeploymentTime(DateUtils.dateToLocalDateTime(deployment.getDeploymentTime()));
61 } 62 }
62 return modelRespVO; 63 return modelRespVO;
63 } 64 }
@@ -65,7 +66,7 @@ public interface BpmModelConvert { @@ -65,7 +66,7 @@ public interface BpmModelConvert {
65 default BpmModelRespVO convert(Model model) { 66 default BpmModelRespVO convert(Model model) {
66 BpmModelRespVO modelRespVO = new BpmModelRespVO(); 67 BpmModelRespVO modelRespVO = new BpmModelRespVO();
67 modelRespVO.setId(model.getId()); 68 modelRespVO.setId(model.getId());
68 - modelRespVO.setCreateTime(model.getCreateTime()); 69 + modelRespVO.setCreateTime(DateUtils.dateToLocalDateTime(model.getCreateTime()));
69 // 通用 copy 70 // 通用 copy
70 copyTo(model, modelRespVO); 71 copyTo(model, modelRespVO);
71 return modelRespVO; 72 return modelRespVO;
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmProcessDefinitionConvert.java
1 package cn.iocoder.yudao.module.bpm.convert.definition; 1 package cn.iocoder.yudao.module.bpm.convert.definition;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  5 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
4 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; 6 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
5 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO; 7 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO;
6 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; 8 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
@@ -67,7 +69,7 @@ public interface BpmProcessDefinitionConvert { @@ -67,7 +69,7 @@ public interface BpmProcessDefinitionConvert {
67 BpmProcessDefinitionPageItemRespVO respVO = convert(bean); 69 BpmProcessDefinitionPageItemRespVO respVO = convert(bean);
68 respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode()); 70 respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode());
69 if (deployment != null) { 71 if (deployment != null) {
70 - respVO.setDeploymentTime(deployment.getDeploymentTime()); 72 + respVO.setDeploymentTime(LocalDateTimeUtil.of(deployment.getDeploymentTime()));
71 } 73 }
72 if (form != null) { 74 if (form != null) {
73 respVO.setFormName(form.getName()); 75 respVO.setFormName(form.getName());
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
1 package cn.iocoder.yudao.module.bpm.convert.task; 1 package cn.iocoder.yudao.module.bpm.convert.task;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
4 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 5 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
5 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO; 6 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO;
@@ -151,7 +152,7 @@ public interface BpmTaskConvert { @@ -151,7 +152,7 @@ public interface BpmTaskConvert {
151 BpmTaskExtDO taskExtDO = new BpmTaskExtDO().setTaskId(task.getId()) 152 BpmTaskExtDO taskExtDO = new BpmTaskExtDO().setTaskId(task.getId())
152 .setAssigneeUserId(NumberUtils.parseLong(task.getAssignee())).setName(task.getName()) 153 .setAssigneeUserId(NumberUtils.parseLong(task.getAssignee())).setName(task.getName())
153 .setProcessDefinitionId(task.getProcessDefinitionId()).setProcessInstanceId(task.getProcessInstanceId()); 154 .setProcessDefinitionId(task.getProcessDefinitionId()).setProcessInstanceId(task.getProcessInstanceId());
154 - taskExtDO.setCreateTime(task.getCreateTime()); 155 + taskExtDO.setCreateTime(LocalDateTimeUtil.of(task.getCreateTime()));
155 return taskExtDO; 156 return taskExtDO;
156 } 157 }
157 158
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
2 2
3 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; 3 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
4 import lombok.*; 4 import lombok.*;
5 -import java.util.*; 5 +import java.time.LocalDateTime;
6 import com.baomidou.mybatisplus.annotation.*; 6 import com.baomidou.mybatisplus.annotation.*;
7 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 7 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
8 8
@@ -46,11 +46,11 @@ public class BpmOALeaveDO extends BaseDO { @@ -46,11 +46,11 @@ public class BpmOALeaveDO extends BaseDO {
46 /** 46 /**
47 * 开始时间 47 * 开始时间
48 */ 48 */
49 - private Date startTime; 49 + private LocalDateTime startTime;
50 /** 50 /**
51 * 结束时间 51 * 结束时间
52 */ 52 */
53 - private Date endTime; 53 + private LocalDateTime endTime;
54 /** 54 /**
55 * 请假天数 55 * 请假天数
56 */ 56 */
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmActivityDO.java
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
4 import lombok.*; 4 import lombok.*;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
@@ -80,18 +80,18 @@ public class BpmActivityDO { @@ -80,18 +80,18 @@ public class BpmActivityDO {
80 */ 80 */
81 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 81 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
82 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 82 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
83 - private Date startTime; 83 + private LocalDateTime startTime;
84 84
85 /** 85 /**
86 * 任务结束时间 86 * 任务结束时间
87 */ 87 */
88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
89 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 89 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
90 - private Date endTime; 90 + private LocalDateTime endTime;
91 91
92 private Integer transactionOrder; 92 private Integer transactionOrder;
93 93
94 - private Long duration; 94 + private LocalDateTime duration;
95 95
96 /** 96 /**
97 * 删除结果 97 * 删除结果
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java
@@ -11,7 +11,7 @@ import lombok.Data; @@ -11,7 +11,7 @@ import lombok.Data;
11 import lombok.EqualsAndHashCode; 11 import lombok.EqualsAndHashCode;
12 import lombok.ToString; 12 import lombok.ToString;
13 13
14 -import java.util.Date; 14 +import java.time.LocalDateTime;
15 import java.util.Map; 15 import java.util.Map;
16 16
17 /** 17 /**
@@ -79,7 +79,7 @@ public class BpmProcessInstanceExtDO extends BaseDO { @@ -79,7 +79,7 @@ public class BpmProcessInstanceExtDO extends BaseDO {
79 * 79 *
80 * 冗余 HistoricProcessInstance 的 endTime 属性 80 * 冗余 HistoricProcessInstance 的 endTime 属性
81 */ 81 */
82 - private Date endTime; 82 + private LocalDateTime endTime;
83 83
84 /** 84 /**
85 * 提交的表单值 85 * 提交的表单值
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmTaskExtDO.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 import lombok.EqualsAndHashCode; 8 import lombok.EqualsAndHashCode;
9 import lombok.ToString; 9 import lombok.ToString;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * Bpm 流程任务的拓展表 14 * Bpm 流程任务的拓展表
@@ -67,7 +67,7 @@ public class BpmTaskExtDO extends BaseDO { @@ -67,7 +67,7 @@ public class BpmTaskExtDO extends BaseDO {
67 * 67 *
68 * 冗余 HistoricTaskInstance 的 endTime 属性 68 * 冗余 HistoricTaskInstance 的 endTime 属性
69 */ 69 */
70 - private Date endTime; 70 + private LocalDateTime endTime;
71 71
72 /** 72 /**
73 * 流程实例的编号 73 * 流程实例的编号
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOALeaveServiceImpl.java
1 package cn.iocoder.yudao.module.bpm.service.oa; 1 package cn.iocoder.yudao.module.bpm.service.oa;
2 2
3 -import cn.hutool.core.date.DateUtil; 3 +import cn.hutool.core.date.LocalDateTimeUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; 5 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
6 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; 6 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
@@ -46,7 +46,7 @@ public class BpmOALeaveServiceImpl implements BpmOALeaveService { @@ -46,7 +46,7 @@ public class BpmOALeaveServiceImpl implements BpmOALeaveService {
46 @Transactional(rollbackFor = Exception.class) 46 @Transactional(rollbackFor = Exception.class)
47 public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) { 47 public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) {
48 // 插入 OA 请假单 48 // 插入 OA 请假单
49 - long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); 49 + long day = LocalDateTimeUtil.between(createReqVO.getStartTime(), createReqVO.getEndTime()).toDays();
50 BpmOALeaveDO leave = BpmOALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day) 50 BpmOALeaveDO leave = BpmOALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day)
51 .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); 51 .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult());
52 leaveMapper.insert(leave); 52 leaveMapper.insert(leave);
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
1 -package cn.iocoder.yudao.module.bpm.service.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*; import cn.iocoder.yudao.module.bpm.convert.task.BpmProcessInstanceConvert; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum; import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventPublisher; import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.HistoryService; import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.event.FlowableCancelledEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; /** * 流程实例 Service 实现类 * * ProcessDefinition & ProcessInstance & Execution & Task 的关系: * 1. <a href="https://blog.csdn.net/bobozai86/article/details/105210414" /> * * HistoricProcessInstance & ProcessInstance 的关系: * 1. <a href=" https://my.oschina.net/843294669/blog/71902" /> * * 简单来说,前者 = 历史 + 运行中的流程实例,后者仅是运行中的流程实例 * * @author 芋道源码 */ @Service @Validated @Slf4j public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService { @Resource private RuntimeService runtimeService; @Resource private BpmProcessInstanceExtMapper processInstanceExtMapper; @Resource @Lazy // 解决循环依赖 private BpmTaskService taskService; @Resource private BpmProcessDefinitionService processDefinitionService; @Resource private HistoryService historyService; @Resource private AdminUserApi adminUserApi; @Resource private DeptApi deptApi; @Resource private BpmProcessInstanceResultEventPublisher processInstanceResultEventPublisher; @Resource private BpmMessageService messageService; @Override public ProcessInstance getProcessInstance(String id) { return runtimeService.createProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List<ProcessInstance> getProcessInstances(Set<String> ids) { return runtimeService.createProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public PageResult<BpmProcessInstancePageItemRespVO> getMyProcessInstancePage(Long userId, BpmProcessInstanceMyPageReqVO pageReqVO) { // 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页 PageResult<BpmProcessInstanceExtDO> pageResult = processInstanceExtMapper.selectPage(userId, pageReqVO); if (CollUtil.isEmpty(pageResult.getList())) { return new PageResult<>(pageResult.getTotal()); } // 获得流程 Task Map List<String> processInstanceIds = convertList(pageResult.getList(), BpmProcessInstanceExtDO::getProcessInstanceId); Map<String, List<Task>> taskMap = taskService.getTaskMapByProcessInstanceIds(processInstanceIds); // 转换返回 return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult, taskMap); } @Override @Transactional(rollbackFor = Exception.class) public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqVO createReqVO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition(createReqVO.getProcessDefinitionId()); // 发起流程 return createProcessInstance0(userId, definition, createReqVO.getVariables(), null); } @Override public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO createReqDTO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getActiveProcessDefinition(createReqDTO.getProcessDefinitionKey()); // 发起流程 return createProcessInstance0(userId, definition, createReqDTO.getVariables(), createReqDTO.getBusinessKey()); } @Override public BpmProcessInstanceRespVO getProcessInstanceVO(String id) { // 获得流程实例 HistoricProcessInstance processInstance = getHistoricProcessInstance(id); if (processInstance == null) { return null; } BpmProcessInstanceExtDO processInstanceExt = processInstanceExtMapper.selectByProcessInstanceId(id); Assert.notNull(processInstanceExt, "流程实例拓展({}) 不存在", id); // 获得流程定义 ProcessDefinition processDefinition = processDefinitionService .getProcessDefinition(processInstance.getProcessDefinitionId()); Assert.notNull(processDefinition, "流程定义({}) 不存在", processInstance.getProcessDefinitionId()); BpmProcessDefinitionExtDO processDefinitionExt = processDefinitionService.getProcessDefinitionExt( processInstance.getProcessDefinitionId()); Assert.notNull(processDefinitionExt, "流程定义拓展({}) 不存在", id); String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); // 获得 User AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(processInstance.getStartUserId())); DeptRespDTO dept = null; if (startUser != null) { dept = deptApi.getDept(startUser.getDeptId()); } // 拼接结果 return BpmProcessInstanceConvert.INSTANCE.convert2(processInstance, processInstanceExt, processDefinition, processDefinitionExt, bpmnXml, startUser, dept); } @Override public void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO) { // 校验流程实例存在 ProcessInstance instance = getProcessInstance(cancelReqVO.getId()); if (instance == null) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS); } // 只能取消自己的 if (!Objects.equals(instance.getStartUserId(), String.valueOf(userId))) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF); } // 通过删除流程实例,实现流程实例的取消, // 删除流程实例,正则执行任务 ACT_RU_TASK. 任务会被删除。通过历史表查询 deleteProcessInstance(cancelReqVO.getId(), BpmProcessInstanceDeleteReasonEnum.CANCEL_TASK.format(cancelReqVO.getReason())); } /** * 获得历史的流程实例 * * @param id 流程实例的编号 * @return 历史的流程实例 */ @Override public HistoricProcessInstance getHistoricProcessInstance(String id) { return historyService.createHistoricProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List<HistoricProcessInstance> getHistoricProcessInstances(Set<String> ids) { return historyService.createHistoricProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public void createProcessInstanceExt(ProcessInstance instance) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition2(instance.getProcessDefinitionId()); // 插入 BpmProcessInstanceExtDO 对象 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getId()) .setProcessDefinitionId(definition.getId()) .setName(instance.getProcessDefinitionName()) .setStartUserId(Long.valueOf(instance.getStartUserId())) .setCategory(definition.getCategory()) .setStatus(BpmProcessInstanceStatusEnum.RUNNING.getStatus()) .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); processInstanceExtMapper.insert(instanceExtDO); } @Override public void updateProcessInstanceExtCancel(FlowableCancelledEvent event) { // 判断是否为 Reject 不通过。如果是,则不进行更新. // 因为,updateProcessInstanceExtReject 方法,已经进行更新了 if (BpmProcessInstanceDeleteReasonEnum.isRejectReason((String)event.getCause())) { return; } // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(event.getProcessInstanceId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(event.getProcessInstanceId()) .setEndTime(new Date()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.CANCEL.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override public void updateProcessInstanceExtComplete(ProcessInstance instance) { // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getProcessInstanceId()) .setEndTime(new Date()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()); // 如果正常完全,说明审批通过 processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被通过的消息 messageService.sendMessageWhenProcessInstanceApprove(BpmProcessInstanceConvert.INSTANCE.convert2ApprovedReq(instance)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Transactional(rollbackFor = Exception.class) public void updateProcessInstanceExtReject(String id, String reason) { // 需要主动查询,因为 instance 只有 id 属性 ProcessInstance processInstance = getProcessInstance(id); // 删除流程实例,以实现驳回任务时,取消整个审批流程 deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason))); // 更新 status + result // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法, // 设置 result 为 BpmProcessInstanceStatusEnum.CANCEL,显然和 result 不一定是一致的 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO().setProcessInstanceId(id) .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被不通过的消息 messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, reason)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } private void deleteProcessInstance(String id, String reason) { runtimeService.deleteProcessInstance(id, reason); } private String createProcessInstance0(Long userId, ProcessDefinition definition, Map<String, Object> variables, String businessKey) { // 校验流程定义 if (definition == null) { throw exception(PROCESS_DEFINITION_NOT_EXISTS); } if (definition.isSuspended()) { throw exception(PROCESS_DEFINITION_IS_SUSPENDED); } // 创建流程实例 ProcessInstance instance = runtimeService.startProcessInstanceById(definition.getId(), businessKey, variables); // 设置流程名字 runtimeService.setProcessInstanceName(instance.getId(), definition.getName()); // 补全流程实例的拓展表 processInstanceExtMapper.updateByProcessInstanceId(new BpmProcessInstanceExtDO().setProcessInstanceId(instance.getId()) .setFormVariables(variables)); return instance.getId(); } }  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +package cn.iocoder.yudao.module.bpm.service.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*; import cn.iocoder.yudao.module.bpm.convert.task.BpmProcessInstanceConvert; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum; import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventPublisher; import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.HistoryService; import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.event.FlowableCancelledEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.*; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; /** * 流程实例 Service 实现类 * * ProcessDefinition & ProcessInstance & Execution & Task 的关系: * 1. <a href="https://blog.csdn.net/bobozai86/article/details/105210414" /> * * HistoricProcessInstance & ProcessInstance 的关系: * 1. <a href=" https://my.oschina.net/843294669/blog/71902" /> * * 简单来说,前者 = 历史 + 运行中的流程实例,后者仅是运行中的流程实例 * * @author 芋道源码 */ @Service @Validated @Slf4j public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService { @Resource private RuntimeService runtimeService; @Resource private BpmProcessInstanceExtMapper processInstanceExtMapper; @Resource @Lazy // 解决循环依赖 private BpmTaskService taskService; @Resource private BpmProcessDefinitionService processDefinitionService; @Resource private HistoryService historyService; @Resource private AdminUserApi adminUserApi; @Resource private DeptApi deptApi; @Resource private BpmProcessInstanceResultEventPublisher processInstanceResultEventPublisher; @Resource private BpmMessageService messageService; @Override public ProcessInstance getProcessInstance(String id) { return runtimeService.createProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List<ProcessInstance> getProcessInstances(Set<String> ids) { return runtimeService.createProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public PageResult<BpmProcessInstancePageItemRespVO> getMyProcessInstancePage(Long userId, BpmProcessInstanceMyPageReqVO pageReqVO) { // 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页 PageResult<BpmProcessInstanceExtDO> pageResult = processInstanceExtMapper.selectPage(userId, pageReqVO); if (CollUtil.isEmpty(pageResult.getList())) { return new PageResult<>(pageResult.getTotal()); } // 获得流程 Task Map List<String> processInstanceIds = convertList(pageResult.getList(), BpmProcessInstanceExtDO::getProcessInstanceId); Map<String, List<Task>> taskMap = taskService.getTaskMapByProcessInstanceIds(processInstanceIds); // 转换返回 return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult, taskMap); } @Override @Transactional(rollbackFor = Exception.class) public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqVO createReqVO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition(createReqVO.getProcessDefinitionId()); // 发起流程 return createProcessInstance0(userId, definition, createReqVO.getVariables(), null); } @Override public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO createReqDTO) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getActiveProcessDefinition(createReqDTO.getProcessDefinitionKey()); // 发起流程 return createProcessInstance0(userId, definition, createReqDTO.getVariables(), createReqDTO.getBusinessKey()); } @Override public BpmProcessInstanceRespVO getProcessInstanceVO(String id) { // 获得流程实例 HistoricProcessInstance processInstance = getHistoricProcessInstance(id); if (processInstance == null) { return null; } BpmProcessInstanceExtDO processInstanceExt = processInstanceExtMapper.selectByProcessInstanceId(id); Assert.notNull(processInstanceExt, "流程实例拓展({}) 不存在", id); // 获得流程定义 ProcessDefinition processDefinition = processDefinitionService .getProcessDefinition(processInstance.getProcessDefinitionId()); Assert.notNull(processDefinition, "流程定义({}) 不存在", processInstance.getProcessDefinitionId()); BpmProcessDefinitionExtDO processDefinitionExt = processDefinitionService.getProcessDefinitionExt( processInstance.getProcessDefinitionId()); Assert.notNull(processDefinitionExt, "流程定义拓展({}) 不存在", id); String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); // 获得 User AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(processInstance.getStartUserId())); DeptRespDTO dept = null; if (startUser != null) { dept = deptApi.getDept(startUser.getDeptId()); } // 拼接结果 return BpmProcessInstanceConvert.INSTANCE.convert2(processInstance, processInstanceExt, processDefinition, processDefinitionExt, bpmnXml, startUser, dept); } @Override public void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO) { // 校验流程实例存在 ProcessInstance instance = getProcessInstance(cancelReqVO.getId()); if (instance == null) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS); } // 只能取消自己的 if (!Objects.equals(instance.getStartUserId(), String.valueOf(userId))) { throw exception(PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF); } // 通过删除流程实例,实现流程实例的取消, // 删除流程实例,正则执行任务 ACT_RU_TASK. 任务会被删除。通过历史表查询 deleteProcessInstance(cancelReqVO.getId(), BpmProcessInstanceDeleteReasonEnum.CANCEL_TASK.format(cancelReqVO.getReason())); } /** * 获得历史的流程实例 * * @param id 流程实例的编号 * @return 历史的流程实例 */ @Override public HistoricProcessInstance getHistoricProcessInstance(String id) { return historyService.createHistoricProcessInstanceQuery().processInstanceId(id).singleResult(); } @Override public List<HistoricProcessInstance> getHistoricProcessInstances(Set<String> ids) { return historyService.createHistoricProcessInstanceQuery().processInstanceIds(ids).list(); } @Override public void createProcessInstanceExt(ProcessInstance instance) { // 获得流程定义 ProcessDefinition definition = processDefinitionService.getProcessDefinition2(instance.getProcessDefinitionId()); // 插入 BpmProcessInstanceExtDO 对象 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getId()) .setProcessDefinitionId(definition.getId()) .setName(instance.getProcessDefinitionName()) .setStartUserId(Long.valueOf(instance.getStartUserId())) .setCategory(definition.getCategory()) .setStatus(BpmProcessInstanceStatusEnum.RUNNING.getStatus()) .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); processInstanceExtMapper.insert(instanceExtDO); } @Override public void updateProcessInstanceExtCancel(FlowableCancelledEvent event) { // 判断是否为 Reject 不通过。如果是,则不进行更新. // 因为,updateProcessInstanceExtReject 方法,已经进行更新了 if (BpmProcessInstanceDeleteReasonEnum.isRejectReason((String)event.getCause())) { return; } // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(event.getProcessInstanceId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(event.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.CANCEL.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Override public void updateProcessInstanceExtComplete(ProcessInstance instance) { // 需要主动查询,因为 instance 只有 id 属性 // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); // 更新拓展表 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO() .setProcessInstanceId(instance.getProcessInstanceId()) .setEndTime(LocalDateTime.now()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()); // 如果正常完全,说明审批通过 processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被通过的消息 messageService.sendMessageWhenProcessInstanceApprove(BpmProcessInstanceConvert.INSTANCE.convert2ApprovedReq(instance)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } @Transactional(rollbackFor = Exception.class) public void updateProcessInstanceExtReject(String id, String reason) { // 需要主动查询,因为 instance 只有 id 属性 ProcessInstance processInstance = getProcessInstance(id); // 删除流程实例,以实现驳回任务时,取消整个审批流程 deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason))); // 更新 status + result // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法, // 设置 result 为 BpmProcessInstanceStatusEnum.CANCEL,显然和 result 不一定是一致的 BpmProcessInstanceExtDO instanceExtDO = new BpmProcessInstanceExtDO().setProcessInstanceId(id) .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()) .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()); processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO); // 发送流程被不通过的消息 messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, reason)); // 发送流程实例的状态事件 processInstanceResultEventPublisher.sendProcessInstanceResultEvent( BpmProcessInstanceConvert.INSTANCE.convert(this, processInstance, instanceExtDO.getResult())); } private void deleteProcessInstance(String id, String reason) { runtimeService.deleteProcessInstance(id, reason); } private String createProcessInstance0(Long userId, ProcessDefinition definition, Map<String, Object> variables, String businessKey) { // 校验流程定义 if (definition == null) { throw exception(PROCESS_DEFINITION_NOT_EXISTS); } if (definition.isSuspended()) { throw exception(PROCESS_DEFINITION_IS_SUSPENDED); } // 创建流程实例 ProcessInstance instance = runtimeService.startProcessInstanceById(definition.getId(), businessKey, variables); // 设置流程名字 runtimeService.setProcessInstanceName(instance.getId(), definition.getName()); // 补全流程实例的拓展表 processInstanceExtMapper.updateByProcessInstanceId(new BpmProcessInstanceExtDO().setProcessInstanceId(instance.getId()) .setFormVariables(variables)); return instance.getId(); } }
3 \ No newline at end of file 3 \ No newline at end of file
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.task; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.task;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
6 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 7 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
7 import cn.iocoder.yudao.framework.common.util.object.PageUtils; 8 import cn.iocoder.yudao.framework.common.util.object.PageUtils;
8 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; 9 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
@@ -32,6 +33,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager @@ -32,6 +33,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
32 33
33 import javax.annotation.Resource; 34 import javax.annotation.Resource;
34 import javax.validation.Valid; 35 import javax.validation.Valid;
  36 +import java.time.LocalDateTime;
35 import java.util.*; 37 import java.util.*;
36 38
37 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 39 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -74,10 +76,10 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -74,10 +76,10 @@ public class BpmTaskServiceImpl implements BpmTaskService {
74 taskQuery.taskNameLike("%" + pageVO.getName() + "%"); 76 taskQuery.taskNameLike("%" + pageVO.getName() + "%");
75 } 77 }
76 if (pageVO.getBeginCreateTime() != null) { 78 if (pageVO.getBeginCreateTime() != null) {
77 - taskQuery.taskCreatedAfter(pageVO.getBeginCreateTime()); 79 + taskQuery.taskCreatedAfter(DateUtils.localDateTimeToDate(pageVO.getBeginCreateTime()));
78 } 80 }
79 if (pageVO.getEndCreateTime() != null) { 81 if (pageVO.getEndCreateTime() != null) {
80 - taskQuery.taskCreatedBefore(pageVO.getEndCreateTime()); 82 + taskQuery.taskCreatedBefore(DateUtils.localDateTimeToDate(pageVO.getEndCreateTime()));
81 } 83 }
82 // 执行查询 84 // 执行查询
83 List<Task> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize()); 85 List<Task> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize());
@@ -106,10 +108,10 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -106,10 +108,10 @@ public class BpmTaskServiceImpl implements BpmTaskService {
106 taskQuery.taskNameLike("%" + pageVO.getName() + "%"); 108 taskQuery.taskNameLike("%" + pageVO.getName() + "%");
107 } 109 }
108 if (pageVO.getBeginCreateTime() != null) { 110 if (pageVO.getBeginCreateTime() != null) {
109 - taskQuery.taskCreatedAfter(pageVO.getBeginCreateTime()); 111 + taskQuery.taskCreatedAfter(DateUtils.localDateTimeToDate(pageVO.getBeginCreateTime()));
110 } 112 }
111 if (pageVO.getEndCreateTime() != null) { 113 if (pageVO.getEndCreateTime() != null) {
112 - taskQuery.taskCreatedBefore(pageVO.getEndCreateTime()); 114 + taskQuery.taskCreatedBefore(DateUtils.localDateTimeToDate(pageVO.getEndCreateTime()));
113 } 115 }
114 // 执行查询 116 // 执行查询
115 List<HistoricTaskInstance> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize()); 117 List<HistoricTaskInstance> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize());
@@ -205,7 +207,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -205,7 +207,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
205 // 更新任务拓展表为不通过 207 // 更新任务拓展表为不通过
206 taskExtMapper.updateByTaskId( 208 taskExtMapper.updateByTaskId(
207 new BpmTaskExtDO().setTaskId(task.getId()).setResult(BpmProcessInstanceResultEnum.REJECT.getResult()) 209 new BpmTaskExtDO().setTaskId(task.getId()).setResult(BpmProcessInstanceResultEnum.REJECT.getResult())
208 - .setEndTime(new Date()).setReason(reqVO.getReason())); 210 + .setEndTime(LocalDateTime.now()).setReason(reqVO.getReason()));
209 } 211 }
210 212
211 @Override 213 @Override
@@ -249,7 +251,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -249,7 +251,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
249 public void updateTaskExtComplete(Task task) { 251 public void updateTaskExtComplete(Task task) {
250 BpmTaskExtDO taskExtDO = BpmTaskConvert.INSTANCE.convert2TaskExt(task) 252 BpmTaskExtDO taskExtDO = BpmTaskConvert.INSTANCE.convert2TaskExt(task)
251 .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()) // 不设置也问题不大,因为 Complete 一般是审核通过,已经设置 253 .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()) // 不设置也问题不大,因为 Complete 一般是审核通过,已经设置
252 - .setEndTime(new Date()); 254 + .setEndTime(LocalDateTime.now());
253 taskExtMapper.updateByTaskId(taskExtDO); 255 taskExtMapper.updateByTaskId(taskExtDO);
254 } 256 }
255 257
@@ -280,7 +282,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -280,7 +282,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
280 282
281 // 更新任务 283 // 更新任务
282 taskExtMapper.updateById(new BpmTaskExtDO().setId(taskExt.getId()).setResult(BpmProcessInstanceResultEnum.CANCEL.getResult()) 284 taskExtMapper.updateById(new BpmTaskExtDO().setId(taskExt.getId()).setResult(BpmProcessInstanceResultEnum.CANCEL.getResult())
283 - .setEndTime(new Date()).setReason(BpmProcessInstanceDeleteReasonEnum.translateReason(task.getDeleteReason()))); 285 + .setEndTime(LocalDateTime.now()).setReason(BpmProcessInstanceDeleteReasonEnum.translateReason(task.getDeleteReason())));
284 } 286 }
285 287
286 }); 288 });
yudao-module-bpm/yudao-module-bpm-biz/src/test/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceTest.java
@@ -17,9 +17,9 @@ import org.springframework.context.annotation.Import; @@ -17,9 +17,9 @@ import org.springframework.context.annotation.Import;
17 17
18 import javax.annotation.Resource; 18 import javax.annotation.Resource;
19 19
20 -import java.util.Date; 20 +import java.time.LocalDateTime;
21 21
22 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 22 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
23 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 23 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
24 import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.USER_GROUP_NOT_EXISTS; 24 import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.USER_GROUP_NOT_EXISTS;
25 25
@@ -106,7 +106,7 @@ public class BpmUserGroupServiceTest extends BaseDbUnitTest { @@ -106,7 +106,7 @@ public class BpmUserGroupServiceTest extends BaseDbUnitTest {
106 BpmUserGroupDO dbUserGroup = RandomUtils.randomPojo(BpmUserGroupDO.class, o -> { // 等会查询到 106 BpmUserGroupDO dbUserGroup = RandomUtils.randomPojo(BpmUserGroupDO.class, o -> { // 等会查询到
107 o.setName("芋道源码"); 107 o.setName("芋道源码");
108 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 108 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
109 - o.setCreateTime(DateUtils.buildTime(2021, 11, 11)); 109 + o.setCreateTime(DateUtils.buildLocalDateTime(2021, 11, 11));
110 }); 110 });
111 userGroupMapper.insert(dbUserGroup); 111 userGroupMapper.insert(dbUserGroup);
112 // 测试 name 不匹配 112 // 测试 name 不匹配
@@ -114,12 +114,12 @@ public class BpmUserGroupServiceTest extends BaseDbUnitTest { @@ -114,12 +114,12 @@ public class BpmUserGroupServiceTest extends BaseDbUnitTest {
114 // 测试 status 不匹配 114 // 测试 status 不匹配
115 userGroupMapper.insert(cloneIgnoreId(dbUserGroup, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 115 userGroupMapper.insert(cloneIgnoreId(dbUserGroup, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
116 // 测试 createTime 不匹配 116 // 测试 createTime 不匹配
117 - userGroupMapper.insert(cloneIgnoreId(dbUserGroup, o -> o.setCreateTime(DateUtils.buildTime(2021, 12, 12)))); 117 + userGroupMapper.insert(cloneIgnoreId(dbUserGroup, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2021, 12, 12))));
118 // 准备参数 118 // 准备参数
119 BpmUserGroupPageReqVO reqVO = new BpmUserGroupPageReqVO(); 119 BpmUserGroupPageReqVO reqVO = new BpmUserGroupPageReqVO();
120 reqVO.setName("源码"); 120 reqVO.setName("源码");
121 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 121 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
122 - reqVO.setCreateTime((new Date[]{buildTime(2021, 11, 10),buildTime(2021, 11, 12)})); 122 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 10),buildLocalDateTime(2021, 11, 12)}));
123 123
124 // 调用 124 // 调用
125 PageResult<BpmUserGroupDO> pageResult = userGroupService.getUserGroupPage(reqVO); 125 PageResult<BpmUserGroupDO> pageResult = userGroupService.getUserGroupPage(reqVO);
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.api.logger.dto; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.api.logger.dto;
3 import lombok.Data; 3 import lombok.Data;
4 4
5 import javax.validation.constraints.NotNull; 5 import javax.validation.constraints.NotNull;
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * API 访问日志 9 * API 访问日志
@@ -61,12 +61,12 @@ public class ApiAccessLogCreateReqDTO { @@ -61,12 +61,12 @@ public class ApiAccessLogCreateReqDTO {
61 * 开始请求时间 61 * 开始请求时间
62 */ 62 */
63 @NotNull(message = "开始请求时间不能为空") 63 @NotNull(message = "开始请求时间不能为空")
64 - private Date beginTime; 64 + private LocalDateTime beginTime;
65 /** 65 /**
66 * 结束请求时间 66 * 结束请求时间
67 */ 67 */
68 @NotNull(message = "结束请求时间不能为空") 68 @NotNull(message = "结束请求时间不能为空")
69 - private Date endTime; 69 + private LocalDateTime endTime;
70 /** 70 /**
71 * 执行时长,单位:毫秒 71 * 执行时长,单位:毫秒
72 */ 72 */
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.api.logger.dto; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.api.logger.dto;
3 import lombok.Data; 3 import lombok.Data;
4 4
5 import javax.validation.constraints.NotNull; 5 import javax.validation.constraints.NotNull;
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * API 错误日志 9 * API 错误日志
@@ -61,7 +61,7 @@ public class ApiErrorLogCreateReqDTO { @@ -61,7 +61,7 @@ public class ApiErrorLogCreateReqDTO {
61 * 异常时间 61 * 异常时间
62 */ 62 */
63 @NotNull(message = "异常时间不能为空") 63 @NotNull(message = "异常时间不能为空")
64 - private Date exceptionTime; 64 + private LocalDateTime exceptionTime;
65 /** 65 /**
66 * 异常名 66 * 异常名
67 */ 67 */
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 代码生成字段定义 Response VO") 11 @ApiModel("管理后台 - 代码生成字段定义 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class CodegenColumnRespVO extends CodegenColumnBaseVO { @@ -18,6 +18,6 @@ public class CodegenColumnRespVO extends CodegenColumnBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class CodegenTablePageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class CodegenTablePageReqVO extends PageParam {
26 26
27 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 27 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 代码生成表定义 Response VO") 11 @ApiModel("管理后台 - 代码生成表定义 Response VO")
12 @Data 12 @Data
@@ -21,9 +21,9 @@ public class CodegenTableRespVO extends CodegenTableBaseVO { @@ -21,9 +21,9 @@ public class CodegenTableRespVO extends CodegenTableBaseVO {
21 private Integer dataSourceConfigId; 21 private Integer dataSourceConfigId;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 @ApiModelProperty(value = "更新时间", required = true) 26 @ApiModelProperty(value = "更新时间", required = true)
27 - private Date updateTime; 27 + private LocalDateTime updateTime;
28 28
29 } 29 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 参数配置 Excel 导出响应 VO 12 * 参数配置 Excel 导出响应 VO
@@ -41,6 +41,6 @@ public class ConfigExcelVO { @@ -41,6 +41,6 @@ public class ConfigExcelVO {
41 private String remark; 41 private String remark;
42 42
43 @ExcelProperty("创建时间") 43 @ExcelProperty("创建时间")
44 - private Date createTime; 44 + private LocalDateTime createTime;
45 45
46 } 46 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,6 +24,6 @@ public class ConfigExportReqVO { @@ -24,6 +24,6 @@ public class ConfigExportReqVO {
24 24
25 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 25 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 - private Date[] createTime; 27 + private LocalDateTime[] createTime;
28 28
29 } 29 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -29,6 +29,6 @@ public class ConfigPageReqVO extends PageParam { @@ -29,6 +29,6 @@ public class ConfigPageReqVO extends PageParam {
29 29
30 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 30 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
31 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 31 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 33
34 } 34 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 7
8 import javax.validation.constraints.NotBlank; 8 import javax.validation.constraints.NotBlank;
9 import javax.validation.constraints.Size; 9 import javax.validation.constraints.Size;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 参数配置信息 Response VO") 12 @ApiModel("管理后台 - 参数配置信息 Response VO")
13 @Data 13 @Data
@@ -26,6 +26,6 @@ public class ConfigRespVO extends ConfigBaseVO { @@ -26,6 +26,6 @@ public class ConfigRespVO extends ConfigBaseVO {
26 private Integer type; 26 private Integer type;
27 27
28 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 28 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
29 - private Date createTime; 29 + private LocalDateTime createTime;
30 30
31 } 31 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java
1 package cn.iocoder.yudao.module.infra.controller.admin.db.vo; 1 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 数据源配置 Response VO") 8 @ApiModel("管理后台 - 数据源配置 Response VO")
@@ -14,6 +15,6 @@ public class DataSourceConfigRespVO extends DataSourceConfigBaseVO { @@ -14,6 +15,6 @@ public class DataSourceConfigRespVO extends DataSourceConfigBaseVO {
14 private Integer id; 15 private Integer id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class FileConfigPageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class FileConfigPageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "创建时间") 28 @ApiModelProperty(value = "创建时间")
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 9
10 import javax.validation.constraints.NotNull; 10 import javax.validation.constraints.NotNull;
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 @ApiModel("管理后台 - 文件配置 Response VO") 13 @ApiModel("管理后台 - 文件配置 Response VO")
14 @Data 14 @Data
@@ -31,6 +31,6 @@ public class FileConfigRespVO extends FileConfigBaseVO { @@ -31,6 +31,6 @@ public class FileConfigRespVO extends FileConfigBaseVO {
31 private FileClientConfig config; 31 private FileClientConfig config;
32 32
33 @ApiModelProperty(value = "创建时间", required = true) 33 @ApiModelProperty(value = "创建时间", required = true)
34 - private Date createTime; 34 + private LocalDateTime createTime;
35 35
36 } 36 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FilePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class FilePageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class FilePageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "创建时间") 28 @ApiModelProperty(value = "创建时间")
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 @ApiModel(value = "管理后台 - 文件 Response VO", description = "不返回 content 字段,太大") 9 @ApiModel(value = "管理后台 - 文件 Response VO", description = "不返回 content 字段,太大")
10 @Data 10 @Data
@@ -32,6 +32,6 @@ public class FileRespVO { @@ -32,6 +32,6 @@ public class FileRespVO {
32 private Integer size; 32 private Integer size;
33 33
34 @ApiModelProperty(value = "创建时间", required = true) 34 @ApiModelProperty(value = "创建时间", required = true)
35 - private Date createTime; 35 + private LocalDateTime createTime;
36 36
37 } 37 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/JobController.java
@@ -22,9 +22,9 @@ import javax.annotation.Resource; @@ -22,9 +22,9 @@ import javax.annotation.Resource;
22 import javax.servlet.http.HttpServletResponse; 22 import javax.servlet.http.HttpServletResponse;
23 import javax.validation.Valid; 23 import javax.validation.Valid;
24 import java.io.IOException; 24 import java.io.IOException;
  25 +import java.time.LocalDateTime;
25 import java.util.Collection; 26 import java.util.Collection;
26 import java.util.Collections; 27 import java.util.Collections;
27 -import java.util.Date;  
28 import java.util.List; 28 import java.util.List;
29 29
30 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 30 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -133,8 +133,8 @@ public class JobController { @@ -133,8 +133,8 @@ public class JobController {
133 @ApiImplicitParam(name = "count", value = "数量", example = "5", dataTypeClass = Long.class) 133 @ApiImplicitParam(name = "count", value = "数量", example = "5", dataTypeClass = Long.class)
134 }) 134 })
135 @PreAuthorize("@ss.hasPermission('infra:job:query')") 135 @PreAuthorize("@ss.hasPermission('infra:job:query')")
136 - public CommonResult<List<Date>> getJobNextTimes(@RequestParam("id") Long id,  
137 - @RequestParam(value = "count", required = false, defaultValue = "5") Integer count) { 136 + public CommonResult<List<LocalDateTime>> getJobNextTimes(@RequestParam("id") Long id,
  137 + @RequestParam(value = "count", required = false, defaultValue = "5") Integer count) {
138 JobDO job = jobService.getJob(id); 138 JobDO job = jobService.getJob(id);
139 if (job == null) { 139 if (job == null) {
140 return success(Collections.emptyList()); 140 return success(Collections.emptyList());
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 定时任务 Excel VO 12 * 定时任务 Excel VO
@@ -36,21 +36,21 @@ public class JobExcelVO { @@ -36,21 +36,21 @@ public class JobExcelVO {
36 private String cronExpression; 36 private String cronExpression;
37 37
38 @ExcelProperty("最后一次执行的开始时间") 38 @ExcelProperty("最后一次执行的开始时间")
39 - private Date executeBeginTime; 39 + private LocalDateTime executeBeginTime;
40 40
41 @ExcelProperty("最后一次执行的结束时间") 41 @ExcelProperty("最后一次执行的结束时间")
42 - private Date executeEndTime; 42 + private LocalDateTime executeEndTime;
43 43
44 @ExcelProperty("上一次触发时间") 44 @ExcelProperty("上一次触发时间")
45 - private Date firePrevTime; 45 + private LocalDateTime firePrevTime;
46 46
47 @ExcelProperty("下一次触发时间") 47 @ExcelProperty("下一次触发时间")
48 - private Date fireNextTime; 48 + private LocalDateTime fireNextTime;
49 49
50 @ExcelProperty("监控超时时间") 50 @ExcelProperty("监控超时时间")
51 private Integer monitorTimeout; 51 private Integer monitorTimeout;
52 52
53 @ExcelProperty("创建时间") 53 @ExcelProperty("创建时间")
54 - private Date createTime; 54 + private LocalDateTime createTime;
55 55
56 } 56 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 定时任务 Response VO") 12 @ApiModel("管理后台 - 定时任务 Response VO")
13 @Data 13 @Data
@@ -26,6 +26,6 @@ public class JobRespVO extends JobBaseVO { @@ -26,6 +26,6 @@ public class JobRespVO extends JobBaseVO {
26 private String handlerName; 26 private String handlerName;
27 27
28 @ApiModelProperty(value = "创建时间", required = true) 28 @ApiModelProperty(value = "创建时间", required = true)
29 - private Date createTime; 29 + private LocalDateTime createTime;
30 30
31 } 31 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -34,11 +34,11 @@ public class JobLogBaseVO { @@ -34,11 +34,11 @@ public class JobLogBaseVO {
34 @ApiModelProperty(value = "开始执行时间", required = true) 34 @ApiModelProperty(value = "开始执行时间", required = true)
35 @NotNull(message = "开始执行时间不能为空") 35 @NotNull(message = "开始执行时间不能为空")
36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
37 - private Date beginTime; 37 + private LocalDateTime beginTime;
38 38
39 @ApiModelProperty(value = "结束执行时间") 39 @ApiModelProperty(value = "结束执行时间")
40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
41 - private Date endTime; 41 + private LocalDateTime endTime;
42 42
43 @ApiModelProperty(value = "执行时长", example = "123") 43 @ApiModelProperty(value = "执行时长", example = "123")
44 private Integer duration; 44 private Integer duration;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 定时任务 Excel VO 12 * 定时任务 Excel VO
@@ -32,10 +32,10 @@ public class JobLogExcelVO { @@ -32,10 +32,10 @@ public class JobLogExcelVO {
32 private Integer executeIndex; 32 private Integer executeIndex;
33 33
34 @ExcelProperty("开始执行时间") 34 @ExcelProperty("开始执行时间")
35 - private Date beginTime; 35 + private LocalDateTime beginTime;
36 36
37 @ExcelProperty("结束执行时间") 37 @ExcelProperty("结束执行时间")
38 - private Date endTime; 38 + private LocalDateTime endTime;
39 39
40 @ExcelProperty("执行时长") 40 @ExcelProperty("执行时长")
41 private Integer duration; 41 private Integer duration;
@@ -48,6 +48,6 @@ public class JobLogExcelVO { @@ -48,6 +48,6 @@ public class JobLogExcelVO {
48 private String result; 48 private String result;
49 49
50 @ExcelProperty("创建时间") 50 @ExcelProperty("创建时间")
51 - private Date createTime; 51 + private LocalDateTime createTime;
52 52
53 } 53 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -21,11 +21,11 @@ public class JobLogExportReqVO { @@ -21,11 +21,11 @@ public class JobLogExportReqVO {
21 21
22 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 22 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
23 @ApiModelProperty(value = "开始执行时间") 23 @ApiModelProperty(value = "开始执行时间")
24 - private Date beginTime; 24 + private LocalDateTime beginTime;
25 25
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 @ApiModelProperty(value = "结束执行时间") 27 @ApiModelProperty(value = "结束执行时间")
28 - private Date endTime; 28 + private LocalDateTime endTime;
29 29
30 @ApiModelProperty(value = "任务状态", notes = "参见 JobLogStatusEnum 枚举") 30 @ApiModelProperty(value = "任务状态", notes = "参见 JobLogStatusEnum 枚举")
31 private Integer status; 31 private Integer status;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,11 +26,11 @@ public class JobLogPageReqVO extends PageParam { @@ -26,11 +26,11 @@ public class JobLogPageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "开始执行时间") 28 @ApiModelProperty(value = "开始执行时间")
29 - private Date beginTime; 29 + private LocalDateTime beginTime;
30 30
31 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 31 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
32 @ApiModelProperty(value = "结束执行时间") 32 @ApiModelProperty(value = "结束执行时间")
33 - private Date endTime; 33 + private LocalDateTime endTime;
34 34
35 @ApiModelProperty(value = "任务状态", notes = "参见 JobLogStatusEnum 枚举") 35 @ApiModelProperty(value = "任务状态", notes = "参见 JobLogStatusEnum 枚举")
36 private Integer status; 36 private Integer status;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 定时任务日志 Response VO") 11 @ApiModel("管理后台 - 定时任务日志 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class JobLogRespVO extends JobLogBaseVO { @@ -18,6 +18,6 @@ public class JobLogRespVO extends JobLogBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -54,12 +54,12 @@ public class ApiAccessLogBaseVO { @@ -54,12 +54,12 @@ public class ApiAccessLogBaseVO {
54 @ApiModelProperty(value = "开始请求时间", required = true) 54 @ApiModelProperty(value = "开始请求时间", required = true)
55 @NotNull(message = "开始请求时间不能为空") 55 @NotNull(message = "开始请求时间不能为空")
56 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 56 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
57 - private Date beginTime; 57 + private LocalDateTime beginTime;
58 58
59 @ApiModelProperty(value = "结束请求时间", required = true) 59 @ApiModelProperty(value = "结束请求时间", required = true)
60 @NotNull(message = "结束请求时间不能为空") 60 @NotNull(message = "结束请求时间不能为空")
61 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 61 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
62 - private Date endTime; 62 + private LocalDateTime endTime;
63 63
64 @ApiModelProperty(value = "执行时长", required = true, example = "100") 64 @ApiModelProperty(value = "执行时长", required = true, example = "100")
65 @NotNull(message = "执行时长不能为空") 65 @NotNull(message = "执行时长不能为空")
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * API 访问日志 Excel VO 12 * API 访问日志 Excel VO
@@ -48,10 +48,10 @@ public class ApiAccessLogExcelVO { @@ -48,10 +48,10 @@ public class ApiAccessLogExcelVO {
48 private String userAgent; 48 private String userAgent;
49 49
50 @ExcelProperty("开始请求时间") 50 @ExcelProperty("开始请求时间")
51 - private Date beginTime; 51 + private LocalDateTime beginTime;
52 52
53 @ExcelProperty("结束请求时间") 53 @ExcelProperty("结束请求时间")
54 - private Date endTime; 54 + private LocalDateTime endTime;
55 55
56 @ExcelProperty("执行时长") 56 @ExcelProperty("执行时长")
57 private Integer duration; 57 private Integer duration;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,7 +27,7 @@ public class ApiAccessLogExportReqVO { @@ -27,7 +27,7 @@ public class ApiAccessLogExportReqVO {
27 27
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 @ApiModelProperty(value = "开始请求时间") 29 @ApiModelProperty(value = "开始请求时间")
30 - private Date[] beginTime; 30 + private LocalDateTime[] beginTime;
31 31
32 @ApiModelProperty(value = "执行时长", example = "100", notes = "大于等于,单位:毫秒") 32 @ApiModelProperty(value = "执行时长", example = "100", notes = "大于等于,单位:毫秒")
33 private Integer duration; 33 private Integer duration;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -32,7 +32,7 @@ public class ApiAccessLogPageReqVO extends PageParam { @@ -32,7 +32,7 @@ public class ApiAccessLogPageReqVO extends PageParam {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "开始请求时间") 34 @ApiModelProperty(value = "开始请求时间")
35 - private Date[] beginTime; 35 + private LocalDateTime[] beginTime;
36 36
37 @ApiModelProperty(value = "执行时长", example = "100", notes = "大于等于,单位:毫秒") 37 @ApiModelProperty(value = "执行时长", example = "100", notes = "大于等于,单位:毫秒")
38 private Integer duration; 38 private Integer duration;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - API 访问日志 Response VO") 11 @ApiModel("管理后台 - API 访问日志 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class ApiAccessLogRespVO extends ApiAccessLogBaseVO { @@ -18,6 +18,6 @@ public class ApiAccessLogRespVO extends ApiAccessLogBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -55,7 +55,7 @@ public class ApiErrorLogBaseVO { @@ -55,7 +55,7 @@ public class ApiErrorLogBaseVO {
55 @ApiModelProperty(value = "异常发生时间", required = true) 55 @ApiModelProperty(value = "异常发生时间", required = true)
56 @NotNull(message = "异常发生时间不能为空") 56 @NotNull(message = "异常发生时间不能为空")
57 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 57 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
58 - private Date exceptionTime; 58 + private LocalDateTime exceptionTime;
59 59
60 @ApiModelProperty(value = "异常名", required = true) 60 @ApiModelProperty(value = "异常名", required = true)
61 @NotNull(message = "异常名不能为空") 61 @NotNull(message = "异常名不能为空")
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * API 错误日志 Excel VO 12 * API 错误日志 Excel VO
@@ -48,7 +48,7 @@ public class ApiErrorLogExcelVO { @@ -48,7 +48,7 @@ public class ApiErrorLogExcelVO {
48 private String userAgent; 48 private String userAgent;
49 49
50 @ExcelProperty("异常发生时间") 50 @ExcelProperty("异常发生时间")
51 - private Date exceptionTime; 51 + private LocalDateTime exceptionTime;
52 52
53 @ExcelProperty("异常名") 53 @ExcelProperty("异常名")
54 private String exceptionName; 54 private String exceptionName;
@@ -75,14 +75,14 @@ public class ApiErrorLogExcelVO { @@ -75,14 +75,14 @@ public class ApiErrorLogExcelVO {
75 private Integer exceptionLineNumber; 75 private Integer exceptionLineNumber;
76 76
77 @ExcelProperty("创建时间") 77 @ExcelProperty("创建时间")
78 - private Date createTime; 78 + private LocalDateTime createTime;
79 79
80 @ExcelProperty(value = "处理状态", converter = DictConvert.class) 80 @ExcelProperty(value = "处理状态", converter = DictConvert.class)
81 @DictFormat(DictTypeConstants.API_ERROR_LOG_PROCESS_STATUS) 81 @DictFormat(DictTypeConstants.API_ERROR_LOG_PROCESS_STATUS)
82 private Integer processStatus; 82 private Integer processStatus;
83 83
84 @ExcelProperty("处理时间") 84 @ExcelProperty("处理时间")
85 - private Date processTime; 85 + private LocalDateTime processTime;
86 86
87 @ExcelProperty("处理用户编号") 87 @ExcelProperty("处理用户编号")
88 private Integer processUserId; 88 private Integer processUserId;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,7 +27,7 @@ public class ApiErrorLogExportReqVO { @@ -27,7 +27,7 @@ public class ApiErrorLogExportReqVO {
27 27
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 @ApiModelProperty(value = "异常发生时间") 29 @ApiModelProperty(value = "异常发生时间")
30 - private Date[] exceptionTime; 30 + private LocalDateTime[] exceptionTime;
31 31
32 @ApiModelProperty(value = "处理状态", example = "0") 32 @ApiModelProperty(value = "处理状态", example = "0")
33 private Integer processStatus; 33 private Integer processStatus;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -32,7 +32,7 @@ public class ApiErrorLogPageReqVO extends PageParam { @@ -32,7 +32,7 @@ public class ApiErrorLogPageReqVO extends PageParam {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "异常发生时间") 34 @ApiModelProperty(value = "异常发生时间")
35 - private Date[] exceptionTime; 35 + private LocalDateTime[] exceptionTime;
36 36
37 @ApiModelProperty(value = "处理状态", example = "0") 37 @ApiModelProperty(value = "处理状态", example = "0")
38 private Integer processStatus; 38 private Integer processStatus;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - API 错误日志 Response VO") 11 @ApiModel("管理后台 - API 错误日志 Response VO")
12 @Data 12 @Data
@@ -18,10 +18,10 @@ public class ApiErrorLogRespVO extends ApiErrorLogBaseVO { @@ -18,10 +18,10 @@ public class ApiErrorLogRespVO extends ApiErrorLogBaseVO {
18 private Integer id; 18 private Integer id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 @ApiModelProperty(value = "处理时间", required = true) 23 @ApiModelProperty(value = "处理时间", required = true)
24 - private Date processTime; 24 + private LocalDateTime processTime;
25 25
26 @ApiModelProperty(value = "处理用户编号", example = "233") 26 @ApiModelProperty(value = "处理用户编号", example = "233")
27 private Integer processUserId; 27 private Integer processUserId;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExcelVO.java
1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo; 1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 -import io.swagger.annotations.*; 4 +
  5 +import java.time.LocalDateTime;
6 6
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 8
@@ -33,6 +33,6 @@ public class TestDemoExcelVO { @@ -33,6 +33,6 @@ public class TestDemoExcelVO {
33 private String remark; 33 private String remark;
34 34
35 @ExcelProperty("创建时间") 35 @ExcelProperty("创建时间")
36 - private Date createTime; 36 + private LocalDateTime createTime;
37 37
38 } 38 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java
1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo; 1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -29,6 +29,6 @@ public class TestDemoExportReqVO { @@ -29,6 +29,6 @@ public class TestDemoExportReqVO {
29 29
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 @ApiModelProperty(value = "创建时间") 31 @ApiModelProperty(value = "创建时间")
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 33
34 } 34 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java
1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo; 1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 7 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
@@ -31,6 +32,6 @@ public class TestDemoPageReqVO extends PageParam { @@ -31,6 +32,6 @@ public class TestDemoPageReqVO extends PageParam {
31 32
32 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
33 @ApiModelProperty(value = "创建时间") 34 @ApiModelProperty(value = "创建时间")
34 - private Date[] createTime; 35 + private LocalDateTime[] createTime;
35 36
36 } 37 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo; 1 package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 字典类型 Response VO") 8 @ApiModel("管理后台 - 字典类型 Response VO")
@@ -14,6 +15,6 @@ public class TestDemoRespVO extends TestDemoBaseVO { @@ -14,6 +15,6 @@ public class TestDemoRespVO extends TestDemoBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobLogDO.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
7 import com.baomidou.mybatisplus.annotation.TableName; 7 import com.baomidou.mybatisplus.annotation.TableName;
8 import lombok.*; 8 import lombok.*;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 定时任务的执行日志 13 * 定时任务的执行日志
@@ -56,11 +56,11 @@ public class JobLogDO extends BaseDO { @@ -56,11 +56,11 @@ public class JobLogDO extends BaseDO {
56 /** 56 /**
57 * 开始执行时间 57 * 开始执行时间
58 */ 58 */
59 - private Date beginTime; 59 + private LocalDateTime beginTime;
60 /** 60 /**
61 * 结束执行时间 61 * 结束执行时间
62 */ 62 */
63 - private Date endTime; 63 + private LocalDateTime endTime;
64 /** 64 /**
65 * 执行时长,单位:毫秒 65 * 执行时长,单位:毫秒
66 */ 66 */
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiAccessLogDO.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName; 8 import com.baomidou.mybatisplus.annotation.TableName;
9 import lombok.*; 9 import lombok.*;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * API 访问日志 14 * API 访问日志
@@ -84,11 +84,11 @@ public class ApiAccessLogDO extends BaseDO { @@ -84,11 +84,11 @@ public class ApiAccessLogDO extends BaseDO {
84 /** 84 /**
85 * 开始请求时间 85 * 开始请求时间
86 */ 86 */
87 - private Date beginTime; 87 + private LocalDateTime beginTime;
88 /** 88 /**
89 * 结束请求时间 89 * 结束请求时间
90 */ 90 */
91 - private Date endTime; 91 + private LocalDateTime endTime;
92 /** 92 /**
93 * 执行时长,单位:毫秒 93 * 执行时长,单位:毫秒
94 */ 94 */
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiErrorLogDO.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName; 8 import com.baomidou.mybatisplus.annotation.TableName;
9 import lombok.*; 9 import lombok.*;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * API 异常数据 14 * API 异常数据
@@ -84,7 +84,7 @@ public class ApiErrorLogDO extends BaseDO { @@ -84,7 +84,7 @@ public class ApiErrorLogDO extends BaseDO {
84 /** 84 /**
85 * 异常发生时间 85 * 异常发生时间
86 */ 86 */
87 - private Date exceptionTime; 87 + private LocalDateTime exceptionTime;
88 /** 88 /**
89 * 异常名 89 * 异常名
90 * 90 *
@@ -145,7 +145,7 @@ public class ApiErrorLogDO extends BaseDO { @@ -145,7 +145,7 @@ public class ApiErrorLogDO extends BaseDO {
145 /** 145 /**
146 * 处理时间 146 * 处理时间
147 */ 147 */
148 - private Date processTime; 148 + private LocalDateTime processTime;
149 /** 149 /**
150 * 处理用户编号 150 * 处理用户编号
151 * 151 *
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/config/ConfigDAOImpl.java
1 package cn.iocoder.yudao.module.infra.dal.mysql.config; 1 package cn.iocoder.yudao.module.infra.dal.mysql.config;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.apollo.internals.ConfigFrameworkDAO; 4 import cn.iocoder.yudao.framework.apollo.internals.ConfigFrameworkDAO;
4 import cn.iocoder.yudao.framework.apollo.internals.dto.ConfigRespDTO; 5 import cn.iocoder.yudao.framework.apollo.internals.dto.ConfigRespDTO;
5 import org.springframework.jdbc.core.JdbcTemplate; 6 import org.springframework.jdbc.core.JdbcTemplate;
6 import org.springframework.jdbc.datasource.DriverManagerDataSource; 7 import org.springframework.jdbc.datasource.DriverManagerDataSource;
7 8
8 import javax.sql.DataSource; 9 import javax.sql.DataSource;
9 -import java.util.Date; 10 +import java.time.LocalDateTime;
10 import java.util.List; 11 import java.util.List;
11 12
12 /** 13 /**
@@ -24,7 +25,7 @@ public class ConfigDAOImpl implements ConfigFrameworkDAO { @@ -24,7 +25,7 @@ public class ConfigDAOImpl implements ConfigFrameworkDAO {
24 } 25 }
25 26
26 @Override 27 @Override
27 - public int selectCountByUpdateTimeGt(Date maxUpdateTime) { 28 + public int selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime) {
28 return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM infra_config WHERE update_time > ?", 29 return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM infra_config WHERE update_time > ?",
29 Integer.class, maxUpdateTime); 30 Integer.class, maxUpdateTime);
30 } 31 }
@@ -34,7 +35,7 @@ public class ConfigDAOImpl implements ConfigFrameworkDAO { @@ -34,7 +35,7 @@ public class ConfigDAOImpl implements ConfigFrameworkDAO {
34 return jdbcTemplate.query("SELECT config_key, value, update_time, deleted FROM infra_config", 35 return jdbcTemplate.query("SELECT config_key, value, update_time, deleted FROM infra_config",
35 (rs, rowNum) -> new ConfigRespDTO().setKey(rs.getString("config_key")) 36 (rs, rowNum) -> new ConfigRespDTO().setKey(rs.getString("config_key"))
36 .setValue(rs.getString("value")) 37 .setValue(rs.getString("value"))
37 - .setUpdateTime(rs.getDate("update_time")) 38 + .setUpdateTime(LocalDateTimeUtil.of(rs.getDate("update_time")))
38 .setDeleted(rs.getBoolean("deleted"))); 39 .setDeleted(rs.getBoolean("deleted")));
39 } 40 }
40 41
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/file/FileConfigMapper.java
@@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileConfigDO; @@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileConfigDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 import org.apache.ibatis.annotations.Select; 9 import org.apache.ibatis.annotations.Select;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * 文件配置 Mapper 14 * 文件配置 Mapper
@@ -27,6 +27,6 @@ public interface FileConfigMapper extends BaseMapperX&lt;FileConfigDO&gt; { @@ -27,6 +27,6 @@ public interface FileConfigMapper extends BaseMapperX&lt;FileConfigDO&gt; {
27 } 27 }
28 28
29 @Select("SELECT COUNT(*) FROM infra_file_config WHERE update_time > #{maxUpdateTime}") 29 @Select("SELECT COUNT(*) FROM infra_file_config WHERE update_time > #{maxUpdateTime}")
30 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 30 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
31 31
32 } 32 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/db/DatabaseTableServiceImpl.java
@@ -53,7 +53,7 @@ public class DatabaseTableServiceImpl implements DatabaseTableService { @@ -53,7 +53,7 @@ public class DatabaseTableServiceImpl implements DatabaseTableService {
53 if (StrUtil.isNotEmpty(name)) { 53 if (StrUtil.isNotEmpty(name)) {
54 strategyConfig.addInclude(name); 54 strategyConfig.addInclude(name);
55 } 55 }
56 - GlobalConfig globalConfig = new GlobalConfig.Builder().dateType(DateType.ONLY_DATE).build(); // 只使用 Date 类型,不使用 LocalDate 56 + GlobalConfig globalConfig = new GlobalConfig.Builder().dateType(DateType.TIME_PACK).build(); // 只使用 Date 类型,不使用 LocalDate
57 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, strategyConfig.build(), 57 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, strategyConfig.build(),
58 null, globalConfig, null); 58 null, globalConfig, null);
59 // 按照名字排序 59 // 按照名字排序
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java
@@ -31,8 +31,8 @@ import org.springframework.validation.annotation.Validated; @@ -31,8 +31,8 @@ import org.springframework.validation.annotation.Validated;
31 import javax.annotation.PostConstruct; 31 import javax.annotation.PostConstruct;
32 import javax.annotation.Resource; 32 import javax.annotation.Resource;
33 import javax.validation.Validator; 33 import javax.validation.Validator;
  34 +import java.time.LocalDateTime;
34 import java.util.Collection; 35 import java.util.Collection;
35 -import java.util.Date;  
36 import java.util.List; 36 import java.util.List;
37 import java.util.Map; 37 import java.util.Map;
38 38
@@ -60,7 +60,7 @@ public class FileConfigServiceImpl implements FileConfigService { @@ -60,7 +60,7 @@ public class FileConfigServiceImpl implements FileConfigService {
60 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新 60 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新
61 */ 61 */
62 @Getter 62 @Getter
63 - private volatile Date maxUpdateTime; 63 + private volatile LocalDateTime maxUpdateTime;
64 64
65 @Resource 65 @Resource
66 private FileClientFactory fileClientFactory; 66 private FileClientFactory fileClientFactory;
@@ -118,7 +118,7 @@ public class FileConfigServiceImpl implements FileConfigService { @@ -118,7 +118,7 @@ public class FileConfigServiceImpl implements FileConfigService {
118 * @param maxUpdateTime 当前文件配置的最大更新时间 118 * @param maxUpdateTime 当前文件配置的最大更新时间
119 * @return 文件配置列表 119 * @return 文件配置列表
120 */ 120 */
121 - private List<FileConfigDO> loadFileConfigIfUpdate(Date maxUpdateTime) { 121 + private List<FileConfigDO> loadFileConfigIfUpdate(LocalDateTime maxUpdateTime) {
122 // 第一步,判断是否要更新。 122 // 第一步,判断是否要更新。
123 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 123 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
124 log.info("[loadFileConfigIfUpdate][首次加载全量文件配置]"); 124 log.info("[loadFileConfigIfUpdate][首次加载全量文件配置]");
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceImpl.java
@@ -12,8 +12,8 @@ import org.springframework.stereotype.Service; @@ -12,8 +12,8 @@ import org.springframework.stereotype.Service;
12 import org.springframework.validation.annotation.Validated; 12 import org.springframework.validation.annotation.Validated;
13 13
14 import javax.annotation.Resource; 14 import javax.annotation.Resource;
  15 +import java.time.LocalDateTime;
15 import java.util.Collection; 16 import java.util.Collection;
16 -import java.util.Date;  
17 import java.util.List; 17 import java.util.List;
18 18
19 /** 19 /**
@@ -30,7 +30,7 @@ public class JobLogServiceImpl implements JobLogService { @@ -30,7 +30,7 @@ public class JobLogServiceImpl implements JobLogService {
30 private JobLogMapper jobLogMapper; 30 private JobLogMapper jobLogMapper;
31 31
32 @Override 32 @Override
33 - public Long createJobLog(Long jobId, Date beginTime, String jobHandlerName, String jobHandlerParam, Integer executeIndex) { 33 + public Long createJobLog(Long jobId, LocalDateTime beginTime, String jobHandlerName, String jobHandlerParam, Integer executeIndex) {
34 JobLogDO log = JobLogDO.builder().jobId(jobId).handlerName(jobHandlerName).handlerParam(jobHandlerParam).executeIndex(executeIndex) 34 JobLogDO log = JobLogDO.builder().jobId(jobId).handlerName(jobHandlerName).handlerParam(jobHandlerParam).executeIndex(executeIndex)
35 .beginTime(beginTime).status(JobLogStatusEnum.RUNNING.getStatus()).build(); 35 .beginTime(beginTime).status(JobLogStatusEnum.RUNNING.getStatus()).build();
36 jobLogMapper.insert(log); 36 jobLogMapper.insert(log);
@@ -39,7 +39,7 @@ public class JobLogServiceImpl implements JobLogService { @@ -39,7 +39,7 @@ public class JobLogServiceImpl implements JobLogService {
39 39
40 @Override 40 @Override
41 @Async 41 @Async
42 - public void updateJobLogResultAsync(Long logId, Date endTime, Integer duration, boolean success, String result) { 42 + public void updateJobLogResultAsync(Long logId, LocalDateTime endTime, Integer duration, boolean success, String result) {
43 try { 43 try {
44 JobLogDO updateObj = JobLogDO.builder().id(logId).endTime(endTime).duration(duration) 44 JobLogDO updateObj = JobLogDO.builder().id(logId).endTime(endTime).duration(duration)
45 .status(success ? JobLogStatusEnum.SUCCESS.getStatus() : JobLogStatusEnum.FAILURE.getStatus()).result(result).build(); 45 .status(success ? JobLogStatusEnum.SUCCESS.getStatus() : JobLogStatusEnum.FAILURE.getStatus()).result(result).build();
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImpl.java
@@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service;
14 import org.springframework.validation.annotation.Validated; 14 import org.springframework.validation.annotation.Validated;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 -import java.util.Date; 17 +import java.time.LocalDateTime;
18 import java.util.List; 18 import java.util.List;
19 19
20 /** 20 /**
@@ -57,7 +57,7 @@ public class ApiErrorLogServiceImpl implements ApiErrorLogService { @@ -57,7 +57,7 @@ public class ApiErrorLogServiceImpl implements ApiErrorLogService {
57 } 57 }
58 // 标记处理 58 // 标记处理
59 apiErrorLogMapper.updateById(ApiErrorLogDO.builder().id(id).processStatus(processStatus) 59 apiErrorLogMapper.updateById(ApiErrorLogDO.builder().id(id).processStatus(processStatus)
60 - .processUserId(processUserId).processTime(new Date()).build()); 60 + .processUserId(processUserId).processTime(LocalDateTime.now()).build());
61 } 61 }
62 62
63 } 63 }
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 @NotNull(message = "${column.columnComment}不能为空") 7 @NotNull(message = "${column.columnComment}不能为空")
8 #end 8 #end
9 #end 9 #end
10 -#if (${column.javaType} == "Date")## 时间类型 10 +#if (${column.javaType} == "LocalDateTime")## 时间类型
11 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 11 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
12 #end 12 #end
13 private ${column.javaType} ${column.javaField}; 13 private ${column.javaType} ${column.javaField};
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm
@@ -5,7 +5,9 @@ import java.util.*; @@ -5,7 +5,9 @@ import java.util.*;
5 #foreach ($column in $columns) 5 #foreach ($column in $columns)
6 #if (${column.javaType} == "BigDecimal") 6 #if (${column.javaType} == "BigDecimal")
7 import java.math.BigDecimal; 7 import java.math.BigDecimal;
8 -#break 8 +#end
  9 +#if (${column.javaType} == "LocalDateTime")
  10 +import java.time.LocalDateTime;
9 #end 11 #end
10 #end 12 #end
11 import io.swagger.annotations.*; 13 import io.swagger.annotations.*;
@@ -13,7 +15,7 @@ import javax.validation.constraints.*; @@ -13,7 +15,7 @@ import javax.validation.constraints.*;
13 ## 处理 Date 字段的引入 15 ## 处理 Date 字段的引入
14 #foreach ($column in $columns) 16 #foreach ($column in $columns)
15 #if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult} 17 #if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult}
16 - && ${column.javaType} == "Date")## 时间类型 18 + && ${column.javaType} == "LocalDateTime")## 时间类型
17 import org.springframework.format.annotation.DateTimeFormat; 19 import org.springframework.format.annotation.DateTimeFormat;
18 20
19 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 21 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm
@@ -7,7 +7,7 @@ import javax.validation.constraints.*; @@ -7,7 +7,7 @@ import javax.validation.constraints.*;
7 ## 处理 Date 字段的引入 7 ## 处理 Date 字段的引入
8 #foreach ($column in $columns) 8 #foreach ($column in $columns)
9 #if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}) 9 #if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult})
10 - && ${column.javaType} == "Date")## 时间类型 10 + && ${column.javaType} == "LocalDateTime")## 时间类型
11 import org.springframework.format.annotation.DateTimeFormat; 11 import org.springframework.format.annotation.DateTimeFormat;
12 12
13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/excelVO.vm
@@ -5,7 +5,9 @@ import java.util.*; @@ -5,7 +5,9 @@ import java.util.*;
5 #foreach ($column in $columns) 5 #foreach ($column in $columns)
6 #if (${column.javaType} == "BigDecimal") 6 #if (${column.javaType} == "BigDecimal")
7 import java.math.BigDecimal; 7 import java.math.BigDecimal;
8 -#break 8 +#end
  9 +#if (${column.javaType} == "LocalDateTime")
  10 +import java.time.LocalDateTime;
9 #end 11 #end
10 #end 12 #end
11 import io.swagger.annotations.*; 13 import io.swagger.annotations.*;
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm
@@ -6,7 +6,8 @@ import io.swagger.annotations.*; @@ -6,7 +6,8 @@ import io.swagger.annotations.*;
6 import ${PageParamClassName}; 6 import ${PageParamClassName};
7 ## 处理 Date 字段的引入 7 ## 处理 Date 字段的引入
8 #foreach ($column in $columns) 8 #foreach ($column in $columns)
9 -#if (${column.listOperation} && ${column.javaType} == "Date")## 时间类型 9 +#if (${column.listOperation} && ${column.javaType} == "LocalDateTime")## 时间类型
  10 +import java.time.LocalDateTime;
10 import org.springframework.format.annotation.DateTimeFormat; 11 import org.springframework.format.annotation.DateTimeFormat;
11 12
12 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
@@ -6,8 +6,9 @@ import io.swagger.annotations.*; @@ -6,8 +6,9 @@ import io.swagger.annotations.*;
6 import ${PageParamClassName}; 6 import ${PageParamClassName};
7 ## 处理 Date 字段的引入 7 ## 处理 Date 字段的引入
8 #foreach ($column in $columns) 8 #foreach ($column in $columns)
9 -#if (${column.listOperation} && ${column.javaType} == "Date")## 时间类型 9 +#if (${column.listOperation} && ${column.javaType} == "LocalDateTime")## 时间类型
10 import org.springframework.format.annotation.DateTimeFormat; 10 import org.springframework.format.annotation.DateTimeFormat;
  11 +import java.time.LocalDateTime;
11 12
12 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
13 #break 14 #break
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/updateReqVO.vm
@@ -7,9 +7,9 @@ import javax.validation.constraints.*; @@ -7,9 +7,9 @@ import javax.validation.constraints.*;
7 ## 处理 Date 字段的引入 7 ## 处理 Date 字段的引入
8 #foreach ($column in $columns) 8 #foreach ($column in $columns)
9 #if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}) 9 #if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult})
10 - && ${column.javaType} == "Date")## 时间类型 10 + && ${column.javaType} == "LocalDateTime")## 时间类型
11 import org.springframework.format.annotation.DateTimeFormat; 11 import org.springframework.format.annotation.DateTimeFormat;
12 - 12 +import java.time.LocalDateTime;
13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 #break 14 #break
15 #end 15 #end
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
@@ -5,7 +5,9 @@ import java.util.*; @@ -5,7 +5,9 @@ import java.util.*;
5 #foreach ($column in $columns) 5 #foreach ($column in $columns)
6 #if (${column.javaType} == "BigDecimal") 6 #if (${column.javaType} == "BigDecimal")
7 import java.math.BigDecimal; 7 import java.math.BigDecimal;
8 -#break 8 +#end
  9 +#if (${column.javaType} == "LocalDateTime")
  10 +import java.time.LocalDateTime;
9 #end 11 #end
10 #end 12 #end
11 import com.baomidou.mybatisplus.annotation.*; 13 import com.baomidou.mybatisplus.annotation.*;
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm
@@ -16,6 +16,7 @@ import ${PageResultClassName}; @@ -16,6 +16,7 @@ import ${PageResultClassName};
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
18 import java.util.*; 18 import java.util.*;
  19 +import java.time.LocalDateTime;
19 20
20 import static cn.hutool.core.util.RandomUtil.*; 21 import static cn.hutool.core.util.RandomUtil.*;
21 import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*; 22 import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*;
@@ -51,7 +52,7 @@ import static org.mockito.Mockito.*; @@ -51,7 +52,7 @@ import static org.mockito.Mockito.*;
51 #if (${column.listOperation}) 52 #if (${column.listOperation})
52 #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 53 #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
53 #if (${column.listOperationCondition} == "BETWEEN")## BETWEEN 的情况 54 #if (${column.listOperationCondition} == "BETWEEN")## BETWEEN 的情况
54 - reqVO.set${JavaField}((new Date[]{})); 55 + reqVO.set${JavaField}((new LocalDateTime[]{}));
55 #else 56 #else
56 reqVO.set$JavaField(null); 57 reqVO.set$JavaField(null);
57 #end 58 #end
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm
@@ -65,7 +65,7 @@ @@ -65,7 +65,7 @@
65 #set ($javaField = $column.javaField) 65 #set ($javaField = $column.javaField)
66 #set ($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) 66 #set ($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
67 #set ($comment=$column.columnComment) 67 #set ($comment=$column.columnComment)
68 -#if ($column.javaType == "Date")## 时间类型 68 +#if ($column.javaType == "LocalDateTime")## 时间类型
69 <el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> 69 <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
70 <template v-slot="scope"> 70 <template v-slot="scope">
71 <span>{{ parseTime(scope.row.${javaField}) }}</span> 71 <span>{{ parseTime(scope.row.${javaField}) }}</span>
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
@@ -128,7 +128,7 @@ getList() @@ -128,7 +128,7 @@ getList()
128 #foreach($column in $columns) 128 #foreach($column in $columns)
129 #if ($column.listOperationResult) 129 #if ($column.listOperationResult)
130 #set ($dictType=$column.dictType) 130 #set ($dictType=$column.dictType)
131 - #if ($column.javaType == "Date")## 时间类型 131 + #if ($column.javaType == "LocalDateTime")## 时间类型
132 <template #${column.javaField}="{ row }"> 132 <template #${column.javaField}="{ row }">
133 <span>{{ dayjs(row.${column.javaField}).format('YYYY-MM-DD HH:mm:ss') }}</span> 133 <span>{{ dayjs(row.${column.javaField}).format('YYYY-MM-DD HH:mm:ss') }}</span>
134 </template> 134 </template>
@@ -185,7 +185,7 @@ getList() @@ -185,7 +185,7 @@ getList()
185 #foreach($column in $columns) 185 #foreach($column in $columns)
186 #if ($column.listOperationResult) 186 #if ($column.listOperationResult)
187 #set ($dictType=$column.dictType) 187 #set ($dictType=$column.dictType)
188 - #if ($column.javaType == "Date")## 时间类型 188 + #if ($column.javaType == "LocalDateTime")## 时间类型
189 <template #${column.javaField}="{ row }"> 189 <template #${column.javaField}="{ row }">
190 <span>{{ dayjs(row.${column.javaField}).format('YYYY-MM-DD HH:mm:ss') }}</span> 190 <span>{{ dayjs(row.${column.javaField}).format('YYYY-MM-DD HH:mm:ss') }}</span>
191 </template> 191 </template>
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/config/ConfigServiceTest.java
@@ -19,12 +19,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -19,12 +19,12 @@ import org.springframework.boot.test.mock.mockito.MockBean;
19 import org.springframework.context.annotation.Import; 19 import org.springframework.context.annotation.Import;
20 20
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
22 -import java.util.Date; 22 +import java.time.LocalDateTime;
23 import java.util.List; 23 import java.util.List;
24 import java.util.function.Consumer; 24 import java.util.function.Consumer;
25 25
26 import static cn.hutool.core.util.RandomUtil.randomEle; 26 import static cn.hutool.core.util.RandomUtil.randomEle;
27 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 27 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
30 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 30 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -165,7 +165,7 @@ public class ConfigServiceTest extends BaseDbUnitTest { @@ -165,7 +165,7 @@ public class ConfigServiceTest extends BaseDbUnitTest {
165 o.setName("芋艿"); 165 o.setName("芋艿");
166 o.setConfigKey("yunai"); 166 o.setConfigKey("yunai");
167 o.setType(ConfigTypeEnum.SYSTEM.getType()); 167 o.setType(ConfigTypeEnum.SYSTEM.getType());
168 - o.setCreateTime(buildTime(2021, 2, 1)); 168 + o.setCreateTime(buildLocalDateTime(2021, 2, 1));
169 }); 169 });
170 configMapper.insert(dbConfig); 170 configMapper.insert(dbConfig);
171 // 测试 name 不匹配 171 // 测试 name 不匹配
@@ -175,13 +175,13 @@ public class ConfigServiceTest extends BaseDbUnitTest { @@ -175,13 +175,13 @@ public class ConfigServiceTest extends BaseDbUnitTest {
175 // 测试 type 不匹配 175 // 测试 type 不匹配
176 configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setType(ConfigTypeEnum.CUSTOM.getType()))); 176 configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setType(ConfigTypeEnum.CUSTOM.getType())));
177 // 测试 createTime 不匹配 177 // 测试 createTime 不匹配
178 - configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1)))); 178 + configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setCreateTime(buildLocalDateTime(2021, 1, 1))));
179 // 准备参数 179 // 准备参数
180 ConfigPageReqVO reqVO = new ConfigPageReqVO(); 180 ConfigPageReqVO reqVO = new ConfigPageReqVO();
181 reqVO.setName("艿"); 181 reqVO.setName("艿");
182 reqVO.setKey("nai"); 182 reqVO.setKey("nai");
183 reqVO.setType(ConfigTypeEnum.SYSTEM.getType()); 183 reqVO.setType(ConfigTypeEnum.SYSTEM.getType());
184 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 15),buildTime(2021, 2, 15)})); 184 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 15),buildLocalDateTime(2021, 2, 15)}));
185 185
186 // 调用 186 // 调用
187 PageResult<ConfigDO> pageResult = configService.getConfigPage(reqVO); 187 PageResult<ConfigDO> pageResult = configService.getConfigPage(reqVO);
@@ -198,7 +198,7 @@ public class ConfigServiceTest extends BaseDbUnitTest { @@ -198,7 +198,7 @@ public class ConfigServiceTest extends BaseDbUnitTest {
198 o.setName("芋艿"); 198 o.setName("芋艿");
199 o.setConfigKey("yunai"); 199 o.setConfigKey("yunai");
200 o.setType(ConfigTypeEnum.SYSTEM.getType()); 200 o.setType(ConfigTypeEnum.SYSTEM.getType());
201 - o.setCreateTime(buildTime(2021, 2, 1)); 201 + o.setCreateTime(buildLocalDateTime(2021, 2, 1));
202 }); 202 });
203 configMapper.insert(dbConfig); 203 configMapper.insert(dbConfig);
204 // 测试 name 不匹配 204 // 测试 name 不匹配
@@ -208,13 +208,13 @@ public class ConfigServiceTest extends BaseDbUnitTest { @@ -208,13 +208,13 @@ public class ConfigServiceTest extends BaseDbUnitTest {
208 // 测试 type 不匹配 208 // 测试 type 不匹配
209 configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setType(ConfigTypeEnum.CUSTOM.getType()))); 209 configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setType(ConfigTypeEnum.CUSTOM.getType())));
210 // 测试 createTime 不匹配 210 // 测试 createTime 不匹配
211 - configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1)))); 211 + configMapper.insert(ObjectUtils.cloneIgnoreId(dbConfig, o -> o.setCreateTime(buildLocalDateTime(2021, 1, 1))));
212 // 准备参数 212 // 准备参数
213 ConfigExportReqVO reqVO = new ConfigExportReqVO(); 213 ConfigExportReqVO reqVO = new ConfigExportReqVO();
214 reqVO.setName("艿"); 214 reqVO.setName("艿");
215 reqVO.setKey("nai"); 215 reqVO.setKey("nai");
216 reqVO.setType(ConfigTypeEnum.SYSTEM.getType()); 216 reqVO.setType(ConfigTypeEnum.SYSTEM.getType());
217 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 15),buildTime(2021, 2, 15)})); 217 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 15),buildLocalDateTime(2021, 2, 15)}));
218 218
219 // 调用 219 // 调用
220 List<ConfigDO> list = configService.getConfigList(reqVO); 220 List<ConfigDO> list = configService.getConfigList(reqVO);
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java
1 package cn.iocoder.yudao.module.infra.service.file; 1 package cn.iocoder.yudao.module.infra.service.file;
2 2
  3 +import cn.hutool.core.date.DatePattern;
  4 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.map.MapUtil; 5 import cn.hutool.core.map.MapUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.file.core.client.FileClient; 7 import cn.iocoder.yudao.framework.file.core.client.FileClient;
@@ -22,11 +24,11 @@ import org.springframework.context.annotation.Import; @@ -22,11 +24,11 @@ import org.springframework.context.annotation.Import;
22 import javax.annotation.Resource; 24 import javax.annotation.Resource;
23 import javax.validation.Validator; 25 import javax.validation.Validator;
24 import java.io.Serializable; 26 import java.io.Serializable;
25 -import java.util.Date; 27 +import java.time.LocalDateTime;
26 import java.util.Map; 28 import java.util.Map;
27 29
28 import static cn.hutool.core.util.RandomUtil.randomEle; 30 import static cn.hutool.core.util.RandomUtil.randomEle;
29 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 31 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
30 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 32 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
31 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; 33 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
32 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 34 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
@@ -205,19 +207,19 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest { @@ -205,19 +207,19 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
205 // mock 数据 207 // mock 数据
206 FileConfigDO dbFileConfig = randomFileConfigDO().setName("芋道源码") 208 FileConfigDO dbFileConfig = randomFileConfigDO().setName("芋道源码")
207 .setStorage(FileStorageEnum.LOCAL.getStorage()); 209 .setStorage(FileStorageEnum.LOCAL.getStorage());
208 - dbFileConfig.setCreateTime(buildTime(2022, 11, 11));// 等会查询到 210 + dbFileConfig.setCreateTime(LocalDateTimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN));// 等会查询到
209 fileConfigMapper.insert(dbFileConfig); 211 fileConfigMapper.insert(dbFileConfig);
210 // 测试 name 不匹配 212 // 测试 name 不匹配
211 fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setName("源码"))); 213 fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setName("源码")));
212 // 测试 storage 不匹配 214 // 测试 storage 不匹配
213 fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setStorage(FileStorageEnum.DB.getStorage()))); 215 fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setStorage(FileStorageEnum.DB.getStorage())));
214 // 测试 createTime 不匹配 216 // 测试 createTime 不匹配
215 - fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setCreateTime(buildTime(2022, 12, 12)))); 217 + fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setCreateTime(LocalDateTimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN))));
216 // 准备参数 218 // 准备参数
217 FileConfigPageReqVO reqVO = new FileConfigPageReqVO(); 219 FileConfigPageReqVO reqVO = new FileConfigPageReqVO();
218 reqVO.setName("芋道"); 220 reqVO.setName("芋道");
219 reqVO.setStorage(FileStorageEnum.LOCAL.getStorage()); 221 reqVO.setStorage(FileStorageEnum.LOCAL.getStorage());
220 - reqVO.setCreateTime((new Date[]{buildTime(2022, 11, 10),buildTime(2022, 11, 12)})); 222 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 11, 10),buildLocalDateTime(2022, 11, 12)}));
221 223
222 // 调用 224 // 调用
223 PageResult<FileConfigDO> pageResult = fileConfigService.getFileConfigPage(reqVO); 225 PageResult<FileConfigDO> pageResult = fileConfigService.getFileConfigPage(reqVO);
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileServiceTest.java
@@ -15,9 +15,9 @@ import org.springframework.context.annotation.Import; @@ -15,9 +15,9 @@ import org.springframework.context.annotation.Import;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 17
18 -import java.util.Date; 18 +import java.time.LocalDateTime;
19 19
20 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 20 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
21 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 21 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
22 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 22 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
23 import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.FILE_NOT_EXISTS; 23 import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.FILE_NOT_EXISTS;
@@ -43,7 +43,7 @@ public class FileServiceTest extends BaseDbUnitTest { @@ -43,7 +43,7 @@ public class FileServiceTest extends BaseDbUnitTest {
43 FileDO dbFile = randomPojo(FileDO.class, o -> { // 等会查询到 43 FileDO dbFile = randomPojo(FileDO.class, o -> { // 等会查询到
44 o.setPath("yunai"); 44 o.setPath("yunai");
45 o.setType("image/jpg"); 45 o.setType("image/jpg");
46 - o.setCreateTime(buildTime(2021, 1, 15)); 46 + o.setCreateTime(buildLocalDateTime(2021, 1, 15));
47 }); 47 });
48 fileMapper.insert(dbFile); 48 fileMapper.insert(dbFile);
49 // 测试 path 不匹配 49 // 测试 path 不匹配
@@ -54,13 +54,13 @@ public class FileServiceTest extends BaseDbUnitTest { @@ -54,13 +54,13 @@ public class FileServiceTest extends BaseDbUnitTest {
54 })); 54 }));
55 // 测试 createTime 不匹配 55 // 测试 createTime 不匹配
56 fileMapper.insert(ObjectUtils.cloneIgnoreId(dbFile, o -> { 56 fileMapper.insert(ObjectUtils.cloneIgnoreId(dbFile, o -> {
57 - o.setCreateTime(buildTime(2020, 1, 15)); 57 + o.setCreateTime(buildLocalDateTime(2020, 1, 15));
58 })); 58 }));
59 // 准备参数 59 // 准备参数
60 FilePageReqVO reqVO = new FilePageReqVO(); 60 FilePageReqVO reqVO = new FilePageReqVO();
61 reqVO.setPath("yunai"); 61 reqVO.setPath("yunai");
62 reqVO.setType("jp"); 62 reqVO.setType("jp");
63 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 10), buildTime(2021, 1, 20)})); 63 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 10), buildLocalDateTime(2021, 1, 20)}));
64 64
65 // 调用 65 // 调用
66 PageResult<FileDO> pageResult = fileService.getFilePage(reqVO); 66 PageResult<FileDO> pageResult = fileService.getFilePage(reqVO);
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/job/JobLogServiceTest.java
@@ -16,7 +16,7 @@ import java.util.ArrayList; @@ -16,7 +16,7 @@ import java.util.ArrayList;
16 import java.util.List; 16 import java.util.List;
17 17
18 import static cn.hutool.core.util.RandomUtil.randomEle; 18 import static cn.hutool.core.util.RandomUtil.randomEle;
19 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 19 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
20 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 20 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
21 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 21 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
22 import static org.junit.jupiter.api.Assertions.assertEquals; 22 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -96,8 +96,8 @@ public class JobLogServiceTest extends BaseDbUnitTest { @@ -96,8 +96,8 @@ public class JobLogServiceTest extends BaseDbUnitTest {
96 o.setExecuteIndex(1); 96 o.setExecuteIndex(1);
97 o.setHandlerName("handlerName 单元测试"); 97 o.setHandlerName("handlerName 单元测试");
98 o.setStatus(JobLogStatusEnum.SUCCESS.getStatus()); 98 o.setStatus(JobLogStatusEnum.SUCCESS.getStatus());
99 - o.setBeginTime(buildTime(2021, 1, 8));  
100 - o.setEndTime(buildTime(2021, 1, 8)); 99 + o.setBeginTime(buildLocalDateTime(2021, 1, 8));
  100 + o.setEndTime(buildLocalDateTime(2021, 1, 8));
101 }); 101 });
102 jobLogMapper.insert(dbJobLog); 102 jobLogMapper.insert(dbJobLog);
103 // 测试 jobId 不匹配 103 // 测试 jobId 不匹配
@@ -105,9 +105,9 @@ public class JobLogServiceTest extends BaseDbUnitTest { @@ -105,9 +105,9 @@ public class JobLogServiceTest extends BaseDbUnitTest {
105 // 测试 handlerName 不匹配 105 // 测试 handlerName 不匹配
106 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setHandlerName(randomString()))); 106 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setHandlerName(randomString())));
107 // 测试 beginTime 不匹配 107 // 测试 beginTime 不匹配
108 - jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setBeginTime(buildTime(2021, 1, 7)))); 108 + jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setBeginTime(buildLocalDateTime(2021, 1, 7))));
109 // 测试 endTime 不匹配 109 // 测试 endTime 不匹配
110 - jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setEndTime(buildTime(2021, 1, 9)))); 110 + jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setEndTime(buildLocalDateTime(2021, 1, 9))));
111 // 测试 status 不匹配 111 // 测试 status 不匹配
112 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setStatus(JobLogStatusEnum.FAILURE.getStatus()))); 112 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setStatus(JobLogStatusEnum.FAILURE.getStatus())));
113 // 准备参数 113 // 准备参数
@@ -132,8 +132,8 @@ public class JobLogServiceTest extends BaseDbUnitTest { @@ -132,8 +132,8 @@ public class JobLogServiceTest extends BaseDbUnitTest {
132 o.setExecuteIndex(1); 132 o.setExecuteIndex(1);
133 o.setHandlerName("handlerName 单元测试"); 133 o.setHandlerName("handlerName 单元测试");
134 o.setStatus(JobLogStatusEnum.SUCCESS.getStatus()); 134 o.setStatus(JobLogStatusEnum.SUCCESS.getStatus());
135 - o.setBeginTime(buildTime(2021, 1, 8));  
136 - o.setEndTime(buildTime(2021, 1, 8)); 135 + o.setBeginTime(buildLocalDateTime(2021, 1, 8));
  136 + o.setEndTime(buildLocalDateTime(2021, 1, 8));
137 }); 137 });
138 jobLogMapper.insert(dbJobLog); 138 jobLogMapper.insert(dbJobLog);
139 // 测试 jobId 不匹配 139 // 测试 jobId 不匹配
@@ -141,9 +141,9 @@ public class JobLogServiceTest extends BaseDbUnitTest { @@ -141,9 +141,9 @@ public class JobLogServiceTest extends BaseDbUnitTest {
141 // 测试 handlerName 不匹配 141 // 测试 handlerName 不匹配
142 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setHandlerName(randomString()))); 142 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setHandlerName(randomString())));
143 // 测试 beginTime 不匹配 143 // 测试 beginTime 不匹配
144 - jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setBeginTime(buildTime(2021, 1, 7)))); 144 + jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setBeginTime(buildLocalDateTime(2021, 1, 7))));
145 // 测试 endTime 不匹配 145 // 测试 endTime 不匹配
146 - jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setEndTime(buildTime(2021, 1, 9)))); 146 + jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setEndTime(buildLocalDateTime(2021, 1, 9))));
147 // 测试 status 不匹配 147 // 测试 status 不匹配
148 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setStatus(JobLogStatusEnum.FAILURE.getStatus()))); 148 jobLogMapper.insert(ObjectUtils.cloneIgnoreId(dbJobLog, o -> o.setStatus(JobLogStatusEnum.FAILURE.getStatus())));
149 // 准备参数 149 // 准备参数
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java
@@ -16,10 +16,10 @@ import org.junit.jupiter.api.Test; @@ -16,10 +16,10 @@ import org.junit.jupiter.api.Test;
16 import org.springframework.context.annotation.Import; 16 import org.springframework.context.annotation.Import;
17 17
18 import javax.annotation.Resource; 18 import javax.annotation.Resource;
19 -import java.util.Date; 19 +import java.time.LocalDateTime;
20 import java.util.List; 20 import java.util.List;
21 21
22 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 22 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
24 import static org.junit.jupiter.api.Assertions.assertEquals; 24 import static org.junit.jupiter.api.Assertions.assertEquals;
25 import static org.junit.jupiter.api.Assertions.assertNotNull; 25 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -40,7 +40,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -40,7 +40,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
40 int userType = UserTypeEnum.ADMIN.getValue(); 40 int userType = UserTypeEnum.ADMIN.getValue();
41 String applicationName = "yudao-test"; 41 String applicationName = "yudao-test";
42 String requestUrl = "foo"; 42 String requestUrl = "foo";
43 - Date beginTime = buildTime(2021, 3, 13); 43 + LocalDateTime beginTime = buildLocalDateTime(2021, 3, 13);
44 int duration = 1000; 44 int duration = 1000;
45 int resultCode = GlobalErrorCodeConstants.SUCCESS.getCode(); 45 int resultCode = GlobalErrorCodeConstants.SUCCESS.getCode();
46 46
@@ -65,7 +65,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -65,7 +65,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
65 // requestUrl 不同的 65 // requestUrl 不同的
66 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setRequestUrl("bar"))); 66 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setRequestUrl("bar")));
67 // 构造一个早期时间 2021-02-06 00:00:00 67 // 构造一个早期时间 2021-02-06 00:00:00
68 - apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setBeginTime(buildTime(2021, 2, 6)))); 68 + apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setBeginTime(buildLocalDateTime(2021, 2, 6))));
69 // duration 不同的 69 // duration 不同的
70 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setDuration(100))); 70 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setDuration(100)));
71 // resultCode 不同的 71 // resultCode 不同的
@@ -77,7 +77,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -77,7 +77,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
77 reqVO.setUserType(userType); 77 reqVO.setUserType(userType);
78 reqVO.setApplicationName(applicationName); 78 reqVO.setApplicationName(applicationName);
79 reqVO.setRequestUrl(requestUrl); 79 reqVO.setRequestUrl(requestUrl);
80 - reqVO.setBeginTime((new Date[]{buildTime(2021, 3, 12),buildTime(2021, 3, 14)})); 80 + reqVO.setBeginTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 12),buildLocalDateTime(2021, 3, 14)}));
81 reqVO.setDuration(duration); 81 reqVO.setDuration(duration);
82 reqVO.setResultCode(resultCode); 82 reqVO.setResultCode(resultCode);
83 83
@@ -97,7 +97,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -97,7 +97,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
97 int userType = UserTypeEnum.ADMIN.getValue(); 97 int userType = UserTypeEnum.ADMIN.getValue();
98 String applicationName = "yudao-test"; 98 String applicationName = "yudao-test";
99 String requestUrl = "foo"; 99 String requestUrl = "foo";
100 - Date beginTime = buildTime(2021, 3, 13); 100 + LocalDateTime beginTime = buildLocalDateTime(2021, 3, 13);
101 int duration = 1000; 101 int duration = 1000;
102 int resultCode = GlobalErrorCodeConstants.SUCCESS.getCode(); 102 int resultCode = GlobalErrorCodeConstants.SUCCESS.getCode();
103 103
@@ -122,7 +122,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -122,7 +122,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
122 // requestUrl 不同的 122 // requestUrl 不同的
123 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setRequestUrl("bar"))); 123 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setRequestUrl("bar")));
124 // 构造一个早期时间 2021-02-06 00:00:00 124 // 构造一个早期时间 2021-02-06 00:00:00
125 - apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setBeginTime(buildTime(2021, 2, 6)))); 125 + apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setBeginTime(buildLocalDateTime(2021, 2, 6))));
126 // duration 不同的 126 // duration 不同的
127 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setDuration(100))); 127 apiAccessLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiAccessLogDO, logDO -> logDO.setDuration(100)));
128 // resultCode 不同的 128 // resultCode 不同的
@@ -134,7 +134,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest { @@ -134,7 +134,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
134 reqVO.setUserType(userType); 134 reqVO.setUserType(userType);
135 reqVO.setApplicationName(applicationName); 135 reqVO.setApplicationName(applicationName);
136 reqVO.setRequestUrl(requestUrl); 136 reqVO.setRequestUrl(requestUrl);
137 - reqVO.setBeginTime((new Date[]{buildTime(2021, 3, 12),buildTime(2021, 3, 14)})); 137 + reqVO.setBeginTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 12),buildLocalDateTime(2021, 3, 14)}));
138 reqVO.setDuration(duration); 138 reqVO.setDuration(duration);
139 reqVO.setResultCode(resultCode); 139 reqVO.setResultCode(resultCode);
140 140
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java
@@ -17,10 +17,10 @@ import org.junit.jupiter.api.Test; @@ -17,10 +17,10 @@ import org.junit.jupiter.api.Test;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
18 18
19 import javax.annotation.Resource; 19 import javax.annotation.Resource;
20 -import java.util.Date; 20 +import java.time.LocalDateTime;
21 import java.util.List; 21 import java.util.List;
22 22
23 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 23 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
24 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 24 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
26 import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.API_ERROR_LOG_NOT_FOUND; 26 import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.API_ERROR_LOG_NOT_FOUND;
@@ -44,7 +44,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -44,7 +44,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
44 int userType = UserTypeEnum.ADMIN.getValue(); 44 int userType = UserTypeEnum.ADMIN.getValue();
45 String applicationName = "yudao-test"; 45 String applicationName = "yudao-test";
46 String requestUrl = "foo"; 46 String requestUrl = "foo";
47 - Date beginTime = buildTime(2021, 3, 13); 47 + LocalDateTime beginTime = buildLocalDateTime(2021, 3, 13);
48 int progressStatus = ApiErrorLogProcessStatusEnum.INIT.getStatus(); 48 int progressStatus = ApiErrorLogProcessStatusEnum.INIT.getStatus();
49 49
50 ApiErrorLogDO infApiErrorLogDO = RandomUtils.randomPojo(ApiErrorLogDO.class, logDO -> { 50 ApiErrorLogDO infApiErrorLogDO = RandomUtils.randomPojo(ApiErrorLogDO.class, logDO -> {
@@ -67,7 +67,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -67,7 +67,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
67 // requestUrl 不同的 67 // requestUrl 不同的
68 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setRequestUrl("bar"))); 68 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setRequestUrl("bar")));
69 // 构造一个早期时间 2021-02-06 00:00:00 69 // 构造一个早期时间 2021-02-06 00:00:00
70 - infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setExceptionTime(buildTime(2021, 2, 6)))); 70 + infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setExceptionTime(buildLocalDateTime(2021, 2, 6))));
71 // progressStatus 不同的 71 // progressStatus 不同的
72 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setProcessStatus(ApiErrorLogProcessStatusEnum.DONE.getStatus()))); 72 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setProcessStatus(ApiErrorLogProcessStatusEnum.DONE.getStatus())));
73 73
@@ -77,7 +77,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -77,7 +77,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
77 reqVO.setUserType(userType); 77 reqVO.setUserType(userType);
78 reqVO.setApplicationName(applicationName); 78 reqVO.setApplicationName(applicationName);
79 reqVO.setRequestUrl(requestUrl); 79 reqVO.setRequestUrl(requestUrl);
80 - reqVO.setExceptionTime((new Date[]{buildTime(2021, 3, 12),buildTime(2021, 3, 14)})); 80 + reqVO.setExceptionTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 12),buildLocalDateTime(2021, 3, 14)}));
81 reqVO.setProcessStatus(progressStatus); 81 reqVO.setProcessStatus(progressStatus);
82 82
83 // 调用service方法 83 // 调用service方法
@@ -96,7 +96,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -96,7 +96,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
96 int userType = UserTypeEnum.ADMIN.getValue(); 96 int userType = UserTypeEnum.ADMIN.getValue();
97 String applicationName = "yudao-test"; 97 String applicationName = "yudao-test";
98 String requestUrl = "foo"; 98 String requestUrl = "foo";
99 - Date beginTime = buildTime(2021, 3, 13); 99 + LocalDateTime beginTime = buildLocalDateTime(2021, 3, 13);
100 int progressStatus = ApiErrorLogProcessStatusEnum.INIT.getStatus(); 100 int progressStatus = ApiErrorLogProcessStatusEnum.INIT.getStatus();
101 101
102 ApiErrorLogDO infApiErrorLogDO = RandomUtils.randomPojo(ApiErrorLogDO.class, logDO -> { 102 ApiErrorLogDO infApiErrorLogDO = RandomUtils.randomPojo(ApiErrorLogDO.class, logDO -> {
@@ -119,7 +119,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -119,7 +119,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
119 // requestUrl 不同的 119 // requestUrl 不同的
120 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setRequestUrl("bar"))); 120 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setRequestUrl("bar")));
121 // 构造一个早期时间 2021-02-06 00:00:00 121 // 构造一个早期时间 2021-02-06 00:00:00
122 - infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setExceptionTime(buildTime(2021, 2, 6)))); 122 + infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setExceptionTime(buildLocalDateTime(2021, 2, 6))));
123 // progressStatus 不同的 123 // progressStatus 不同的
124 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setProcessStatus(ApiErrorLogProcessStatusEnum.DONE.getStatus()))); 124 infApiErrorLogMapper.insert(ObjectUtils.cloneIgnoreId(infApiErrorLogDO, logDO -> logDO.setProcessStatus(ApiErrorLogProcessStatusEnum.DONE.getStatus())));
125 125
@@ -129,7 +129,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest { @@ -129,7 +129,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
129 reqVO.setUserType(userType); 129 reqVO.setUserType(userType);
130 reqVO.setApplicationName(applicationName); 130 reqVO.setApplicationName(applicationName);
131 reqVO.setRequestUrl(requestUrl); 131 reqVO.setRequestUrl(requestUrl);
132 - reqVO.setExceptionTime((new Date[]{buildTime(2021, 3, 12),buildTime(2021, 3, 14)})); 132 + reqVO.setExceptionTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 12),buildLocalDateTime(2021, 3, 14)}));
133 reqVO.setProcessStatus(progressStatus); 133 reqVO.setProcessStatus(progressStatus);
134 134
135 // 调用service方法 135 // 调用service方法
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImplTest.java
@@ -14,10 +14,10 @@ import org.junit.jupiter.api.Test; @@ -14,10 +14,10 @@ import org.junit.jupiter.api.Test;
14 import org.springframework.context.annotation.Import; 14 import org.springframework.context.annotation.Import;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 -import java.util.Date; 17 +import java.time.LocalDateTime;
18 import java.util.List; 18 import java.util.List;
19 19
20 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 20 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -112,7 +112,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -112,7 +112,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
112 o.setType(1); 112 o.setType(1);
113 o.setCategory(2); 113 o.setCategory(2);
114 o.setRemark("哈哈哈"); 114 o.setRemark("哈哈哈");
115 - o.setCreateTime(DateUtils.buildTime(2021, 11, 11)); 115 + o.setCreateTime(DateUtils.buildLocalDateTime(2021, 11, 11));
116 }); 116 });
117 testDemoMapper.insert(dbTestDemo); 117 testDemoMapper.insert(dbTestDemo);
118 // 测试 name 不匹配 118 // 测试 name 不匹配
@@ -126,7 +126,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -126,7 +126,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
126 // 测试 remark 不匹配 126 // 测试 remark 不匹配
127 testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setRemark("呵呵呵"))); 127 testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setRemark("呵呵呵")));
128 // 测试 createTime 不匹配 128 // 测试 createTime 不匹配
129 - testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setCreateTime(DateUtils.buildTime(2021, 12, 12)))); 129 + testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2021, 12, 12))));
130 // 准备参数 130 // 准备参数
131 TestDemoPageReqVO reqVO = new TestDemoPageReqVO(); 131 TestDemoPageReqVO reqVO = new TestDemoPageReqVO();
132 reqVO.setName("芋道"); 132 reqVO.setName("芋道");
@@ -134,7 +134,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -134,7 +134,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
134 reqVO.setType(1); 134 reqVO.setType(1);
135 reqVO.setCategory(2); 135 reqVO.setCategory(2);
136 reqVO.setRemark("哈哈哈"); 136 reqVO.setRemark("哈哈哈");
137 - reqVO.setCreateTime((new Date[]{buildTime(2021, 11, 10),buildTime(2021, 11, 12)})); 137 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 10),buildLocalDateTime(2021, 11, 12)}));
138 138
139 // 调用 139 // 调用
140 PageResult<TestDemoDO> pageResult = testDemoService.getTestDemoPage(reqVO); 140 PageResult<TestDemoDO> pageResult = testDemoService.getTestDemoPage(reqVO);
@@ -153,7 +153,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -153,7 +153,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
153 o.setType(1); 153 o.setType(1);
154 o.setCategory(2); 154 o.setCategory(2);
155 o.setRemark("哈哈哈"); 155 o.setRemark("哈哈哈");
156 - o.setCreateTime(DateUtils.buildTime(2021, 11, 11)); 156 + o.setCreateTime(DateUtils.buildLocalDateTime(2021, 11, 11));
157 }); 157 });
158 testDemoMapper.insert(dbTestDemo); 158 testDemoMapper.insert(dbTestDemo);
159 // 测试 name 不匹配 159 // 测试 name 不匹配
@@ -167,7 +167,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -167,7 +167,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
167 // 测试 remark 不匹配 167 // 测试 remark 不匹配
168 testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setRemark("呵呵呵"))); 168 testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setRemark("呵呵呵")));
169 // 测试 createTime 不匹配 169 // 测试 createTime 不匹配
170 - testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setCreateTime(DateUtils.buildTime(2021, 12, 12)))); 170 + testDemoMapper.insert(cloneIgnoreId(dbTestDemo, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2021, 12, 12))));
171 // 准备参数 171 // 准备参数
172 TestDemoExportReqVO reqVO = new TestDemoExportReqVO(); 172 TestDemoExportReqVO reqVO = new TestDemoExportReqVO();
173 reqVO.setName("芋道"); 173 reqVO.setName("芋道");
@@ -175,7 +175,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest { @@ -175,7 +175,7 @@ public class TestDemoServiceImplTest extends BaseDbUnitTest {
175 reqVO.setType(1); 175 reqVO.setType(1);
176 reqVO.setCategory(2); 176 reqVO.setCategory(2);
177 reqVO.setRemark("哈哈哈"); 177 reqVO.setRemark("哈哈哈");
178 - reqVO.setCreateTime((new Date[]{buildTime(2021, 11, 10),buildTime(2021, 11, 12)})); 178 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 10),buildLocalDateTime(2021, 11, 12)}));
179 179
180 // 调用 180 // 调用
181 List<TestDemoDO> list = testDemoService.getTestDemoList(reqVO); 181 List<TestDemoDO> list = testDemoService.getTestDemoList(reqVO);
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/coupon/vo/CouponBaseVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import java.math.BigDecimal; 6 import java.math.BigDecimal;
6 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
7 import javax.validation.constraints.*; 8 import javax.validation.constraints.*;
@@ -90,21 +91,21 @@ public class CouponBaseVO { @@ -90,21 +91,21 @@ public class CouponBaseVO {
90 @ApiModelProperty(value = "领取时间", required = true) 91 @ApiModelProperty(value = "领取时间", required = true)
91 @NotNull(message = "领取时间不能为空") 92 @NotNull(message = "领取时间不能为空")
92 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 93 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
93 - private Date fetchTime; 94 + private LocalDateTime fetchTime;
94 95
95 @ApiModelProperty(value = "使用时间", required = true) 96 @ApiModelProperty(value = "使用时间", required = true)
96 @NotNull(message = "使用时间不能为空") 97 @NotNull(message = "使用时间不能为空")
97 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 98 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
98 - private Date useTime; 99 + private LocalDateTime useTime;
99 100
100 @ApiModelProperty(value = "可使用的开始时间", required = true) 101 @ApiModelProperty(value = "可使用的开始时间", required = true)
101 @NotNull(message = "可使用的开始时间不能为空") 102 @NotNull(message = "可使用的开始时间不能为空")
102 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 103 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
103 - private Date startTime; 104 + private LocalDateTime startTime;
104 105
105 @ApiModelProperty(value = "有效期结束时间", required = true) 106 @ApiModelProperty(value = "有效期结束时间", required = true)
106 @NotNull(message = "有效期结束时间不能为空") 107 @NotNull(message = "有效期结束时间不能为空")
107 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 108 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
108 - private Date endTime; 109 + private LocalDateTime endTime;
109 110
110 } 111 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/coupon/vo/CouponExcelVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import java.math.BigDecimal; 6 import java.math.BigDecimal;
6 -import io.swagger.annotations.*;  
7 7
8 import com.alibaba.excel.annotation.ExcelProperty; 8 import com.alibaba.excel.annotation.ExcelProperty;
9 9
@@ -73,18 +73,18 @@ public class CouponExcelVO { @@ -73,18 +73,18 @@ public class CouponExcelVO {
73 private Boolean getType; 73 private Boolean getType;
74 74
75 @ExcelProperty("领取时间") 75 @ExcelProperty("领取时间")
76 - private Date fetchTime; 76 + private LocalDateTime fetchTime;
77 77
78 @ExcelProperty("使用时间") 78 @ExcelProperty("使用时间")
79 - private Date useTime; 79 + private LocalDateTime useTime;
80 80
81 @ExcelProperty("可使用的开始时间") 81 @ExcelProperty("可使用的开始时间")
82 - private Date startTime; 82 + private LocalDateTime startTime;
83 83
84 @ExcelProperty("有效期结束时间") 84 @ExcelProperty("有效期结束时间")
85 - private Date endTime; 85 + private LocalDateTime endTime;
86 86
87 @ExcelProperty("创建时间") 87 @ExcelProperty("创建时间")
88 - private Date createTime; 88 + private LocalDateTime createTime;
89 89
90 } 90 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/coupon/vo/CouponExportReqVO.java
@@ -3,9 +3,8 @@ package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo; @@ -3,9 +3,8 @@ package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo;
3 import lombok.*; 3 import lombok.*;
4 4
5 import java.math.BigDecimal; 5 import java.math.BigDecimal;
6 -import java.util.*; 6 +import java.time.LocalDateTime;
7 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
8 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
9 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
10 9
11 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -70,22 +69,22 @@ public class CouponExportReqVO { @@ -70,22 +69,22 @@ public class CouponExportReqVO {
70 69
71 @ApiModelProperty(value = "领取时间") 70 @ApiModelProperty(value = "领取时间")
72 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
73 - private Date[] fetchTime; 72 + private LocalDateTime[] fetchTime;
74 73
75 @ApiModelProperty(value = "使用时间") 74 @ApiModelProperty(value = "使用时间")
76 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 75 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
77 - private Date[] useTime; 76 + private LocalDateTime[] useTime;
78 77
79 @ApiModelProperty(value = "可使用的开始时间") 78 @ApiModelProperty(value = "可使用的开始时间")
80 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 79 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
81 - private Date[] startTime; 80 + private LocalDateTime[] startTime;
82 81
83 @ApiModelProperty(value = "有效期结束时间") 82 @ApiModelProperty(value = "有效期结束时间")
84 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 83 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
85 - private Date[] endTime; 84 + private LocalDateTime[] endTime;
86 85
87 @ApiModelProperty(value = "创建时间") 86 @ApiModelProperty(value = "创建时间")
88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 87 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
89 - private Date[] createTime; 88 + private LocalDateTime[] createTime;
90 89
91 } 90 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/coupon/vo/CouponPageReqVO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo;
3 import lombok.*; 3 import lombok.*;
4 4
5 import java.math.BigDecimal; 5 import java.math.BigDecimal;
6 -import java.util.*; 6 +import java.time.LocalDateTime;
7 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
8 import cn.iocoder.yudao.framework.common.pojo.PageParam; 8 import cn.iocoder.yudao.framework.common.pojo.PageParam;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
@@ -72,22 +72,22 @@ public class CouponPageReqVO extends PageParam { @@ -72,22 +72,22 @@ public class CouponPageReqVO extends PageParam {
72 72
73 @ApiModelProperty(value = "领取时间") 73 @ApiModelProperty(value = "领取时间")
74 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 74 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
75 - private Date[] fetchTime; 75 + private LocalDateTime[] fetchTime;
76 76
77 @ApiModelProperty(value = "使用时间") 77 @ApiModelProperty(value = "使用时间")
78 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 78 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
79 - private Date[] useTime; 79 + private LocalDateTime[] useTime;
80 80
81 @ApiModelProperty(value = "可使用的开始时间") 81 @ApiModelProperty(value = "可使用的开始时间")
82 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 82 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
83 - private Date[] startTime; 83 + private LocalDateTime[] startTime;
84 84
85 @ApiModelProperty(value = "有效期结束时间") 85 @ApiModelProperty(value = "有效期结束时间")
86 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 86 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
87 - private Date[] endTime; 87 + private LocalDateTime[] endTime;
88 88
89 @ApiModelProperty(value = "创建时间") 89 @ApiModelProperty(value = "创建时间")
90 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 90 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
91 - private Date[] createTime; 91 + private LocalDateTime[] createTime;
92 92
93 } 93 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/coupon/vo/CouponRespVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 优惠券 Response VO") 8 @ApiModel("管理后台 - 优惠券 Response VO")
@@ -14,6 +15,6 @@ public class CouponRespVO extends CouponBaseVO { @@ -14,6 +15,6 @@ public class CouponRespVO extends CouponBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/templete/vo/CouponTempleteBaseVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import java.math.BigDecimal; 6 import java.math.BigDecimal;
6 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
7 import javax.validation.constraints.*; 8 import javax.validation.constraints.*;
@@ -86,11 +87,11 @@ public class CouponTempleteBaseVO { @@ -86,11 +87,11 @@ public class CouponTempleteBaseVO {
86 87
87 @ApiModelProperty(value = "使用开始日期 过期类型1时必填") 88 @ApiModelProperty(value = "使用开始日期 过期类型1时必填")
88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 89 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
89 - private Date startUseTime; 90 + private LocalDateTime startUseTime;
90 91
91 @ApiModelProperty(value = "使用结束日期 过期类型1时必填") 92 @ApiModelProperty(value = "使用结束日期 过期类型1时必填")
92 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 93 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
93 - private Date endUseTime; 94 + private LocalDateTime endUseTime;
94 95
95 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效") 96 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效")
96 @NotNull(message = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效不能为空") 97 @NotNull(message = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效不能为空")
@@ -98,7 +99,7 @@ public class CouponTempleteBaseVO { @@ -98,7 +99,7 @@ public class CouponTempleteBaseVO {
98 99
99 @ApiModelProperty(value = "有效日期结束时间") 100 @ApiModelProperty(value = "有效日期结束时间")
100 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 101 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
101 - private Date endTime; 102 + private LocalDateTime endTime;
102 103
103 /* ============过期类型——结束============= */ 104 /* ============过期类型——结束============= */
104 105
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/templete/vo/CouponTempleteExcelVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import java.math.BigDecimal; 6 import java.math.BigDecimal;
6 7
7 import com.alibaba.excel.annotation.ExcelProperty; 8 import com.alibaba.excel.annotation.ExcelProperty;
@@ -69,10 +70,10 @@ public class CouponTempleteExcelVO { @@ -69,10 +70,10 @@ public class CouponTempleteExcelVO {
69 private Integer validityType; 70 private Integer validityType;
70 71
71 @ExcelProperty("使用开始日期 过期类型1时必填") 72 @ExcelProperty("使用开始日期 过期类型1时必填")
72 - private Date startUseTime; 73 + private LocalDateTime startUseTime;
73 74
74 @ExcelProperty("使用结束日期 过期类型1时必填") 75 @ExcelProperty("使用结束日期 过期类型1时必填")
75 - private Date endUseTime; 76 + private LocalDateTime endUseTime;
76 77
77 @ExcelProperty("当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效") 78 @ExcelProperty("当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效")
78 private Integer fixedTerm; 79 private Integer fixedTerm;
@@ -111,9 +112,9 @@ public class CouponTempleteExcelVO { @@ -111,9 +112,9 @@ public class CouponTempleteExcelVO {
111 private Integer status; 112 private Integer status;
112 113
113 @ExcelProperty("有效日期结束时间") 114 @ExcelProperty("有效日期结束时间")
114 - private Date endTime; 115 + private LocalDateTime endTime;
115 116
116 @ExcelProperty("创建时间") 117 @ExcelProperty("创建时间")
117 - private Date createTime; 118 + private LocalDateTime createTime;
118 119
119 } 120 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/templete/vo/CouponTempleteExportReqVO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo;
3 import lombok.*; 3 import lombok.*;
4 4
5 import java.math.BigDecimal; 5 import java.math.BigDecimal;
6 -import java.util.*; 6 +import java.time.LocalDateTime;
7 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
@@ -66,11 +66,11 @@ public class CouponTempleteExportReqVO { @@ -66,11 +66,11 @@ public class CouponTempleteExportReqVO {
66 66
67 @ApiModelProperty(value = "使用开始日期 过期类型1时必填") 67 @ApiModelProperty(value = "使用开始日期 过期类型1时必填")
68 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 68 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
69 - private Date[] startUseTime; 69 + private LocalDateTime[] startUseTime;
70 70
71 @ApiModelProperty(value = "使用结束日期 过期类型1时必填") 71 @ApiModelProperty(value = "使用结束日期 过期类型1时必填")
72 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 72 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
73 - private Date[] endUseTime; 73 + private LocalDateTime[] endUseTime;
74 74
75 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效") 75 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效")
76 private Integer fixedTerm; 76 private Integer fixedTerm;
@@ -110,10 +110,10 @@ public class CouponTempleteExportReqVO { @@ -110,10 +110,10 @@ public class CouponTempleteExportReqVO {
110 110
111 @ApiModelProperty(value = "有效日期结束时间") 111 @ApiModelProperty(value = "有效日期结束时间")
112 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 112 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
113 - private Date[] endTime; 113 + private LocalDateTime[] endTime;
114 114
115 @ApiModelProperty(value = "创建时间") 115 @ApiModelProperty(value = "创建时间")
116 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 116 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
117 - private Date[] createTime; 117 + private LocalDateTime[] createTime;
118 118
119 } 119 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/templete/vo/CouponTempletePageReqVO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo;
3 import lombok.*; 3 import lombok.*;
4 4
5 import java.math.BigDecimal; 5 import java.math.BigDecimal;
6 -import java.util.*; 6 +import java.time.LocalDateTime;
7 import io.swagger.annotations.*; 7 import io.swagger.annotations.*;
8 import cn.iocoder.yudao.framework.common.pojo.PageParam; 8 import cn.iocoder.yudao.framework.common.pojo.PageParam;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
@@ -69,11 +69,11 @@ public class CouponTempletePageReqVO extends PageParam { @@ -69,11 +69,11 @@ public class CouponTempletePageReqVO extends PageParam {
69 69
70 @ApiModelProperty(value = "使用开始日期 过期类型1时必填") 70 @ApiModelProperty(value = "使用开始日期 过期类型1时必填")
71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
72 - private Date[] startUseTime; 72 + private LocalDateTime[] startUseTime;
73 73
74 @ApiModelProperty(value = "使用结束日期 过期类型1时必填") 74 @ApiModelProperty(value = "使用结束日期 过期类型1时必填")
75 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 75 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
76 - private Date[] endUseTime; 76 + private LocalDateTime[] endUseTime;
77 77
78 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效") 78 @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效")
79 private Integer fixedTerm; 79 private Integer fixedTerm;
@@ -113,10 +113,10 @@ public class CouponTempletePageReqVO extends PageParam { @@ -113,10 +113,10 @@ public class CouponTempletePageReqVO extends PageParam {
113 113
114 @ApiModelProperty(value = "有效日期结束时间") 114 @ApiModelProperty(value = "有效日期结束时间")
115 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 115 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
116 - private Date[] endTime; 116 + private LocalDateTime[] endTime;
117 117
118 @ApiModelProperty(value = "创建时间") 118 @ApiModelProperty(value = "创建时间")
119 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 119 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
120 - private Date[] createTime; 120 + private LocalDateTime[] createTime;
121 121
122 } 122 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/controller/admin/templete/vo/CouponTempleteRespVO.java
1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo; 1 package cn.iocoder.yudao.module.coupon.controller.admin.templete.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 优惠券模板 Response VO") 8 @ApiModel("管理后台 - 优惠券模板 Response VO")
@@ -14,6 +15,6 @@ public class CouponTempleteRespVO extends CouponTempleteBaseVO { @@ -14,6 +15,6 @@ public class CouponTempleteRespVO extends CouponTempleteBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/dal/dataobject/CouponTemplete/CouponTempleteDO.java
1 package cn.iocoder.yudao.module.coupon.dal.dataobject.CouponTemplete; 1 package cn.iocoder.yudao.module.coupon.dal.dataobject.CouponTemplete;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import java.math.BigDecimal; 6 import java.math.BigDecimal;
6 import com.baomidou.mybatisplus.annotation.*; 7 import com.baomidou.mybatisplus.annotation.*;
7 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 8 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@@ -97,11 +98,11 @@ public class CouponTempleteDO extends BaseDO { @@ -97,11 +98,11 @@ public class CouponTempleteDO extends BaseDO {
97 /** 98 /**
98 * 使用开始日期 过期类型1时必填 99 * 使用开始日期 过期类型1时必填
99 */ 100 */
100 - private Date startUseTime; 101 + private LocalDateTime startUseTime;
101 /** 102 /**
102 * 使用结束日期 过期类型1时必填 103 * 使用结束日期 过期类型1时必填
103 */ 104 */
104 - private Date endUseTime; 105 + private LocalDateTime endUseTime;
105 /** 106 /**
106 * 当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效 107 * 当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效
107 */ 108 */
@@ -153,6 +154,6 @@ public class CouponTempleteDO extends BaseDO { @@ -153,6 +154,6 @@ public class CouponTempleteDO extends BaseDO {
153 /** 154 /**
154 * 有效日期结束时间 155 * 有效日期结束时间
155 */ 156 */
156 - private Date endTime; 157 + private LocalDateTime endTime;
157 158
158 } 159 }
yudao-module-mall/yudao-module-coupon-biz/src/main/java/cn/iocoder/yudao/module/coupon/dal/dataobject/coupon/CouponDO.java
@@ -2,7 +2,8 @@ package cn.iocoder.yudao.module.coupon.dal.dataobject.coupon; @@ -2,7 +2,8 @@ package cn.iocoder.yudao.module.coupon.dal.dataobject.coupon;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import lombok.*; 4 import lombok.*;
5 -import java.util.*; 5 +
  6 +import java.time.LocalDateTime;
6 import java.math.BigDecimal; 7 import java.math.BigDecimal;
7 import com.baomidou.mybatisplus.annotation.*; 8 import com.baomidou.mybatisplus.annotation.*;
8 9
@@ -101,18 +102,18 @@ public class CouponDO extends BaseDO { @@ -101,18 +102,18 @@ public class CouponDO extends BaseDO {
101 /** 102 /**
102 * 领取时间 103 * 领取时间
103 */ 104 */
104 - private Date fetchTime; 105 + private LocalDateTime fetchTime;
105 /** 106 /**
106 * 使用时间 107 * 使用时间
107 */ 108 */
108 - private Date useTime; 109 + private LocalDateTime useTime;
109 /** 110 /**
110 * 可使用的开始时间 111 * 可使用的开始时间
111 */ 112 */
112 - private Date startTime; 113 + private LocalDateTime startTime;
113 /** 114 /**
114 * 有效期结束时间 115 * 有效期结束时间
115 */ 116 */
116 - private Date endTime; 117 + private LocalDateTime endTime;
117 118
118 } 119 }
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/controller/admin/banner/vo/BannerCreateReqVO.java
1 package cn.iocoder.yudao.module.market.controller.admin.banner.vo; 1 package cn.iocoder.yudao.module.market.controller.admin.banner.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 -import io.swagger.annotations.ApiModelProperty;  
5 import lombok.Data; 4 import lombok.Data;
6 import lombok.EqualsAndHashCode; 5 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 6 import lombok.ToString;
8 7
9 -import java.util.Date;  
10 -  
11 /** 8 /**
12 * @author xia 9 * @author xia
13 */ 10 */
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/controller/admin/banner/vo/BannerPageReqVO.java
@@ -10,7 +10,7 @@ import lombok.EqualsAndHashCode; @@ -10,7 +10,7 @@ import lombok.EqualsAndHashCode;
10 import lombok.ToString; 10 import lombok.ToString;
11 import org.springframework.format.annotation.DateTimeFormat; 11 import org.springframework.format.annotation.DateTimeFormat;
12 12
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 14
15 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 15 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
16 16
@@ -33,6 +33,6 @@ public class BannerPageReqVO extends PageParam { @@ -33,6 +33,6 @@ public class BannerPageReqVO extends PageParam {
33 33
34 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 34 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
35 @ApiModelProperty(value = "创建时间") 35 @ApiModelProperty(value = "创建时间")
36 - private Date[] createTime; 36 + private LocalDateTime[] createTime;
37 37
38 } 38 }
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/controller/admin/banner/vo/BannerRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * @author xia 12 * @author xia
@@ -21,6 +21,6 @@ public class BannerRespVO extends BannerBaseVO { @@ -21,6 +21,6 @@ public class BannerRespVO extends BannerBaseVO {
21 private Long id; 21 private Long id;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 } 26 }
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/dal/dataobject/discount/DiscountActivityDO.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
8 import lombok.Data; 8 import lombok.Data;
9 import lombok.EqualsAndHashCode; 9 import lombok.EqualsAndHashCode;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * 限时折扣活动 DO 14 * 限时折扣活动 DO
@@ -42,11 +42,11 @@ public class DiscountActivityDO extends BaseDO { @@ -42,11 +42,11 @@ public class DiscountActivityDO extends BaseDO {
42 /** 42 /**
43 * 开始时间 43 * 开始时间
44 */ 44 */
45 - private Date startTime; 45 + private LocalDateTime startTime;
46 /** 46 /**
47 * 结束时间 47 * 结束时间
48 */ 48 */
49 - private Date endTime; 49 + private LocalDateTime endTime;
50 /** 50 /**
51 * 备注 51 * 备注
52 */ 52 */
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/dal/dataobject/discount/DiscountProductDO.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
7 import lombok.Data; 7 import lombok.Data;
8 import lombok.EqualsAndHashCode; 8 import lombok.EqualsAndHashCode;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 限时折扣商品 DO 13 * 限时折扣商品 DO
@@ -46,11 +46,11 @@ public class DiscountProductDO extends BaseDO { @@ -46,11 +46,11 @@ public class DiscountProductDO extends BaseDO {
46 /** 46 /**
47 * 开始时间 47 * 开始时间
48 */ 48 */
49 - private Date startTime; 49 + private LocalDateTime startTime;
50 /** 50 /**
51 * 结束时间 51 * 结束时间
52 */ 52 */
53 - private Date endTime; 53 + private LocalDateTime endTime;
54 /** 54 /**
55 * 销售价格,单位:分 55 * 销售价格,单位:分
56 * 56 *
yudao-module-mall/yudao-module-market-biz/src/main/java/cn/iocoder/yudao/module/market/dal/dataobject/reward/RewardActivityDO.java
@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
12 import lombok.Data; 12 import lombok.Data;
13 import lombok.EqualsAndHashCode; 13 import lombok.EqualsAndHashCode;
14 14
15 -import java.util.Date; 15 +import java.time.LocalDateTime;
16 import java.util.List; 16 import java.util.List;
17 17
18 /** 18 /**
@@ -44,11 +44,11 @@ public class RewardActivityDO extends BaseDO { @@ -44,11 +44,11 @@ public class RewardActivityDO extends BaseDO {
44 /** 44 /**
45 * 开始时间 45 * 开始时间
46 */ 46 */
47 - private Date startTime; 47 + private LocalDateTime startTime;
48 /** 48 /**
49 * 结束时间 49 * 结束时间
50 */ 50 */
51 - private Date endTime; 51 + private LocalDateTime endTime;
52 /** 52 /**
53 * 备注 53 * 备注
54 */ 54 */
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class ProductBrandPageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class ProductBrandPageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "创建时间") 28 @ApiModelProperty(value = "创建时间")
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 品牌 Response VO") 11 @ApiModel("管理后台 - 品牌 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class ProductBrandRespVO extends ProductBrandBaseVO { @@ -18,6 +18,6 @@ public class ProductBrandRespVO extends ProductBrandBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java
1 package cn.iocoder.yudao.module.product.controller.admin.category.vo; 1 package cn.iocoder.yudao.module.product.controller.admin.category.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 商品分类 Response VO") 8 @ApiModel("管理后台 - 商品分类 Response VO")
@@ -14,6 +15,6 @@ public class ProductCategoryRespVO extends ProductCategoryBaseVO { @@ -14,6 +15,6 @@ public class ProductCategoryRespVO extends ProductCategoryBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.List; 11 import java.util.List;
12 12
13 @ApiModel("管理后台 - 规格 + 规格值 Response VO") 13 @ApiModel("管理后台 - 规格 + 规格值 Response VO")
@@ -20,7 +20,7 @@ public class ProductPropertyAndValueRespVO extends ProductPropertyBaseVO { @@ -20,7 +20,7 @@ public class ProductPropertyAndValueRespVO extends ProductPropertyBaseVO {
20 private Long id; 20 private Long id;
21 21
22 @ApiModelProperty(value = "创建时间", required = true) 22 @ApiModelProperty(value = "创建时间", required = true)
23 - private Date createTime; 23 + private LocalDateTime createTime;
24 24
25 /** 25 /**
26 * 规格值的集合 26 * 规格值的集合
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class ProductPropertyPageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class ProductPropertyPageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "创建时间") 28 @ApiModelProperty(value = "创建时间")
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 规格值 Response VO") 11 @ApiModel("管理后台 - 规格值 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class ProductPropertyValueRespVO extends ProductPropertyValueBaseVO { @@ -18,6 +18,6 @@ public class ProductPropertyValueRespVO extends ProductPropertyValueBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间") 20 @ApiModelProperty(value = "创建时间")
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 11
12 @ApiModel("管理后台 - 商品sku Response VO") 12 @ApiModel("管理后台 - 商品sku Response VO")
@@ -19,7 +19,7 @@ public class ProductSkuRespVO extends ProductSkuBaseVO { @@ -19,7 +19,7 @@ public class ProductSkuRespVO extends ProductSkuBaseVO {
19 private Long id; 19 private Long id;
20 20
21 @ApiModelProperty(value = "创建时间") 21 @ApiModelProperty(value = "创建时间")
22 - private Date createTime; 22 + private LocalDateTime createTime;
23 23
24 /** 24 /**
25 * 规格值数组 25 * 规格值数组
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuDetailRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.List; 11 import java.util.List;
12 12
13 @ApiModel(value = "管理后台 - 商品 SPU 详细 Response VO", description = "包括关联的 SKU 等信息") 13 @ApiModel(value = "管理后台 - 商品 SPU 详细 Response VO", description = "包括关联的 SKU 等信息")
@@ -20,7 +20,7 @@ public class ProductSpuDetailRespVO extends ProductSpuBaseVO { @@ -20,7 +20,7 @@ public class ProductSpuDetailRespVO extends ProductSpuBaseVO {
20 private Long id; 20 private Long id;
21 21
22 @ApiModelProperty(value = "创建时间") 22 @ApiModelProperty(value = "创建时间")
23 - private Date createTime; 23 + private LocalDateTime createTime;
24 24
25 /** 25 /**
26 * SKU 数组 26 * SKU 数组
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java
1 package cn.iocoder.yudao.module.product.controller.admin.spu.vo; 1 package cn.iocoder.yudao.module.product.controller.admin.spu.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 7 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
@@ -46,6 +47,6 @@ public class ProductSpuPageReqVO extends PageParam { @@ -46,6 +47,6 @@ public class ProductSpuPageReqVO extends PageParam {
46 47
47 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 48 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
48 @ApiModelProperty(value = "创建时间") 49 @ApiModelProperty(value = "创建时间")
49 - private Date[] createTime; 50 + private LocalDateTime[] createTime;
50 51
51 } 52 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 import lombok.EqualsAndHashCode; 8 import lombok.EqualsAndHashCode;
9 import lombok.ToString; 9 import lombok.ToString;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 import java.util.List; 12 import java.util.List;
13 13
14 // TODO @Luowenfeng:这个类只返回 SPU 相关的信息,删除 skus、categoryIds、productPropertyViews;明细使用 SpuDetailRespVO 替代 14 // TODO @Luowenfeng:这个类只返回 SPU 相关的信息,删除 skus、categoryIds、productPropertyViews;明细使用 SpuDetailRespVO 替代
@@ -22,7 +22,7 @@ public class ProductSpuRespVO extends ProductSpuBaseVO { @@ -22,7 +22,7 @@ public class ProductSpuRespVO extends ProductSpuBaseVO {
22 private Long id; 22 private Long id;
23 23
24 @ApiModelProperty(value = "创建时间") 24 @ApiModelProperty(value = "创建时间")
25 - private Date createTime; 25 + private LocalDateTime createTime;
26 26
27 /** 27 /**
28 * SKU 数组 28 * SKU 数组
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java
@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
10 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; 10 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
11 import lombok.*; 11 import lombok.*;
12 12
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 /** 16 /**
@@ -117,7 +117,7 @@ public class ProductCommentDO extends BaseDO { @@ -117,7 +117,7 @@ public class ProductCommentDO extends BaseDO {
117 /** 117 /**
118 * 商家回复时间 118 * 商家回复时间
119 */ 119 */
120 - private Date replyTime; 120 + private LocalDateTime replyTime;
121 121
122 /** 122 /**
123 * 有用的计数 123 * 有用的计数
yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/brand/ProductBrandServiceImplTest.java
@@ -12,9 +12,10 @@ import org.junit.jupiter.api.Test; @@ -12,9 +12,10 @@ import org.junit.jupiter.api.Test;
12 import org.springframework.context.annotation.Import; 12 import org.springframework.context.annotation.Import;
13 13
14 import javax.annotation.Resource; 14 import javax.annotation.Resource;
15 -import java.util.Date;  
16 15
17 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 16 +import java.time.LocalDateTime;
  17 +
  18 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
18 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 19 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
19 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 20 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
20 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 21 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -106,7 +107,7 @@ public class ProductBrandServiceImplTest extends BaseDbUnitTest { @@ -106,7 +107,7 @@ public class ProductBrandServiceImplTest extends BaseDbUnitTest {
106 ProductBrandDO dbBrand = randomPojo(ProductBrandDO.class, o -> { // 等会查询到 107 ProductBrandDO dbBrand = randomPojo(ProductBrandDO.class, o -> { // 等会查询到
107 o.setName("芋道源码"); 108 o.setName("芋道源码");
108 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 109 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
109 - o.setCreateTime(buildTime(2022, 2, 1)); 110 + o.setCreateTime(buildLocalDateTime(2022, 2, 1));
110 }); 111 });
111 brandMapper.insert(dbBrand); 112 brandMapper.insert(dbBrand);
112 // 测试 name 不匹配 113 // 测试 name 不匹配
@@ -114,12 +115,12 @@ public class ProductBrandServiceImplTest extends BaseDbUnitTest { @@ -114,12 +115,12 @@ public class ProductBrandServiceImplTest extends BaseDbUnitTest {
114 // 测试 status 不匹配 115 // 测试 status 不匹配
115 brandMapper.insert(cloneIgnoreId(dbBrand, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 116 brandMapper.insert(cloneIgnoreId(dbBrand, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
116 // 测试 createTime 不匹配 117 // 测试 createTime 不匹配
117 - brandMapper.insert(cloneIgnoreId(dbBrand, o -> o.setCreateTime(buildTime(2022, 3, 1)))); 118 + brandMapper.insert(cloneIgnoreId(dbBrand, o -> o.setCreateTime(buildLocalDateTime(2022, 3, 1))));
118 // 准备参数 119 // 准备参数
119 ProductBrandPageReqVO reqVO = new ProductBrandPageReqVO(); 120 ProductBrandPageReqVO reqVO = new ProductBrandPageReqVO();
120 reqVO.setName("芋道"); 121 reqVO.setName("芋道");
121 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 122 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
122 - reqVO.setCreateTime((new Date[]{buildTime(2022, 1, 1), buildTime(2022, 2, 25)})); 123 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 1, 1), buildLocalDateTime(2022, 2, 25)}));
123 124
124 // 调用 125 // 调用
125 PageResult<ProductBrandDO> pageResult = brandService.getBrandPage(reqVO); 126 PageResult<ProductBrandDO> pageResult = brandService.getBrandPage(reqVO);
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/TradeOrderItemRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 @ApiModel("交易订单项 Response VO") 9 @ApiModel("交易订单项 Response VO")
10 @Data 10 @Data
@@ -47,7 +47,7 @@ public class TradeOrderItemRespVO { @@ -47,7 +47,7 @@ public class TradeOrderItemRespVO {
47 @ApiModelProperty(value = "售后订单编号") 47 @ApiModelProperty(value = "售后订单编号")
48 private Integer afterSaleOrderId; 48 private Integer afterSaleOrderId;
49 @ApiModelProperty(value = "创建时间", required = true) 49 @ApiModelProperty(value = "创建时间", required = true)
50 - private Date createTime; 50 + private LocalDateTime createTime;
51 51
52 52
53 } 53 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/TradeOrderRespVO.java
@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.trade.controller.app.order.vo; @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.trade.controller.app.order.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
  5 +
  6 +import java.time.LocalDateTime;
5 import java.util.*; 7 import java.util.*;
6 8
7 @ApiModel("订单交易 Response VO") 9 @ApiModel("订单交易 Response VO")
@@ -19,7 +21,7 @@ public class TradeOrderRespVO { @@ -19,7 +21,7 @@ public class TradeOrderRespVO {
19 @ApiModelProperty(value = "备注") 21 @ApiModelProperty(value = "备注")
20 private String remark; 22 private String remark;
21 @ApiModelProperty(value = "订单结束时间") 23 @ApiModelProperty(value = "订单结束时间")
22 - private Date endTime; 24 + private LocalDateTime endTime;
23 @ApiModelProperty(value = "订单金额(总金额),单位:分", required = true) 25 @ApiModelProperty(value = "订单金额(总金额),单位:分", required = true)
24 private Integer buyPrice; 26 private Integer buyPrice;
25 @ApiModelProperty(value = "优惠总金额,单位:分", required = true) 27 @ApiModelProperty(value = "优惠总金额,单位:分", required = true)
@@ -33,7 +35,7 @@ public class TradeOrderRespVO { @@ -33,7 +35,7 @@ public class TradeOrderRespVO {
33 @ApiModelProperty(value = "退款金额,单位:分", required = true) 35 @ApiModelProperty(value = "退款金额,单位:分", required = true)
34 private Integer refundPrice; 36 private Integer refundPrice;
35 @ApiModelProperty(value = "付款时间") 37 @ApiModelProperty(value = "付款时间")
36 - private Date payTime; 38 + private LocalDateTime payTime;
37 @ApiModelProperty(value = "支付订单编号") 39 @ApiModelProperty(value = "支付订单编号")
38 private Integer payTransactionId; 40 private Integer payTransactionId;
39 @ApiModelProperty(value = "支付渠道") 41 @ApiModelProperty(value = "支付渠道")
@@ -41,9 +43,9 @@ public class TradeOrderRespVO { @@ -41,9 +43,9 @@ public class TradeOrderRespVO {
41 @ApiModelProperty(value = "配送类型", required = true) 43 @ApiModelProperty(value = "配送类型", required = true)
42 private Integer deliveryType; 44 private Integer deliveryType;
43 @ApiModelProperty(value = "发货时间") 45 @ApiModelProperty(value = "发货时间")
44 - private Date deliveryTime; 46 + private LocalDateTime deliveryTime;
45 @ApiModelProperty(value = "收货时间") 47 @ApiModelProperty(value = "收货时间")
46 - private Date receiveTime; 48 + private LocalDateTime receiveTime;
47 @ApiModelProperty(value = "收件人名称", required = true) 49 @ApiModelProperty(value = "收件人名称", required = true)
48 private String receiverName; 50 private String receiverName;
49 @ApiModelProperty(value = "手机号", required = true) 51 @ApiModelProperty(value = "手机号", required = true)
@@ -57,7 +59,7 @@ public class TradeOrderRespVO { @@ -57,7 +59,7 @@ public class TradeOrderRespVO {
57 @ApiModelProperty(value = "优惠劵编号") 59 @ApiModelProperty(value = "优惠劵编号")
58 private Integer couponCardId; 60 private Integer couponCardId;
59 @ApiModelProperty(value = "创建时间", required = true) 61 @ApiModelProperty(value = "创建时间", required = true)
60 - private Date createTime; 62 + private LocalDateTime createTime;
61 63
62 /** 64 /**
63 * 订单项数组 65 * 订单项数组
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/cart/CartItemDO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.experimental.Accessors; 7 import lombok.experimental.Accessors;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 购物车的商品信息 DO 12 * 购物车的商品信息 DO
@@ -30,7 +30,7 @@ public class CartItemDO extends BaseDO { @@ -30,7 +30,7 @@ public class CartItemDO extends BaseDO {
30 /** 30 /**
31 * 购物时间 31 * 购物时间
32 */ 32 */
33 - private Date buyTime; // basket_date 33 + private LocalDateTime buyTime; // basket_date
34 34
35 // ========= 基础字段 END ========= 35 // ========= 基础字段 END =========
36 36
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
@@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
11 import com.baomidou.mybatisplus.annotation.TableName; 11 import com.baomidou.mybatisplus.annotation.TableName;
12 import lombok.*; 12 import lombok.*;
13 13
14 -import java.util.Date; 14 +import java.time.LocalDateTime;
15 15
16 /** 16 /**
17 * 交易订单 DO 17 * 交易订单 DO
@@ -79,11 +79,11 @@ public class TradeOrderDO extends BaseDO { @@ -79,11 +79,11 @@ public class TradeOrderDO extends BaseDO {
79 /** 79 /**
80 * 订单完成时间 80 * 订单完成时间
81 */ 81 */
82 - private Date finishTime; 82 + private LocalDateTime finishTime;
83 /** 83 /**
84 * 订单取消时间 84 * 订单取消时间
85 */ 85 */
86 - private Date cancelTime; 86 + private LocalDateTime cancelTime;
87 /** 87 /**
88 * 取消类型 88 * 取消类型
89 * 89 *
@@ -106,7 +106,7 @@ public class TradeOrderDO extends BaseDO { @@ -106,7 +106,7 @@ public class TradeOrderDO extends BaseDO {
106 /** 106 /**
107 * 付款时间 107 * 付款时间
108 */ 108 */
109 - private Date payTime; 109 + private LocalDateTime payTime;
110 110
111 // ========== 价格 + 支付基本信息 ========== 111 // ========== 价格 + 支付基本信息 ==========
112 // 价格文档 - 淘宝:https://open.taobao.com/docV3.htm?docId=108471&docType=1 112 // 价格文档 - 淘宝:https://open.taobao.com/docV3.htm?docId=108471&docType=1
@@ -201,11 +201,11 @@ public class TradeOrderDO extends BaseDO { @@ -201,11 +201,11 @@ public class TradeOrderDO extends BaseDO {
201 /** 201 /**
202 * 发货时间 202 * 发货时间
203 */ 203 */
204 - private Date deliveryTime; 204 + private LocalDateTime deliveryTime;
205 /** 205 /**
206 * 收货时间 206 * 收货时间
207 */ 207 */
208 - private Date receiveTime; 208 + private LocalDateTime receiveTime;
209 /** 209 /**
210 * 收件人名称 210 * 收件人名称
211 */ 211 */
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java
@@ -12,7 +12,7 @@ import lombok.Data; @@ -12,7 +12,7 @@ import lombok.Data;
12 import lombok.EqualsAndHashCode; 12 import lombok.EqualsAndHashCode;
13 import lombok.experimental.Accessors; 13 import lombok.experimental.Accessors;
14 14
15 -import java.util.Date; 15 +import java.time.LocalDateTime;
16 import java.util.List; 16 import java.util.List;
17 17
18 /** 18 /**
@@ -75,7 +75,7 @@ public class TradeRefundDO extends BaseDO { @@ -75,7 +75,7 @@ public class TradeRefundDO extends BaseDO {
75 /** 75 /**
76 * 商家处理时间 76 * 商家处理时间
77 */ 77 */
78 - private Date handleTime; // handel_time 78 + private LocalDateTime handleTime; // handel_time
79 /** 79 /**
80 * 商家拒绝理由 80 * 商家拒绝理由
81 */ 81 */
@@ -132,7 +132,7 @@ public class TradeRefundDO extends BaseDO { @@ -132,7 +132,7 @@ public class TradeRefundDO extends BaseDO {
132 /** 132 /**
133 * 退货时间 133 * 退货时间
134 */ 134 */
135 - private Date returnDate; // ship_time 135 + private LocalDateTime returnDate; // ship_time
136 136
137 // ========== 收获相关 ========== 137 // ========== 收获相关 ==========
138 138
@@ -143,6 +143,6 @@ public class TradeRefundDO extends BaseDO { @@ -143,6 +143,6 @@ public class TradeRefundDO extends BaseDO {
143 /** 143 /**
144 * 收货时间 144 * 收货时间
145 */ 145 */
146 - private Date receiveDate; // receive_time 146 + private LocalDateTime receiveDate; // receive_time
147 147
148 } 148 }
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/user/dto/UserInfoDTO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.member.api.user.dto; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.member.api.user.dto;
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import lombok.Data; 4 import lombok.Data;
5 5
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * 用户信息 Response DTO 9 * 用户信息 Response DTO
@@ -47,6 +47,6 @@ public class UserInfoDTO { @@ -47,6 +47,6 @@ public class UserInfoDTO {
47 /** 47 /**
48 * 最后登录时间 48 * 最后登录时间
49 */ 49 */
50 - private Date loginDate; 50 + private LocalDateTime loginDate;
51 51
52 } 52 }
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressRespVO.java
1 package cn.iocoder.yudao.module.member.controller.app.address.vo; 1 package cn.iocoder.yudao.module.member.controller.app.address.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 5 import io.swagger.annotations.*;
6 6
7 @ApiModel("用户 APP - 用户收件地址 Response VO") 7 @ApiModel("用户 APP - 用户收件地址 Response VO")
@@ -14,6 +14,6 @@ public class AppAddressRespVO extends AppAddressBaseVO { @@ -14,6 +14,6 @@ public class AppAddressRespVO extends AppAddressBaseVO {
14 private Long id; 14 private Long id;
15 15
16 @ApiModelProperty(value = "创建时间", required = true) 16 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 17 + private LocalDateTime createTime;
18 18
19 } 19 }
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginRespVO.java
@@ -7,7 +7,7 @@ import lombok.Builder; @@ -7,7 +7,7 @@ import lombok.Builder;
7 import lombok.Data; 7 import lombok.Data;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("用户 APP - 登录 Response VO") 12 @ApiModel("用户 APP - 登录 Response VO")
13 @Data 13 @Data
@@ -26,6 +26,6 @@ public class AppAuthLoginRespVO { @@ -26,6 +26,6 @@ public class AppAuthLoginRespVO {
26 private String refreshToken; 26 private String refreshToken;
27 27
28 @ApiModelProperty(value = "过期时间", required = true) 28 @ApiModelProperty(value = "过期时间", required = true)
29 - private Date expiresTime; 29 + private LocalDateTime expiresTime;
30 30
31 } 31 }
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
8 import lombok.*; 8 import lombok.*;
9 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 9 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * 会员用户 DO 14 * 会员用户 DO
@@ -67,7 +67,7 @@ public class MemberUserDO extends TenantBaseDO { @@ -67,7 +67,7 @@ public class MemberUserDO extends TenantBaseDO {
67 /** 67 /**
68 * 最后登录时间 68 * 最后登录时间
69 */ 69 */
70 - private Date loginDate; 70 + private LocalDateTime loginDate;
71 71
72 // TODO 芋艿:name 真实名字; 72 // TODO 芋艿:name 真实名字;
73 // TODO 芋艿:email 邮箱; 73 // TODO 芋艿:email 邮箱;
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
@@ -19,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -19,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
19 import javax.annotation.Resource; 19 import javax.annotation.Resource;
20 import javax.validation.Valid; 20 import javax.validation.Valid;
21 import java.io.InputStream; 21 import java.io.InputStream;
22 -import java.util.Date; 22 +import java.time.LocalDateTime;
23 23
24 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 24 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
25 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP; 25 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
@@ -78,7 +78,7 @@ public class MemberUserServiceImpl implements MemberUserService { @@ -78,7 +78,7 @@ public class MemberUserServiceImpl implements MemberUserService {
78 @Override 78 @Override
79 public void updateUserLogin(Long id, String loginIp) { 79 public void updateUserLogin(Long id, String loginIp) {
80 memberUserMapper.updateById(new MemberUserDO().setId(id) 80 memberUserMapper.updateById(new MemberUserDO().setId(id)
81 - .setLoginIp(loginIp).setLoginDate(new Date())); 81 + .setLoginIp(loginIp).setLoginDate(LocalDateTime.now()));
82 } 82 }
83 83
84 @Override 84 @Override
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/api/order/PayOrderDataCreateReqDTO.java
@@ -7,7 +7,7 @@ import javax.validation.constraints.DecimalMin; @@ -7,7 +7,7 @@ import javax.validation.constraints.DecimalMin;
7 import javax.validation.constraints.NotEmpty; 7 import javax.validation.constraints.NotEmpty;
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
9 import java.io.Serializable; 9 import java.io.Serializable;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 支付单创建 Request DTO 13 * 支付单创建 Request DTO
@@ -60,6 +60,6 @@ public class PayOrderDataCreateReqDTO implements Serializable { @@ -60,6 +60,6 @@ public class PayOrderDataCreateReqDTO implements Serializable {
60 * 支付过期时间 60 * 支付过期时间
61 */ 61 */
62 @NotNull(message = "支付过期时间不能为空") 62 @NotNull(message = "支付过期时间不能为空")
63 - private Date expireTime; 63 + private LocalDateTime expireTime;
64 64
65 } 65 }
66 \ No newline at end of file 66 \ No newline at end of file
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppExcelVO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
3 import com.alibaba.excel.annotation.ExcelProperty; 3 import com.alibaba.excel.annotation.ExcelProperty;
4 import lombok.Data; 4 import lombok.Data;
5 5
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * 支付应用信息 Excel VO 9 * 支付应用信息 Excel VO
@@ -35,6 +35,6 @@ public class PayAppExcelVO { @@ -35,6 +35,6 @@ public class PayAppExcelVO {
35 private Long merchantId; 35 private Long merchantId;
36 36
37 @ExcelProperty("创建时间") 37 @ExcelProperty("创建时间")
38 - private Date createTime; 38 + private LocalDateTime createTime;
39 39
40 } 40 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppExportReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -32,6 +32,6 @@ public class PayAppExportReqVO { @@ -32,6 +32,6 @@ public class PayAppExportReqVO {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "创建时间") 34 @ApiModelProperty(value = "创建时间")
35 - private Date[] createTime; 35 + private LocalDateTime[] createTime;
36 36
37 } 37 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.Set; 10 import java.util.Set;
11 11
12 @ApiModel(value = "管理后台 - 支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息") 12 @ApiModel(value = "管理后台 - 支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息")
@@ -19,7 +19,7 @@ public class PayAppPageItemRespVO extends PayAppBaseVO { @@ -19,7 +19,7 @@ public class PayAppPageItemRespVO extends PayAppBaseVO {
19 private Long id; 19 private Long id;
20 20
21 @ApiModelProperty(value = "创建时间", required = true) 21 @ApiModelProperty(value = "创建时间", required = true)
22 - private Date createTime; 22 + private LocalDateTime createTime;
23 23
24 /** 24 /**
25 * 所属商户 25 * 所属商户
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 7 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
@@ -34,6 +35,6 @@ public class PayAppPageReqVO extends PageParam { @@ -34,6 +35,6 @@ public class PayAppPageReqVO extends PageParam {
34 35
35 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
36 @ApiModelProperty(value = "创建时间") 37 @ApiModelProperty(value = "创建时间")
37 - private Date[] createTime; 38 + private LocalDateTime[] createTime;
38 39
39 } 40 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 支付应用信息 Response VO") 8 @ApiModel("管理后台 - 支付应用信息 Response VO")
@@ -14,6 +15,6 @@ public class PayAppRespVO extends PayAppBaseVO { @@ -14,6 +15,6 @@ public class PayAppRespVO extends PayAppBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelExcelVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 -import io.swagger.annotations.*; 4 +
  5 +import java.time.LocalDateTime;
6 6
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 8
@@ -44,6 +44,6 @@ public class PayChannelExcelVO { @@ -44,6 +44,6 @@ public class PayChannelExcelVO {
44 /// private String config; 44 /// private String config;
45 45
46 @ExcelProperty("创建时间") 46 @ExcelProperty("创建时间")
47 - private Date createTime; 47 + private LocalDateTime createTime;
48 48
49 } 49 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelExportReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -35,6 +35,6 @@ public class PayChannelExportReqVO { @@ -35,6 +35,6 @@ public class PayChannelExportReqVO {
35 35
36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
37 @ApiModelProperty(value = "创建时间") 37 @ApiModelProperty(value = "创建时间")
38 - private Date[] createTime; 38 + private LocalDateTime[] createTime;
39 39
40 } 40 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelPageReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 7 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
@@ -37,6 +38,6 @@ public class PayChannelPageReqVO extends PageParam { @@ -37,6 +38,6 @@ public class PayChannelPageReqVO extends PageParam {
37 38
38 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 39 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
39 @ApiModelProperty(value = "创建时间") 40 @ApiModelProperty(value = "创建时间")
40 - private Date[] createTime; 41 + private LocalDateTime[] createTime;
41 42
42 } 43 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 7
7 @ApiModel("管理后台 - 支付渠道 Response VO") 8 @ApiModel("管理后台 - 支付渠道 Response VO")
@@ -14,7 +15,7 @@ public class PayChannelRespVO extends PayChannelBaseVO { @@ -14,7 +15,7 @@ public class PayChannelRespVO extends PayChannelBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 @ApiModelProperty(value = "配置", required = true) 20 @ApiModelProperty(value = "配置", required = true)
20 private String config; 21 private String config;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantExcelVO.java
@@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
5 import com.alibaba.excel.annotation.ExcelProperty; 5 import com.alibaba.excel.annotation.ExcelProperty;
6 import lombok.Data; 6 import lombok.Data;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * 支付商户信息 Excel VO 11 * 支付商户信息 Excel VO
@@ -35,6 +35,6 @@ public class PayMerchantExcelVO { @@ -35,6 +35,6 @@ public class PayMerchantExcelVO {
35 private String remark; 35 private String remark;
36 36
37 @ExcelProperty("创建时间") 37 @ExcelProperty("创建时间")
38 - private Date createTime; 38 + private LocalDateTime createTime;
39 39
40 } 40 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantExportReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
8 8
9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -29,6 +29,6 @@ public class PayMerchantExportReqVO { @@ -29,6 +29,6 @@ public class PayMerchantExportReqVO {
29 29
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 @ApiModelProperty(value = "创建时间") 31 @ApiModelProperty(value = "创建时间")
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 33
34 } 34 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantPageReqVO.java
1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant; 1 package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*; 4 +
  5 +import java.time.LocalDateTime;
5 import io.swagger.annotations.*; 6 import io.swagger.annotations.*;
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 7 import cn.iocoder.yudao.framework.common.pojo.PageParam;
7 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
@@ -31,6 +32,6 @@ public class PayMerchantPageReqVO extends PageParam { @@ -31,6 +32,6 @@ public class PayMerchantPageReqVO extends PageParam {
31 32
32 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
33 @ApiModelProperty(value = "创建时间") 34 @ApiModelProperty(value = "创建时间")
34 - private Date[] createTime; 35 + private LocalDateTime[] createTime;
35 36
36 } 37 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 支付商户信息 Response VO") 11 @ApiModel("管理后台 - 支付商户信息 Response VO")
12 @Data 12 @Data
@@ -18,7 +18,7 @@ public class PayMerchantRespVO extends PayMerchantBaseVO { @@ -18,7 +18,7 @@ public class PayMerchantRespVO extends PayMerchantBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 @ApiModelProperty(value = "商户号", required = true, example = "M233666999") 23 @ApiModelProperty(value = "商户号", required = true, example = "M233666999")
24 private String no; 24 private String no;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -73,15 +73,15 @@ public class PayOrderBaseVO { @@ -73,15 +73,15 @@ public class PayOrderBaseVO {
73 @ApiModelProperty(value = "订单失效时间", required = true) 73 @ApiModelProperty(value = "订单失效时间", required = true)
74 @NotNull(message = "订单失效时间不能为空") 74 @NotNull(message = "订单失效时间不能为空")
75 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 75 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
76 - private Date expireTime; 76 + private LocalDateTime expireTime;
77 77
78 @ApiModelProperty(value = "订单支付成功时间") 78 @ApiModelProperty(value = "订单支付成功时间")
79 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 79 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
80 - private Date successTime; 80 + private LocalDateTime successTime;
81 81
82 @ApiModelProperty(value = "订单支付通知时间") 82 @ApiModelProperty(value = "订单支付通知时间")
83 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 83 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
84 - private Date notifyTime; 84 + private LocalDateTime notifyTime;
85 85
86 @ApiModelProperty(value = "支付成功的订单拓展单编号") 86 @ApiModelProperty(value = "支付成功的订单拓展单编号")
87 private Long successExtensionId; 87 private Long successExtensionId;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderDetailsRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 支付订单详细信息 Response VO") 11 @ApiModel("管理后台 - 支付订单详细信息 Response VO")
12 @Data 12 @Data
@@ -27,7 +27,7 @@ public class PayOrderDetailsRespVO extends PayOrderBaseVO { @@ -27,7 +27,7 @@ public class PayOrderDetailsRespVO extends PayOrderBaseVO {
27 private String channelCodeName; 27 private String channelCodeName;
28 28
29 @ApiModelProperty(value = "创建时间") 29 @ApiModelProperty(value = "创建时间")
30 - private Date createTime; 30 + private LocalDateTime createTime;
31 31
32 /** 32 /**
33 * 支付订单扩展 33 * 支付订单扩展
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 支付订单Excel VO 12 * 支付订单Excel VO
@@ -58,16 +58,16 @@ public class PayOrderExcelVO { @@ -58,16 +58,16 @@ public class PayOrderExcelVO {
58 private String notifyUrl; 58 private String notifyUrl;
59 59
60 @ExcelProperty("创建时间") 60 @ExcelProperty("创建时间")
61 - private Date createTime; 61 + private LocalDateTime createTime;
62 62
63 @ExcelProperty("订单支付成功时间") 63 @ExcelProperty("订单支付成功时间")
64 - private Date successTime; 64 + private LocalDateTime successTime;
65 65
66 @ExcelProperty("订单失效时间") 66 @ExcelProperty("订单失效时间")
67 - private Date expireTime; 67 + private LocalDateTime expireTime;
68 68
69 @ExcelProperty("订单支付通知时间") 69 @ExcelProperty("订单支付通知时间")
70 - private Date notifyTime; 70 + private LocalDateTime notifyTime;
71 71
72 @ExcelProperty(value = "渠道编号名称") 72 @ExcelProperty(value = "渠道编号名称")
73 private String channelCodeName; 73 private String channelCodeName;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -57,15 +57,15 @@ public class PayOrderExportReqVO { @@ -57,15 +57,15 @@ public class PayOrderExportReqVO {
57 57
58 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 58 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
59 @ApiModelProperty(value = "订单失效时间") 59 @ApiModelProperty(value = "订单失效时间")
60 - private Date[] expireTime; 60 + private LocalDateTime[] expireTime;
61 61
62 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 62 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
63 @ApiModelProperty(value = "开始订单支付成功时间") 63 @ApiModelProperty(value = "开始订单支付成功时间")
64 - private Date[] successTime; 64 + private LocalDateTime[] successTime;
65 65
66 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 66 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
67 @ApiModelProperty(value = "开始订单支付通知时间") 67 @ApiModelProperty(value = "开始订单支付通知时间")
68 - private Date[] notifyTime; 68 + private LocalDateTime[] notifyTime;
69 69
70 @ApiModelProperty(value = "支付成功的订单拓展单编号") 70 @ApiModelProperty(value = "支付成功的订单拓展单编号")
71 private Long successExtensionId; 71 private Long successExtensionId;
@@ -87,6 +87,6 @@ public class PayOrderExportReqVO { @@ -87,6 +87,6 @@ public class PayOrderExportReqVO {
87 87
88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
89 @ApiModelProperty(value = "创建时间") 89 @ApiModelProperty(value = "创建时间")
90 - private Date[] createTime; 90 + private LocalDateTime[] createTime;
91 91
92 } 92 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 支付订单分页 Request VO") 11 @ApiModel("管理后台 - 支付订单分页 Request VO")
12 @Data 12 @Data
@@ -18,7 +18,7 @@ public class PayOrderPageItemRespVO extends PayOrderBaseVO { @@ -18,7 +18,7 @@ public class PayOrderPageItemRespVO extends PayOrderBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 @ApiModelProperty(value = "商户名称") 23 @ApiModelProperty(value = "商户名称")
24 private String merchantName; 24 private String merchantName;
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -62,15 +62,15 @@ public class PayOrderPageReqVO extends PageParam { @@ -62,15 +62,15 @@ public class PayOrderPageReqVO extends PageParam {
62 62
63 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 63 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
64 @ApiModelProperty(value = "订单失效时间") 64 @ApiModelProperty(value = "订单失效时间")
65 - private Date[] expireTime; 65 + private LocalDateTime[] expireTime;
66 66
67 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 67 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
68 @ApiModelProperty(value = "订单支付成功时间") 68 @ApiModelProperty(value = "订单支付成功时间")
69 - private Date[] successTime; 69 + private LocalDateTime[] successTime;
70 70
71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
72 @ApiModelProperty(value = "订单支付通知时间") 72 @ApiModelProperty(value = "订单支付通知时间")
73 - private Date[] notifyTime; 73 + private LocalDateTime[] notifyTime;
74 74
75 @ApiModelProperty(value = "支付成功的订单拓展单编号") 75 @ApiModelProperty(value = "支付成功的订单拓展单编号")
76 private Long successExtensionId; 76 private Long successExtensionId;
@@ -92,6 +92,6 @@ public class PayOrderPageReqVO extends PageParam { @@ -92,6 +92,6 @@ public class PayOrderPageReqVO extends PageParam {
92 92
93 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 93 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
94 @ApiModelProperty(value = "创建时间") 94 @ApiModelProperty(value = "创建时间")
95 - private Date[] createTime; 95 + private LocalDateTime[] createTime;
96 96
97 } 97 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 支付订单 Response VO") 11 @ApiModel("管理后台 - 支付订单 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class PayOrderRespVO extends PayOrderBaseVO { @@ -18,6 +18,6 @@ public class PayOrderRespVO extends PayOrderBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 import org.springframework.format.annotation.DateTimeFormat; 5 import org.springframework.format.annotation.DateTimeFormat;
6 6
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -97,14 +97,14 @@ public class PayRefundBaseVO { @@ -97,14 +97,14 @@ public class PayRefundBaseVO {
97 97
98 @ApiModelProperty(value = "退款失效时间") 98 @ApiModelProperty(value = "退款失效时间")
99 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 99 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
100 - private Date expireTime; 100 + private LocalDateTime expireTime;
101 101
102 @ApiModelProperty(value = "退款成功时间") 102 @ApiModelProperty(value = "退款成功时间")
103 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 103 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
104 - private Date successTime; 104 + private LocalDateTime successTime;
105 105
106 @ApiModelProperty(value = "退款通知时间") 106 @ApiModelProperty(value = "退款通知时间")
107 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 107 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
108 - private Date notifyTime; 108 + private LocalDateTime notifyTime;
109 109
110 } 110 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 退款订单详情 Response VO") 12 @ApiModel("管理后台 - 退款订单详情 Response VO")
13 @Data 13 @Data
@@ -31,9 +31,9 @@ public class PayRefundDetailsRespVO extends PayRefundBaseVO { @@ -31,9 +31,9 @@ public class PayRefundDetailsRespVO extends PayRefundBaseVO {
31 private String subject; 31 private String subject;
32 32
33 @ApiModelProperty(value = "创建时间") 33 @ApiModelProperty(value = "创建时间")
34 - private Date createTime; 34 + private LocalDateTime createTime;
35 35
36 @ApiModelProperty(value = "更新时间") 36 @ApiModelProperty(value = "更新时间")
37 - private Date updateTime; 37 + private LocalDateTime updateTime;
38 38
39 } 39 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 退款订单 Excel VO 12 * 退款订单 Excel VO
@@ -74,15 +74,15 @@ public class PayRefundExcelVO { @@ -74,15 +74,15 @@ public class PayRefundExcelVO {
74 private String channelRefundNo; 74 private String channelRefundNo;
75 75
76 @ExcelProperty("创建时间") 76 @ExcelProperty("创建时间")
77 - private Date createTime; 77 + private LocalDateTime createTime;
78 78
79 @ExcelProperty("退款成功时间") 79 @ExcelProperty("退款成功时间")
80 - private Date successTime; 80 + private LocalDateTime successTime;
81 81
82 @ExcelProperty("退款通知时间") 82 @ExcelProperty("退款通知时间")
83 - private Date notifyTime; 83 + private LocalDateTime notifyTime;
84 84
85 @ExcelProperty("退款失效时间") 85 @ExcelProperty("退款失效时间")
86 - private Date expireTime; 86 + private LocalDateTime expireTime;
87 87
88 } 88 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -78,18 +78,18 @@ public class PayRefundExportReqVO { @@ -78,18 +78,18 @@ public class PayRefundExportReqVO {
78 78
79 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 79 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
80 @ApiModelProperty(value = "退款失效时间") 80 @ApiModelProperty(value = "退款失效时间")
81 - private Date[] expireTime; 81 + private LocalDateTime[] expireTime;
82 82
83 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 83 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
84 @ApiModelProperty(value = "退款成功时间") 84 @ApiModelProperty(value = "退款成功时间")
85 - private Date[] successTime; 85 + private LocalDateTime[] successTime;
86 86
87 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 87 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
88 @ApiModelProperty(value = "退款通知时间") 88 @ApiModelProperty(value = "退款通知时间")
89 - private Date[] notifyTime; 89 + private LocalDateTime[] notifyTime;
90 90
91 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 91 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
92 @ApiModelProperty(value = "创建时间") 92 @ApiModelProperty(value = "创建时间")
93 - private Date[] createTime; 93 + private LocalDateTime[] createTime;
94 94
95 } 95 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 退款订单分页查询 Response VO") 11 @ApiModel("管理后台 - 退款订单分页查询 Response VO")
12 @Data 12 @Data
@@ -27,6 +27,6 @@ public class PayRefundPageItemRespVO extends PayRefundBaseVO { @@ -27,6 +27,6 @@ public class PayRefundPageItemRespVO extends PayRefundBaseVO {
27 private String channelCodeName; 27 private String channelCodeName;
28 28
29 @ApiModelProperty(value = "创建时间", required = true) 29 @ApiModelProperty(value = "创建时间", required = true)
30 - private Date createTime; 30 + private LocalDateTime createTime;
31 31
32 } 32 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -83,18 +83,18 @@ public class PayRefundPageReqVO extends PageParam { @@ -83,18 +83,18 @@ public class PayRefundPageReqVO extends PageParam {
83 83
84 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 84 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
85 @ApiModelProperty(value = "退款失效时间") 85 @ApiModelProperty(value = "退款失效时间")
86 - private Date[] expireTime; 86 + private LocalDateTime[] expireTime;
87 87
88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 88 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
89 @ApiModelProperty(value = "退款成功时间") 89 @ApiModelProperty(value = "退款成功时间")
90 - private Date[] successTime; 90 + private LocalDateTime[] successTime;
91 91
92 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 92 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
93 @ApiModelProperty(value = "退款通知时间") 93 @ApiModelProperty(value = "退款通知时间")
94 - private Date[] notifyTime; 94 + private LocalDateTime[] notifyTime;
95 95
96 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 96 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
97 @ApiModelProperty(value = "创建时间") 97 @ApiModelProperty(value = "创建时间")
98 - private Date[] createTime; 98 + private LocalDateTime[] createTime;
99 99
100 } 100 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 退款订单 Response VO") 11 @ApiModel("管理后台 - 退款订单 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class PayRefundRespVO extends PayRefundBaseVO { @@ -18,6 +18,6 @@ public class PayRefundRespVO extends PayRefundBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java
@@ -13,7 +13,7 @@ import lombok.Data; @@ -13,7 +13,7 @@ import lombok.Data;
13 import lombok.EqualsAndHashCode; 13 import lombok.EqualsAndHashCode;
14 import lombok.experimental.Accessors; 14 import lombok.experimental.Accessors;
15 15
16 -import java.util.Date; 16 +import java.time.LocalDateTime;
17 17
18 /** 18 /**
19 * 商户支付、退款等的通知 19 * 商户支付、退款等的通知
@@ -80,11 +80,11 @@ public class PayNotifyTaskDO extends BaseDO { @@ -80,11 +80,11 @@ public class PayNotifyTaskDO extends BaseDO {
80 /** 80 /**
81 * 下一次通知时间 81 * 下一次通知时间
82 */ 82 */
83 - private Date nextNotifyTime; 83 + private LocalDateTime nextNotifyTime;
84 /** 84 /**
85 * 最后一次执行时间 85 * 最后一次执行时间
86 */ 86 */
87 - private Date lastExecuteTime; 87 + private LocalDateTime lastExecuteTime;
88 /** 88 /**
89 * 当前通知次数 89 * 当前通知次数
90 */ 90 */
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
12 import com.baomidou.mybatisplus.annotation.TableName; 12 import com.baomidou.mybatisplus.annotation.TableName;
13 import lombok.*; 13 import lombok.*;
14 14
15 -import java.util.Date; 15 +import java.time.LocalDateTime;
16 16
17 /** 17 /**
18 * 支付订单 DO 18 * 支付订单 DO
@@ -117,15 +117,15 @@ public class PayOrderDO extends BaseDO { @@ -117,15 +117,15 @@ public class PayOrderDO extends BaseDO {
117 /** 117 /**
118 * 订单失效时间 118 * 订单失效时间
119 */ 119 */
120 - private Date expireTime; 120 + private LocalDateTime expireTime;
121 /** 121 /**
122 * 订单支付成功时间 122 * 订单支付成功时间
123 */ 123 */
124 - private Date successTime; 124 + private LocalDateTime successTime;
125 /** 125 /**
126 * 订单支付通知时间,即支付渠道的通知时间 126 * 订单支付通知时间,即支付渠道的通知时间
127 */ 127 */
128 - private Date notifyTime; 128 + private LocalDateTime notifyTime;
129 /** 129 /**
130 * 支付成功的订单拓展单编号 130 * 支付成功的订单拓展单编号
131 * 131 *
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/refund/PayRefundDO.java
@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.annotation.TableId; @@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
13 import com.baomidou.mybatisplus.annotation.TableName; 13 import com.baomidou.mybatisplus.annotation.TableName;
14 import lombok.*; 14 import lombok.*;
15 15
16 -import java.util.Date; 16 +import java.time.LocalDateTime;
17 17
18 /** 18 /**
19 * 支付退款单 DO 19 * 支付退款单 DO
@@ -183,15 +183,15 @@ public class PayRefundDO extends BaseDO { @@ -183,15 +183,15 @@ public class PayRefundDO extends BaseDO {
183 * TODO 183 * TODO
184 * 退款失效时间 184 * 退款失效时间
185 */ 185 */
186 - private Date expireTime; 186 + private LocalDateTime expireTime;
187 /** 187 /**
188 * 退款成功时间 188 * 退款成功时间
189 */ 189 */
190 - private Date successTime; 190 + private LocalDateTime successTime;
191 /** 191 /**
192 * 退款通知时间 192 * 退款通知时间
193 */ 193 */
194 - private Date notifyTime; 194 + private LocalDateTime notifyTime;
195 195
196 196
197 197
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/merchant/PayChannelMapper.java
@@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10 import org.apache.ibatis.annotations.Mapper; 10 import org.apache.ibatis.annotations.Mapper;
11 import org.apache.ibatis.annotations.Select; 11 import org.apache.ibatis.annotations.Select;
12 12
  13 +import java.time.LocalDateTime;
13 import java.util.Collection; 14 import java.util.Collection;
14 -import java.util.Date;  
15 import java.util.List; 15 import java.util.List;
16 16
17 @Mapper 17 @Mapper
@@ -22,7 +22,7 @@ public interface PayChannelMapper extends BaseMapperX&lt;PayChannelDO&gt; { @@ -22,7 +22,7 @@ public interface PayChannelMapper extends BaseMapperX&lt;PayChannelDO&gt; {
22 } 22 }
23 23
24 @Select("SELECT COUNT(*) FROM pay_channel WHERE update_time > #{maxUpdateTime}") 24 @Select("SELECT COUNT(*) FROM pay_channel WHERE update_time > #{maxUpdateTime}")
25 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 25 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
26 26
27 default PageResult<PayChannelDO> selectPage(PayChannelPageReqVO reqVO) { 27 default PageResult<PayChannelDO> selectPage(PayChannelPageReqVO reqVO) {
28 return selectPage(reqVO, new QueryWrapperX<PayChannelDO>() 28 return selectPage(reqVO, new QueryWrapperX<PayChannelDO>()
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/notify/PayNotifyTaskCoreMapper.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
6 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 6 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 import org.apache.ibatis.annotations.Mapper; 7 import org.apache.ibatis.annotations.Mapper;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 11
12 @Mapper 12 @Mapper
@@ -24,7 +24,7 @@ public interface PayNotifyTaskCoreMapper extends BaseMapperX&lt;PayNotifyTaskDO&gt; { @@ -24,7 +24,7 @@ public interface PayNotifyTaskCoreMapper extends BaseMapperX&lt;PayNotifyTaskDO&gt; {
24 return selectList(new QueryWrapper<PayNotifyTaskDO>() 24 return selectList(new QueryWrapper<PayNotifyTaskDO>()
25 .in("status", PayNotifyStatusEnum.WAITING.getStatus(), PayNotifyStatusEnum.REQUEST_SUCCESS.getStatus(), 25 .in("status", PayNotifyStatusEnum.WAITING.getStatus(), PayNotifyStatusEnum.REQUEST_SUCCESS.getStatus(),
26 PayNotifyStatusEnum.REQUEST_FAILURE.getStatus()) 26 PayNotifyStatusEnum.REQUEST_FAILURE.getStatus())
27 - .le("next_notify_time", new Date())); 27 + .le("next_notify_time", LocalDateTime.now()));
28 } 28 }
29 29
30 } 30 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/merchant/PayChannelServiceImpl.java
@@ -28,8 +28,8 @@ import org.springframework.validation.annotation.Validated; @@ -28,8 +28,8 @@ import org.springframework.validation.annotation.Validated;
28 import javax.annotation.PostConstruct; 28 import javax.annotation.PostConstruct;
29 import javax.annotation.Resource; 29 import javax.annotation.Resource;
30 import javax.validation.Validator; 30 import javax.validation.Validator;
  31 +import java.time.LocalDateTime;
31 import java.util.Collection; 32 import java.util.Collection;
32 -import java.util.Date;  
33 import java.util.List; 33 import java.util.List;
34 34
35 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 35 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -55,7 +55,7 @@ public class PayChannelServiceImpl implements PayChannelService { @@ -55,7 +55,7 @@ public class PayChannelServiceImpl implements PayChannelService {
55 /** 55 /**
56 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新 56 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新
57 */ 57 */
58 - private volatile Date maxUpdateTime; 58 + private volatile LocalDateTime maxUpdateTime;
59 59
60 @Resource 60 @Resource
61 private PayClientFactory payClientFactory; 61 private PayClientFactory payClientFactory;
@@ -101,7 +101,7 @@ public class PayChannelServiceImpl implements PayChannelService { @@ -101,7 +101,7 @@ public class PayChannelServiceImpl implements PayChannelService {
101 * @param maxUpdateTime 当前支付渠道的最大更新时间 101 * @param maxUpdateTime 当前支付渠道的最大更新时间
102 * @return 支付渠道列表 102 * @return 支付渠道列表
103 */ 103 */
104 - private List<PayChannelDO> loadPayChannelIfUpdate(Date maxUpdateTime) { 104 + private List<PayChannelDO> loadPayChannelIfUpdate(LocalDateTime maxUpdateTime) {
105 // 第一步,判断是否要更新。 105 // 第一步,判断是否要更新。
106 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 106 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
107 log.info("[loadPayChannelIfUpdate][首次加载全量支付渠道]"); 107 log.info("[loadPayChannelIfUpdate][首次加载全量支付渠道]");
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/notify/PayNotifyServiceImpl.java
@@ -29,8 +29,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -29,8 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
29 29
30 import javax.annotation.Resource; 30 import javax.annotation.Resource;
31 import javax.validation.Valid; 31 import javax.validation.Valid;
32 -import java.util.Calendar;  
33 -import java.util.Date; 32 +import java.time.LocalDateTime;
34 import java.util.List; 33 import java.util.List;
35 import java.util.Objects; 34 import java.util.Objects;
36 import java.util.concurrent.CountDownLatch; 35 import java.util.concurrent.CountDownLatch;
@@ -83,7 +82,7 @@ public class PayNotifyServiceImpl implements PayNotifyService { @@ -83,7 +82,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
83 public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) { 82 public void createPayNotifyTask(PayNotifyTaskCreateReqDTO reqDTO) {
84 PayNotifyTaskDO task = new PayNotifyTaskDO(); 83 PayNotifyTaskDO task = new PayNotifyTaskDO();
85 task.setType(reqDTO.getType()).setDataId(reqDTO.getDataId()); 84 task.setType(reqDTO.getType()).setDataId(reqDTO.getDataId());
86 - task.setStatus(PayNotifyStatusEnum.WAITING.getStatus()).setNextNotifyTime(new Date()) 85 + task.setStatus(PayNotifyStatusEnum.WAITING.getStatus()).setNextNotifyTime(LocalDateTime.now())
87 .setNotifyTimes(0).setMaxNotifyTimes(PayNotifyTaskDO.NOTIFY_FREQUENCY.length + 1); 86 .setNotifyTimes(0).setMaxNotifyTimes(PayNotifyTaskDO.NOTIFY_FREQUENCY.length + 1);
88 // 补充 merchantId + appId + notifyUrl 字段 87 // 补充 merchantId + appId + notifyUrl 字段
89 if (Objects.equals(task.getType(), PayNotifyTypeEnum.ORDER.getType())) { 88 if (Objects.equals(task.getType(), PayNotifyTypeEnum.ORDER.getType())) {
@@ -232,7 +231,7 @@ public class PayNotifyServiceImpl implements PayNotifyService { @@ -232,7 +231,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
232 // 设置通用的更新 PayNotifyTaskDO 的字段 231 // 设置通用的更新 PayNotifyTaskDO 的字段
233 PayNotifyTaskDO updateTask = new PayNotifyTaskDO() 232 PayNotifyTaskDO updateTask = new PayNotifyTaskDO()
234 .setId(task.getId()) 233 .setId(task.getId())
235 - .setLastExecuteTime(new Date()) 234 + .setLastExecuteTime(LocalDateTime.now())
236 .setNotifyTimes(task.getNotifyTimes() + 1); 235 .setNotifyTimes(task.getNotifyTimes() + 1);
237 236
238 // 情况一:调用成功 237 // 情况一:调用成功
@@ -247,7 +246,7 @@ public class PayNotifyServiceImpl implements PayNotifyService { @@ -247,7 +246,7 @@ public class PayNotifyServiceImpl implements PayNotifyService {
247 return updateTask.getStatus(); 246 return updateTask.getStatus();
248 } 247 }
249 // 2.2 未超过最大回调次数 248 // 2.2 未超过最大回调次数
250 - updateTask.setNextNotifyTime(DateUtils.addDate(Calendar.SECOND, PayNotifyTaskDO.NOTIFY_FREQUENCY[updateTask.getNotifyTimes()])); 249 + updateTask.setNextNotifyTime(LocalDateTime.now().plusSeconds(PayNotifyTaskDO.NOTIFY_FREQUENCY[updateTask.getNotifyTimes()]));
251 updateTask.setStatus(invokeException != null ? PayNotifyStatusEnum.REQUEST_FAILURE.getStatus() 250 updateTask.setStatus(invokeException != null ? PayNotifyStatusEnum.REQUEST_FAILURE.getStatus()
252 : PayNotifyStatusEnum.REQUEST_SUCCESS.getStatus()); 251 : PayNotifyStatusEnum.REQUEST_SUCCESS.getStatus());
253 return updateTask.getStatus(); 252 return updateTask.getStatus();
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java
@@ -38,8 +38,8 @@ import org.springframework.transaction.annotation.Transactional; @@ -38,8 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
38 import org.springframework.validation.annotation.Validated; 38 import org.springframework.validation.annotation.Validated;
39 39
40 import javax.annotation.Resource; 40 import javax.annotation.Resource;
  41 +import java.time.LocalDateTime;
41 import java.util.Collection; 42 import java.util.Collection;
42 -import java.util.Date;  
43 import java.util.List; 43 import java.util.List;
44 import java.util.Objects; 44 import java.util.Objects;
45 45
@@ -204,7 +204,7 @@ public class PayOrderServiceImpl implements PayOrderService { @@ -204,7 +204,7 @@ public class PayOrderServiceImpl implements PayOrderService {
204 // 目前的算法 204 // 目前的算法
205 // 时间序列,年月日时分秒 14 位 205 // 时间序列,年月日时分秒 14 位
206 // 纯随机,6 位 TODO 芋艿:此处估计是会有问题的,后续在调整 206 // 纯随机,6 位 TODO 芋艿:此处估计是会有问题的,后续在调整
207 - return DateUtil.format(new Date(), "yyyyMMddHHmmss") + // 时间序列 207 + return DateUtil.format(LocalDateTime.now(), "yyyyMMddHHmmss") + // 时间序列
208 RandomUtil.randomInt(100000, 999999) // 随机。为什么是这个范围,因为偷懒 208 RandomUtil.randomInt(100000, 999999) // 随机。为什么是这个范围,因为偷懒
209 ; 209 ;
210 } 210 }
@@ -259,7 +259,7 @@ public class PayOrderServiceImpl implements PayOrderService { @@ -259,7 +259,7 @@ public class PayOrderServiceImpl implements PayOrderService {
259 PayOrderDO.builder().status(PayOrderStatusEnum.SUCCESS.getStatus()).channelId(channelId).channelCode(channel.getCode()) 259 PayOrderDO.builder().status(PayOrderStatusEnum.SUCCESS.getStatus()).channelId(channelId).channelCode(channel.getCode())
260 .successTime(notifyRespDTO.getSuccessTime()).successExtensionId(orderExtension.getId()) 260 .successTime(notifyRespDTO.getSuccessTime()).successExtensionId(orderExtension.getId())
261 .channelOrderNo(notifyRespDTO.getChannelOrderNo()).channelUserId(notifyRespDTO.getChannelUserId()) 261 .channelOrderNo(notifyRespDTO.getChannelOrderNo()).channelUserId(notifyRespDTO.getChannelUserId())
262 - .notifyTime(new Date()).build()); 262 + .notifyTime(LocalDateTime.now()).build());
263 if (updateCounts == 0) { // 校验状态,必须是待支付 263 if (updateCounts == 0) { // 校验状态,必须是待支付
264 throw ServiceExceptionUtil.exception(ErrorCodeConstants.PAY_ORDER_STATUS_IS_NOT_WAITING); 264 throw ServiceExceptionUtil.exception(ErrorCodeConstants.PAY_ORDER_STATUS_IS_NOT_WAITING);
265 } 265 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/order/dto/PayOrderCreateReqDTO.java
@@ -7,7 +7,7 @@ import javax.validation.constraints.DecimalMin; @@ -7,7 +7,7 @@ import javax.validation.constraints.DecimalMin;
7 import javax.validation.constraints.NotEmpty; 7 import javax.validation.constraints.NotEmpty;
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
9 import java.io.Serializable; 9 import java.io.Serializable;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 支付单创建 Request DTO 13 * 支付单创建 Request DTO
@@ -59,6 +59,6 @@ public class PayOrderCreateReqDTO implements Serializable { @@ -59,6 +59,6 @@ public class PayOrderCreateReqDTO implements Serializable {
59 * 支付过期时间 59 * 支付过期时间
60 */ 60 */
61 @NotNull(message = "支付过期时间不能为空") 61 @NotNull(message = "支付过期时间不能为空")
62 - private Date expireTime; 62 + private LocalDateTime expireTime;
63 63
64 } 64 }
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
@@ -40,7 +40,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -40,7 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
40 import org.springframework.validation.annotation.Validated; 40 import org.springframework.validation.annotation.Validated;
41 41
42 import javax.annotation.Resource; 42 import javax.annotation.Resource;
43 -import java.util.Date; 43 +import java.time.LocalDateTime;
44 import java.util.List; 44 import java.util.List;
45 import java.util.Objects; 45 import java.util.Objects;
46 46
@@ -223,7 +223,7 @@ public class PayRefundServiceImpl implements PayRefundService { @@ -223,7 +223,7 @@ public class PayRefundServiceImpl implements PayRefundService {
223 .setSuccessTime(refundNotify.getRefundSuccessTime()) 223 .setSuccessTime(refundNotify.getRefundSuccessTime())
224 .setChannelRefundNo(refundNotify.getChannelOrderNo()) 224 .setChannelRefundNo(refundNotify.getChannelOrderNo())
225 .setTradeNo(refundNotify.getTradeNo()) 225 .setTradeNo(refundNotify.getTradeNo())
226 - .setNotifyTime(new Date()) 226 + .setNotifyTime(LocalDateTime.now())
227 .setStatus(PayRefundStatusEnum.SUCCESS.getStatus()); 227 .setStatus(PayRefundStatusEnum.SUCCESS.getStatus());
228 refundMapper.updateById(updateRefundDO); 228 refundMapper.updateById(updateRefundDO);
229 229
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/util/PaySeqUtils.java
@@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.pay.util; @@ -2,9 +2,8 @@ package cn.iocoder.yudao.module.pay.util;
2 2
3 import cn.hutool.core.date.DatePattern; 3 import cn.hutool.core.date.DatePattern;
4 import cn.hutool.core.date.DateUtil; 4 import cn.hutool.core.date.DateUtil;
5 -import cn.hutool.core.util.RandomUtil;  
6 5
7 -import java.util.Date; 6 +import java.time.LocalDateTime;
8 import java.util.concurrent.atomic.AtomicLong; 7 import java.util.concurrent.atomic.AtomicLong;
9 8
10 /** 9 /**
@@ -25,7 +24,7 @@ public class PaySeqUtils { @@ -25,7 +24,7 @@ public class PaySeqUtils {
25 */ 24 */
26 public static String genMerchantRefundNo() { 25 public static String genMerchantRefundNo() {
27 return String.format("%s%s%04d", "MR", 26 return String.format("%s%s%04d", "MR",
28 - DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), 27 + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_MS_PATTERN),
29 (int) MER_REFUND_NO_SEQ.getAndIncrement() % 10000); 28 (int) MER_REFUND_NO_SEQ.getAndIncrement() % 10000);
30 } 29 }
31 30
@@ -35,7 +34,7 @@ public class PaySeqUtils { @@ -35,7 +34,7 @@ public class PaySeqUtils {
35 */ 34 */
36 public static String genRefundReqNo() { 35 public static String genRefundReqNo() {
37 return String.format("%s%s%04d", "RR", 36 return String.format("%s%s%04d", "RR",
38 - DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), 37 + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_MS_PATTERN),
39 (int) REFUND_REQ_NO_SEQ.getAndIncrement() % 10000); 38 (int) REFUND_REQ_NO_SEQ.getAndIncrement() % 10000);
40 } 39 }
41 40
@@ -45,7 +44,7 @@ public class PaySeqUtils { @@ -45,7 +44,7 @@ public class PaySeqUtils {
45 */ 44 */
46 public static String genMerchantOrderNo() { 45 public static String genMerchantOrderNo() {
47 return String.format("%s%s%04d", "MO", 46 return String.format("%s%s%04d", "MO",
48 - DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), 47 + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_MS_PATTERN),
49 (int) MER_ORDER_NO_SEQ.getAndIncrement() % 10000); 48 (int) MER_ORDER_NO_SEQ.getAndIncrement() % 10000);
50 } 49 }
51 50
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/merchant/PayAppServiceTest.java
@@ -18,11 +18,11 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -18,11 +18,11 @@ import org.springframework.boot.test.mock.mockito.MockBean;
18 import org.springframework.context.annotation.Import; 18 import org.springframework.context.annotation.Import;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
  21 +import java.time.LocalDateTime;
21 import java.util.Collections; 22 import java.util.Collections;
22 -import java.util.Date;  
23 import java.util.List; 23 import java.util.List;
24 24
25 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 25 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -123,7 +123,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -123,7 +123,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
123 o.setPayNotifyUrl("https://www.hc.com"); 123 o.setPayNotifyUrl("https://www.hc.com");
124 o.setRefundNotifyUrl("https://www.xm.com"); 124 o.setRefundNotifyUrl("https://www.xm.com");
125 o.setMerchantId(merchantId); 125 o.setMerchantId(merchantId);
126 - o.setCreateTime(buildTime(2021,11,20)); 126 + o.setCreateTime(buildLocalDateTime(2021,11,20));
127 }); 127 });
128 128
129 // mock 数据 129 // mock 数据
@@ -134,7 +134,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -134,7 +134,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
134 o.setShortName("灿灿子"); 134 o.setShortName("灿灿子");
135 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 135 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
136 o.setRemark("灿哥的杂货铺"); 136 o.setRemark("灿哥的杂货铺");
137 - o.setCreateTime(buildTime(2021,11,3)); 137 + o.setCreateTime(buildLocalDateTime(2021,11,3));
138 }); 138 });
139 139
140 Mockito.when(payMerchantMapper.getMerchantListByName(dbMerchant.getName())) 140 Mockito.when(payMerchantMapper.getMerchantListByName(dbMerchant.getName()))
@@ -154,7 +154,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -154,7 +154,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
154 // 测试 merchantId 不匹配 154 // 测试 merchantId 不匹配
155 appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId))); 155 appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId)));
156 // 测试 createTime 不匹配 156 // 测试 createTime 不匹配
157 - appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildTime(2021,12,21)))); 157 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildLocalDateTime(2021,12,21))));
158 // 准备参数 158 // 准备参数
159 PayAppPageReqVO reqVO = new PayAppPageReqVO(); 159 PayAppPageReqVO reqVO = new PayAppPageReqVO();
160 reqVO.setName("灿灿姐的杂货铺"); 160 reqVO.setName("灿灿姐的杂货铺");
@@ -163,7 +163,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -163,7 +163,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
163 reqVO.setPayNotifyUrl("https://www.hc.com"); 163 reqVO.setPayNotifyUrl("https://www.hc.com");
164 reqVO.setRefundNotifyUrl("https://www.xm.com"); 164 reqVO.setRefundNotifyUrl("https://www.xm.com");
165 reqVO.setMerchantName(dbMerchant.getName()); 165 reqVO.setMerchantName(dbMerchant.getName());
166 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,19),buildTime(2021,11,21)})); 166 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,19),buildLocalDateTime(2021,11,21)}));
167 167
168 // 调用 168 // 调用
169 PageResult<PayAppDO> pageResult = appService.getAppPage(reqVO); 169 PageResult<PayAppDO> pageResult = appService.getAppPage(reqVO);
@@ -186,7 +186,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -186,7 +186,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
186 o.setPayNotifyUrl("https://www.hc.com"); 186 o.setPayNotifyUrl("https://www.hc.com");
187 o.setRefundNotifyUrl("https://www.xm.com"); 187 o.setRefundNotifyUrl("https://www.xm.com");
188 o.setMerchantId(merchantId); 188 o.setMerchantId(merchantId);
189 - o.setCreateTime(buildTime(2021,11,20)); 189 + o.setCreateTime(buildLocalDateTime(2021,11,20));
190 }); 190 });
191 191
192 // mock 数据 192 // mock 数据
@@ -197,7 +197,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -197,7 +197,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
197 o.setShortName("灿灿子"); 197 o.setShortName("灿灿子");
198 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 198 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
199 o.setRemark("灿哥的杂货铺"); 199 o.setRemark("灿哥的杂货铺");
200 - o.setCreateTime(buildTime(2021,11,3)); 200 + o.setCreateTime(buildLocalDateTime(2021,11,3));
201 }); 201 });
202 202
203 Mockito.when(payMerchantMapper.getMerchantListByName(dbMerchant.getName())) 203 Mockito.when(payMerchantMapper.getMerchantListByName(dbMerchant.getName()))
@@ -217,7 +217,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -217,7 +217,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
217 // 测试 merchantId 不匹配 217 // 测试 merchantId 不匹配
218 appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId))); 218 appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId)));
219 // 测试 createTime 不匹配 219 // 测试 createTime 不匹配
220 - appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildTime(2021,12,21)))); 220 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildLocalDateTime(2021,12,21))));
221 // 准备参数 221 // 准备参数
222 PayAppExportReqVO reqVO = new PayAppExportReqVO(); 222 PayAppExportReqVO reqVO = new PayAppExportReqVO();
223 reqVO.setName("灿灿姐的杂货铺"); 223 reqVO.setName("灿灿姐的杂货铺");
@@ -226,7 +226,7 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -226,7 +226,7 @@ public class PayAppServiceTest extends BaseDbUnitTest {
226 reqVO.setPayNotifyUrl("https://www.hc.com"); 226 reqVO.setPayNotifyUrl("https://www.hc.com");
227 reqVO.setRefundNotifyUrl("https://www.xm.com"); 227 reqVO.setRefundNotifyUrl("https://www.xm.com");
228 reqVO.setMerchantName(dbMerchant.getName()); 228 reqVO.setMerchantName(dbMerchant.getName());
229 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,19),buildTime(2021,11,21)})); 229 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,19),buildLocalDateTime(2021,11,21)}));
230 230
231 // 调用 231 // 调用
232 List<PayAppDO> list = appService.getAppList(reqVO); 232 List<PayAppDO> list = appService.getAppList(reqVO);
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/merchant/PayChannelServiceTest.java
@@ -20,10 +20,10 @@ import org.springframework.context.annotation.Import; @@ -20,10 +20,10 @@ import org.springframework.context.annotation.Import;
20 20
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
22 import javax.validation.Validator; 22 import javax.validation.Validator;
23 -import java.util.Date; 23 +import java.time.LocalDateTime;
24 import java.util.List; 24 import java.util.List;
25 25
26 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 26 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
27 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 27 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -215,7 +215,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -215,7 +215,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
215 o.setMerchantId(1L); 215 o.setMerchantId(1L);
216 o.setAppId(1L); 216 o.setAppId(1L);
217 o.setConfig(payClientConfig); 217 o.setConfig(payClientConfig);
218 - o.setCreateTime(buildTime(2021,11,20)); 218 + o.setCreateTime(buildLocalDateTime(2021,11,20));
219 }); 219 });
220 channelMapper.insert(dbChannel); 220 channelMapper.insert(dbChannel);
221 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的 221 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的
@@ -253,7 +253,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -253,7 +253,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
253 // 测试 createTime 不匹配 253 // 测试 createTime 不匹配
254 channelMapper.insert(cloneIgnoreId(dbChannel, o -> { 254 channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
255 o.setConfig(payClientConfig); 255 o.setConfig(payClientConfig);
256 - o.setCreateTime(buildTime(2021, 10, 20)); 256 + o.setCreateTime(buildLocalDateTime(2021, 10, 20));
257 })); 257 }));
258 // 准备参数 258 // 准备参数
259 PayChannelPageReqVO reqVO = new PayChannelPageReqVO(); 259 PayChannelPageReqVO reqVO = new PayChannelPageReqVO();
@@ -264,7 +264,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -264,7 +264,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
264 reqVO.setMerchantId(1L); 264 reqVO.setMerchantId(1L);
265 reqVO.setAppId(1L); 265 reqVO.setAppId(1L);
266 reqVO.setConfig(JSON.toJSONString(payClientConfig)); 266 reqVO.setConfig(JSON.toJSONString(payClientConfig));
267 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,19),buildTime(2021,11,21)})); 267 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,19),buildLocalDateTime(2021,11,21)}));
268 268
269 // 调用 269 // 调用
270 PageResult<PayChannelDO> pageResult = channelService.getChannelPage(reqVO); 270 PageResult<PayChannelDO> pageResult = channelService.getChannelPage(reqVO);
@@ -288,7 +288,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -288,7 +288,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
288 o.setMerchantId(1L); 288 o.setMerchantId(1L);
289 o.setAppId(1L); 289 o.setAppId(1L);
290 o.setConfig(payClientConfig); 290 o.setConfig(payClientConfig);
291 - o.setCreateTime(buildTime(2021,11,20)); 291 + o.setCreateTime(buildLocalDateTime(2021,11,20));
292 }); 292 });
293 channelMapper.insert(dbChannel); 293 channelMapper.insert(dbChannel);
294 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的 294 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的
@@ -326,7 +326,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -326,7 +326,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
326 // 测试 createTime 不匹配 326 // 测试 createTime 不匹配
327 channelMapper.insert(cloneIgnoreId(dbChannel, o -> { 327 channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
328 o.setConfig(payClientConfig); 328 o.setConfig(payClientConfig);
329 - o.setCreateTime(buildTime(2021, 10, 20)); 329 + o.setCreateTime(buildLocalDateTime(2021, 10, 20));
330 })); 330 }));
331 // 准备参数 331 // 准备参数
332 PayChannelExportReqVO reqVO = new PayChannelExportReqVO(); 332 PayChannelExportReqVO reqVO = new PayChannelExportReqVO();
@@ -337,7 +337,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -337,7 +337,7 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
337 reqVO.setMerchantId(1L); 337 reqVO.setMerchantId(1L);
338 reqVO.setAppId(1L); 338 reqVO.setAppId(1L);
339 reqVO.setConfig(JSON.toJSONString(payClientConfig)); 339 reqVO.setConfig(JSON.toJSONString(payClientConfig));
340 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,19),buildTime(2021,11,21)})); 340 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,19),buildLocalDateTime(2021,11,21)}));
341 341
342 // 调用 342 // 调用
343 List<PayChannelDO> list = channelService.getChannelList(reqVO); 343 List<PayChannelDO> list = channelService.getChannelList(reqVO);
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/merchant/PayMerchantServiceTest.java
@@ -14,10 +14,10 @@ import org.junit.jupiter.api.Test; @@ -14,10 +14,10 @@ import org.junit.jupiter.api.Test;
14 import org.springframework.context.annotation.Import; 14 import org.springframework.context.annotation.Import;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 -import java.util.Date; 17 +import java.time.LocalDateTime;
18 import java.util.List; 18 import java.util.List;
19 19
20 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 20 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -116,7 +116,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -116,7 +116,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
116 o.setShortName("灿灿子"); 116 o.setShortName("灿灿子");
117 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 117 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
118 o.setRemark("灿哥的杂货铺"); 118 o.setRemark("灿哥的杂货铺");
119 - o.setCreateTime(buildTime(2021,11,3)); 119 + o.setCreateTime(buildLocalDateTime(2021,11,3));
120 }); 120 });
121 merchantMapper.insert(dbMerchant); 121 merchantMapper.insert(dbMerchant);
122 // 测试 no 不匹配 122 // 测试 no 不匹配
@@ -130,7 +130,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -130,7 +130,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
130 // 测试 remark 不匹配 130 // 测试 remark 不匹配
131 merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺"))); 131 merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺")));
132 // 测试 createTime 不匹配 132 // 测试 createTime 不匹配
133 - merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4)))); 133 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildLocalDateTime(2022,12,4))));
134 // 准备参数 134 // 准备参数
135 PayMerchantPageReqVO reqVO = new PayMerchantPageReqVO(); 135 PayMerchantPageReqVO reqVO = new PayMerchantPageReqVO();
136 reqVO.setNo("M1008611"); 136 reqVO.setNo("M1008611");
@@ -138,7 +138,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -138,7 +138,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
138 reqVO.setShortName("灿灿子"); 138 reqVO.setShortName("灿灿子");
139 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 139 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
140 reqVO.setRemark("灿哥的杂货铺"); 140 reqVO.setRemark("灿哥的杂货铺");
141 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,2),buildTime(2021,11,4)})); 141 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,2),buildLocalDateTime(2021,11,4)}));
142 142
143 // 调用 143 // 调用
144 PageResult<PayMerchantDO> pageResult = merchantService.getMerchantPage(reqVO); 144 PageResult<PayMerchantDO> pageResult = merchantService.getMerchantPage(reqVO);
@@ -157,7 +157,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -157,7 +157,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
157 o.setShortName("灿灿子"); 157 o.setShortName("灿灿子");
158 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 158 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
159 o.setRemark("灿哥的杂货铺"); 159 o.setRemark("灿哥的杂货铺");
160 - o.setCreateTime(buildTime(2021,11,3)); 160 + o.setCreateTime(buildLocalDateTime(2021,11,3));
161 }); 161 });
162 merchantMapper.insert(dbMerchant); 162 merchantMapper.insert(dbMerchant);
163 // 测试 no 不匹配 163 // 测试 no 不匹配
@@ -171,7 +171,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -171,7 +171,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
171 // 测试 remark 不匹配 171 // 测试 remark 不匹配
172 merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺"))); 172 merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺")));
173 // 测试 createTime 不匹配 173 // 测试 createTime 不匹配
174 - merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4)))); 174 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildLocalDateTime(2022,12,4))));
175 // 准备参数 175 // 准备参数
176 PayMerchantExportReqVO reqVO = new PayMerchantExportReqVO(); 176 PayMerchantExportReqVO reqVO = new PayMerchantExportReqVO();
177 reqVO.setNo("M1008611"); 177 reqVO.setNo("M1008611");
@@ -179,7 +179,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -179,7 +179,7 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
179 reqVO.setShortName("灿灿子"); 179 reqVO.setShortName("灿灿子");
180 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 180 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
181 reqVO.setRemark("灿哥的杂货铺"); 181 reqVO.setRemark("灿哥的杂货铺");
182 - reqVO.setCreateTime((new Date[]{buildTime(2021,11,2),buildTime(2021,11,4)})); 182 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021,11,2),buildLocalDateTime(2021,11,4)}));
183 183
184 // 调用 184 // 调用
185 List<PayMerchantDO> list = merchantService.getMerchantList(reqVO); 185 List<PayMerchantDO> list = merchantService.getMerchantList(reqVO);
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceTest.java
@@ -23,10 +23,10 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -23,10 +23,10 @@ import org.springframework.boot.test.mock.mockito.MockBean;
23 import org.springframework.context.annotation.Import; 23 import org.springframework.context.annotation.Import;
24 24
25 import javax.annotation.Resource; 25 import javax.annotation.Resource;
26 -import java.util.Date; 26 +import java.time.LocalDateTime;
27 import java.util.List; 27 import java.util.List;
28 28
29 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 29 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
30 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 30 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
31 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 31 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
32 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; 32 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
@@ -58,7 +58,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -58,7 +58,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
58 private PayNotifyService notifyService; 58 private PayNotifyService notifyService;
59 59
60 public String generateNo() { 60 public String generateNo() {
61 - return DateUtil.format(new Date(), "yyyyMMddHHmmss") + RandomUtil.randomInt(100000, 999999); 61 + return DateUtil.format(LocalDateTime.now(), "yyyyMMddHHmmss") + RandomUtil.randomInt(100000, 999999);
62 } 62 }
63 63
64 @Test 64 @Test
@@ -83,17 +83,17 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -83,17 +83,17 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
83 o.setChannelFeeAmount(1L); 83 o.setChannelFeeAmount(1L);
84 o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()); 84 o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus());
85 o.setUserIp("127.0.0.1"); 85 o.setUserIp("127.0.0.1");
86 - o.setCreateTime(DateUtils.buildTime(2018, 1, 1, 10, 1, 0));  
87 - o.setExpireTime(DateUtils.buildTime(2018, 1, 1, 10, 30, 0));  
88 - o.setSuccessTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 2));  
89 - o.setNotifyTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 15)); 86 + o.setCreateTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 1, 0));
  87 + o.setExpireTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 30, 0));
  88 + o.setSuccessTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 2));
  89 + o.setNotifyTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 15));
90 o.setSuccessExtensionId(1L); 90 o.setSuccessExtensionId(1L);
91 o.setRefundStatus(PayRefundTypeEnum.NO.getStatus()); 91 o.setRefundStatus(PayRefundTypeEnum.NO.getStatus());
92 o.setRefundTimes(0); 92 o.setRefundTimes(0);
93 o.setRefundAmount(0L); 93 o.setRefundAmount(0L);
94 o.setChannelUserId("1008611"); 94 o.setChannelUserId("1008611");
95 o.setChannelOrderNo(channelOrderId); 95 o.setChannelOrderNo(channelOrderId);
96 - o.setUpdateTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 15)); 96 + o.setUpdateTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 15));
97 }); 97 });
98 orderMapper.insert(dbOrder); 98 orderMapper.insert(dbOrder);
99 // 测试 merchantId 不匹配 99 // 测试 merchantId 不匹配
@@ -113,7 +113,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -113,7 +113,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
113 // 测试 refundStatus 不匹配 113 // 测试 refundStatus 不匹配
114 orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus()))); 114 orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus())));
115 // 测试 createTime 不匹配 115 // 测试 createTime 不匹配
116 - orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10, 116 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2019, 1, 1, 10, 10,
117 1)))); 117 1))));
118 // 准备参数 118 // 准备参数
119 PayOrderPageReqVO reqVO = new PayOrderPageReqVO(); 119 PayOrderPageReqVO reqVO = new PayOrderPageReqVO();
@@ -125,7 +125,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -125,7 +125,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
125 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus()); 125 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus());
126 reqVO.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()); 126 reqVO.setStatus(PayOrderStatusEnum.SUCCESS.getStatus());
127 reqVO.setRefundStatus(PayRefundTypeEnum.NO.getStatus()); 127 reqVO.setRefundStatus(PayRefundTypeEnum.NO.getStatus());
128 - reqVO.setCreateTime((new Date[]{buildTime(2018, 1, 1, 10, 1, 0),buildTime(2018, 1, 1, 10, 1, 0)})); 128 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2018, 1, 1, 10, 1, 0),buildLocalDateTime(2018, 1, 1, 10, 1, 0)}));
129 // 调用 129 // 调用
130 PageResult<PayOrderDO> pageResult = orderService.getOrderPage(reqVO); 130 PageResult<PayOrderDO> pageResult = orderService.getOrderPage(reqVO);
131 // 断言 131 // 断言
@@ -155,17 +155,17 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -155,17 +155,17 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
155 o.setChannelFeeAmount(1L); 155 o.setChannelFeeAmount(1L);
156 o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()); 156 o.setStatus(PayOrderStatusEnum.SUCCESS.getStatus());
157 o.setUserIp("127.0.0.1"); 157 o.setUserIp("127.0.0.1");
158 - o.setCreateTime(DateUtils.buildTime(2018, 1, 1, 10, 1, 0));  
159 - o.setExpireTime(DateUtils.buildTime(2018, 1, 1, 10, 30, 0));  
160 - o.setSuccessTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 2));  
161 - o.setNotifyTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 15)); 158 + o.setCreateTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 1, 0));
  159 + o.setExpireTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 30, 0));
  160 + o.setSuccessTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 2));
  161 + o.setNotifyTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 15));
162 o.setSuccessExtensionId(1L); 162 o.setSuccessExtensionId(1L);
163 o.setRefundStatus(PayRefundTypeEnum.NO.getStatus()); 163 o.setRefundStatus(PayRefundTypeEnum.NO.getStatus());
164 o.setRefundTimes(0); 164 o.setRefundTimes(0);
165 o.setRefundAmount(0L); 165 o.setRefundAmount(0L);
166 o.setChannelUserId("1008611"); 166 o.setChannelUserId("1008611");
167 o.setChannelOrderNo(channelOrderId); 167 o.setChannelOrderNo(channelOrderId);
168 - o.setUpdateTime(DateUtils.buildTime(2018, 1, 1, 10, 10, 15)); 168 + o.setUpdateTime(DateUtils.buildLocalDateTime(2018, 1, 1, 10, 10, 15));
169 169
170 }); 170 });
171 orderMapper.insert(dbOrder); 171 orderMapper.insert(dbOrder);
@@ -186,7 +186,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -186,7 +186,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
186 // 测试 refundStatus 不匹配 186 // 测试 refundStatus 不匹配
187 orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus()))); 187 orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus())));
188 // 测试 createTime 不匹配 188 // 测试 createTime 不匹配
189 - orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10, 189 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2019, 1, 1, 10, 10,
190 1)))); 190 1))));
191 // 准备参数 191 // 准备参数
192 PayOrderExportReqVO reqVO = new PayOrderExportReqVO(); 192 PayOrderExportReqVO reqVO = new PayOrderExportReqVO();
@@ -198,7 +198,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -198,7 +198,7 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
198 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus()); 198 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus());
199 reqVO.setStatus(PayOrderStatusEnum.SUCCESS.getStatus()); 199 reqVO.setStatus(PayOrderStatusEnum.SUCCESS.getStatus());
200 reqVO.setRefundStatus(PayRefundTypeEnum.NO.getStatus()); 200 reqVO.setRefundStatus(PayRefundTypeEnum.NO.getStatus());
201 - reqVO.setCreateTime((new Date[]{buildTime(2018, 1, 1, 10, 1, 0),buildTime(2018, 1, 1, 10, 1, 0)})); 201 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2018, 1, 1, 10, 1, 0),buildLocalDateTime(2018, 1, 1, 10, 1, 0)}));
202 202
203 // 调用 203 // 调用
204 List<PayOrderDO> list = orderService.getOrderList(reqVO); 204 List<PayOrderDO> list = orderService.getOrderList(reqVO);
yudao-module-pay/yudao-module-pay-biz/src/test/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceTest.java
@@ -22,10 +22,10 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -22,10 +22,10 @@ import org.springframework.boot.test.mock.mockito.MockBean;
22 import org.springframework.context.annotation.Import; 22 import org.springframework.context.annotation.Import;
23 23
24 import javax.annotation.Resource; 24 import javax.annotation.Resource;
25 -import java.util.Date; 25 +import java.time.LocalDateTime;
26 import java.util.List; 26 import java.util.List;
27 27
28 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 28 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
29 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 29 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
31 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; 31 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
@@ -78,11 +78,11 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -78,11 +78,11 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
78 o.setChannelErrorCode(""); 78 o.setChannelErrorCode("");
79 o.setChannelErrorMsg(""); 79 o.setChannelErrorMsg("");
80 o.setChannelExtras(""); 80 o.setChannelExtras("");
81 - o.setExpireTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 30));  
82 - o.setSuccessTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 15));  
83 - o.setNotifyTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 20));  
84 - o.setCreateTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 10));  
85 - o.setUpdateTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 35)); 81 + o.setExpireTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 30));
  82 + o.setSuccessTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 15));
  83 + o.setNotifyTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 20));
  84 + o.setCreateTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 10));
  85 + o.setUpdateTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 35));
86 }); 86 });
87 refundMapper.insert(dbRefund); 87 refundMapper.insert(dbRefund);
88 // 测试 merchantId 不匹配 88 // 测试 merchantId 不匹配
@@ -102,7 +102,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -102,7 +102,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
102 refundMapper.insert(cloneIgnoreId(dbRefund, o -> o.setType(PayRefundTypeEnum.ALL.getStatus()))); 102 refundMapper.insert(cloneIgnoreId(dbRefund, o -> o.setType(PayRefundTypeEnum.ALL.getStatus())));
103 // 测试 createTime 不匹配 103 // 测试 createTime 不匹配
104 refundMapper.insert(cloneIgnoreId(dbRefund, o -> 104 refundMapper.insert(cloneIgnoreId(dbRefund, o ->
105 - o.setCreateTime(DateUtils.buildTime(2022, 1, 1, 10, 10, 10)))); 105 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 1, 1, 10, 10, 10))));
106 // 准备参数 106 // 准备参数
107 PayRefundPageReqVO reqVO = new PayRefundPageReqVO(); 107 PayRefundPageReqVO reqVO = new PayRefundPageReqVO();
108 reqVO.setMerchantId(1L); 108 reqVO.setMerchantId(1L);
@@ -112,7 +112,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -112,7 +112,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
112 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus()); 112 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus());
113 reqVO.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()); 113 reqVO.setStatus(PayRefundStatusEnum.SUCCESS.getStatus());
114 reqVO.setType(PayRefundTypeEnum.SOME.getStatus()); 114 reqVO.setType(PayRefundTypeEnum.SOME.getStatus());
115 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 1, 10, 10, 10),buildTime(2021, 1, 1, 10, 10, 12)})); 115 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 1, 10, 10, 10),buildLocalDateTime(2021, 1, 1, 10, 10, 12)}));
116 116
117 // 调用 117 // 调用
118 PageResult<PayRefundDO> pageResult = refundService.getRefundPage(reqVO); 118 PageResult<PayRefundDO> pageResult = refundService.getRefundPage(reqVO);
@@ -147,11 +147,11 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -147,11 +147,11 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
147 o.setChannelErrorCode(""); 147 o.setChannelErrorCode("");
148 o.setChannelErrorMsg(""); 148 o.setChannelErrorMsg("");
149 o.setChannelExtras(""); 149 o.setChannelExtras("");
150 - o.setExpireTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 30));  
151 - o.setSuccessTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 15));  
152 - o.setNotifyTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 20));  
153 - o.setCreateTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 10));  
154 - o.setUpdateTime(DateUtils.buildTime(2021, 1, 1, 10, 10, 35)); 150 + o.setExpireTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 30));
  151 + o.setSuccessTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 15));
  152 + o.setNotifyTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 20));
  153 + o.setCreateTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 10));
  154 + o.setUpdateTime(DateUtils.buildLocalDateTime(2021, 1, 1, 10, 10, 35));
155 }); 155 });
156 refundMapper.insert(dbRefund); 156 refundMapper.insert(dbRefund);
157 // 测试 merchantId 不匹配 157 // 测试 merchantId 不匹配
@@ -171,7 +171,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -171,7 +171,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
171 refundMapper.insert(cloneIgnoreId(dbRefund, o -> o.setType(PayRefundTypeEnum.ALL.getStatus()))); 171 refundMapper.insert(cloneIgnoreId(dbRefund, o -> o.setType(PayRefundTypeEnum.ALL.getStatus())));
172 // 测试 createTime 不匹配 172 // 测试 createTime 不匹配
173 refundMapper.insert(cloneIgnoreId(dbRefund, o -> 173 refundMapper.insert(cloneIgnoreId(dbRefund, o ->
174 - o.setCreateTime(DateUtils.buildTime(2022, 1, 1, 10, 10, 10)))); 174 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 1, 1, 10, 10, 10))));
175 175
176 // 准备参数 176 // 准备参数
177 PayRefundExportReqVO reqVO = new PayRefundExportReqVO(); 177 PayRefundExportReqVO reqVO = new PayRefundExportReqVO();
@@ -182,7 +182,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest { @@ -182,7 +182,7 @@ public class PayRefundServiceTest extends BaseDbUnitTest {
182 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus()); 182 reqVO.setNotifyStatus(PayOrderNotifyStatusEnum.SUCCESS.getStatus());
183 reqVO.setStatus(PayRefundStatusEnum.SUCCESS.getStatus()); 183 reqVO.setStatus(PayRefundStatusEnum.SUCCESS.getStatus());
184 reqVO.setType(PayRefundTypeEnum.SOME.getStatus()); 184 reqVO.setType(PayRefundTypeEnum.SOME.getStatus());
185 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 1, 10, 10, 10),buildTime(2021, 1, 1, 10, 10, 12)})); 185 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 1, 10, 10, 10),buildLocalDateTime(2021, 1, 1, 10, 10, 12)}));
186 186
187 // 调用 187 // 调用
188 List<PayRefundDO> list = refundService.getRefundList(reqVO); 188 List<PayRefundDO> list = refundService.getRefundList(reqVO);
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/ErrorCodeApi.java
@@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReq @@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReq
4 import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO; 4 import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
5 5
6 import javax.validation.Valid; 6 import javax.validation.Valid;
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 import java.util.List; 8 import java.util.List;
9 9
10 /** 10 /**
@@ -30,6 +30,6 @@ public interface ErrorCodeApi { @@ -30,6 +30,6 @@ public interface ErrorCodeApi {
30 * @param minUpdateTime 最小更新时间 30 * @param minUpdateTime 最小更新时间
31 * @return 错误码数组 31 * @return 错误码数组
32 */ 32 */
33 - List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime); 33 + List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, LocalDateTime minUpdateTime);
34 34
35 } 35 }
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/dto/ErrorCodeRespDTO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.api.errorcode.dto; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.api.errorcode.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 -import java.util.Date; 5 +import java.time.LocalDateTime;
6 6
7 /** 7 /**
8 * 错误码的 Response DTO 8 * 错误码的 Response DTO
@@ -23,6 +23,6 @@ public class ErrorCodeRespDTO { @@ -23,6 +23,6 @@ public class ErrorCodeRespDTO {
23 /** 23 /**
24 * 更新时间 24 * 更新时间
25 */ 25 */
26 - private Date updateTime; 26 + private LocalDateTime updateTime;
27 27
28 } 28 }
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogCreateReqDTO.java
@@ -4,7 +4,7 @@ import lombok.Data; @@ -4,7 +4,7 @@ import lombok.Data;
4 4
5 import javax.validation.constraints.NotEmpty; 5 import javax.validation.constraints.NotEmpty;
6 import javax.validation.constraints.NotNull; 6 import javax.validation.constraints.NotNull;
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 import java.util.Map; 8 import java.util.Map;
9 9
10 /** 10 /**
@@ -96,7 +96,7 @@ public class OperateLogCreateReqDTO { @@ -96,7 +96,7 @@ public class OperateLogCreateReqDTO {
96 * 开始时间 96 * 开始时间
97 */ 97 */
98 @NotNull(message = "开始时间不能为空") 98 @NotNull(message = "开始时间不能为空")
99 - private Date startTime; 99 + private LocalDateTime startTime;
100 100
101 /** 101 /**
102 * 执行时长,单位:毫秒 102 * 执行时长,单位:毫秒
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/dto/OAuth2AccessTokenRespDTO.java
@@ -4,7 +4,7 @@ import lombok.Data; @@ -4,7 +4,7 @@ import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
5 5
6 import java.io.Serializable; 6 import java.io.Serializable;
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 8
9 /** 9 /**
10 * OAuth2.0 访问令牌的信息 Response DTO 10 * OAuth2.0 访问令牌的信息 Response DTO
@@ -34,6 +34,6 @@ public class OAuth2AccessTokenRespDTO implements Serializable { @@ -34,6 +34,6 @@ public class OAuth2AccessTokenRespDTO implements Serializable {
34 /** 34 /**
35 * 过期时间 35 * 过期时间
36 */ 36 */
37 - private Date expiresTime; 37 + private LocalDateTime expiresTime;
38 38
39 } 39 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/ErrorCodeApiImpl.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.service.errorcode.ErrorCodeService; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.service.errorcode.ErrorCodeService;
6 import org.springframework.stereotype.Service; 6 import org.springframework.stereotype.Service;
7 7
8 import javax.annotation.Resource; 8 import javax.annotation.Resource;
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 11
12 /** 12 /**
@@ -26,7 +26,7 @@ public class ErrorCodeApiImpl implements ErrorCodeApi { @@ -26,7 +26,7 @@ public class ErrorCodeApiImpl implements ErrorCodeApi {
26 } 26 }
27 27
28 @Override 28 @Override
29 - public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime) { 29 + public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, LocalDateTime minUpdateTime) {
30 return errorCodeService.getErrorCodeList(applicationName, minUpdateTime); 30 return errorCodeService.getErrorCodeList(applicationName, minUpdateTime);
31 } 31 }
32 32
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java
@@ -7,7 +7,7 @@ import lombok.Builder; @@ -7,7 +7,7 @@ import lombok.Builder;
7 import lombok.Data; 7 import lombok.Data;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 登录 Response VO") 12 @ApiModel("管理后台 - 登录 Response VO")
13 @Data 13 @Data
@@ -26,6 +26,6 @@ public class AuthLoginRespVO { @@ -26,6 +26,6 @@ public class AuthLoginRespVO {
26 private String refreshToken; 26 private String refreshToken;
27 27
28 @ApiModelProperty(value = "过期时间", required = true) 28 @ApiModelProperty(value = "过期时间", required = true)
29 - private Date expiresTime; 29 + private LocalDateTime expiresTime;
30 30
31 } 31 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 @ApiModel("管理后台 - 部门信息 Response VO") 10 @ApiModel("管理后台 - 部门信息 Response VO")
11 @Data 11 @Data
@@ -19,6 +19,6 @@ public class DeptRespVO extends DeptBaseVO { @@ -19,6 +19,6 @@ public class DeptRespVO extends DeptBaseVO {
19 private Integer status; 19 private Integer status;
20 20
21 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 21 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
22 - private Date createTime; 22 + private LocalDateTime createTime;
23 23
24 } 24 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 @ApiModel("管理后台 - 岗位信息 Response VO") 10 @ApiModel("管理后台 - 岗位信息 Response VO")
11 @Data 11 @Data
@@ -16,6 +16,6 @@ public class PostRespVO extends PostBaseVO { @@ -16,6 +16,6 @@ public class PostRespVO extends PostBaseVO {
16 private Long id; 16 private Long id;
17 17
18 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 18 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
19 - private Date createTime; 19 + private LocalDateTime createTime;
20 20
21 } 21 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 字典数据信息 Response VO") 12 @ApiModel("管理后台 - 字典数据信息 Response VO")
13 @Data 13 @Data
@@ -20,6 +20,6 @@ public class DictDataRespVO extends DictDataBaseVO { @@ -20,6 +20,6 @@ public class DictDataRespVO extends DictDataBaseVO {
20 private Long id; 20 private Long id;
21 21
22 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 22 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
23 - private Date createTime; 23 + private LocalDateTime createTime;
24 24
25 } 25 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,6 +24,6 @@ public class DictTypeExportReqVO { @@ -24,6 +24,6 @@ public class DictTypeExportReqVO {
24 24
25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
26 @ApiModelProperty(value = "创建时间") 26 @ApiModelProperty(value = "创建时间")
27 - private Date[] createTime; 27 + private LocalDateTime[] createTime;
28 28
29 } 29 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
10 import javax.validation.constraints.Size; 10 import javax.validation.constraints.Size;
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -29,6 +29,6 @@ public class DictTypePageReqVO extends PageParam { @@ -29,6 +29,6 @@ public class DictTypePageReqVO extends PageParam {
29 29
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 @ApiModelProperty(value = "创建时间") 31 @ApiModelProperty(value = "创建时间")
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 33
34 } 34 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 字典类型信息 Response VO") 12 @ApiModel("管理后台 - 字典类型信息 Response VO")
13 @Data 13 @Data
@@ -23,6 +23,6 @@ public class DictTypeRespVO extends DictTypeBaseVO { @@ -23,6 +23,6 @@ public class DictTypeRespVO extends DictTypeBaseVO {
23 private String type; 23 private String type;
24 24
25 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 25 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
26 - private Date createTime; 26 + private LocalDateTime createTime;
27 27
28 } 28 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeExcelVO.java
@@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.system.controller.admin.errorcode.vo; @@ -2,11 +2,10 @@ package cn.iocoder.yudao.module.system.controller.admin.errorcode.vo;
2 2
3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
5 -//import cn.iocoder.yudao.adminserver.modules.infra.enums.InfDictTypeConstants;  
6 import com.alibaba.excel.annotation.ExcelProperty; 5 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 6 import lombok.Data;
8 7
9 -import java.util.Date; 8 +import java.time.LocalDateTime;
10 9
11 /** 10 /**
12 * 错误码 Excel VO 11 * 错误码 Excel VO
@@ -36,6 +35,6 @@ public class ErrorCodeExcelVO { @@ -36,6 +35,6 @@ public class ErrorCodeExcelVO {
36 private String memo; 35 private String memo;
37 36
38 @ExcelProperty("创建时间") 37 @ExcelProperty("创建时间")
39 - private Date createTime; 38 + private LocalDateTime createTime;
40 39
41 } 40 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,6 +27,6 @@ public class ErrorCodeExportReqVO { @@ -27,6 +27,6 @@ public class ErrorCodeExportReqVO {
27 27
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 @ApiModelProperty(value = "创建时间") 29 @ApiModelProperty(value = "创建时间")
30 - private Date[] createTime; 30 + private LocalDateTime[] createTime;
31 31
32 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -32,6 +32,6 @@ public class ErrorCodePageReqVO extends PageParam { @@ -32,6 +32,6 @@ public class ErrorCodePageReqVO extends PageParam {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "创建时间") 34 @ApiModelProperty(value = "创建时间")
35 - private Date[] createTime; 35 + private LocalDateTime[] createTime;
36 36
37 } 37 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 错误码 Response VO") 11 @ApiModel("管理后台 - 错误码 Response VO")
12 @Data 12 @Data
@@ -21,6 +21,6 @@ public class ErrorCodeRespVO extends ErrorCodeBaseVO { @@ -21,6 +21,6 @@ public class ErrorCodeRespVO extends ErrorCodeBaseVO {
21 private Integer type; 21 private Integer type;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 } 26 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 登录日志 Excel 导出响应 VO 12 * 登录日志 Excel 导出响应 VO
@@ -35,6 +35,6 @@ public class LoginLogExcelVO { @@ -35,6 +35,6 @@ public class LoginLogExcelVO {
35 private String userAgent; 35 private String userAgent;
36 36
37 @ExcelProperty("登录时间") 37 @ExcelProperty("登录时间")
38 - private Date createTime; 38 + private LocalDateTime createTime;
39 39
40 } 40 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,6 +24,6 @@ public class LoginLogExportReqVO { @@ -24,6 +24,6 @@ public class LoginLogExportReqVO {
24 24
25 @ApiModelProperty(value = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 25 @ApiModelProperty(value = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 - private Date[] createTime; 27 + private LocalDateTime[] createTime;
28 28
29 } 29 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
13 13
@@ -27,6 +27,6 @@ public class LoginLogPageReqVO extends PageParam { @@ -27,6 +27,6 @@ public class LoginLogPageReqVO extends PageParam {
27 27
28 @ApiModelProperty(value = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 28 @ApiModelProperty(value = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
30 - private Date[] createTime; 30 + private LocalDateTime[] createTime;
31 31
32 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 登录日志 Response VO") 12 @ApiModel("管理后台 - 登录日志 Response VO")
13 @Data 13 @Data
@@ -26,6 +26,6 @@ public class LoginLogRespVO extends LoginLogBaseVO { @@ -26,6 +26,6 @@ public class LoginLogRespVO extends LoginLogBaseVO {
26 private Integer userType; 26 private Integer userType;
27 27
28 @ApiModelProperty(value = "登录时间", required = true) 28 @ApiModelProperty(value = "登录时间", required = true)
29 - private Date createTime; 29 + private LocalDateTime createTime;
30 30
31 } 31 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 5
6 import javax.validation.constraints.NotEmpty; 6 import javax.validation.constraints.NotEmpty;
7 import javax.validation.constraints.NotNull; 7 import javax.validation.constraints.NotNull;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 import java.util.Map; 9 import java.util.Map;
10 10
11 /** 11 /**
@@ -66,7 +66,7 @@ public class OperateLogBaseVO { @@ -66,7 +66,7 @@ public class OperateLogBaseVO {
66 66
67 @ApiModelProperty(value = "开始时间", required = true) 67 @ApiModelProperty(value = "开始时间", required = true)
68 @NotNull(message = "开始时间不能为空") 68 @NotNull(message = "开始时间不能为空")
69 - private Date startTime; 69 + private LocalDateTime startTime;
70 70
71 @ApiModelProperty(value = "执行时长,单位:毫秒", required = true) 71 @ApiModelProperty(value = "执行时长,单位:毫秒", required = true)
72 @NotNull(message = "执行时长不能为空") 72 @NotNull(message = "执行时长不能为空")
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 操作日志 Excel 导出响应 VO 12 * 操作日志 Excel 导出响应 VO
@@ -34,7 +34,7 @@ public class OperateLogExcelVO { @@ -34,7 +34,7 @@ public class OperateLogExcelVO {
34 private String successStr; 34 private String successStr;
35 35
36 @ExcelProperty("操作日志") 36 @ExcelProperty("操作日志")
37 - private Date startTime; 37 + private LocalDateTime startTime;
38 38
39 @ExcelProperty("执行时长") 39 @ExcelProperty("执行时长")
40 private Integer duration; 40 private Integer duration;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,6 +27,6 @@ public class OperateLogExportReqVO { @@ -27,6 +27,6 @@ public class OperateLogExportReqVO {
27 27
28 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 28 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
30 - private Date[] startTime; 30 + private LocalDateTime[] startTime;
31 31
32 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java
@@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
6 import lombok.Data; 6 import lombok.Data;
7 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 11 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
12 12
@@ -28,6 +28,6 @@ public class OperateLogPageReqVO extends PageParam { @@ -28,6 +28,6 @@ public class OperateLogPageReqVO extends PageParam {
28 28
29 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 29 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 - private Date[] startTime; 31 + private LocalDateTime[] startTime;
32 32
33 } 33 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 @ApiModel("管理后台 - 通知公告信息 Response VO") 10 @ApiModel("管理后台 - 通知公告信息 Response VO")
11 @Data 11 @Data
@@ -16,6 +16,6 @@ public class NoticeRespVO extends NoticeBaseVO { @@ -16,6 +16,6 @@ public class NoticeRespVO extends NoticeBaseVO {
16 private Long id; 16 private Long id;
17 17
18 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 18 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
19 - private Date createTime; 19 + private LocalDateTime createTime;
20 20
21 } 21 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - OAuth2 客户端 Response VO") 11 @ApiModel("管理后台 - OAuth2 客户端 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class OAuth2ClientRespVO extends OAuth2ClientBaseVO { @@ -18,6 +18,6 @@ public class OAuth2ClientRespVO extends OAuth2ClientBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java
@@ -6,7 +6,7 @@ import lombok.AllArgsConstructor; @@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
6 import lombok.Data; 6 import lombok.Data;
7 import lombok.NoArgsConstructor; 7 import lombok.NoArgsConstructor;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 访问令牌 Response VO") 11 @ApiModel("管理后台 - 访问令牌 Response VO")
12 @Data 12 @Data
@@ -33,9 +33,9 @@ public class OAuth2AccessTokenRespVO { @@ -33,9 +33,9 @@ public class OAuth2AccessTokenRespVO {
33 private String clientId; 33 private String clientId;
34 34
35 @ApiModelProperty(value = "创建时间", required = true) 35 @ApiModelProperty(value = "创建时间", required = true)
36 - private Date createTime; 36 + private LocalDateTime createTime;
37 37
38 @ApiModelProperty(value = "过期时间", required = true) 38 @ApiModelProperty(value = "过期时间", required = true)
39 - private Date expiresTime; 39 + private LocalDateTime expiresTime;
40 40
41 } 41 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 @ApiModel("管理后台 - 菜单信息 Response VO") 12 @ApiModel("管理后台 - 菜单信息 Response VO")
13 @Data 13 @Data
@@ -23,6 +23,6 @@ public class MenuRespVO extends MenuBaseVO { @@ -23,6 +23,6 @@ public class MenuRespVO extends MenuBaseVO {
23 private Integer status; 23 private Integer status;
24 24
25 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 25 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
26 - private Date createTime; 26 + private LocalDateTime createTime;
27 27
28 } 28 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,6 +24,6 @@ public class RoleExportReqVO { @@ -24,6 +24,6 @@ public class RoleExportReqVO {
24 24
25 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 25 @ApiModelProperty(value = "开始时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 26 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
27 - private Date[] createTime; 27 + private LocalDateTime[] createTime;
28 28
29 } 29 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RolePageReqVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
13 13
@@ -27,6 +27,6 @@ public class RolePageReqVO extends PageParam { @@ -27,6 +27,6 @@ public class RolePageReqVO extends PageParam {
27 27
28 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 28 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 29 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
30 - private Date[] createTime; 30 + private LocalDateTime[] createTime;
31 31
32 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor; 8 import lombok.NoArgsConstructor;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.Set; 11 import java.util.Set;
12 12
13 @ApiModel("管理后台 - 角色信息 Response VO") 13 @ApiModel("管理后台 - 角色信息 Response VO")
@@ -33,6 +33,6 @@ public class RoleRespVO extends RoleBaseVO { @@ -33,6 +33,6 @@ public class RoleRespVO extends RoleBaseVO {
33 private Integer type; 33 private Integer type;
34 34
35 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 35 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
36 - private Date createTime; 36 + private LocalDateTime createTime;
37 37
38 } 38 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 11
12 /** 12 /**
@@ -34,6 +34,6 @@ public class SensitiveWordExcelVO { @@ -34,6 +34,6 @@ public class SensitiveWordExcelVO {
34 private String description; 34 private String description;
35 35
36 @ExcelProperty("创建时间") 36 @ExcelProperty("创建时间")
37 - private Date createTime; 37 + private LocalDateTime createTime;
38 38
39 } 39 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -24,6 +24,6 @@ public class SensitiveWordExportReqVO { @@ -24,6 +24,6 @@ public class SensitiveWordExportReqVO {
24 24
25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 25 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
26 @ApiModelProperty(value = "创建时间") 26 @ApiModelProperty(value = "创建时间")
27 - private Date[] createTime; 27 + private LocalDateTime[] createTime;
28 28
29 } 29 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -29,6 +29,6 @@ public class SensitiveWordPageReqVO extends PageParam { @@ -29,6 +29,6 @@ public class SensitiveWordPageReqVO extends PageParam {
29 29
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 @ApiModelProperty(value = "创建时间") 31 @ApiModelProperty(value = "创建时间")
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 33
34 } 34 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 敏感词 Response VO") 11 @ApiModel("管理后台 - 敏感词 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class SensitiveWordRespVO extends SensitiveWordBaseVO { @@ -18,6 +18,6 @@ public class SensitiveWordRespVO extends SensitiveWordBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -26,6 +26,6 @@ public class SmsChannelPageReqVO extends PageParam { @@ -26,6 +26,6 @@ public class SmsChannelPageReqVO extends PageParam {
26 26
27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 27 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
28 @ApiModelProperty(value = "创建时间") 28 @ApiModelProperty(value = "创建时间")
29 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
30 30
31 } 31 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 短信渠道 Response VO") 11 @ApiModel("管理后台 - 短信渠道 Response VO")
12 @Data 12 @Data
@@ -21,6 +21,6 @@ public class SmsChannelRespVO extends SmsChannelBaseVO { @@ -21,6 +21,6 @@ public class SmsChannelRespVO extends SmsChannelBaseVO {
21 private String code; 21 private String code;
22 22
23 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
24 - private Date createTime; 24 + private LocalDateTime createTime;
25 25
26 } 26 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 import lombok.Data; 8 import lombok.Data;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.Map; 11 import java.util.Map;
12 12
13 /** 13 /**
@@ -61,7 +61,7 @@ public class SmsLogExcelVO { @@ -61,7 +61,7 @@ public class SmsLogExcelVO {
61 private Integer sendStatus; 61 private Integer sendStatus;
62 62
63 @ExcelProperty("发送时间") 63 @ExcelProperty("发送时间")
64 - private Date sendTime; 64 + private LocalDateTime sendTime;
65 65
66 @ExcelProperty("发送结果的编码") 66 @ExcelProperty("发送结果的编码")
67 private Integer sendCode; 67 private Integer sendCode;
@@ -86,7 +86,7 @@ public class SmsLogExcelVO { @@ -86,7 +86,7 @@ public class SmsLogExcelVO {
86 private Integer receiveStatus; 86 private Integer receiveStatus;
87 87
88 @ExcelProperty("接收时间") 88 @ExcelProperty("接收时间")
89 - private Date receiveTime; 89 + private LocalDateTime receiveTime;
90 90
91 @ExcelProperty("API 接收结果的编码") 91 @ExcelProperty("API 接收结果的编码")
92 private String apiReceiveCode; 92 private String apiReceiveCode;
@@ -95,6 +95,6 @@ public class SmsLogExcelVO { @@ -95,6 +95,6 @@ public class SmsLogExcelVO {
95 private String apiReceiveMsg; 95 private String apiReceiveMsg;
96 96
97 @ExcelProperty("创建时间") 97 @ExcelProperty("创建时间")
98 - private Date createTime; 98 + private LocalDateTime createTime;
99 99
100 } 100 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,13 +27,13 @@ public class SmsLogExportReqVO { @@ -27,13 +27,13 @@ public class SmsLogExportReqVO {
27 27
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 @ApiModelProperty(value = "开始发送时间") 29 @ApiModelProperty(value = "开始发送时间")
30 - private Date[] sendTime; 30 + private LocalDateTime[] sendTime;
31 31
32 @ApiModelProperty(value = "接收状态", example = "0") 32 @ApiModelProperty(value = "接收状态", example = "0")
33 private Integer receiveStatus; 33 private Integer receiveStatus;
34 34
35 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 35 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
36 @ApiModelProperty(value = "开始接收时间") 36 @ApiModelProperty(value = "开始接收时间")
37 - private Date[] receiveTime; 37 + private LocalDateTime[] receiveTime;
38 38
39 } 39 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -32,13 +32,13 @@ public class SmsLogPageReqVO extends PageParam { @@ -32,13 +32,13 @@ public class SmsLogPageReqVO extends PageParam {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "发送时间") 34 @ApiModelProperty(value = "发送时间")
35 - private Date[] sendTime; 35 + private LocalDateTime[] sendTime;
36 36
37 @ApiModelProperty(value = "接收状态", example = "0", notes = "参见 SmsReceiveStatusEnum 枚举类") 37 @ApiModelProperty(value = "接收状态", example = "0", notes = "参见 SmsReceiveStatusEnum 枚举类")
38 private Integer receiveStatus; 38 private Integer receiveStatus;
39 39
40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
41 @ApiModelProperty(value = "接收时间") 41 @ApiModelProperty(value = "接收时间")
42 - private Date[] receiveTime; 42 + private LocalDateTime[] receiveTime;
43 43
44 } 44 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
8 import java.util.Map; 8 import java.util.Map;
9 9
10 @ApiModel("管理后台 - 短信日志 Response VO") 10 @ApiModel("管理后台 - 短信日志 Response VO")
@@ -51,7 +51,7 @@ public class SmsLogRespVO { @@ -51,7 +51,7 @@ public class SmsLogRespVO {
51 private Integer sendStatus; 51 private Integer sendStatus;
52 52
53 @ApiModelProperty(value = "发送时间") 53 @ApiModelProperty(value = "发送时间")
54 - private Date sendTime; 54 + private LocalDateTime sendTime;
55 55
56 @ApiModelProperty(value = "发送结果的编码", example = "0") 56 @ApiModelProperty(value = "发送结果的编码", example = "0")
57 private Integer sendCode; 57 private Integer sendCode;
@@ -75,7 +75,7 @@ public class SmsLogRespVO { @@ -75,7 +75,7 @@ public class SmsLogRespVO {
75 private Integer receiveStatus; 75 private Integer receiveStatus;
76 76
77 @ApiModelProperty(value = "接收时间") 77 @ApiModelProperty(value = "接收时间")
78 - private Date receiveTime; 78 + private LocalDateTime receiveTime;
79 79
80 @ApiModelProperty(value = "API 接收结果的编码", example = "DELIVRD") 80 @ApiModelProperty(value = "API 接收结果的编码", example = "DELIVRD")
81 private String apiReceiveCode; 81 private String apiReceiveCode;
@@ -84,6 +84,6 @@ public class SmsLogRespVO { @@ -84,6 +84,6 @@ public class SmsLogRespVO {
84 private String apiReceiveMsg; 84 private String apiReceiveMsg;
85 85
86 @ApiModelProperty(value = "创建时间", required = true) 86 @ApiModelProperty(value = "创建时间", required = true)
87 - private Date createTime; 87 + private LocalDateTime createTime;
88 88
89 } 89 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 短信模板 Excel VO 12 * 短信模板 Excel VO
@@ -50,6 +50,6 @@ public class SmsTemplateExcelVO { @@ -50,6 +50,6 @@ public class SmsTemplateExcelVO {
50 private String channelCode; 50 private String channelCode;
51 51
52 @ExcelProperty("创建时间") 52 @ExcelProperty("创建时间")
53 - private Date createTime; 53 + private LocalDateTime createTime;
54 54
55 } 55 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -33,6 +33,6 @@ public class SmsTemplateExportReqVO { @@ -33,6 +33,6 @@ public class SmsTemplateExportReqVO {
33 33
34 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 34 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
35 @ApiModelProperty(value = "创建时间") 35 @ApiModelProperty(value = "创建时间")
36 - private Date[] createTime; 36 + private LocalDateTime[] createTime;
37 37
38 } 38 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -38,6 +38,6 @@ public class SmsTemplatePageReqVO extends PageParam { @@ -38,6 +38,6 @@ public class SmsTemplatePageReqVO extends PageParam {
38 38
39 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 39 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
40 @ApiModelProperty(value = "创建时间") 40 @ApiModelProperty(value = "创建时间")
41 - private Date[] createTime; 41 + private LocalDateTime[] createTime;
42 42
43 } 43 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 11
12 @ApiModel("管理后台 - 短信模板 Response VO") 12 @ApiModel("管理后台 - 短信模板 Response VO")
@@ -25,6 +25,6 @@ public class SmsTemplateRespVO extends SmsTemplateBaseVO { @@ -25,6 +25,6 @@ public class SmsTemplateRespVO extends SmsTemplateBaseVO {
25 private List<String> params; 25 private List<String> params;
26 26
27 @ApiModelProperty(value = "创建时间", required = true) 27 @ApiModelProperty(value = "创建时间", required = true)
28 - private Date createTime; 28 + private LocalDateTime createTime;
29 29
30 } 30 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -29,5 +29,5 @@ public class TenantPackagePageReqVO extends PageParam { @@ -29,5 +29,5 @@ public class TenantPackagePageReqVO extends PageParam {
29 29
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 @ApiModelProperty(value = "创建时间") 31 @ApiModelProperty(value = "创建时间")
32 - private Date[] createTime; 32 + private LocalDateTime[] createTime;
33 } 33 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java
@@ -6,7 +6,7 @@ import lombok.Data; @@ -6,7 +6,7 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 @ApiModel("管理后台 - 租户套餐 Response VO") 11 @ApiModel("管理后台 - 租户套餐 Response VO")
12 @Data 12 @Data
@@ -18,6 +18,6 @@ public class TenantPackageRespVO extends TenantPackageBaseVO { @@ -18,6 +18,6 @@ public class TenantPackageRespVO extends TenantPackageBaseVO {
18 private Long id; 18 private Long id;
19 19
20 @ApiModelProperty(value = "创建时间", required = true) 20 @ApiModelProperty(value = "创建时间", required = true)
21 - private Date createTime; 21 + private LocalDateTime createTime;
22 22
23 } 23 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.*; @@ -5,7 +5,7 @@ import io.swagger.annotations.*;
5 import org.hibernate.validator.constraints.URL; 5 import org.hibernate.validator.constraints.URL;
6 6
7 import javax.validation.constraints.*; 7 import javax.validation.constraints.*;
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * 租户 Base VO,提供给添加、修改、详细的子 VO 使用 11 * 租户 Base VO,提供给添加、修改、详细的子 VO 使用
@@ -39,7 +39,7 @@ public class TenantBaseVO { @@ -39,7 +39,7 @@ public class TenantBaseVO {
39 39
40 @ApiModelProperty(value = "过期时间", required = true) 40 @ApiModelProperty(value = "过期时间", required = true)
41 @NotNull(message = "过期时间不能为空") 41 @NotNull(message = "过期时间不能为空")
42 - private Date expireTime; 42 + private LocalDateTime expireTime;
43 43
44 @ApiModelProperty(value = "账号数量", required = true, example = "1024") 44 @ApiModelProperty(value = "账号数量", required = true, example = "1024")
45 @NotNull(message = "账号数量不能为空") 45 @NotNull(message = "账号数量不能为空")
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantExcelVO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant;
2 2
3 import cn.iocoder.yudao.module.system.enums.DictTypeConstants; 3 import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
4 import lombok.*; 4 import lombok.*;
5 -import java.util.*; 5 +import java.time.LocalDateTime;
6 6
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 8 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
@@ -34,6 +34,6 @@ public class TenantExcelVO { @@ -34,6 +34,6 @@ public class TenantExcelVO {
34 private Integer status; 34 private Integer status;
35 35
36 @ExcelProperty("创建时间") 36 @ExcelProperty("创建时间")
37 - private Date createTime; 37 + private LocalDateTime createTime;
38 38
39 } 39 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantExportReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
5 import lombok.Data; 5 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 6 import org.springframework.format.annotation.DateTimeFormat;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11
@@ -27,6 +27,6 @@ public class TenantExportReqVO { @@ -27,6 +27,6 @@ public class TenantExportReqVO {
27 27
28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
29 @ApiModelProperty(value = "创建时间") 29 @ApiModelProperty(value = "创建时间")
30 - private Date[] createTime; 30 + private LocalDateTime[] createTime;
31 31
32 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14
@@ -32,6 +32,6 @@ public class TenantPageReqVO extends PageParam { @@ -32,6 +32,6 @@ public class TenantPageReqVO extends PageParam {
32 32
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 @ApiModelProperty(value = "创建时间") 34 @ApiModelProperty(value = "创建时间")
35 - private Date[] createTime; 35 + private LocalDateTime[] createTime;
36 36
37 } 37 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java
1 package cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant; 1 package cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant;
2 2
3 import lombok.*; 3 import lombok.*;
4 -import java.util.*;  
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 5
  6 +import java.time.LocalDateTime;
  7 +
7 @ApiModel("管理后台 - 租户 Response VO") 8 @ApiModel("管理后台 - 租户 Response VO")
8 @Data 9 @Data
9 @EqualsAndHashCode(callSuper = true) 10 @EqualsAndHashCode(callSuper = true)
@@ -14,6 +15,6 @@ public class TenantRespVO extends TenantBaseVO { @@ -14,6 +15,6 @@ public class TenantRespVO extends TenantBaseVO {
14 private Long id; 15 private Long id;
15 16
16 @ApiModelProperty(value = "创建时间", required = true) 17 @ApiModelProperty(value = "创建时间", required = true)
17 - private Date createTime; 18 + private LocalDateTime createTime;
18 19
19 } 20 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 import lombok.EqualsAndHashCode; 8 import lombok.EqualsAndHashCode;
9 import lombok.NoArgsConstructor; 9 import lombok.NoArgsConstructor;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 import java.util.List; 12 import java.util.List;
13 13
14 14
@@ -29,10 +29,10 @@ public class UserProfileRespVO extends UserBaseVO { @@ -29,10 +29,10 @@ public class UserProfileRespVO extends UserBaseVO {
29 private String loginIp; 29 private String loginIp;
30 30
31 @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式") 31 @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式")
32 - private Date loginDate; 32 + private LocalDateTime loginDate;
33 33
34 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 34 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
35 - private Date createTime; 35 + private LocalDateTime createTime;
36 36
37 /** 37 /**
38 * 所属角色 38 * 所属角色
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserExcelVO.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
6 import com.alibaba.excel.annotation.ExcelProperty; 6 import com.alibaba.excel.annotation.ExcelProperty;
7 import lombok.Data; 7 import lombok.Data;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 10
11 /** 11 /**
12 * 用户 Excel 导出 VO 12 * 用户 Excel 导出 VO
@@ -41,7 +41,7 @@ public class UserExcelVO { @@ -41,7 +41,7 @@ public class UserExcelVO {
41 private String loginIp; 41 private String loginIp;
42 42
43 @ExcelProperty("最后登录时间") 43 @ExcelProperty("最后登录时间")
44 - private Date loginDate; 44 + private LocalDateTime loginDate;
45 45
46 @ExcelProperty("部门名称") 46 @ExcelProperty("部门名称")
47 private String deptName; 47 private String deptName;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserExportReqVO.java
@@ -7,7 +7,7 @@ import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data;
7 import lombok.NoArgsConstructor; 7 import lombok.NoArgsConstructor;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
13 13
@@ -28,7 +28,7 @@ public class UserExportReqVO { @@ -28,7 +28,7 @@ public class UserExportReqVO {
28 28
29 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 29 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 30 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
31 - private Date[] createTime; 31 + private LocalDateTime[] createTime;
32 32
33 @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门") 33 @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门")
34 private Long deptId; 34 private Long deptId;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java
@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
9 import lombok.NoArgsConstructor; 9 import lombok.NoArgsConstructor;
10 import org.springframework.format.annotation.DateTimeFormat; 10 import org.springframework.format.annotation.DateTimeFormat;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 13
14 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 14 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
15 15
@@ -31,7 +31,7 @@ public class UserPageReqVO extends PageParam { @@ -31,7 +31,7 @@ public class UserPageReqVO extends PageParam {
31 31
32 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") 32 @ApiModelProperty(value = "创建时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]")
33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 33 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
34 - private Date[] createTime; 34 + private LocalDateTime[] createTime;
35 35
36 @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门") 36 @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门")
37 private Long deptId; 37 private Long deptId;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java
@@ -4,7 +4,8 @@ import io.swagger.annotations.ApiModel; @@ -4,7 +4,8 @@ import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
5 import lombok.*; 5 import lombok.*;
6 6
7 -import java.util.Date; 7 +import java.time.LocalDateTime;
  8 +
8 9
9 @ApiModel("管理后台 - 用户信息 Response VO") 10 @ApiModel("管理后台 - 用户信息 Response VO")
10 @Data 11 @Data
@@ -23,9 +24,9 @@ public class UserRespVO extends UserBaseVO { @@ -23,9 +24,9 @@ public class UserRespVO extends UserBaseVO {
23 private String loginIp; 24 private String loginIp;
24 25
25 @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式") 26 @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式")
26 - private Date loginDate; 27 + private LocalDateTime loginDate;
27 28
28 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") 29 @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
29 - private Date createTime; 30 + private LocalDateTime createTime;
30 31
31 } 32 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvert.java
1 package cn.iocoder.yudao.module.system.convert.oauth2; 1 package cn.iocoder.yudao.module.system.convert.oauth2;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.common.core.KeyValue; 4 import cn.iocoder.yudao.framework.common.core.KeyValue;
4 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 5 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
5 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
@@ -34,7 +35,7 @@ public interface OAuth2OpenConvert { @@ -34,7 +35,7 @@ public interface OAuth2OpenConvert {
34 35
35 default OAuth2OpenCheckTokenRespVO convert2(OAuth2AccessTokenDO bean) { 36 default OAuth2OpenCheckTokenRespVO convert2(OAuth2AccessTokenDO bean) {
36 OAuth2OpenCheckTokenRespVO respVO = convert3(bean); 37 OAuth2OpenCheckTokenRespVO respVO = convert3(bean);
37 - respVO.setExp(bean.getExpiresTime().getTime() / 1000L); 38 + respVO.setExp(LocalDateTimeUtil.toEpochMilli(bean.getExpiresTime()) / 1000L);
38 respVO.setUserType(UserTypeEnum.ADMIN.getValue()); 39 respVO.setUserType(UserTypeEnum.ADMIN.getValue());
39 return respVO; 40 return respVO;
40 } 41 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.java
@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
12 import lombok.Data; 12 import lombok.Data;
13 import lombok.EqualsAndHashCode; 13 import lombok.EqualsAndHashCode;
14 14
15 -import java.util.Date; 15 +import java.time.LocalDateTime;
16 import java.util.Map; 16 import java.util.Map;
17 17
18 /** 18 /**
@@ -117,7 +117,7 @@ public class OperateLogDO extends BaseDO { @@ -117,7 +117,7 @@ public class OperateLogDO extends BaseDO {
117 /** 117 /**
118 * 开始时间 118 * 开始时间
119 */ 119 */
120 - private Date startTime; 120 + private LocalDateTime startTime;
121 /** 121 /**
122 * 执行时长,单位:毫秒 122 * 执行时长,单位:毫秒
123 */ 123 */
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2AccessTokenDO.java
@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
10 import lombok.Data; 10 import lombok.Data;
11 import lombok.EqualsAndHashCode; 11 import lombok.EqualsAndHashCode;
12 12
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 /** 16 /**
@@ -64,6 +64,6 @@ public class OAuth2AccessTokenDO extends TenantBaseDO { @@ -64,6 +64,6 @@ public class OAuth2AccessTokenDO extends TenantBaseDO {
64 /** 64 /**
65 * 过期时间 65 * 过期时间
66 */ 66 */
67 - private Date expiresTime; 67 + private LocalDateTime expiresTime;
68 68
69 } 69 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ApproveDO.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
8 import lombok.Data; 8 import lombok.Data;
9 import lombok.EqualsAndHashCode; 9 import lombok.EqualsAndHashCode;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 /** 13 /**
14 * OAuth2 批准 DO 14 * OAuth2 批准 DO
@@ -58,6 +58,6 @@ public class OAuth2ApproveDO extends BaseDO { @@ -58,6 +58,6 @@ public class OAuth2ApproveDO extends BaseDO {
58 /** 58 /**
59 * 过期时间 59 * 过期时间
60 */ 60 */
61 - private Date expiresTime; 61 + private LocalDateTime expiresTime;
62 62
63 } 63 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2CodeDO.java
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
9 import lombok.Data; 9 import lombok.Data;
10 import lombok.EqualsAndHashCode; 10 import lombok.EqualsAndHashCode;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 import java.util.List; 13 import java.util.List;
14 14
15 /** 15 /**
@@ -63,6 +63,6 @@ public class OAuth2CodeDO extends BaseDO { @@ -63,6 +63,6 @@ public class OAuth2CodeDO extends BaseDO {
63 /** 63 /**
64 * 过期时间 64 * 过期时间
65 */ 65 */
66 - private Date expiresTime; 66 + private LocalDateTime expiresTime;
67 67
68 } 68 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2RefreshTokenDO.java
@@ -10,7 +10,7 @@ import lombok.Data; @@ -10,7 +10,7 @@ import lombok.Data;
10 import lombok.EqualsAndHashCode; 10 import lombok.EqualsAndHashCode;
11 import lombok.experimental.Accessors; 11 import lombok.experimental.Accessors;
12 12
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 /** 16 /**
@@ -58,6 +58,6 @@ public class OAuth2RefreshTokenDO extends BaseDO { @@ -58,6 +58,6 @@ public class OAuth2RefreshTokenDO extends BaseDO {
58 /** 58 /**
59 * 过期时间 59 * 过期时间
60 */ 60 */
61 - private Date expiresTime; 61 + private LocalDateTime expiresTime;
62 62
63 } 63 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO.java
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
5 import com.baomidou.mybatisplus.annotation.TableName; 5 import com.baomidou.mybatisplus.annotation.TableName;
6 import lombok.*; 6 import lombok.*;
7 7
8 -import java.util.Date; 8 +import java.time.LocalDateTime;
9 9
10 /** 10 /**
11 * 手机验证码 DO 11 * 手机验证码 DO
@@ -56,7 +56,7 @@ public class SmsCodeDO extends BaseDO { @@ -56,7 +56,7 @@ public class SmsCodeDO extends BaseDO {
56 /** 56 /**
57 * 使用时间 57 * 使用时间
58 */ 58 */
59 - private Date usedTime; 59 + private LocalDateTime usedTime;
60 /** 60 /**
61 * 使用 IP 61 * 使用 IP
62 */ 62 */
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO.java
@@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
11 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; 11 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
12 import lombok.*; 12 import lombok.*;
13 13
14 -import java.util.Date; 14 +import java.time.LocalDateTime;
15 import java.util.Map; 15 import java.util.Map;
16 16
17 /** 17 /**
@@ -114,7 +114,7 @@ public class SmsLogDO extends BaseDO { @@ -114,7 +114,7 @@ public class SmsLogDO extends BaseDO {
114 /** 114 /**
115 * 发送时间 115 * 发送时间
116 */ 116 */
117 - private Date sendTime; 117 + private LocalDateTime sendTime;
118 /** 118 /**
119 * 发送结果的编码 119 * 发送结果的编码
120 * 120 *
@@ -162,7 +162,7 @@ public class SmsLogDO extends BaseDO { @@ -162,7 +162,7 @@ public class SmsLogDO extends BaseDO {
162 /** 162 /**
163 * 接收时间 163 * 接收时间
164 */ 164 */
165 - private Date receiveTime; 165 + private LocalDateTime receiveTime;
166 /** 166 /**
167 * 短信 API 接收结果的编码 167 * 短信 API 接收结果的编码
168 */ 168 */
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
7 import com.baomidou.mybatisplus.annotation.TableName; 7 import com.baomidou.mybatisplus.annotation.TableName;
8 import lombok.*; 8 import lombok.*;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 11
12 /** 12 /**
13 * 租户 DO 13 * 租户 DO
@@ -73,7 +73,7 @@ public class TenantDO extends BaseDO { @@ -73,7 +73,7 @@ public class TenantDO extends BaseDO {
73 /** 73 /**
74 * 过期时间 74 * 过期时间
75 */ 75 */
76 - private Date expireTime; 76 + private LocalDateTime expireTime;
77 /** 77 /**
78 * 账号数量 78 * 账号数量
79 */ 79 */
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java
@@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
11 import lombok.*; 11 import lombok.*;
12 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 12 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
13 13
14 -import java.util.Date; 14 +import java.time.LocalDateTime;
15 import java.util.Set; 15 import java.util.Set;
16 16
17 /** 17 /**
@@ -91,6 +91,6 @@ public class AdminUserDO extends TenantBaseDO { @@ -91,6 +91,6 @@ public class AdminUserDO extends TenantBaseDO {
91 /** 91 /**
92 * 最后登录时间 92 * 最后登录时间
93 */ 93 */
94 - private Date loginDate; 94 + private LocalDateTime loginDate;
95 95
96 } 96 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/DeptMapper.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 import org.apache.ibatis.annotations.Select; 9 import org.apache.ibatis.annotations.Select;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 import java.util.List; 12 import java.util.List;
13 13
14 @Mapper 14 @Mapper
@@ -31,6 +31,6 @@ public interface DeptMapper extends BaseMapperX&lt;DeptDO&gt; { @@ -31,6 +31,6 @@ public interface DeptMapper extends BaseMapperX&lt;DeptDO&gt; {
31 } 31 }
32 32
33 @Select("SELECT COUNT(*) FROM system_dept WHERE update_time > #{maxUpdateTime}") 33 @Select("SELECT COUNT(*) FROM system_dept WHERE update_time > #{maxUpdateTime}")
34 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 34 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
35 35
36 } 36 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/errorcode/ErrorCodeMapper.java
@@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePag @@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePag
8 import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO; 8 import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
9 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
10 10
  11 +import java.time.LocalDateTime;
11 import java.util.Collection; 12 import java.util.Collection;
12 -import java.util.Date;  
13 import java.util.List; 13 import java.util.List;
14 14
15 @Mapper 15 @Mapper
@@ -43,7 +43,7 @@ public interface ErrorCodeMapper extends BaseMapperX&lt;ErrorCodeDO&gt; { @@ -43,7 +43,7 @@ public interface ErrorCodeMapper extends BaseMapperX&lt;ErrorCodeDO&gt; {
43 return selectOne(new LambdaQueryWrapperX<ErrorCodeDO>().eq(ErrorCodeDO::getCode, code)); 43 return selectOne(new LambdaQueryWrapperX<ErrorCodeDO>().eq(ErrorCodeDO::getCode, code));
44 } 44 }
45 45
46 - default List<ErrorCodeDO> selectListByApplicationNameAndUpdateTimeGt(String applicationName, Date minUpdateTime) { 46 + default List<ErrorCodeDO> selectListByApplicationNameAndUpdateTimeGt(String applicationName, LocalDateTime minUpdateTime) {
47 return selectList(new LambdaQueryWrapperX<ErrorCodeDO>().eq(ErrorCodeDO::getApplicationName, applicationName) 47 return selectList(new LambdaQueryWrapperX<ErrorCodeDO>().eq(ErrorCodeDO::getApplicationName, applicationName)
48 .gtIfPresent(ErrorCodeDO::getUpdateTime, minUpdateTime)); 48 .gtIfPresent(ErrorCodeDO::getUpdateTime, minUpdateTime));
49 } 49 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2Acc @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2Acc
7 import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; 7 import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 9
10 -import java.util.Date; 10 +import java.time.LocalDateTime;
11 import java.util.List; 11 import java.util.List;
12 12
13 @Mapper 13 @Mapper
@@ -26,7 +26,7 @@ public interface OAuth2AccessTokenMapper extends BaseMapperX&lt;OAuth2AccessTokenDO @@ -26,7 +26,7 @@ public interface OAuth2AccessTokenMapper extends BaseMapperX&lt;OAuth2AccessTokenDO
26 .eqIfPresent(OAuth2AccessTokenDO::getUserId, reqVO.getUserId()) 26 .eqIfPresent(OAuth2AccessTokenDO::getUserId, reqVO.getUserId())
27 .eqIfPresent(OAuth2AccessTokenDO::getUserType, reqVO.getUserType()) 27 .eqIfPresent(OAuth2AccessTokenDO::getUserType, reqVO.getUserType())
28 .likeIfPresent(OAuth2AccessTokenDO::getClientId, reqVO.getClientId()) 28 .likeIfPresent(OAuth2AccessTokenDO::getClientId, reqVO.getClientId())
29 - .gt(OAuth2AccessTokenDO::getExpiresTime, new Date()) 29 + .gt(OAuth2AccessTokenDO::getExpiresTime, LocalDateTime.now())
30 .orderByDesc(OAuth2AccessTokenDO::getId)); 30 .orderByDesc(OAuth2AccessTokenDO::getId));
31 } 31 }
32 32
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java
@@ -8,7 +8,8 @@ import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; @@ -8,7 +8,8 @@ import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 import org.apache.ibatis.annotations.Select; 9 import org.apache.ibatis.annotations.Select;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
  12 +
12 13
13 /** 14 /**
14 * OAuth2 客户端 Mapper 15 * OAuth2 客户端 Mapper
@@ -30,6 +31,6 @@ public interface OAuth2ClientMapper extends BaseMapperX&lt;OAuth2ClientDO&gt; { @@ -30,6 +31,6 @@ public interface OAuth2ClientMapper extends BaseMapperX&lt;OAuth2ClientDO&gt; {
30 } 31 }
31 32
32 @Select("SELECT COUNT(*) FROM system_oauth2_client WHERE update_time > #{maxUpdateTime}") 33 @Select("SELECT COUNT(*) FROM system_oauth2_client WHERE update_time > #{maxUpdateTime}")
33 - int selectCountByUpdateTimeGt(Date maxUpdateTime); 34 + int selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
34 35
35 } 36 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 import org.apache.ibatis.annotations.Select; 9 import org.apache.ibatis.annotations.Select;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 import java.util.List; 12 import java.util.List;
13 13
14 @Mapper 14 @Mapper
@@ -29,6 +29,6 @@ public interface MenuMapper extends BaseMapperX&lt;MenuDO&gt; { @@ -29,6 +29,6 @@ public interface MenuMapper extends BaseMapperX&lt;MenuDO&gt; {
29 } 29 }
30 30
31 @Select("SELECT COUNT(*) FROM system_menu WHERE update_time > #{maxUpdateTime}") 31 @Select("SELECT COUNT(*) FROM system_menu WHERE update_time > #{maxUpdateTime}")
32 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 32 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
33 33
34 } 34 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java
@@ -11,8 +11,8 @@ import org.apache.ibatis.annotations.Mapper; @@ -11,8 +11,8 @@ import org.apache.ibatis.annotations.Mapper;
11 import org.apache.ibatis.annotations.Select; 11 import org.apache.ibatis.annotations.Select;
12 import org.springframework.lang.Nullable; 12 import org.springframework.lang.Nullable;
13 13
  14 +import java.time.LocalDateTime;
14 import java.util.Collection; 15 import java.util.Collection;
15 -import java.util.Date;  
16 import java.util.List; 16 import java.util.List;
17 17
18 @Mapper 18 @Mapper
@@ -48,6 +48,6 @@ public interface RoleMapper extends BaseMapperX&lt;RoleDO&gt; { @@ -48,6 +48,6 @@ public interface RoleMapper extends BaseMapperX&lt;RoleDO&gt; {
48 } 48 }
49 49
50 @Select("SELECT COUNT(*) FROM system_role WHERE update_time > #{maxUpdateTime}") 50 @Select("SELECT COUNT(*) FROM system_role WHERE update_time > #{maxUpdateTime}")
51 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 51 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
52 52
53 } 53 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMenuMapper.java
@@ -8,8 +8,8 @@ import org.apache.ibatis.annotations.Mapper; @@ -8,8 +8,8 @@ import org.apache.ibatis.annotations.Mapper;
8 import org.apache.ibatis.annotations.Select; 8 import org.apache.ibatis.annotations.Select;
9 import org.springframework.stereotype.Repository; 9 import org.springframework.stereotype.Repository;
10 10
  11 +import java.time.LocalDateTime;
11 import java.util.Collection; 12 import java.util.Collection;
12 -import java.util.Date;  
13 import java.util.List; 13 import java.util.List;
14 14
15 @Mapper 15 @Mapper
@@ -37,6 +37,6 @@ public interface RoleMenuMapper extends BaseMapperX&lt;RoleMenuDO&gt; { @@ -37,6 +37,6 @@ public interface RoleMenuMapper extends BaseMapperX&lt;RoleMenuDO&gt; {
37 } 37 }
38 38
39 @Select("SELECT COUNT(*) FROM system_role_menu WHERE update_time > #{maxUpdateTime}") 39 @Select("SELECT COUNT(*) FROM system_role_menu WHERE update_time > #{maxUpdateTime}")
40 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 40 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
41 41
42 } 42 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/UserRoleMapper.java
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6 import org.apache.ibatis.annotations.Mapper; 6 import org.apache.ibatis.annotations.Mapper;
7 import org.apache.ibatis.annotations.Select; 7 import org.apache.ibatis.annotations.Select;
8 8
  9 +import java.time.LocalDateTime;
9 import java.util.Collection; 10 import java.util.Collection;
10 -import java.util.Date;  
11 import java.util.List; 11 import java.util.List;
12 12
13 @Mapper 13 @Mapper
@@ -40,6 +40,6 @@ public interface UserRoleMapper extends BaseMapperX&lt;UserRoleDO&gt; { @@ -40,6 +40,6 @@ public interface UserRoleMapper extends BaseMapperX&lt;UserRoleDO&gt; {
40 } 40 }
41 41
42 @Select("SELECT COUNT(*) FROM system_user_role WHERE update_time > #{maxUpdateTime}") 42 @Select("SELECT COUNT(*) FROM system_user_role WHERE update_time > #{maxUpdateTime}")
43 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 43 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
44 44
45 } 45 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java
@@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWord @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWord
9 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
10 import org.apache.ibatis.annotations.Select; 10 import org.apache.ibatis.annotations.Select;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 import java.util.List; 13 import java.util.List;
14 14
15 /** 15 /**
@@ -43,6 +43,6 @@ public interface SensitiveWordMapper extends BaseMapperX&lt;SensitiveWordDO&gt; { @@ -43,6 +43,6 @@ public interface SensitiveWordMapper extends BaseMapperX&lt;SensitiveWordDO&gt; {
43 } 43 }
44 44
45 @Select("SELECT COUNT(*) FROM system_sensitive_word WHERE update_time > #{maxUpdateTime}") 45 @Select("SELECT COUNT(*) FROM system_sensitive_word WHERE update_time > #{maxUpdateTime}")
46 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 46 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
47 47
48 } 48 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsChannelMapper.java
@@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; @@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 import org.apache.ibatis.annotations.Select; 9 import org.apache.ibatis.annotations.Select;
10 10
11 -import java.util.Date; 11 +import java.time.LocalDateTime;
12 12
13 @Mapper 13 @Mapper
14 public interface SmsChannelMapper extends BaseMapperX<SmsChannelDO> { 14 public interface SmsChannelMapper extends BaseMapperX<SmsChannelDO> {
@@ -22,6 +22,6 @@ public interface SmsChannelMapper extends BaseMapperX&lt;SmsChannelDO&gt; { @@ -22,6 +22,6 @@ public interface SmsChannelMapper extends BaseMapperX&lt;SmsChannelDO&gt; {
22 } 22 }
23 23
24 @Select("SELECT COUNT(*) FROM system_sms_channel WHERE update_time > #{maxUpdateTime}") 24 @Select("SELECT COUNT(*) FROM system_sms_channel WHERE update_time > #{maxUpdateTime}")
25 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 25 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
26 26
27 } 27 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java
@@ -9,14 +9,14 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; @@ -9,14 +9,14 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO;
9 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
10 import org.apache.ibatis.annotations.Select; 10 import org.apache.ibatis.annotations.Select;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 import java.util.List; 13 import java.util.List;
14 14
15 @Mapper 15 @Mapper
16 public interface SmsTemplateMapper extends BaseMapperX<SmsTemplateDO> { 16 public interface SmsTemplateMapper extends BaseMapperX<SmsTemplateDO> {
17 17
18 @Select("SELECT COUNT(*) FROM system_sms_template WHERE update_time > #{maxUpdateTime}") 18 @Select("SELECT COUNT(*) FROM system_sms_template WHERE update_time > #{maxUpdateTime}")
19 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 19 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
20 20
21 default SmsTemplateDO selectByCode(String code) { 21 default SmsTemplateDO selectByCode(String code) {
22 return selectOne(SmsTemplateDO::getCode, code); 22 return selectOne(SmsTemplateDO::getCode, code);
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java
@@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
9 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
10 import org.apache.ibatis.annotations.Select; 10 import org.apache.ibatis.annotations.Select;
11 11
12 -import java.util.Date; 12 +import java.time.LocalDateTime;
13 import java.util.List; 13 import java.util.List;
14 14
15 /** 15 /**
@@ -53,6 +53,6 @@ public interface TenantMapper extends BaseMapperX&lt;TenantDO&gt; { @@ -53,6 +53,6 @@ public interface TenantMapper extends BaseMapperX&lt;TenantDO&gt; {
53 } 53 }
54 54
55 @Select("SELECT COUNT(*) FROM system_tenant WHERE update_time > #{maxUpdateTime}") 55 @Select("SELECT COUNT(*) FROM system_tenant WHERE update_time > #{maxUpdateTime}")
56 - Long selectCountByUpdateTimeGt(Date maxUpdateTime); 56 + Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);
57 57
58 } 58 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java
1 package cn.iocoder.yudao.module.system.dal.redis.oauth2; 1 package cn.iocoder.yudao.module.system.dal.redis.oauth2;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
4 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 5 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
5 import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; 6 import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
@@ -7,6 +8,8 @@ import org.springframework.data.redis.core.StringRedisTemplate; @@ -7,6 +8,8 @@ import org.springframework.data.redis.core.StringRedisTemplate;
7 import org.springframework.stereotype.Repository; 8 import org.springframework.stereotype.Repository;
8 9
9 import javax.annotation.Resource; 10 import javax.annotation.Resource;
  11 +import java.time.LocalDateTime;
  12 +import java.time.temporal.ChronoUnit;
10 import java.util.Collection; 13 import java.util.Collection;
11 import java.util.List; 14 import java.util.List;
12 import java.util.concurrent.TimeUnit; 15 import java.util.concurrent.TimeUnit;
@@ -33,8 +36,8 @@ public class OAuth2AccessTokenRedisDAO { @@ -33,8 +36,8 @@ public class OAuth2AccessTokenRedisDAO {
33 String redisKey = formatKey(accessTokenDO.getAccessToken()); 36 String redisKey = formatKey(accessTokenDO.getAccessToken());
34 // 清理多余字段,避免缓存 37 // 清理多余字段,避免缓存
35 accessTokenDO.setUpdater(null).setUpdateTime(null).setCreateTime(null).setCreator(null).setDeleted(null); 38 accessTokenDO.setUpdater(null).setUpdateTime(null).setCreateTime(null).setCreator(null).setDeleted(null);
36 - stringRedisTemplate.opsForValue().set(redisKey, JsonUtils.toJsonString(accessTokenDO),  
37 - accessTokenDO.getExpiresTime().getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS); 39 + long time = LocalDateTimeUtil.between(LocalDateTime.now(), accessTokenDO.getExpiresTime(), ChronoUnit.SECONDS);
  40 + stringRedisTemplate.opsForValue().set(redisKey, JsonUtils.toJsonString(accessTokenDO), time, TimeUnit.SECONDS);
38 } 41 }
39 42
40 public void delete(String accessToken) { 43 public void delete(String accessToken) {
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java
@@ -24,6 +24,7 @@ import org.springframework.validation.annotation.Validated; @@ -24,6 +24,7 @@ import org.springframework.validation.annotation.Validated;
24 24
25 import javax.annotation.PostConstruct; 25 import javax.annotation.PostConstruct;
26 import javax.annotation.Resource; 26 import javax.annotation.Resource;
  27 +import java.time.LocalDateTime;
27 import java.util.*; 28 import java.util.*;
28 29
29 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 30 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -64,7 +65,7 @@ public class DeptServiceImpl implements DeptService { @@ -64,7 +65,7 @@ public class DeptServiceImpl implements DeptService {
64 /** 65 /**
65 * 缓存部门的最大更新时间,用于后续的增量轮询,判断是否有更新 66 * 缓存部门的最大更新时间,用于后续的增量轮询,判断是否有更新
66 */ 67 */
67 - private volatile Date maxUpdateTime; 68 + private volatile LocalDateTime maxUpdateTime;
68 69
69 @Resource 70 @Resource
70 private DeptMapper deptMapper; 71 private DeptMapper deptMapper;
@@ -112,7 +113,7 @@ public class DeptServiceImpl implements DeptService { @@ -112,7 +113,7 @@ public class DeptServiceImpl implements DeptService {
112 * @param maxUpdateTime 当前部门的最大更新时间 113 * @param maxUpdateTime 当前部门的最大更新时间
113 * @return 部门列表 114 * @return 部门列表
114 */ 115 */
115 - protected List<DeptDO> loadDeptIfUpdate(Date maxUpdateTime) { 116 + protected List<DeptDO> loadDeptIfUpdate(LocalDateTime maxUpdateTime) {
116 // 第一步,判断是否要更新。 117 // 第一步,判断是否要更新。
117 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 118 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
118 log.info("[loadMenuIfUpdate][首次加载全量部门]"); 119 log.info("[loadMenuIfUpdate][首次加载全量部门]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeService.java
@@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpd @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpd
10 import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO; 10 import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
11 11
12 import javax.validation.Valid; 12 import javax.validation.Valid;
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 /** 16 /**
@@ -36,7 +36,7 @@ public interface ErrorCodeService { @@ -36,7 +36,7 @@ public interface ErrorCodeService {
36 * @param minUpdateTime 最小更新时间 36 * @param minUpdateTime 最小更新时间
37 * @return 错误码数组 37 * @return 错误码数组
38 */ 38 */
39 - List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime); 39 + List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, LocalDateTime minUpdateTime);
40 40
41 /** 41 /**
42 * 创建错误码 42 * 创建错误码
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeServiceImpl.java
@@ -19,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -19,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
19 import org.springframework.validation.annotation.Validated; 19 import org.springframework.validation.annotation.Validated;
20 20
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
22 -import java.util.Date; 22 +import java.time.LocalDateTime;
23 import java.util.List; 23 import java.util.List;
24 import java.util.Map; 24 import java.util.Map;
25 25
@@ -164,7 +164,7 @@ public class ErrorCodeServiceImpl implements ErrorCodeService { @@ -164,7 +164,7 @@ public class ErrorCodeServiceImpl implements ErrorCodeService {
164 } 164 }
165 165
166 @Override 166 @Override
167 - public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime) { 167 + public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, LocalDateTime minUpdateTime) {
168 List<ErrorCodeDO> errorCodeDOs = errorCodeMapper.selectListByApplicationNameAndUpdateTimeGt( 168 List<ErrorCodeDO> errorCodeDOs = errorCodeMapper.selectListByApplicationNameAndUpdateTimeGt(
169 applicationName, minUpdateTime); 169 applicationName, minUpdateTime);
170 return ErrorCodeConvert.INSTANCE.convertList03(errorCodeDOs); 170 return ErrorCodeConvert.INSTANCE.convertList03(errorCodeDOs);
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImpl.java
@@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
12 import org.springframework.validation.annotation.Validated; 12 import org.springframework.validation.annotation.Validated;
13 13
14 import javax.annotation.Resource; 14 import javax.annotation.Resource;
  15 +import java.time.LocalDateTime;
15 import java.util.*; 16 import java.util.*;
16 17
17 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 18 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@@ -46,7 +47,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService { @@ -46,7 +47,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService {
46 // gh-877 - if all scopes are auto approved, approvals still need to be added to the approval store. 47 // gh-877 - if all scopes are auto approved, approvals still need to be added to the approval store.
47 Date expireTime = DateUtils.addDate(Calendar.SECOND, TIMEOUT); 48 Date expireTime = DateUtils.addDate(Calendar.SECOND, TIMEOUT);
48 for (String scope : requestedScopes) { 49 for (String scope : requestedScopes) {
49 - saveApprove(userId, userType, clientId, scope, true, expireTime); 50 + saveApprove(userId, userType, clientId, scope, true, DateUtils.dateToLocalDateTime(expireTime));
50 } 51 }
51 return true; 52 return true;
52 } 53 }
@@ -73,7 +74,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService { @@ -73,7 +74,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService {
73 if (entry.getValue()) { 74 if (entry.getValue()) {
74 success = true; 75 success = true;
75 } 76 }
76 - saveApprove(userId, userType, clientId, entry.getKey(), entry.getValue(), expireTime); 77 + saveApprove(userId, userType, clientId, entry.getKey(), entry.getValue(), DateUtils.dateToLocalDateTime(expireTime));
77 } 78 }
78 return success; 79 return success;
79 } 80 }
@@ -88,7 +89,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService { @@ -88,7 +89,7 @@ public class OAuth2ApproveServiceImpl implements OAuth2ApproveService {
88 89
89 @VisibleForTesting 90 @VisibleForTesting
90 void saveApprove(Long userId, Integer userType, String clientId, 91 void saveApprove(Long userId, Integer userType, String clientId,
91 - String scope, Boolean approved, Date expireTime) { 92 + String scope, Boolean approved, LocalDateTime expireTime) {
92 // 先更新 93 // 先更新
93 OAuth2ApproveDO approveDO = new OAuth2ApproveDO().setUserId(userId).setUserType(userType) 94 OAuth2ApproveDO approveDO = new OAuth2ApproveDO().setUserId(userId).setUserType(userType)
94 .setClientId(clientId).setScope(scope).setApproved(approved).setExpiresTime(expireTime); 95 .setClientId(clientId).setScope(scope).setApproved(approved).setExpiresTime(expireTime);
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientServiceImpl.java
@@ -23,6 +23,7 @@ import org.springframework.validation.annotation.Validated; @@ -23,6 +23,7 @@ import org.springframework.validation.annotation.Validated;
23 23
24 import javax.annotation.PostConstruct; 24 import javax.annotation.PostConstruct;
25 import javax.annotation.Resource; 25 import javax.annotation.Resource;
  26 +import java.time.LocalDateTime;
26 import java.util.*; 27 import java.util.*;
27 28
28 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 29 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -59,7 +60,7 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService { @@ -59,7 +60,7 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService {
59 * 缓存角色的最大更新时间,用于后续的增量轮询,判断是否有更新 60 * 缓存角色的最大更新时间,用于后续的增量轮询,判断是否有更新
60 */ 61 */
61 @Getter 62 @Getter
62 - private volatile Date maxUpdateTime; 63 + private volatile LocalDateTime maxUpdateTime;
63 64
64 @Resource 65 @Resource
65 private OAuth2ClientMapper oauth2ClientMapper; 66 private OAuth2ClientMapper oauth2ClientMapper;
@@ -97,7 +98,7 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService { @@ -97,7 +98,7 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService {
97 * @param maxUpdateTime 当前客户端的最大更新时间 98 * @param maxUpdateTime 当前客户端的最大更新时间
98 * @return 客户端列表 99 * @return 客户端列表
99 */ 100 */
100 - private List<OAuth2ClientDO> loadOAuth2ClientIfUpdate(Date maxUpdateTime) { 101 + private List<OAuth2ClientDO> loadOAuth2ClientIfUpdate(LocalDateTime maxUpdateTime) {
101 // 第一步,判断是否要更新。 102 // 第一步,判断是否要更新。
102 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 103 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
103 log.info("[loadOAuth2ClientIfUpdate][首次加载全量客户端]"); 104 log.info("[loadOAuth2ClientIfUpdate][首次加载全量客户端]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImpl.java
@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service; @@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
8 import org.springframework.validation.annotation.Validated; 8 import org.springframework.validation.annotation.Validated;
9 9
10 import javax.annotation.Resource; 10 import javax.annotation.Resource;
11 -import java.util.Calendar; 11 +import java.time.LocalDateTime;
12 import java.util.List; 12 import java.util.List;
13 13
14 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 14 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -38,7 +38,7 @@ public class OAuth2CodeServiceImpl implements OAuth2CodeService { @@ -38,7 +38,7 @@ public class OAuth2CodeServiceImpl implements OAuth2CodeService {
38 OAuth2CodeDO codeDO = new OAuth2CodeDO().setCode(generateCode()) 38 OAuth2CodeDO codeDO = new OAuth2CodeDO().setCode(generateCode())
39 .setUserId(userId).setUserType(userType) 39 .setUserId(userId).setUserType(userType)
40 .setClientId(clientId).setScopes(scopes) 40 .setClientId(clientId).setScopes(scopes)
41 - .setExpiresTime(DateUtils.addDate(Calendar.SECOND, TIMEOUT)) 41 + .setExpiresTime(LocalDateTime.now().plusSeconds(TIMEOUT))
42 .setRedirectUri(redirectUri).setState(state); 42 .setRedirectUri(redirectUri).setState(state);
43 oauth2CodeMapper.insert(codeDO); 43 oauth2CodeMapper.insert(codeDO);
44 return codeDO; 44 return codeDO;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImpl.java
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service; @@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
18 import org.springframework.transaction.annotation.Transactional; 18 import org.springframework.transaction.annotation.Transactional;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
  21 +import java.time.LocalDateTime;
21 import java.util.Calendar; 22 import java.util.Calendar;
22 import java.util.List; 23 import java.util.List;
23 24
@@ -137,7 +138,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { @@ -137,7 +138,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
137 .setUserId(refreshTokenDO.getUserId()).setUserType(refreshTokenDO.getUserType()) 138 .setUserId(refreshTokenDO.getUserId()).setUserType(refreshTokenDO.getUserType())
138 .setClientId(clientDO.getClientId()).setScopes(refreshTokenDO.getScopes()) 139 .setClientId(clientDO.getClientId()).setScopes(refreshTokenDO.getScopes())
139 .setRefreshToken(refreshTokenDO.getRefreshToken()) 140 .setRefreshToken(refreshTokenDO.getRefreshToken())
140 - .setExpiresTime(DateUtils.addDate(Calendar.SECOND, clientDO.getAccessTokenValiditySeconds())); 141 + .setExpiresTime(LocalDateTime.now().plusSeconds(clientDO.getAccessTokenValiditySeconds()));
141 accessTokenDO.setTenantId(TenantContextHolder.getTenantId()); // 手动设置租户编号,避免缓存到 Redis 的时候,无对应的租户编号 142 accessTokenDO.setTenantId(TenantContextHolder.getTenantId()); // 手动设置租户编号,避免缓存到 Redis 的时候,无对应的租户编号
142 oauth2AccessTokenMapper.insert(accessTokenDO); 143 oauth2AccessTokenMapper.insert(accessTokenDO);
143 // 记录到 Redis 中 144 // 记录到 Redis 中
@@ -149,7 +150,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { @@ -149,7 +150,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
149 OAuth2RefreshTokenDO refreshToken = new OAuth2RefreshTokenDO().setRefreshToken(generateRefreshToken()) 150 OAuth2RefreshTokenDO refreshToken = new OAuth2RefreshTokenDO().setRefreshToken(generateRefreshToken())
150 .setUserId(userId).setUserType(userType) 151 .setUserId(userId).setUserType(userType)
151 .setClientId(clientDO.getClientId()).setScopes(scopes) 152 .setClientId(clientDO.getClientId()).setScopes(scopes)
152 - .setExpiresTime(DateUtils.addDate(Calendar.SECOND, clientDO.getRefreshTokenValiditySeconds())); 153 + .setExpiresTime(LocalDateTime.now().plusSeconds(clientDO.getRefreshTokenValiditySeconds()));
153 oauth2RefreshTokenMapper.insert(refreshToken); 154 oauth2RefreshTokenMapper.insert(refreshToken);
154 return refreshToken; 155 return refreshToken;
155 } 156 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java
@@ -28,6 +28,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager @@ -28,6 +28,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
28 28
29 import javax.annotation.PostConstruct; 29 import javax.annotation.PostConstruct;
30 import javax.annotation.Resource; 30 import javax.annotation.Resource;
  31 +import java.time.LocalDateTime;
31 import java.util.*; 32 import java.util.*;
32 import java.util.stream.Collectors; 33 import java.util.stream.Collectors;
33 34
@@ -66,7 +67,7 @@ public class MenuServiceImpl implements MenuService { @@ -66,7 +67,7 @@ public class MenuServiceImpl implements MenuService {
66 /** 67 /**
67 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新 68 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新
68 */ 69 */
69 - private volatile Date maxUpdateTime; 70 + private volatile LocalDateTime maxUpdateTime;
70 71
71 @Resource 72 @Resource
72 private MenuMapper menuMapper; 73 private MenuMapper menuMapper;
@@ -118,7 +119,7 @@ public class MenuServiceImpl implements MenuService { @@ -118,7 +119,7 @@ public class MenuServiceImpl implements MenuService {
118 * @param maxUpdateTime 当前菜单的最大更新时间 119 * @param maxUpdateTime 当前菜单的最大更新时间
119 * @return 菜单列表 120 * @return 菜单列表
120 */ 121 */
121 - private List<MenuDO> loadMenuIfUpdate(Date maxUpdateTime) { 122 + private List<MenuDO> loadMenuIfUpdate(LocalDateTime maxUpdateTime) {
122 // 第一步,判断是否要更新。 123 // 第一步,判断是否要更新。
123 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 124 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
124 log.info("[loadMenuIfUpdate][首次加载全量菜单]"); 125 log.info("[loadMenuIfUpdate][首次加载全量菜单]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.java
@@ -40,6 +40,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager @@ -40,6 +40,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
40 40
41 import javax.annotation.PostConstruct; 41 import javax.annotation.PostConstruct;
42 import javax.annotation.Resource; 42 import javax.annotation.Resource;
  43 +import java.time.LocalDateTime;
43 import java.util.*; 44 import java.util.*;
44 import java.util.function.Supplier; 45 import java.util.function.Supplier;
45 46
@@ -86,7 +87,7 @@ public class PermissionServiceImpl implements PermissionService { @@ -86,7 +87,7 @@ public class PermissionServiceImpl implements PermissionService {
86 * 缓存 RoleMenu 的最大更新时间,用于后续的增量轮询,判断是否有更新 87 * 缓存 RoleMenu 的最大更新时间,用于后续的增量轮询,判断是否有更新
87 */ 88 */
88 @Getter 89 @Getter
89 - private volatile Date roleMenuMaxUpdateTime; 90 + private volatile LocalDateTime roleMenuMaxUpdateTime;
90 91
91 /** 92 /**
92 * 用户编号与角色编号的缓存映射 93 * 用户编号与角色编号的缓存映射
@@ -102,7 +103,7 @@ public class PermissionServiceImpl implements PermissionService { @@ -102,7 +103,7 @@ public class PermissionServiceImpl implements PermissionService {
102 * 缓存 UserRole 的最大更新时间,用于后续的增量轮询,判断是否有更新 103 * 缓存 UserRole 的最大更新时间,用于后续的增量轮询,判断是否有更新
103 */ 104 */
104 @Getter 105 @Getter
105 - private volatile Date userRoleMaxUpdateTime; 106 + private volatile LocalDateTime userRoleMaxUpdateTime;
106 107
107 @Resource 108 @Resource
108 private RoleMenuMapper roleMenuMapper; 109 private RoleMenuMapper roleMenuMapper;
@@ -192,7 +193,7 @@ public class PermissionServiceImpl implements PermissionService { @@ -192,7 +193,7 @@ public class PermissionServiceImpl implements PermissionService {
192 * @param maxUpdateTime 当前角色与菜单的关联的最大更新时间 193 * @param maxUpdateTime 当前角色与菜单的关联的最大更新时间
193 * @return 角色与菜单的关联列表 194 * @return 角色与菜单的关联列表
194 */ 195 */
195 - protected List<RoleMenuDO> loadRoleMenuIfUpdate(Date maxUpdateTime) { 196 + protected List<RoleMenuDO> loadRoleMenuIfUpdate(LocalDateTime maxUpdateTime) {
196 // 第一步,判断是否要更新。 197 // 第一步,判断是否要更新。
197 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 198 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
198 log.info("[loadRoleMenuIfUpdate][首次加载全量角色与菜单的关联]"); 199 log.info("[loadRoleMenuIfUpdate][首次加载全量角色与菜单的关联]");
@@ -213,7 +214,7 @@ public class PermissionServiceImpl implements PermissionService { @@ -213,7 +214,7 @@ public class PermissionServiceImpl implements PermissionService {
213 * @param maxUpdateTime 当前角色与菜单的关联的最大更新时间 214 * @param maxUpdateTime 当前角色与菜单的关联的最大更新时间
214 * @return 角色与菜单的关联列表 215 * @return 角色与菜单的关联列表
215 */ 216 */
216 - protected List<UserRoleDO> loadUserRoleIfUpdate(Date maxUpdateTime) { 217 + protected List<UserRoleDO> loadUserRoleIfUpdate(LocalDateTime maxUpdateTime) {
217 // 第一步,判断是否要更新。 218 // 第一步,判断是否要更新。
218 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 219 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
219 log.info("[loadUserRoleIfUpdate][首次加载全量用户与角色的关联]"); 220 log.info("[loadUserRoleIfUpdate][首次加载全量用户与角色的关联]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java
@@ -32,6 +32,7 @@ import org.springframework.util.StringUtils; @@ -32,6 +32,7 @@ import org.springframework.util.StringUtils;
32 32
33 import javax.annotation.PostConstruct; 33 import javax.annotation.PostConstruct;
34 import javax.annotation.Resource; 34 import javax.annotation.Resource;
  35 +import java.time.LocalDateTime;
35 import java.util.*; 36 import java.util.*;
36 import java.util.stream.Collectors; 37 import java.util.stream.Collectors;
37 38
@@ -65,7 +66,7 @@ public class RoleServiceImpl implements RoleService { @@ -65,7 +66,7 @@ public class RoleServiceImpl implements RoleService {
65 * 缓存角色的最大更新时间,用于后续的增量轮询,判断是否有更新 66 * 缓存角色的最大更新时间,用于后续的增量轮询,判断是否有更新
66 */ 67 */
67 @Getter 68 @Getter
68 - private volatile Date maxUpdateTime; 69 + private volatile LocalDateTime maxUpdateTime;
69 70
70 @Resource 71 @Resource
71 private PermissionService permissionService; 72 private PermissionService permissionService;
@@ -111,7 +112,7 @@ public class RoleServiceImpl implements RoleService { @@ -111,7 +112,7 @@ public class RoleServiceImpl implements RoleService {
111 * @param maxUpdateTime 当前角色的最大更新时间 112 * @param maxUpdateTime 当前角色的最大更新时间
112 * @return 角色列表 113 * @return 角色列表
113 */ 114 */
114 - private List<RoleDO> loadRoleIfUpdate(Date maxUpdateTime) { 115 + private List<RoleDO> loadRoleIfUpdate(LocalDateTime maxUpdateTime) {
115 // 第一步,判断是否要更新。 116 // 第一步,判断是否要更新。
116 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 117 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
117 log.info("[loadRoleIfUpdate][首次加载全量角色]"); 118 log.info("[loadRoleIfUpdate][首次加载全量角色]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sensitiveword/SensitiveWordServiceImpl.java
@@ -23,6 +23,7 @@ import org.springframework.validation.annotation.Validated; @@ -23,6 +23,7 @@ import org.springframework.validation.annotation.Validated;
23 23
24 import javax.annotation.PostConstruct; 24 import javax.annotation.PostConstruct;
25 import javax.annotation.Resource; 25 import javax.annotation.Resource;
  26 +import java.time.LocalDateTime;
26 import java.util.*; 27 import java.util.*;
27 28
28 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 29 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -58,7 +59,7 @@ public class SensitiveWordServiceImpl implements SensitiveWordService { @@ -58,7 +59,7 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
58 * 缓存敏感词的最大更新时间,用于后续的增量轮询,判断是否有更新 59 * 缓存敏感词的最大更新时间,用于后续的增量轮询,判断是否有更新
59 */ 60 */
60 @Getter 61 @Getter
61 - private volatile Date maxUpdateTime; 62 + private volatile LocalDateTime maxUpdateTime;
62 63
63 @Resource 64 @Resource
64 private SensitiveWordMapper sensitiveWordMapper; 65 private SensitiveWordMapper sensitiveWordMapper;
@@ -133,7 +134,7 @@ public class SensitiveWordServiceImpl implements SensitiveWordService { @@ -133,7 +134,7 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
133 * @param maxUpdateTime 当前敏感词的最大更新时间 134 * @param maxUpdateTime 当前敏感词的最大更新时间
134 * @return 敏感词列表 135 * @return 敏感词列表
135 */ 136 */
136 - private List<SensitiveWordDO> loadSensitiveWordIfUpdate(Date maxUpdateTime) { 137 + private List<SensitiveWordDO> loadSensitiveWordIfUpdate(LocalDateTime maxUpdateTime) {
137 // 第一步,判断是否要更新。 138 // 第一步,判断是否要更新。
138 // 如果更新时间为空,说明 DB 一定有新数据 139 // 如果更新时间为空,说明 DB 一定有新数据
139 if (maxUpdateTime == null) { 140 if (maxUpdateTime == null) {
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.java
@@ -18,8 +18,8 @@ import org.springframework.stereotype.Service; @@ -18,8 +18,8 @@ import org.springframework.stereotype.Service;
18 18
19 import javax.annotation.PostConstruct; 19 import javax.annotation.PostConstruct;
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
  21 +import java.time.LocalDateTime;
21 import java.util.Collection; 22 import java.util.Collection;
22 -import java.util.Date;  
23 import java.util.List; 23 import java.util.List;
24 24
25 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 25 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -45,7 +45,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { @@ -45,7 +45,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
45 /** 45 /**
46 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新 46 * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新
47 */ 47 */
48 - private volatile Date maxUpdateTime; 48 + private volatile LocalDateTime maxUpdateTime;
49 49
50 @Resource 50 @Resource
51 private SmsClientFactory smsClientFactory; 51 private SmsClientFactory smsClientFactory;
@@ -89,7 +89,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { @@ -89,7 +89,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
89 * @param maxUpdateTime 当前短信渠道的最大更新时间 89 * @param maxUpdateTime 当前短信渠道的最大更新时间
90 * @return 短信渠道列表 90 * @return 短信渠道列表
91 */ 91 */
92 - private List<SmsChannelDO> loadSmsChannelIfUpdate(Date maxUpdateTime) { 92 + private List<SmsChannelDO> loadSmsChannelIfUpdate(LocalDateTime maxUpdateTime) {
93 // 第一步,判断是否要更新。 93 // 第一步,判断是否要更新。
94 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 94 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
95 log.info("[loadSmsChannelIfUpdate][首次加载全量短信渠道]"); 95 log.info("[loadSmsChannelIfUpdate][首次加载全量短信渠道]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeServiceImpl.java
1 package cn.iocoder.yudao.module.system.service.sms; 1 package cn.iocoder.yudao.module.system.service.sms;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.lang.Assert; 4 import cn.hutool.core.lang.Assert;
4 import cn.hutool.core.map.MapUtil; 5 import cn.hutool.core.map.MapUtil;
5 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; 6 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
@@ -15,7 +16,9 @@ import org.springframework.stereotype.Service; @@ -15,7 +16,9 @@ import org.springframework.stereotype.Service;
15 import org.springframework.validation.annotation.Validated; 16 import org.springframework.validation.annotation.Validated;
16 17
17 import javax.annotation.Resource; 18 import javax.annotation.Resource;
18 -import java.util.Date; 19 +
  20 +import java.time.LocalDateTime;
  21 +import java.time.temporal.ChronoUnit;
19 22
20 import static cn.hutool.core.util.RandomUtil.randomInt; 23 import static cn.hutool.core.util.RandomUtil.randomInt;
21 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; 24 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
@@ -51,9 +54,9 @@ public class SmsCodeServiceImpl implements SmsCodeService { @@ -51,9 +54,9 @@ public class SmsCodeServiceImpl implements SmsCodeService {
51 54
52 private String createSmsCode(String mobile, Integer scene, String ip) { 55 private String createSmsCode(String mobile, Integer scene, String ip) {
53 // 校验是否可以发送验证码,不用筛选场景 56 // 校验是否可以发送验证码,不用筛选场景
54 - SmsCodeDO lastSmsCode = smsCodeMapper.selectLastByMobile(mobile, null,null); 57 + SmsCodeDO lastSmsCode = smsCodeMapper.selectLastByMobile(mobile, null, null);
55 if (lastSmsCode != null) { 58 if (lastSmsCode != null) {
56 - if (System.currentTimeMillis() - lastSmsCode.getCreateTime().getTime() 59 + if (LocalDateTimeUtil.between(lastSmsCode.getCreateTime(), LocalDateTime.now()).toMillis()
57 < smsCodeProperties.getSendFrequency().toMillis()) { // 发送过于频繁 60 < smsCodeProperties.getSendFrequency().toMillis()) { // 发送过于频繁
58 throw ServiceExceptionUtil.exception(SMS_CODE_SEND_TOO_FAST); 61 throw ServiceExceptionUtil.exception(SMS_CODE_SEND_TOO_FAST);
59 } 62 }
@@ -80,7 +83,7 @@ public class SmsCodeServiceImpl implements SmsCodeService { @@ -80,7 +83,7 @@ public class SmsCodeServiceImpl implements SmsCodeService {
80 SmsCodeDO lastSmsCode = this.checkSmsCode0(reqDTO.getMobile(), reqDTO.getCode(), reqDTO.getScene()); 83 SmsCodeDO lastSmsCode = this.checkSmsCode0(reqDTO.getMobile(), reqDTO.getCode(), reqDTO.getScene());
81 // 使用验证码 84 // 使用验证码
82 smsCodeMapper.updateById(SmsCodeDO.builder().id(lastSmsCode.getId()) 85 smsCodeMapper.updateById(SmsCodeDO.builder().id(lastSmsCode.getId())
83 - .used(true).usedTime(new Date()).usedIp(reqDTO.getUsedIp()).build()); 86 + .used(true).usedTime(LocalDateTime.now()).usedIp(reqDTO.getUsedIp()).build());
84 } 87 }
85 88
86 @Override 89 @Override
@@ -90,13 +93,13 @@ public class SmsCodeServiceImpl implements SmsCodeService { @@ -90,13 +93,13 @@ public class SmsCodeServiceImpl implements SmsCodeService {
90 93
91 public SmsCodeDO checkSmsCode0(String mobile, String code, Integer scene) { 94 public SmsCodeDO checkSmsCode0(String mobile, String code, Integer scene) {
92 // 校验验证码 95 // 校验验证码
93 - SmsCodeDO lastSmsCode = smsCodeMapper.selectLastByMobile(mobile,code,scene); 96 + SmsCodeDO lastSmsCode = smsCodeMapper.selectLastByMobile(mobile, code, scene);
94 // 若验证码不存在,抛出异常 97 // 若验证码不存在,抛出异常
95 if (lastSmsCode == null) { 98 if (lastSmsCode == null) {
96 throw ServiceExceptionUtil.exception(SMS_CODE_NOT_FOUND); 99 throw ServiceExceptionUtil.exception(SMS_CODE_NOT_FOUND);
97 } 100 }
98 // 超过时间 101 // 超过时间
99 - if (System.currentTimeMillis() - lastSmsCode.getCreateTime().getTime() 102 + if (LocalDateTimeUtil.between(lastSmsCode.getCreateTime(), LocalDateTime.now()).toMillis()
100 >= smsCodeProperties.getExpireTimes().toMillis()) { // 验证码已过期 103 >= smsCodeProperties.getExpireTimes().toMillis()) { // 验证码已过期
101 throw ServiceExceptionUtil.exception(SMS_CODE_EXPIRED); 104 throw ServiceExceptionUtil.exception(SMS_CODE_EXPIRED);
102 } 105 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogService.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsLogDO; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsLogDO;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; 7 import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO;
8 8
9 -import java.util.Date; 9 +import java.time.LocalDateTime;
10 import java.util.List; 10 import java.util.List;
11 import java.util.Map; 11 import java.util.Map;
12 12
@@ -56,7 +56,7 @@ public interface SmsLogService { @@ -56,7 +56,7 @@ public interface SmsLogService {
56 * @param apiReceiveCode API 接收结果的编码 56 * @param apiReceiveCode API 接收结果的编码
57 * @param apiReceiveMsg API 接收结果的说明 57 * @param apiReceiveMsg API 接收结果的说明
58 */ 58 */
59 - void updateSmsReceiveResult(Long id, Boolean success, Date receiveTime, String apiReceiveCode, String apiReceiveMsg); 59 + void updateSmsReceiveResult(Long id, Boolean success, LocalDateTime receiveTime, String apiReceiveCode, String apiReceiveMsg);
60 60
61 /** 61 /**
62 * 获得短信日志分页 62 * 获得短信日志分页
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.java
@@ -13,7 +13,7 @@ import lombok.extern.slf4j.Slf4j; @@ -13,7 +13,7 @@ import lombok.extern.slf4j.Slf4j;
13 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
14 14
15 import javax.annotation.Resource; 15 import javax.annotation.Resource;
16 -import java.util.Date; 16 +import java.time.LocalDateTime;
17 import java.util.List; 17 import java.util.List;
18 import java.util.Map; 18 import java.util.Map;
19 import java.util.Objects; 19 import java.util.Objects;
@@ -61,13 +61,13 @@ public class SmsLogServiceImpl implements SmsLogService { @@ -61,13 +61,13 @@ public class SmsLogServiceImpl implements SmsLogService {
61 SmsSendStatusEnum sendStatus = CommonResult.isSuccess(sendCode) ? 61 SmsSendStatusEnum sendStatus = CommonResult.isSuccess(sendCode) ?
62 SmsSendStatusEnum.SUCCESS : SmsSendStatusEnum.FAILURE; 62 SmsSendStatusEnum.SUCCESS : SmsSendStatusEnum.FAILURE;
63 smsLogMapper.updateById(SmsLogDO.builder().id(id).sendStatus(sendStatus.getStatus()) 63 smsLogMapper.updateById(SmsLogDO.builder().id(id).sendStatus(sendStatus.getStatus())
64 - .sendTime(new Date()).sendCode(sendCode).sendMsg(sendMsg) 64 + .sendTime(LocalDateTime.now()).sendCode(sendCode).sendMsg(sendMsg)
65 .apiSendCode(apiSendCode).apiSendMsg(apiSendMsg) 65 .apiSendCode(apiSendCode).apiSendMsg(apiSendMsg)
66 .apiRequestId(apiRequestId).apiSerialNo(apiSerialNo).build()); 66 .apiRequestId(apiRequestId).apiSerialNo(apiSerialNo).build());
67 } 67 }
68 68
69 @Override 69 @Override
70 - public void updateSmsReceiveResult(Long id, Boolean success, Date receiveTime, 70 + public void updateSmsReceiveResult(Long id, Boolean success, LocalDateTime receiveTime,
71 String apiReceiveCode, String apiReceiveMsg) { 71 String apiReceiveCode, String apiReceiveMsg) {
72 SmsReceiveStatusEnum receiveStatus = Objects.equals(success, true) ? 72 SmsReceiveStatusEnum receiveStatus = Objects.equals(success, true) ?
73 SmsReceiveStatusEnum.SUCCESS : SmsReceiveStatusEnum.FAILURE; 73 SmsReceiveStatusEnum.SUCCESS : SmsReceiveStatusEnum.FAILURE;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java
@@ -27,6 +27,7 @@ import org.springframework.util.Assert; @@ -27,6 +27,7 @@ import org.springframework.util.Assert;
27 27
28 import javax.annotation.PostConstruct; 28 import javax.annotation.PostConstruct;
29 import javax.annotation.Resource; 29 import javax.annotation.Resource;
  30 +import java.time.LocalDateTime;
30 import java.util.*; 31 import java.util.*;
31 import java.util.regex.Pattern; 32 import java.util.regex.Pattern;
32 33
@@ -76,7 +77,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { @@ -76,7 +77,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
76 /** 77 /**
77 * 缓存短信模板的最大更新时间,用于后续的增量轮询,判断是否有更新 78 * 缓存短信模板的最大更新时间,用于后续的增量轮询,判断是否有更新
78 */ 79 */
79 - private volatile Date maxUpdateTime; 80 + private volatile LocalDateTime maxUpdateTime;
80 81
81 @Override 82 @Override
82 @PostConstruct 83 @PostConstruct
@@ -100,7 +101,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { @@ -100,7 +101,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
100 * @param maxUpdateTime 当前短信模板的最大更新时间 101 * @param maxUpdateTime 当前短信模板的最大更新时间
101 * @return 短信模板列表 102 * @return 短信模板列表
102 */ 103 */
103 - private List<SmsTemplateDO> loadSmsTemplateIfUpdate(Date maxUpdateTime) { 104 + private List<SmsTemplateDO> loadSmsTemplateIfUpdate(LocalDateTime maxUpdateTime) {
104 // 第一步,判断是否要更新。 105 // 第一步,判断是否要更新。
105 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 106 if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
106 log.info("[loadSmsTemplateIfUpdate][首次加载全量短信模板]"); 107 log.info("[loadSmsTemplateIfUpdate][首次加载全量短信模板]");
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java
@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
32 32
33 import javax.annotation.Resource; 33 import javax.annotation.Resource;
34 import java.io.InputStream; 34 import java.io.InputStream;
  35 +import java.time.LocalDateTime;
35 import java.util.*; 36 import java.util.*;
36 37
37 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 38 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -129,7 +130,7 @@ public class AdminUserServiceImpl implements AdminUserService { @@ -129,7 +130,7 @@ public class AdminUserServiceImpl implements AdminUserService {
129 130
130 @Override 131 @Override
131 public void updateUserLogin(Long id, String loginIp) { 132 public void updateUserLogin(Long id, String loginIp) {
132 - userMapper.updateById(new AdminUserDO().setId(id).setLoginIp(loginIp).setLoginDate(new Date())); 133 + userMapper.updateById(new AdminUserDO().setId(id).setLoginIp(loginIp).setLoginDate(LocalDateTime.now()));
133 } 134 }
134 135
135 @Override 136 @Override
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/util/oauth2/OAuth2Utils.java
1 package cn.iocoder.yudao.module.system.util.oauth2; 1 package cn.iocoder.yudao.module.system.util.oauth2;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
  4 +import cn.hutool.core.date.LocalDateTimeUtil;
4 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
5 import cn.iocoder.yudao.framework.common.util.http.HttpUtils; 6 import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
6 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; 7 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
7 8
  9 +import java.time.LocalDateTime;
  10 +import java.time.temporal.ChronoUnit;
8 import java.util.*; 11 import java.util.*;
9 12
10 /** 13 /**
@@ -46,7 +49,7 @@ public class OAuth2Utils { @@ -46,7 +49,7 @@ public class OAuth2Utils {
46 * @param additionalInformation 附加信息 49 * @param additionalInformation 附加信息
47 * @return 简化授权模式下的重定向 URI 50 * @return 简化授权模式下的重定向 URI
48 */ 51 */
49 - public static String buildImplicitRedirectUri(String redirectUri, String accessToken, String state, Date expireTime, 52 + public static String buildImplicitRedirectUri(String redirectUri, String accessToken, String state, LocalDateTime expireTime,
50 Collection<String> scopes, Map<String, Object> additionalInformation) { 53 Collection<String> scopes, Map<String, Object> additionalInformation) {
51 Map<String, Object> vars = new LinkedHashMap<String, Object>(); 54 Map<String, Object> vars = new LinkedHashMap<String, Object>();
52 Map<String, String> keys = new HashMap<String, String>(); 55 Map<String, String> keys = new HashMap<String, String>();
@@ -85,8 +88,8 @@ public class OAuth2Utils { @@ -85,8 +88,8 @@ public class OAuth2Utils {
85 return HttpUtils.append(redirectUri, query, null, !responseType.contains("code")); 88 return HttpUtils.append(redirectUri, query, null, !responseType.contains("code"));
86 } 89 }
87 90
88 - public static long getExpiresIn(Date expireTime) {  
89 - return (expireTime.getTime() - System.currentTimeMillis()) / 1000; 91 + public static long getExpiresIn(LocalDateTime expireTime) {
  92 + return LocalDateTimeUtil.between(LocalDateTime.now(), expireTime, ChronoUnit.SECONDS);
90 } 93 }
91 94
92 public static String buildScopeStr(Collection<String> scopes) { 95 public static String buildScopeStr(Collection<String> scopes) {
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenControllerTest.java
1 package cn.iocoder.yudao.module.system.controller.admin.oauth2; 1 package cn.iocoder.yudao.module.system.controller.admin.oauth2;
2 2
3 import cn.hutool.core.collection.ListUtil; 3 import cn.hutool.core.collection.ListUtil;
  4 +import cn.hutool.core.date.LocalDateTimeUtil;
4 import cn.hutool.core.map.MapUtil; 5 import cn.hutool.core.map.MapUtil;
5 import cn.iocoder.yudao.framework.common.core.KeyValue; 6 import cn.iocoder.yudao.framework.common.core.KeyValue;
6 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 7 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
@@ -25,14 +26,13 @@ import org.mockito.InjectMocks; @@ -25,14 +26,13 @@ import org.mockito.InjectMocks;
25 import org.mockito.Mock; 26 import org.mockito.Mock;
26 27
27 import javax.servlet.http.HttpServletRequest; 28 import javax.servlet.http.HttpServletRequest;
28 -import java.time.Duration; 29 +import java.time.LocalDateTime;
  30 +import java.time.temporal.ChronoUnit;
29 import java.util.ArrayList; 31 import java.util.ArrayList;
30 -import java.util.Date;  
31 import java.util.LinkedHashMap; 32 import java.util.LinkedHashMap;
32 import java.util.List; 33 import java.util.List;
33 34
34 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; 35 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
35 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime;  
36 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 36 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
37 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 37 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
38 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; 38 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
@@ -77,7 +77,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest { @@ -77,7 +77,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
77 77
78 // mock 方法(访问令牌) 78 // mock 方法(访问令牌)
79 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 79 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
80 - .setExpiresTime(addTime(Duration.ofMillis(30050L))); // 多给 10 毫秒,保证可执行完 80 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 10L, ChronoUnit.MILLIS)); // 多给 10 毫秒,保证可执行完
81 when(oauth2GrantService.grantAuthorizationCodeForAccessToken(eq("test_client_id"), 81 when(oauth2GrantService.grantAuthorizationCodeForAccessToken(eq("test_client_id"),
82 eq(code), eq(redirectUri), eq(state))).thenReturn(accessTokenDO); 82 eq(code), eq(redirectUri), eq(state))).thenReturn(accessTokenDO);
83 83
@@ -105,7 +105,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest { @@ -105,7 +105,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
105 105
106 // mock 方法(访问令牌) 106 // mock 方法(访问令牌)
107 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 107 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
108 - .setExpiresTime(addTime(Duration.ofMillis(30050L))); // 多给 10 毫秒,保证可执行完 108 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 30050L, ChronoUnit.MILLIS)); // 多给 10 毫秒,保证可执行完
109 when(oauth2GrantService.grantPassword(eq(username), eq(password), eq("test_client_id"), 109 when(oauth2GrantService.grantPassword(eq(username), eq(password), eq("test_client_id"),
110 eq(Lists.newArrayList("write", "read")))).thenReturn(accessTokenDO); 110 eq(Lists.newArrayList("write", "read")))).thenReturn(accessTokenDO);
111 111
@@ -132,7 +132,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest { @@ -132,7 +132,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
132 132
133 // mock 方法(访问令牌) 133 // mock 方法(访问令牌)
134 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 134 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
135 - .setExpiresTime(addTime(Duration.ofMillis(30010L))); // 多给 10 毫秒,保证可执行完 135 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 30050L, ChronoUnit.MILLIS)); // 多给 10 毫秒,保证可执行完
136 when(oauth2GrantService.grantRefreshToken(eq(refreshToken), eq("test_client_id"))).thenReturn(accessTokenDO); 136 when(oauth2GrantService.grantRefreshToken(eq(refreshToken), eq("test_client_id"))).thenReturn(accessTokenDO);
137 137
138 // 调用 138 // 调用
@@ -178,7 +178,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest { @@ -178,7 +178,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
178 HttpServletRequest request = mockRequest("demo_client_id", "demo_client_secret"); 178 HttpServletRequest request = mockRequest("demo_client_id", "demo_client_secret");
179 String token = randomString(); 179 String token = randomString();
180 // mock 方法 180 // mock 方法
181 - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class).setUserType(UserTypeEnum.ADMIN.getValue()).setExpiresTime(new Date(1653485731195L)); 181 + OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class).setUserType(UserTypeEnum.ADMIN.getValue()).setExpiresTime(LocalDateTimeUtil.of(1653485731195L));
182 when(oauth2TokenService.checkAccessToken(eq(token))).thenReturn(accessTokenDO); 182 when(oauth2TokenService.checkAccessToken(eq(token))).thenReturn(accessTokenDO);
183 183
184 // 调用 184 // 调用
@@ -279,7 +279,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest { @@ -279,7 +279,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
279 eq(clientId), eq(SetUtils.asSet("read", "write")))).thenReturn(true); 279 eq(clientId), eq(SetUtils.asSet("read", "write")))).thenReturn(true);
280 // mock 方法(访问令牌) 280 // mock 方法(访问令牌)
281 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 281 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
282 - .setAccessToken("test_access_token").setExpiresTime(addTime(Duration.ofMillis(30010L))); 282 + .setAccessToken("test_access_token").setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 30010L, ChronoUnit.MILLIS));
283 when(oauth2GrantService.grantImplicit(isNull(), eq(UserTypeEnum.ADMIN.getValue()), 283 when(oauth2GrantService.grantImplicit(isNull(), eq(UserTypeEnum.ADMIN.getValue()),
284 eq(clientId), eq(ListUtil.toList("read")))).thenReturn(accessTokenDO); 284 eq(clientId), eq(ListUtil.toList("read")))).thenReturn(accessTokenDO);
285 285
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceTest.java
@@ -17,7 +17,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -17,7 +17,7 @@ import org.springframework.boot.test.mock.mockito.MockBean;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
18 18
19 import javax.annotation.Resource; 19 import javax.annotation.Resource;
20 -import java.util.Date; 20 +import java.time.LocalDateTime;
21 import java.util.List; 21 import java.util.List;
22 import java.util.Map; 22 import java.util.Map;
23 import java.util.function.Consumer; 23 import java.util.function.Consumer;
@@ -69,7 +69,7 @@ public class DeptServiceTest extends BaseDbUnitTest { @@ -69,7 +69,7 @@ public class DeptServiceTest extends BaseDbUnitTest {
69 assertPojoEquals(deptDO1, parentDeptCache.get(deptDO1.getParentId())); 69 assertPojoEquals(deptDO1, parentDeptCache.get(deptDO1.getParentId()));
70 assertPojoEquals(deptDO2, parentDeptCache.get(deptDO2.getParentId())); 70 assertPojoEquals(deptDO2, parentDeptCache.get(deptDO2.getParentId()));
71 // 断言 maxUpdateTime 缓存 71 // 断言 maxUpdateTime 缓存
72 - Date maxUpdateTime = (Date) getFieldValue(deptService, "maxUpdateTime"); 72 + LocalDateTime maxUpdateTime = (LocalDateTime) getFieldValue(deptService, "maxUpdateTime");
73 assertEquals(ObjectUtils.max(deptDO1.getUpdateTime(), deptDO2.getUpdateTime()), maxUpdateTime); 73 assertEquals(ObjectUtils.max(deptDO1.getUpdateTime(), deptDO2.getUpdateTime()), maxUpdateTime);
74 } 74 }
75 75
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/dict/DictTypeServiceTest.java
@@ -16,7 +16,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -16,7 +16,7 @@ import org.springframework.boot.test.mock.mockito.MockBean;
16 import org.springframework.context.annotation.Import; 16 import org.springframework.context.annotation.Import;
17 17
18 import javax.annotation.Resource; 18 import javax.annotation.Resource;
19 -import java.util.Date; 19 +import java.time.LocalDateTime;
20 import java.util.List; 20 import java.util.List;
21 import java.util.function.Consumer; 21 import java.util.function.Consumer;
22 22
@@ -24,7 +24,7 @@ import static cn.hutool.core.util.RandomUtil.randomEle; @@ -24,7 +24,7 @@ import static cn.hutool.core.util.RandomUtil.randomEle;
24 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; 24 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
27 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 27 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
29 import static org.junit.jupiter.api.Assertions.*; 29 import static org.junit.jupiter.api.Assertions.*;
30 import static org.mockito.ArgumentMatchers.eq; 30 import static org.mockito.ArgumentMatchers.eq;
@@ -48,7 +48,7 @@ public class DictTypeServiceTest extends BaseDbUnitTest { @@ -48,7 +48,7 @@ public class DictTypeServiceTest extends BaseDbUnitTest {
48 o.setName("yunai"); 48 o.setName("yunai");
49 o.setType("芋艿"); 49 o.setType("芋艿");
50 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 50 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
51 - o.setCreateTime(buildTime(2021, 1, 15)); 51 + o.setCreateTime(buildLocalDateTime(2021, 1, 15));
52 }); 52 });
53 dictTypeMapper.insert(dbDictType); 53 dictTypeMapper.insert(dbDictType);
54 // 测试 name 不匹配 54 // 测试 name 不匹配
@@ -58,13 +58,13 @@ public class DictTypeServiceTest extends BaseDbUnitTest { @@ -58,13 +58,13 @@ public class DictTypeServiceTest extends BaseDbUnitTest {
58 // 测试 status 不匹配 58 // 测试 status 不匹配
59 dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 59 dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
60 // 测试 createTime 不匹配 60 // 测试 createTime 不匹配
61 - dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildTime(2021, 1, 1)))); 61 + dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildLocalDateTime(2021, 1, 1))));
62 // 准备参数 62 // 准备参数
63 DictTypePageReqVO reqVO = new DictTypePageReqVO(); 63 DictTypePageReqVO reqVO = new DictTypePageReqVO();
64 reqVO.setName("nai"); 64 reqVO.setName("nai");
65 reqVO.setType("艿"); 65 reqVO.setType("艿");
66 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 66 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
67 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 10),buildTime(2021, 1, 20)})); 67 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 10),buildLocalDateTime(2021, 1, 20)}));
68 68
69 // 调用 69 // 调用
70 PageResult<DictTypeDO> pageResult = dictTypeService.getDictTypePage(reqVO); 70 PageResult<DictTypeDO> pageResult = dictTypeService.getDictTypePage(reqVO);
@@ -81,7 +81,7 @@ public class DictTypeServiceTest extends BaseDbUnitTest { @@ -81,7 +81,7 @@ public class DictTypeServiceTest extends BaseDbUnitTest {
81 o.setName("yunai"); 81 o.setName("yunai");
82 o.setType("芋艿"); 82 o.setType("芋艿");
83 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 83 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
84 - o.setCreateTime(buildTime(2021, 1, 15)); 84 + o.setCreateTime(buildLocalDateTime(2021, 1, 15));
85 }); 85 });
86 dictTypeMapper.insert(dbDictType); 86 dictTypeMapper.insert(dbDictType);
87 // 测试 name 不匹配 87 // 测试 name 不匹配
@@ -91,13 +91,13 @@ public class DictTypeServiceTest extends BaseDbUnitTest { @@ -91,13 +91,13 @@ public class DictTypeServiceTest extends BaseDbUnitTest {
91 // 测试 status 不匹配 91 // 测试 status 不匹配
92 dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 92 dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
93 // 测试 createTime 不匹配 93 // 测试 createTime 不匹配
94 - dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildTime(2021, 1, 1)))); 94 + dictTypeMapper.insert(ObjectUtils.cloneIgnoreId(dbDictType, o -> o.setCreateTime(buildLocalDateTime(2021, 1, 1))));
95 // 准备参数 95 // 准备参数
96 DictTypeExportReqVO reqVO = new DictTypeExportReqVO(); 96 DictTypeExportReqVO reqVO = new DictTypeExportReqVO();
97 reqVO.setName("nai"); 97 reqVO.setName("nai");
98 reqVO.setType("艿"); 98 reqVO.setType("艿");
99 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 99 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
100 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 10),buildTime(2021, 1, 20)})); 100 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 1, 10),buildLocalDateTime(2021, 1, 20)}));
101 101
102 // 调用 102 // 调用
103 List<DictTypeDO> list = dictTypeService.getDictTypeList(reqVO); 103 List<DictTypeDO> list = dictTypeService.getDictTypeList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeServiceTest.java
@@ -17,12 +17,12 @@ import org.junit.jupiter.api.Test; @@ -17,12 +17,12 @@ import org.junit.jupiter.api.Test;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
18 18
19 import javax.annotation.Resource; 19 import javax.annotation.Resource;
20 -import java.util.Date; 20 +import java.time.LocalDateTime;
21 import java.util.List; 21 import java.util.List;
22 import java.util.function.Consumer; 22 import java.util.function.Consumer;
23 23
24 import static cn.hutool.core.util.RandomUtil.randomEle; 24 import static cn.hutool.core.util.RandomUtil.randomEle;
25 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 25 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -96,7 +96,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest { @@ -96,7 +96,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest {
96 reqVO.setApplicationName("tu"); 96 reqVO.setApplicationName("tu");
97 reqVO.setCode(1); 97 reqVO.setCode(1);
98 reqVO.setMessage("ma"); 98 reqVO.setMessage("ma");
99 - reqVO.setCreateTime((new Date[]{buildTime(2020, 11, 1),buildTime(2020, 11, 30)})); 99 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1),buildLocalDateTime(2020, 11, 30)}));
100 100
101 // 调用 101 // 调用
102 PageResult<ErrorCodeDO> pageResult = errorCodeService.getErrorCodePage(reqVO); 102 PageResult<ErrorCodeDO> pageResult = errorCodeService.getErrorCodePage(reqVO);
@@ -115,7 +115,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest { @@ -115,7 +115,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest {
115 o.setApplicationName("tudou"); 115 o.setApplicationName("tudou");
116 o.setCode(1); 116 o.setCode(1);
117 o.setMessage("yuanma"); 117 o.setMessage("yuanma");
118 - o.setCreateTime(buildTime(2020, 11, 11)); 118 + o.setCreateTime(buildLocalDateTime(2020, 11, 11));
119 }); 119 });
120 errorCodeMapper.insert(dbErrorCode); 120 errorCodeMapper.insert(dbErrorCode);
121 // 测试 type 不匹配 121 // 测试 type 不匹配
@@ -127,7 +127,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest { @@ -127,7 +127,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest {
127 // 测试 message 不匹配 127 // 测试 message 不匹配
128 errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setMessage("nai"))); 128 errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setMessage("nai")));
129 // 测试 createTime 不匹配 129 // 测试 createTime 不匹配
130 - errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setCreateTime(buildTime(2020, 12, 12)))); 130 + errorCodeMapper.insert(ObjectUtils.cloneIgnoreId(dbErrorCode, o -> o.setCreateTime(buildLocalDateTime(2020, 12, 12))));
131 return dbErrorCode; 131 return dbErrorCode;
132 } 132 }
133 133
@@ -141,7 +141,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest { @@ -141,7 +141,7 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest {
141 reqVO.setApplicationName("tu"); 141 reqVO.setApplicationName("tu");
142 reqVO.setCode(1); 142 reqVO.setCode(1);
143 reqVO.setMessage("ma"); 143 reqVO.setMessage("ma");
144 - reqVO.setCreateTime((new Date[]{buildTime(2020, 11, 1),buildTime(2020, 11, 30)})); 144 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1),buildLocalDateTime(2020, 11, 30)}));
145 145
146 // 调用 146 // 调用
147 List<ErrorCodeDO> list = errorCodeService.getErrorCodeList(reqVO); 147 List<ErrorCodeDO> list = errorCodeService.getErrorCodeList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/logger/LoginLogServiceImplTest.java
@@ -18,12 +18,12 @@ import org.junit.jupiter.api.Test; @@ -18,12 +18,12 @@ import org.junit.jupiter.api.Test;
18 import org.springframework.context.annotation.Import; 18 import org.springframework.context.annotation.Import;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
21 -import java.util.Date; 21 +import java.time.LocalDateTime;
22 import java.util.List; 22 import java.util.List;
23 23
24 import static cn.hutool.core.util.RandomUtil.randomEle; 24 import static cn.hutool.core.util.RandomUtil.randomEle;
25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
26 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 26 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
27 import static org.junit.jupiter.api.Assertions.assertEquals; 27 import static org.junit.jupiter.api.Assertions.assertEquals;
28 28
29 @Import(LoginLogServiceImpl.class) 29 @Import(LoginLogServiceImpl.class)
@@ -46,7 +46,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { @@ -46,7 +46,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
46 46
47 logDO.setUserIp("192.168.199.16"); 47 logDO.setUserIp("192.168.199.16");
48 logDO.setUsername("wangkai"); 48 logDO.setUsername("wangkai");
49 - logDO.setCreateTime(buildTime(2021, 3, 6)); 49 + logDO.setCreateTime(buildLocalDateTime(2021, 3, 6));
50 logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult()); 50 logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult());
51 }); 51 });
52 loginLogMapper.insert(loginLogDO); 52 loginLogMapper.insert(loginLogDO);
@@ -59,7 +59,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { @@ -59,7 +59,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
59 // 不同username 59 // 不同username
60 loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUsername("yunai"))); 60 loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUsername("yunai")));
61 // 构造一个早期时间 2021-02-06 00:00:00 61 // 构造一个早期时间 2021-02-06 00:00:00
62 - loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setCreateTime(buildTime(2021, 2, 6)))); 62 + loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setCreateTime(buildLocalDateTime(2021, 2, 6))));
63 63
64 64
65 // 构造调用参数 65 // 构造调用参数
@@ -67,7 +67,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { @@ -67,7 +67,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
67 reqVO.setUsername("wangkai"); 67 reqVO.setUsername("wangkai");
68 reqVO.setUserIp("192.168.199"); 68 reqVO.setUserIp("192.168.199");
69 reqVO.setStatus(true); 69 reqVO.setStatus(true);
70 - reqVO.setCreateTime((new Date[]{buildTime(2021, 3, 5),buildTime(2021, 3, 5)})); 70 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 5),buildLocalDateTime(2021, 3, 5)}));
71 71
72 // 调用service方法 72 // 调用service方法
73 PageResult<LoginLogDO> pageResult = loginLogService.getLoginLogPage(reqVO); 73 PageResult<LoginLogDO> pageResult = loginLogService.getLoginLogPage(reqVO);
@@ -90,7 +90,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { @@ -90,7 +90,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
90 90
91 logDO.setUserIp("192.168.111.16"); 91 logDO.setUserIp("192.168.111.16");
92 logDO.setUsername("wangxiaokai"); 92 logDO.setUsername("wangxiaokai");
93 - logDO.setCreateTime(buildTime(2021, 3, 6)); 93 + logDO.setCreateTime(buildLocalDateTime(2021, 3, 6));
94 logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult()); 94 logDO.setResult(cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum.SUCCESS.getResult());
95 }); 95 });
96 loginLogMapper.insert(loginLogDO); 96 loginLogMapper.insert(loginLogDO);
@@ -103,14 +103,14 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { @@ -103,14 +103,14 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
103 // 不同username 103 // 不同username
104 loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUsername("yunai"))); 104 loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setUsername("yunai")));
105 // 构造一个早期时间 2021-02-06 00:00:00 105 // 构造一个早期时间 2021-02-06 00:00:00
106 - loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setCreateTime(buildTime(2021, 2, 6)))); 106 + loginLogMapper.insert(ObjectUtils.cloneIgnoreId(loginLogDO, logDO -> logDO.setCreateTime(buildLocalDateTime(2021, 2, 6))));
107 107
108 // 构造调用参数 108 // 构造调用参数
109 LoginLogExportReqVO reqVO = new LoginLogExportReqVO(); 109 LoginLogExportReqVO reqVO = new LoginLogExportReqVO();
110 reqVO.setUsername("wangxiaokai"); 110 reqVO.setUsername("wangxiaokai");
111 reqVO.setUserIp("192.168.111"); 111 reqVO.setUserIp("192.168.111");
112 reqVO.setStatus(true); 112 reqVO.setStatus(true);
113 - reqVO.setCreateTime((new Date[]{buildTime(2021, 3, 5),buildTime(2021, 3, 5)})); 113 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 5),buildLocalDateTime(2021, 3, 5)}));
114 114
115 // 调用service方法 115 // 调用service方法
116 List<LoginLogDO> loginLogList = loginLogService.getLoginLogList(reqVO); 116 List<LoginLogDO> loginLogList = loginLogService.getLoginLogList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImplTest.java
@@ -23,13 +23,13 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -23,13 +23,13 @@ import org.springframework.boot.test.mock.mockito.MockBean;
23 import org.springframework.context.annotation.Import; 23 import org.springframework.context.annotation.Import;
24 24
25 import javax.annotation.Resource; 25 import javax.annotation.Resource;
  26 +import java.time.LocalDateTime;
26 import java.util.Collections; 27 import java.util.Collections;
27 -import java.util.Date;  
28 import java.util.List; 28 import java.util.List;
29 29
30 import static cn.hutool.core.util.RandomUtil.randomEle; 30 import static cn.hutool.core.util.RandomUtil.randomEle;
31 import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; 31 import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST;
32 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 32 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
33 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 33 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
34 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; 34 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
35 import static org.junit.jupiter.api.Assertions.assertEquals; 35 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -81,7 +81,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -81,7 +81,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
81 o.setUserType(randomEle(UserTypeEnum.values()).getValue()); 81 o.setUserType(randomEle(UserTypeEnum.values()).getValue());
82 o.setModule("order"); 82 o.setModule("order");
83 o.setType(OperateTypeEnum.CREATE.getType()); 83 o.setType(OperateTypeEnum.CREATE.getType());
84 - o.setStartTime(buildTime(2021, 3, 6)); 84 + o.setStartTime(buildLocalDateTime(2021, 3, 6));
85 o.setResultCode(GlobalErrorCodeConstants.SUCCESS.getCode()); 85 o.setResultCode(GlobalErrorCodeConstants.SUCCESS.getCode());
86 o.setExts(MapUtil.<String, Object>builder("orderId", randomLongId()).build()); 86 o.setExts(MapUtil.<String, Object>builder("orderId", randomLongId()).build());
87 }); 87 });
@@ -95,7 +95,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -95,7 +95,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
95 // type 不同 95 // type 不同
96 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setType(OperateTypeEnum.IMPORT.getType()))); 96 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setType(OperateTypeEnum.IMPORT.getType())));
97 // createTime 不同 97 // createTime 不同
98 - operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setStartTime(buildTime(2021, 2, 6)))); 98 + operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setStartTime(buildLocalDateTime(2021, 2, 6))));
99 // resultCode 不同 99 // resultCode 不同
100 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(BAD_REQUEST.getCode()))); 100 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(BAD_REQUEST.getCode())));
101 101
@@ -104,7 +104,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -104,7 +104,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
104 reqVO.setUserNickname("wangkai"); 104 reqVO.setUserNickname("wangkai");
105 reqVO.setModule("order"); 105 reqVO.setModule("order");
106 reqVO.setType(OperateTypeEnum.CREATE.getType()); 106 reqVO.setType(OperateTypeEnum.CREATE.getType());
107 - reqVO.setStartTime((new Date[]{buildTime(2021, 3, 5),buildTime(2021, 3, 7)})); 107 + reqVO.setStartTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 5),buildLocalDateTime(2021, 3, 7)}));
108 reqVO.setSuccess(true); 108 reqVO.setSuccess(true);
109 109
110 // 调用service方法 110 // 调用service方法
@@ -132,7 +132,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -132,7 +132,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
132 o.setUserType(randomEle(UserTypeEnum.values()).getValue()); 132 o.setUserType(randomEle(UserTypeEnum.values()).getValue());
133 o.setModule("order"); 133 o.setModule("order");
134 o.setType(OperateTypeEnum.CREATE.getType()); 134 o.setType(OperateTypeEnum.CREATE.getType());
135 - o.setStartTime(buildTime(2021, 3, 6)); 135 + o.setStartTime(buildLocalDateTime(2021, 3, 6));
136 o.setResultCode(GlobalErrorCodeConstants.SUCCESS.getCode()); 136 o.setResultCode(GlobalErrorCodeConstants.SUCCESS.getCode());
137 o.setExts(MapUtil.<String, Object>builder("orderId", randomLongId()).build()); 137 o.setExts(MapUtil.<String, Object>builder("orderId", randomLongId()).build());
138 }); 138 });
@@ -146,7 +146,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -146,7 +146,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
146 // type 不同 146 // type 不同
147 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setType(OperateTypeEnum.IMPORT.getType()))); 147 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setType(OperateTypeEnum.IMPORT.getType())));
148 // createTime 不同 148 // createTime 不同
149 - operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setStartTime(buildTime(2021, 2, 6)))); 149 + operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setStartTime(buildLocalDateTime(2021, 2, 6))));
150 // resultCode 不同 150 // resultCode 不同
151 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(BAD_REQUEST.getCode()))); 151 operateLogMapper.insert(ObjectUtils.cloneIgnoreId(sysOperateLogDO, logDO -> logDO.setResultCode(BAD_REQUEST.getCode())));
152 152
@@ -155,7 +155,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest { @@ -155,7 +155,7 @@ public class OperateLogServiceImplTest extends BaseDbUnitTest {
155 reqVO.setUserNickname("wangkai"); 155 reqVO.setUserNickname("wangkai");
156 reqVO.setModule("order"); 156 reqVO.setModule("order");
157 reqVO.setType(OperateTypeEnum.CREATE.getType()); 157 reqVO.setType(OperateTypeEnum.CREATE.getType());
158 - reqVO.setStartTime((new Date[]{buildTime(2021, 3, 5),buildTime(2021, 3, 7)})); 158 + reqVO.setStartTime((new LocalDateTime[]{buildLocalDateTime(2021, 3, 5),buildLocalDateTime(2021, 3, 7)}));
159 reqVO.setSuccess(true); 159 reqVO.setSuccess(true);
160 160
161 // 调用 service 方法 161 // 调用 service 方法
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java
1 package cn.iocoder.yudao.module.system.service.oauth2; 1 package cn.iocoder.yudao.module.system.service.oauth2;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.util.ObjectUtil; 4 import cn.hutool.core.util.ObjectUtil;
4 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 5 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
5 import cn.iocoder.yudao.framework.common.util.date.DateUtils; 6 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
@@ -13,11 +14,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -13,11 +14,12 @@ import org.springframework.boot.test.mock.mockito.MockBean;
13 import org.springframework.context.annotation.Import; 14 import org.springframework.context.annotation.Import;
14 15
15 import javax.annotation.Resource; 16 import javax.annotation.Resource;
16 -import java.time.Duration; 17 +import java.time.LocalDateTime;
  18 +import java.time.ZoneId;
  19 +import java.time.temporal.ChronoUnit;
17 import java.util.*; 20 import java.util.*;
18 21
19 import static cn.hutool.core.util.RandomUtil.*; 22 import static cn.hutool.core.util.RandomUtil.*;
20 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime;  
21 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
22 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString; 24 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
23 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 25 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -81,7 +83,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { @@ -81,7 +83,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
81 // mock 数据 83 // mock 数据
82 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId) 84 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId)
83 .setUserType(userType).setClientId(clientId).setScope("read") 85 .setUserType(userType).setClientId(clientId).setScope("read")
84 - .setExpiresTime(addTime(Duration.ofDays(1))).setApproved(true); // 同意 86 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 1L, ChronoUnit.DAYS)).setApproved(true); // 同意
85 oauth2ApproveMapper.insert(approve); 87 oauth2ApproveMapper.insert(approve);
86 88
87 // 调用 89 // 调用
@@ -104,7 +106,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { @@ -104,7 +106,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
104 // mock 数据 106 // mock 数据
105 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId) 107 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId)
106 .setUserType(userType).setClientId(clientId).setScope("read") 108 .setUserType(userType).setClientId(clientId).setScope("read")
107 - .setExpiresTime(addTime(Duration.ofDays(1))).setApproved(false); // 拒绝 109 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 1L, ChronoUnit.DAYS)).setApproved(false); // 拒绝
108 oauth2ApproveMapper.insert(approve); 110 oauth2ApproveMapper.insert(approve);
109 111
110 // 调用 112 // 调用
@@ -198,10 +200,10 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { @@ -198,10 +200,10 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
198 String clientId = randomString(); 200 String clientId = randomString();
199 // mock 数据 201 // mock 数据
200 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId) 202 OAuth2ApproveDO approve = randomPojo(OAuth2ApproveDO.class).setUserId(userId)
201 - .setUserType(userType).setClientId(clientId).setExpiresTime(addTime(Duration.ofDays(1L))); 203 + .setUserType(userType).setClientId(clientId).setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), 1L, ChronoUnit.DAYS));
202 oauth2ApproveMapper.insert(approve); // 未过期 204 oauth2ApproveMapper.insert(approve); // 未过期
203 oauth2ApproveMapper.insert(ObjectUtil.clone(approve).setId(null) 205 oauth2ApproveMapper.insert(ObjectUtil.clone(approve).setId(null)
204 - .setExpiresTime(addTime(Duration.ofDays(-1L)))); // 已过期 206 + .setExpiresTime(LocalDateTimeUtil.offset(LocalDateTime.now(), -1L, ChronoUnit.DAYS))); // 已过期
205 207
206 // 调用 208 // 调用
207 List<OAuth2ApproveDO> result = oauth2ApproveService.getApproveList(userId, userType, clientId); 209 List<OAuth2ApproveDO> result = oauth2ApproveService.getApproveList(userId, userType, clientId);
@@ -218,7 +220,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { @@ -218,7 +220,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
218 String clientId = randomString(); 220 String clientId = randomString();
219 String scope = randomString(); 221 String scope = randomString();
220 Boolean approved = randomBoolean(); 222 Boolean approved = randomBoolean();
221 - Date expireTime = randomDay(1, 30); 223 + LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault());
222 // mock 方法 224 // mock 方法
223 225
224 // 调用 226 // 调用
@@ -246,7 +248,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest { @@ -246,7 +248,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
246 String clientId = approve.getClientId(); 248 String clientId = approve.getClientId();
247 String scope = approve.getScope(); 249 String scope = approve.getScope();
248 Boolean approved = randomBoolean(); 250 Boolean approved = randomBoolean();
249 - Date expireTime = randomDay(1, 30); 251 + LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault());
250 // mock 方法 252 // mock 方法
251 253
252 // 调用 254 // 调用
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImplTest.java
@@ -11,10 +11,9 @@ import org.junit.jupiter.api.Test; @@ -11,10 +11,9 @@ import org.junit.jupiter.api.Test;
11 import org.springframework.context.annotation.Import; 11 import org.springframework.context.annotation.Import;
12 12
13 import javax.annotation.Resource; 13 import javax.annotation.Resource;
14 -import java.time.Duration; 14 +import java.time.LocalDateTime;
15 import java.util.List; 15 import java.util.List;
16 16
17 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime;  
18 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 17 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
19 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 18 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
20 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 19 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -74,7 +73,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest { @@ -74,7 +73,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest {
74 String code = "test_code"; 73 String code = "test_code";
75 // mock 数据 74 // mock 数据
76 OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class).setCode(code) 75 OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class).setCode(code)
77 - .setExpiresTime(addTime(Duration.ofDays(-1))); 76 + .setExpiresTime(LocalDateTime.now().minusDays(1));
78 oauth2CodeMapper.insert(codeDO); 77 oauth2CodeMapper.insert(codeDO);
79 78
80 // 调用,并断言 79 // 调用,并断言
@@ -88,7 +87,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest { @@ -88,7 +87,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest {
88 String code = "test_code"; 87 String code = "test_code";
89 // mock 数据 88 // mock 数据
90 OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class).setCode(code) 89 OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class).setCode(code)
91 - .setExpiresTime(addTime(Duration.ofDays(1))); 90 + .setExpiresTime(LocalDateTime.now().plusDays(1));
92 oauth2CodeMapper.insert(codeDO); 91 oauth2CodeMapper.insert(codeDO);
93 92
94 // 调用 93 // 调用
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java
1 package cn.iocoder.yudao.module.system.service.oauth2; 1 package cn.iocoder.yudao.module.system.service.oauth2;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.hutool.core.util.RandomUtil; 4 import cn.hutool.core.util.RandomUtil;
4 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 5 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
5 import cn.iocoder.yudao.framework.common.exception.ErrorCode; 6 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
@@ -20,11 +21,9 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -20,11 +21,9 @@ import org.springframework.boot.test.mock.mockito.MockBean;
20 import org.springframework.context.annotation.Import; 21 import org.springframework.context.annotation.Import;
21 22
22 import javax.annotation.Resource; 23 import javax.annotation.Resource;
23 -import java.time.Duration;  
24 -import java.util.Date; 24 +import java.time.LocalDateTime;
25 import java.util.List; 25 import java.util.List;
26 26
27 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime;  
28 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 27 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -128,7 +127,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -128,7 +127,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
128 // mock 数据(访问令牌) 127 // mock 数据(访问令牌)
129 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class) 128 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class)
130 .setRefreshToken(refreshToken).setClientId(clientId) 129 .setRefreshToken(refreshToken).setClientId(clientId)
131 - .setExpiresTime(addTime(Duration.ofDays(-1))); 130 + .setExpiresTime(LocalDateTime.now().minusDays(1));
132 oauth2RefreshTokenMapper.insert(refreshTokenDO); 131 oauth2RefreshTokenMapper.insert(refreshTokenDO);
133 132
134 // 调用,并断言 133 // 调用,并断言
@@ -150,7 +149,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -150,7 +149,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
150 // mock 数据(访问令牌) 149 // mock 数据(访问令牌)
151 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class) 150 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class)
152 .setRefreshToken(refreshToken).setClientId(clientId) 151 .setRefreshToken(refreshToken).setClientId(clientId)
153 - .setExpiresTime(addTime(Duration.ofDays(1))); 152 + .setExpiresTime(LocalDateTime.now().plusDays(1));
154 oauth2RefreshTokenMapper.insert(refreshTokenDO); 153 oauth2RefreshTokenMapper.insert(refreshTokenDO);
155 // mock 数据(访问令牌) 154 // mock 数据(访问令牌)
156 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class).setRefreshToken(refreshToken); 155 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class).setRefreshToken(refreshToken);
@@ -177,7 +176,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -177,7 +176,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
177 public void testGetAccessToken() { 176 public void testGetAccessToken() {
178 // mock 数据(访问令牌) 177 // mock 数据(访问令牌)
179 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 178 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
180 - .setExpiresTime(addTime(Duration.ofDays(1))); 179 + .setExpiresTime(LocalDateTime.now().plusDays(1));
181 oauth2AccessTokenMapper.insert(accessTokenDO); 180 oauth2AccessTokenMapper.insert(accessTokenDO);
182 // 准备参数 181 // 准备参数
183 String accessToken = accessTokenDO.getAccessToken(); 182 String accessToken = accessTokenDO.getAccessToken();
@@ -202,7 +201,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -202,7 +201,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
202 public void testCheckAccessToken_expired() { 201 public void testCheckAccessToken_expired() {
203 // mock 数据(访问令牌) 202 // mock 数据(访问令牌)
204 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 203 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
205 - .setExpiresTime(addTime(Duration.ofDays(-1))); 204 + .setExpiresTime(LocalDateTime.now().minusDays(1));
206 oauth2AccessTokenMapper.insert(accessTokenDO); 205 oauth2AccessTokenMapper.insert(accessTokenDO);
207 // 准备参数 206 // 准备参数
208 String accessToken = accessTokenDO.getAccessToken(); 207 String accessToken = accessTokenDO.getAccessToken();
@@ -216,7 +215,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -216,7 +215,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
216 public void testCheckAccessToken_success() { 215 public void testCheckAccessToken_success() {
217 // mock 数据(访问令牌) 216 // mock 数据(访问令牌)
218 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 217 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
219 - .setExpiresTime(addTime(Duration.ofDays(1))); 218 + .setExpiresTime(LocalDateTime.now().plusDays(1));
220 oauth2AccessTokenMapper.insert(accessTokenDO); 219 oauth2AccessTokenMapper.insert(accessTokenDO);
221 // 准备参数 220 // 准备参数
222 String accessToken = accessTokenDO.getAccessToken(); 221 String accessToken = accessTokenDO.getAccessToken();
@@ -238,7 +237,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -238,7 +237,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
238 public void testRemoveAccessToken_success() { 237 public void testRemoveAccessToken_success() {
239 // mock 数据(访问令牌) 238 // mock 数据(访问令牌)
240 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class) 239 OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class)
241 - .setExpiresTime(addTime(Duration.ofDays(1))); 240 + .setExpiresTime(LocalDateTime.now().plusDays(1));
242 oauth2AccessTokenMapper.insert(accessTokenDO); 241 oauth2AccessTokenMapper.insert(accessTokenDO);
243 // mock 数据(刷新令牌) 242 // mock 数据(刷新令牌)
244 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class) 243 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class)
@@ -262,7 +261,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -262,7 +261,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
262 o.setUserId(10L); 261 o.setUserId(10L);
263 o.setUserType(1); 262 o.setUserType(1);
264 o.setClientId("test_client"); 263 o.setClientId("test_client");
265 - o.setExpiresTime(DateUtils.addTime(Duration.ofDays(1))); 264 + o.setExpiresTime(LocalDateTime.now().plusDays(1));
266 }); 265 });
267 oauth2AccessTokenMapper.insert(dbAccessToken); 266 oauth2AccessTokenMapper.insert(dbAccessToken);
268 // 测试 userId 不匹配 267 // 测试 userId 不匹配
@@ -272,7 +271,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -272,7 +271,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
272 // 测试 userType 不匹配 271 // 测试 userType 不匹配
273 oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setClientId("it_client"))); 272 oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setClientId("it_client")));
274 // 测试 expireTime 不匹配 273 // 测试 expireTime 不匹配
275 - oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setExpiresTime(new Date()))); 274 + oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setExpiresTime(LocalDateTimeUtil.now())));
276 // 准备参数 275 // 准备参数
277 OAuth2AccessTokenPageReqVO reqVO = new OAuth2AccessTokenPageReqVO(); 276 OAuth2AccessTokenPageReqVO reqVO = new OAuth2AccessTokenPageReqVO();
278 reqVO.setUserId(10L); 277 reqVO.setUserId(10L);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceTest.java
@@ -27,6 +27,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -27,6 +27,7 @@ import org.springframework.boot.test.mock.mockito.MockBean;
27 import org.springframework.context.annotation.Import; 27 import org.springframework.context.annotation.Import;
28 28
29 import javax.annotation.Resource; 29 import javax.annotation.Resource;
  30 +import java.time.LocalDateTime;
30 import java.util.*; 31 import java.util.*;
31 32
32 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; 33 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
@@ -87,7 +88,7 @@ public class PermissionServiceTest extends BaseDbUnitTest { @@ -87,7 +88,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
87 assertEquals(singletonList(1L), permissionService.getMenuRoleCache().get(10L)); 88 assertEquals(singletonList(1L), permissionService.getMenuRoleCache().get(10L));
88 assertEquals(singletonList(1L), permissionService.getMenuRoleCache().get(20L)); 89 assertEquals(singletonList(1L), permissionService.getMenuRoleCache().get(20L));
89 // 断言 maxUpdateTime 缓存 90 // 断言 maxUpdateTime 缓存
90 - Date maxUpdateTime = permissionService.getRoleMenuMaxUpdateTime(); 91 + LocalDateTime maxUpdateTime = permissionService.getRoleMenuMaxUpdateTime();
91 assertEquals(ObjectUtils.max(roleMenuDO01.getUpdateTime(), roleMenuDO02.getUpdateTime()), maxUpdateTime); 92 assertEquals(ObjectUtils.max(roleMenuDO01.getUpdateTime(), roleMenuDO02.getUpdateTime()), maxUpdateTime);
92 } 93 }
93 94
@@ -105,7 +106,7 @@ public class PermissionServiceTest extends BaseDbUnitTest { @@ -105,7 +106,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
105 assertEquals(1, permissionService.getUserRoleCache().size()); 106 assertEquals(1, permissionService.getUserRoleCache().size());
106 assertEquals(asSet(10L, 20L), permissionService.getUserRoleCache().get(1L)); 107 assertEquals(asSet(10L, 20L), permissionService.getUserRoleCache().get(1L));
107 // 断言 maxUpdateTime 缓存 108 // 断言 maxUpdateTime 缓存
108 - Date maxUpdateTime = permissionService.getUserRoleMaxUpdateTime(); 109 + LocalDateTime maxUpdateTime = permissionService.getUserRoleMaxUpdateTime();
109 assertEquals(ObjectUtils.max(userRoleDO01.getUpdateTime(), roleMenuDO02.getUpdateTime()), maxUpdateTime); 110 assertEquals(ObjectUtils.max(userRoleDO01.getUpdateTime(), roleMenuDO02.getUpdateTime()), maxUpdateTime);
110 } 111 }
111 112
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceTest.java
@@ -19,10 +19,11 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -19,10 +19,11 @@ import org.springframework.boot.test.mock.mockito.MockBean;
19 import org.springframework.context.annotation.Import; 19 import org.springframework.context.annotation.Import;
20 20
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
  22 +import java.time.LocalDateTime;
22 import java.util.*; 23 import java.util.*;
23 import java.util.stream.Collectors; 24 import java.util.stream.Collectors;
24 25
25 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 26 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 27 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
27 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; 28 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
@@ -165,7 +166,7 @@ public class RoleServiceTest extends BaseDbUnitTest { @@ -165,7 +166,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
165 o.setName("土豆"); 166 o.setName("土豆");
166 o.setCode("tudou"); 167 o.setCode("tudou");
167 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 168 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
168 - o.setCreateTime(DateUtils.buildTime(2022, 2, 8)); 169 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 8));
169 }); 170 });
170 roleMapper.insert(dbRole); 171 roleMapper.insert(dbRole);
171 // 测试 name 不匹配 172 // 测试 name 不匹配
@@ -173,13 +174,13 @@ public class RoleServiceTest extends BaseDbUnitTest { @@ -173,13 +174,13 @@ public class RoleServiceTest extends BaseDbUnitTest {
173 // 测试 code 不匹配 174 // 测试 code 不匹配
174 roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCode("hong"))); 175 roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCode("hong")));
175 // 测试 createTime 不匹配 176 // 测试 createTime 不匹配
176 - roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCreateTime(DateUtils.buildTime(2022, 2, 16)))); 177 + roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 16))));
177 // 准备参数 178 // 准备参数
178 RoleExportReqVO reqVO = new RoleExportReqVO(); 179 RoleExportReqVO reqVO = new RoleExportReqVO();
179 reqVO.setName("土豆"); 180 reqVO.setName("土豆");
180 reqVO.setCode("tu"); 181 reqVO.setCode("tu");
181 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 182 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
182 - reqVO.setCreateTime((new Date[]{buildTime(2022, 2, 1),buildTime(2022, 2, 12)})); 183 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 2, 1),buildLocalDateTime(2022, 2, 12)}));
183 184
184 // 调用 185 // 调用
185 List<RoleDO> list = roleService.getRoleList(reqVO); 186 List<RoleDO> list = roleService.getRoleList(reqVO);
@@ -195,7 +196,7 @@ public class RoleServiceTest extends BaseDbUnitTest { @@ -195,7 +196,7 @@ public class RoleServiceTest extends BaseDbUnitTest {
195 o.setName("土豆"); 196 o.setName("土豆");
196 o.setCode("tudou"); 197 o.setCode("tudou");
197 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 198 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
198 - o.setCreateTime(DateUtils.buildTime(2022, 2, 8)); 199 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 8));
199 }); 200 });
200 roleMapper.insert(dbRole); 201 roleMapper.insert(dbRole);
201 // 测试 name 不匹配 202 // 测试 name 不匹配
@@ -203,13 +204,13 @@ public class RoleServiceTest extends BaseDbUnitTest { @@ -203,13 +204,13 @@ public class RoleServiceTest extends BaseDbUnitTest {
203 // 测试 code 不匹配 204 // 测试 code 不匹配
204 roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCode("hong"))); 205 roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCode("hong")));
205 // 测试 createTime 不匹配 206 // 测试 createTime 不匹配
206 - roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCreateTime(DateUtils.buildTime(2022, 2, 16)))); 207 + roleMapper.insert(cloneIgnoreId(dbRole, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 16))));
207 // 准备参数 208 // 准备参数
208 RolePageReqVO reqVO = new RolePageReqVO(); 209 RolePageReqVO reqVO = new RolePageReqVO();
209 reqVO.setName("土豆"); 210 reqVO.setName("土豆");
210 reqVO.setCode("tu"); 211 reqVO.setCode("tu");
211 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 212 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
212 - reqVO.setCreateTime((new Date[]{buildTime(2022, 2, 1),buildTime(2022, 2, 12)})); 213 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 2, 1),buildLocalDateTime(2022, 2, 12)}));
213 214
214 // 调用 215 // 调用
215 PageResult<RoleDO> pageResult = roleService.getRolePage(reqVO); 216 PageResult<RoleDO> pageResult = roleService.getRolePage(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sensitiveword/SensitiveWordServiceImplTest.java
@@ -17,11 +17,11 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -17,11 +17,11 @@ import org.springframework.boot.test.mock.mockito.MockBean;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
18 18
19 import javax.annotation.Resource; 19 import javax.annotation.Resource;
  20 +import java.time.LocalDateTime;
20 import java.util.Arrays; 21 import java.util.Arrays;
21 -import java.util.Date;  
22 import java.util.List; 22 import java.util.List;
23 23
24 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 24 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
25 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 25 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; 26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
@@ -145,7 +145,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest { @@ -145,7 +145,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
145 o.setName("笨蛋"); 145 o.setName("笨蛋");
146 o.setTags(Arrays.asList("论坛", "蔬菜")); 146 o.setTags(Arrays.asList("论坛", "蔬菜"));
147 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 147 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
148 - o.setCreateTime(DateUtils.buildTime(2022, 2, 8)); 148 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 8));
149 }); 149 });
150 sensitiveWordMapper.insert(dbSensitiveWord); 150 sensitiveWordMapper.insert(dbSensitiveWord);
151 // 测试 name 不匹配 151 // 测试 name 不匹配
@@ -153,13 +153,13 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest { @@ -153,13 +153,13 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
153 // 测试 tags 不匹配 153 // 测试 tags 不匹配
154 sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setTags(Arrays.asList("短信", "日用品")))); 154 sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setTags(Arrays.asList("短信", "日用品"))));
155 // 测试 createTime 不匹配 155 // 测试 createTime 不匹配
156 - sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setCreateTime(DateUtils.buildTime(2022, 2, 16)))); 156 + sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 16))));
157 // 准备参数 157 // 准备参数
158 SensitiveWordPageReqVO reqVO = new SensitiveWordPageReqVO(); 158 SensitiveWordPageReqVO reqVO = new SensitiveWordPageReqVO();
159 reqVO.setName("笨"); 159 reqVO.setName("笨");
160 reqVO.setTag("论坛"); 160 reqVO.setTag("论坛");
161 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 161 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
162 - reqVO.setCreateTime((new Date[]{buildTime(2022, 2, 1),buildTime(2022, 2, 12)})); 162 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 2, 1),buildLocalDateTime(2022, 2, 12)}));
163 163
164 // 调用 164 // 调用
165 PageResult<SensitiveWordDO> pageResult = sensitiveWordService.getSensitiveWordPage(reqVO); 165 PageResult<SensitiveWordDO> pageResult = sensitiveWordService.getSensitiveWordPage(reqVO);
@@ -176,7 +176,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest { @@ -176,7 +176,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
176 o.setName("笨蛋"); 176 o.setName("笨蛋");
177 o.setTags(Arrays.asList("论坛", "蔬菜")); 177 o.setTags(Arrays.asList("论坛", "蔬菜"));
178 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 178 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
179 - o.setCreateTime(DateUtils.buildTime(2022, 2, 8)); 179 + o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 8));
180 }); 180 });
181 sensitiveWordMapper.insert(dbSensitiveWord); 181 sensitiveWordMapper.insert(dbSensitiveWord);
182 // 测试 name 不匹配 182 // 测试 name 不匹配
@@ -184,13 +184,13 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest { @@ -184,13 +184,13 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
184 // 测试 tags 不匹配 184 // 测试 tags 不匹配
185 sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setTags(Arrays.asList("短信", "日用品")))); 185 sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setTags(Arrays.asList("短信", "日用品"))));
186 // 测试 createTime 不匹配 186 // 测试 createTime 不匹配
187 - sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setCreateTime(DateUtils.buildTime(2022, 2, 16)))); 187 + sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setCreateTime(DateUtils.buildLocalDateTime(2022, 2, 16))));
188 // 准备参数 188 // 准备参数
189 SensitiveWordExportReqVO reqVO = new SensitiveWordExportReqVO(); 189 SensitiveWordExportReqVO reqVO = new SensitiveWordExportReqVO();
190 reqVO.setName("笨"); 190 reqVO.setName("笨");
191 reqVO.setTag("论坛"); 191 reqVO.setTag("论坛");
192 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 192 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
193 - reqVO.setCreateTime((new Date[]{buildTime(2022, 2, 1),buildTime(2022, 2, 12)})); 193 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 2, 1),buildLocalDateTime(2022, 2, 12)}));
194 194
195 // 调用 195 // 调用
196 List<SensitiveWordDO> list = sensitiveWordService.getSensitiveWordList(reqVO); 196 List<SensitiveWordDO> list = sensitiveWordService.getSensitiveWordList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceTest.java
@@ -18,13 +18,13 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -18,13 +18,13 @@ import org.springframework.boot.test.mock.mockito.MockBean;
18 import org.springframework.context.annotation.Import; 18 import org.springframework.context.annotation.Import;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
21 -import java.util.Date; 21 +import java.time.LocalDateTime;
22 import java.util.function.Consumer; 22 import java.util.function.Consumer;
23 23
24 import static cn.hutool.core.util.RandomUtil.randomEle; 24 import static cn.hutool.core.util.RandomUtil.randomEle;
25 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN; 25 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN;
26 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_NOT_EXISTS; 26 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_NOT_EXISTS;
27 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 27 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
28 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; 28 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
30 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 30 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -59,7 +59,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { @@ -59,7 +59,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
59 // 调用 59 // 调用
60 smsChannelService.initSmsClients(); 60 smsChannelService.initSmsClients();
61 // 校验 maxUpdateTime 属性 61 // 校验 maxUpdateTime 属性
62 - Date maxUpdateTime = (Date) BeanUtil.getFieldValue(smsChannelService, "maxUpdateTime"); 62 + LocalDateTime maxUpdateTime = (LocalDateTime) BeanUtil.getFieldValue(smsChannelService, "maxUpdateTime");
63 assertEquals(max(smsChannelDO01.getUpdateTime(), smsChannelDO02.getUpdateTime()), maxUpdateTime); 63 assertEquals(max(smsChannelDO01.getUpdateTime(), smsChannelDO02.getUpdateTime()), maxUpdateTime);
64 // 校验调用 64 // 校验调用
65 verify(smsClientFactory, times(1)).createOrUpdateSmsClient( 65 verify(smsClientFactory, times(1)).createOrUpdateSmsClient(
@@ -159,7 +159,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { @@ -159,7 +159,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
159 SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class, o -> { // 等会查询到 159 SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class, o -> { // 等会查询到
160 o.setSignature("芋道源码"); 160 o.setSignature("芋道源码");
161 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 161 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
162 - o.setCreateTime(buildTime(2020, 12, 12)); 162 + o.setCreateTime(buildLocalDateTime(2020, 12, 12));
163 }); 163 });
164 smsChannelMapper.insert(dbSmsChannel); 164 smsChannelMapper.insert(dbSmsChannel);
165 // 测试 signature 不匹配 165 // 测试 signature 不匹配
@@ -167,12 +167,12 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { @@ -167,12 +167,12 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
167 // 测试 status 不匹配 167 // 测试 status 不匹配
168 smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 168 smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
169 // 测试 createTime 不匹配 169 // 测试 createTime 不匹配
170 - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); 170 + smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildLocalDateTime(2020, 11, 11))));
171 // 准备参数 171 // 准备参数
172 SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO(); 172 SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO();
173 reqVO.setSignature("芋道"); 173 reqVO.setSignature("芋道");
174 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 174 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
175 - reqVO.setCreateTime((new Date[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); 175 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2020, 12, 1),buildLocalDateTime(2020, 12, 24)}));
176 176
177 // 调用 177 // 调用
178 PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO); 178 PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceTest.java
@@ -19,14 +19,14 @@ import org.junit.jupiter.api.Test; @@ -19,14 +19,14 @@ import org.junit.jupiter.api.Test;
19 import org.springframework.context.annotation.Import; 19 import org.springframework.context.annotation.Import;
20 20
21 import javax.annotation.Resource; 21 import javax.annotation.Resource;
22 -import java.util.Date; 22 +import java.time.LocalDateTime;
23 import java.util.List; 23 import java.util.List;
24 import java.util.Map; 24 import java.util.Map;
25 import java.util.function.Consumer; 25 import java.util.function.Consumer;
26 26
27 import static cn.hutool.core.util.RandomUtil.randomBoolean; 27 import static cn.hutool.core.util.RandomUtil.randomBoolean;
28 import static cn.hutool.core.util.RandomUtil.randomEle; 28 import static cn.hutool.core.util.RandomUtil.randomEle;
29 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 29 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 30 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
31 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 31 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
32 import static org.junit.jupiter.api.Assertions.assertEquals; 32 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -49,9 +49,9 @@ public class SmsLogServiceTest extends BaseDbUnitTest { @@ -49,9 +49,9 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
49 o.setTemplateId(10L); 49 o.setTemplateId(10L);
50 o.setMobile("15601691300"); 50 o.setMobile("15601691300");
51 o.setSendStatus(SmsSendStatusEnum.INIT.getStatus()); 51 o.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
52 - o.setSendTime(buildTime(2020, 11, 11)); 52 + o.setSendTime(buildLocalDateTime(2020, 11, 11));
53 o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus()); 53 o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
54 - o.setReceiveTime(buildTime(2021, 11, 11)); 54 + o.setReceiveTime(buildLocalDateTime(2021, 11, 11));
55 }); 55 });
56 smsLogMapper.insert(dbSmsLog); 56 smsLogMapper.insert(dbSmsLog);
57 // 测试 channelId 不匹配 57 // 测试 channelId 不匹配
@@ -63,20 +63,20 @@ public class SmsLogServiceTest extends BaseDbUnitTest { @@ -63,20 +63,20 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
63 // 测试 sendStatus 不匹配 63 // 测试 sendStatus 不匹配
64 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus()))); 64 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus())));
65 // 测试 sendTime 不匹配 65 // 测试 sendTime 不匹配
66 - smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildTime(2020, 12, 12)))); 66 + smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildLocalDateTime(2020, 12, 12))));
67 // 测试 receiveStatus 不匹配 67 // 测试 receiveStatus 不匹配
68 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus()))); 68 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus())));
69 // 测试 receiveTime 不匹配 69 // 测试 receiveTime 不匹配
70 - smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildTime(2021, 12, 12)))); 70 + smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildLocalDateTime(2021, 12, 12))));
71 // 准备参数 71 // 准备参数
72 SmsLogPageReqVO reqVO = new SmsLogPageReqVO(); 72 SmsLogPageReqVO reqVO = new SmsLogPageReqVO();
73 reqVO.setChannelId(1L); 73 reqVO.setChannelId(1L);
74 reqVO.setTemplateId(10L); 74 reqVO.setTemplateId(10L);
75 reqVO.setMobile("156"); 75 reqVO.setMobile("156");
76 reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus()); 76 reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
77 - reqVO.setSendTime((new Date[]{buildTime(2020, 11, 1),buildTime(2020, 11, 30)})); 77 + reqVO.setSendTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1),buildLocalDateTime(2020, 11, 30)}));
78 reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus()); 78 reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
79 - reqVO.setReceiveTime((new Date[]{buildTime(2021, 11, 1),buildTime(2021, 11, 30)})); 79 + reqVO.setReceiveTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),buildLocalDateTime(2021, 11, 30)}));
80 80
81 // 调用 81 // 调用
82 PageResult<SmsLogDO> pageResult = smsLogService.getSmsLogPage(reqVO); 82 PageResult<SmsLogDO> pageResult = smsLogService.getSmsLogPage(reqVO);
@@ -94,9 +94,9 @@ public class SmsLogServiceTest extends BaseDbUnitTest { @@ -94,9 +94,9 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
94 o.setTemplateId(10L); 94 o.setTemplateId(10L);
95 o.setMobile("15601691300"); 95 o.setMobile("15601691300");
96 o.setSendStatus(SmsSendStatusEnum.INIT.getStatus()); 96 o.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
97 - o.setSendTime(buildTime(2020, 11, 11)); 97 + o.setSendTime(buildLocalDateTime(2020, 11, 11));
98 o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus()); 98 o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
99 - o.setReceiveTime(buildTime(2021, 11, 11)); 99 + o.setReceiveTime(buildLocalDateTime(2021, 11, 11));
100 }); 100 });
101 smsLogMapper.insert(dbSmsLog); 101 smsLogMapper.insert(dbSmsLog);
102 // 测试 channelId 不匹配 102 // 测试 channelId 不匹配
@@ -108,20 +108,20 @@ public class SmsLogServiceTest extends BaseDbUnitTest { @@ -108,20 +108,20 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
108 // 测试 sendStatus 不匹配 108 // 测试 sendStatus 不匹配
109 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus()))); 109 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus())));
110 // 测试 sendTime 不匹配 110 // 测试 sendTime 不匹配
111 - smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildTime(2020, 12, 12)))); 111 + smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildLocalDateTime(2020, 12, 12))));
112 // 测试 receiveStatus 不匹配 112 // 测试 receiveStatus 不匹配
113 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus()))); 113 smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus())));
114 // 测试 receiveTime 不匹配 114 // 测试 receiveTime 不匹配
115 - smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildTime(2021, 12, 12)))); 115 + smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildLocalDateTime(2021, 12, 12))));
116 // 准备参数 116 // 准备参数
117 SmsLogExportReqVO reqVO = new SmsLogExportReqVO(); 117 SmsLogExportReqVO reqVO = new SmsLogExportReqVO();
118 reqVO.setChannelId(1L); 118 reqVO.setChannelId(1L);
119 reqVO.setTemplateId(10L); 119 reqVO.setTemplateId(10L);
120 reqVO.setMobile("156"); 120 reqVO.setMobile("156");
121 reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus()); 121 reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
122 - reqVO.setSendTime((new Date[]{buildTime(2020, 11, 1),buildTime(2020, 11, 30)})); 122 + reqVO.setSendTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1),buildLocalDateTime(2020, 11, 30)}));
123 reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus()); 123 reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
124 - reqVO.setReceiveTime((new Date[]{buildTime(2021, 11, 1),buildTime(2021, 11, 30)})); 124 + reqVO.setReceiveTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),buildLocalDateTime(2021, 11, 30)}));
125 125
126 // 调用 126 // 调用
127 List<SmsLogDO> list = smsLogService.getSmsLogList(reqVO); 127 List<SmsLogDO> list = smsLogService.getSmsLogList(reqVO);
@@ -202,7 +202,7 @@ public class SmsLogServiceTest extends BaseDbUnitTest { @@ -202,7 +202,7 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
202 // 准备参数 202 // 准备参数
203 Long id = dbSmsLog.getId(); 203 Long id = dbSmsLog.getId();
204 Boolean success = randomBoolean(); 204 Boolean success = randomBoolean();
205 - Date receiveTime = randomDate(); 205 + LocalDateTime receiveTime = randomLocalDateTime();
206 String apiReceiveCode = randomString(); 206 String apiReceiveCode = randomString();
207 String apiReceiveMsg = randomString(); 207 String apiReceiveMsg = randomString();
208 208
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceTest.java
@@ -25,7 +25,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -25,7 +25,7 @@ import org.springframework.boot.test.mock.mockito.MockBean;
25 import org.springframework.context.annotation.Import; 25 import org.springframework.context.annotation.Import;
26 26
27 import javax.annotation.Resource; 27 import javax.annotation.Resource;
28 -import java.util.Date; 28 +import java.time.LocalDateTime;
29 import java.util.List; 29 import java.util.List;
30 import java.util.Map; 30 import java.util.Map;
31 import java.util.function.Consumer; 31 import java.util.function.Consumer;
@@ -34,7 +34,7 @@ import static cn.hutool.core.bean.BeanUtil.getFieldValue; @@ -34,7 +34,7 @@ import static cn.hutool.core.bean.BeanUtil.getFieldValue;
34 import static cn.hutool.core.util.RandomUtil.randomEle; 34 import static cn.hutool.core.util.RandomUtil.randomEle;
35 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; 35 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;
36 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; 36 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
37 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 37 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
38 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 38 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
39 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 39 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
40 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 40 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -77,7 +77,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -77,7 +77,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
77 assertPojoEquals(smsTemplate01, smsTemplateCache.get(smsTemplate01.getCode())); 77 assertPojoEquals(smsTemplate01, smsTemplateCache.get(smsTemplate01.getCode()));
78 assertPojoEquals(smsTemplate02, smsTemplateCache.get(smsTemplate02.getCode())); 78 assertPojoEquals(smsTemplate02, smsTemplateCache.get(smsTemplate02.getCode()));
79 // 断言 maxUpdateTime 缓存 79 // 断言 maxUpdateTime 缓存
80 - Date maxUpdateTime = (Date) getFieldValue(smsTemplateService, "maxUpdateTime"); 80 + LocalDateTime maxUpdateTime = (LocalDateTime) getFieldValue(smsTemplateService, "maxUpdateTime");
81 assertEquals(max(smsTemplate01.getUpdateTime(), smsTemplate02.getUpdateTime()), maxUpdateTime); 81 assertEquals(max(smsTemplate01.getUpdateTime(), smsTemplate02.getUpdateTime()), maxUpdateTime);
82 } 82 }
83 83
@@ -205,7 +205,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -205,7 +205,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
205 o.setContent("芋道源码"); 205 o.setContent("芋道源码");
206 o.setApiTemplateId("yunai"); 206 o.setApiTemplateId("yunai");
207 o.setChannelId(1L); 207 o.setChannelId(1L);
208 - o.setCreateTime(buildTime(2021, 11, 11)); 208 + o.setCreateTime(buildLocalDateTime(2021, 11, 11));
209 }); 209 });
210 smsTemplateMapper.insert(dbSmsTemplate); 210 smsTemplateMapper.insert(dbSmsTemplate);
211 // 测试 type 不匹配 211 // 测试 type 不匹配
@@ -221,7 +221,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -221,7 +221,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
221 // 测试 channelId 不匹配 221 // 测试 channelId 不匹配
222 smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setChannelId(2L))); 222 smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setChannelId(2L)));
223 // 测试 createTime 不匹配 223 // 测试 createTime 不匹配
224 - smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildTime(2021, 12, 12)))); 224 + smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildLocalDateTime(2021, 12, 12))));
225 // 准备参数 225 // 准备参数
226 SmsTemplatePageReqVO reqVO = new SmsTemplatePageReqVO(); 226 SmsTemplatePageReqVO reqVO = new SmsTemplatePageReqVO();
227 reqVO.setType(SmsTemplateTypeEnum.PROMOTION.getType()); 227 reqVO.setType(SmsTemplateTypeEnum.PROMOTION.getType());
@@ -230,7 +230,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -230,7 +230,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
230 reqVO.setContent("芋道"); 230 reqVO.setContent("芋道");
231 reqVO.setApiTemplateId("yu"); 231 reqVO.setApiTemplateId("yu");
232 reqVO.setChannelId(1L); 232 reqVO.setChannelId(1L);
233 - reqVO.setCreateTime((new Date[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)})); 233 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),buildLocalDateTime(2021, 12, 1)}));
234 234
235 // 调用 235 // 调用
236 PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO); 236 PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO);
@@ -250,7 +250,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -250,7 +250,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
250 o.setContent("芋道源码"); 250 o.setContent("芋道源码");
251 o.setApiTemplateId("yunai"); 251 o.setApiTemplateId("yunai");
252 o.setChannelId(1L); 252 o.setChannelId(1L);
253 - o.setCreateTime(buildTime(2021, 11, 11)); 253 + o.setCreateTime(buildLocalDateTime(2021, 11, 11));
254 }); 254 });
255 smsTemplateMapper.insert(dbSmsTemplate); 255 smsTemplateMapper.insert(dbSmsTemplate);
256 // 测试 type 不匹配 256 // 测试 type 不匹配
@@ -266,7 +266,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -266,7 +266,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
266 // 测试 channelId 不匹配 266 // 测试 channelId 不匹配
267 smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setChannelId(2L))); 267 smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setChannelId(2L)));
268 // 测试 createTime 不匹配 268 // 测试 createTime 不匹配
269 - smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildTime(2021, 12, 12)))); 269 + smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildLocalDateTime(2021, 12, 12))));
270 // 准备参数 270 // 准备参数
271 SmsTemplateExportReqVO reqVO = new SmsTemplateExportReqVO(); 271 SmsTemplateExportReqVO reqVO = new SmsTemplateExportReqVO();
272 reqVO.setType(SmsTemplateTypeEnum.PROMOTION.getType()); 272 reqVO.setType(SmsTemplateTypeEnum.PROMOTION.getType());
@@ -275,7 +275,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest { @@ -275,7 +275,7 @@ public class SmsTemplateServiceTest extends BaseDbUnitTest {
275 reqVO.setContent("芋道"); 275 reqVO.setContent("芋道");
276 reqVO.setApiTemplateId("yu"); 276 reqVO.setApiTemplateId("yu");
277 reqVO.setChannelId(1L); 277 reqVO.setChannelId(1L);
278 - reqVO.setCreateTime((new Date[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)})); 278 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),buildLocalDateTime(2021, 12, 1)}));
279 279
280 // 调用 280 // 调用
281 List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO); 281 List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/tenant/TenantPackageServiceImplTest.java
@@ -15,9 +15,9 @@ import org.springframework.context.annotation.Import; @@ -15,9 +15,9 @@ import org.springframework.context.annotation.Import;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 17
18 -import java.util.Date; 18 +import java.time.LocalDateTime;
19 19
20 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 20 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -142,7 +142,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { @@ -142,7 +142,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
142 o.setName("芋道源码"); 142 o.setName("芋道源码");
143 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 143 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
144 o.setRemark("源码解析"); 144 o.setRemark("源码解析");
145 - o.setCreateTime(buildTime(2022, 10, 10)); 145 + o.setCreateTime(buildLocalDateTime(2022, 10, 10));
146 }); 146 });
147 tenantPackageMapper.insert(dbTenantPackage); 147 tenantPackageMapper.insert(dbTenantPackage);
148 // 测试 name 不匹配 148 // 测试 name 不匹配
@@ -152,13 +152,13 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { @@ -152,13 +152,13 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
152 // 测试 remark 不匹配 152 // 测试 remark 不匹配
153 tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage, o -> o.setRemark("解析"))); 153 tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage, o -> o.setRemark("解析")));
154 // 测试 createTime 不匹配 154 // 测试 createTime 不匹配
155 - tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage, o -> o.setCreateTime(buildTime(2022, 11, 11)))); 155 + tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage, o -> o.setCreateTime(buildLocalDateTime(2022, 11, 11))));
156 // 准备参数 156 // 准备参数
157 TenantPackagePageReqVO reqVO = new TenantPackagePageReqVO(); 157 TenantPackagePageReqVO reqVO = new TenantPackagePageReqVO();
158 reqVO.setName("芋道"); 158 reqVO.setName("芋道");
159 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 159 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
160 reqVO.setRemark("源码"); 160 reqVO.setRemark("源码");
161 - reqVO.setCreateTime((new Date[]{buildTime(2022, 10, 9),buildTime(2022, 10, 11)})); 161 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2022, 10, 9),buildLocalDateTime(2022, 10, 11)}));
162 162
163 // 调用 163 // 调用
164 PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO); 164 PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImplTest.java
@@ -28,15 +28,13 @@ import org.springframework.boot.test.mock.mockito.MockBean; @@ -28,15 +28,13 @@ import org.springframework.boot.test.mock.mockito.MockBean;
28 import org.springframework.context.annotation.Import; 28 import org.springframework.context.annotation.Import;
29 29
30 import javax.annotation.Resource; 30 import javax.annotation.Resource;
31 -import java.time.Duration; 31 +import java.time.LocalDateTime;
32 import java.util.Arrays; 32 import java.util.Arrays;
33 import java.util.Collections; 33 import java.util.Collections;
34 -import java.util.Date;  
35 import java.util.List; 34 import java.util.List;
36 35
37 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; 36 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
38 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime;  
39 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 37 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
40 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 38 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
41 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 39 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
42 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 40 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -112,7 +110,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -112,7 +110,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
112 public void testValidTenant_expired() { 110 public void testValidTenant_expired() {
113 // mock 数据 111 // mock 数据
114 TenantDO tenant = randomPojo(TenantDO.class, o -> o.setId(1L).setStatus(CommonStatusEnum.ENABLE.getStatus()) 112 TenantDO tenant = randomPojo(TenantDO.class, o -> o.setId(1L).setStatus(CommonStatusEnum.ENABLE.getStatus())
115 - .setExpireTime(buildTime(2020, 2, 2))); 113 + .setExpireTime(buildLocalDateTime(2020, 2, 2)));
116 tenantMapper.insert(tenant); 114 tenantMapper.insert(tenant);
117 115
118 // 调用,并断言业务异常 116 // 调用,并断言业务异常
@@ -123,7 +121,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -123,7 +121,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
123 public void testValidTenant_success() { 121 public void testValidTenant_success() {
124 // mock 数据 122 // mock 数据
125 TenantDO tenant = randomPojo(TenantDO.class, o -> o.setId(1L).setStatus(CommonStatusEnum.ENABLE.getStatus()) 123 TenantDO tenant = randomPojo(TenantDO.class, o -> o.setId(1L).setStatus(CommonStatusEnum.ENABLE.getStatus())
126 - .setExpireTime(addTime(Duration.ofDays(1)))); 124 + .setExpireTime(LocalDateTime.now().plusDays(1)));
127 tenantMapper.insert(tenant); 125 tenantMapper.insert(tenant);
128 126
129 // 调用,并断言业务异常 127 // 调用,并断言业务异常
@@ -293,7 +291,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -293,7 +291,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
293 o.setContactName("芋艿"); 291 o.setContactName("芋艿");
294 o.setContactMobile("15601691300"); 292 o.setContactMobile("15601691300");
295 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 293 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
296 - o.setCreateTime(buildTime(2020, 12, 12)); 294 + o.setCreateTime(buildLocalDateTime(2020, 12, 12));
297 }); 295 });
298 tenantMapper.insert(dbTenant); 296 tenantMapper.insert(dbTenant);
299 // 测试 name 不匹配 297 // 测试 name 不匹配
@@ -305,14 +303,14 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -305,14 +303,14 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
305 // 测试 status 不匹配 303 // 测试 status 不匹配
306 tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 304 tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
307 // 测试 createTime 不匹配 305 // 测试 createTime 不匹配
308 - tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildTime(2021, 12, 12)))); 306 + tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildLocalDateTime(2021, 12, 12))));
309 // 准备参数 307 // 准备参数
310 TenantPageReqVO reqVO = new TenantPageReqVO(); 308 TenantPageReqVO reqVO = new TenantPageReqVO();
311 reqVO.setName("芋道"); 309 reqVO.setName("芋道");
312 reqVO.setContactName("艿"); 310 reqVO.setContactName("艿");
313 reqVO.setContactMobile("1560"); 311 reqVO.setContactMobile("1560");
314 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 312 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
315 - reqVO.setCreateTime(new Date[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)}); 313 + reqVO.setCreateTime(new LocalDateTime[]{buildLocalDateTime(2020, 12, 1),buildLocalDateTime(2020, 12, 24)});
316 314
317 // 调用 315 // 调用
318 PageResult<TenantDO> pageResult = tenantService.getTenantPage(reqVO); 316 PageResult<TenantDO> pageResult = tenantService.getTenantPage(reqVO);
@@ -330,7 +328,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -330,7 +328,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
330 o.setContactName("芋艿"); 328 o.setContactName("芋艿");
331 o.setContactMobile("15601691300"); 329 o.setContactMobile("15601691300");
332 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 330 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
333 - o.setCreateTime(buildTime(2020, 12, 12)); 331 + o.setCreateTime(buildLocalDateTime(2020, 12, 12));
334 }); 332 });
335 tenantMapper.insert(dbTenant); 333 tenantMapper.insert(dbTenant);
336 // 测试 name 不匹配 334 // 测试 name 不匹配
@@ -342,14 +340,14 @@ public class TenantServiceImplTest extends BaseDbUnitTest { @@ -342,14 +340,14 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
342 // 测试 status 不匹配 340 // 测试 status 不匹配
343 tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 341 tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
344 // 测试 createTime 不匹配 342 // 测试 createTime 不匹配
345 - tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildTime(2021, 12, 12)))); 343 + tenantMapper.insert(cloneIgnoreId(dbTenant, o -> o.setCreateTime(buildLocalDateTime(2021, 12, 12))));
346 // 准备参数 344 // 准备参数
347 TenantExportReqVO reqVO = new TenantExportReqVO(); 345 TenantExportReqVO reqVO = new TenantExportReqVO();
348 reqVO.setName("芋道"); 346 reqVO.setName("芋道");
349 reqVO.setContactName("艿"); 347 reqVO.setContactName("艿");
350 reqVO.setContactMobile("1560"); 348 reqVO.setContactMobile("1560");
351 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 349 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
352 - reqVO.setCreateTime(new Date[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)}); 350 + reqVO.setCreateTime(new LocalDateTime[]{buildLocalDateTime(2020, 12, 1),buildLocalDateTime(2020, 12, 24)});
353 351
354 // 调用 352 // 调用
355 List<TenantDO> list = tenantService.getTenantList(reqVO); 353 List<TenantDO> list = tenantService.getTenantList(reqVO);
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java
@@ -32,15 +32,15 @@ import org.springframework.security.crypto.password.PasswordEncoder; @@ -32,15 +32,15 @@ import org.springframework.security.crypto.password.PasswordEncoder;
32 32
33 import javax.annotation.Resource; 33 import javax.annotation.Resource;
34 import java.io.ByteArrayInputStream; 34 import java.io.ByteArrayInputStream;
  35 +import java.time.LocalDateTime;
35 import java.util.Collection; 36 import java.util.Collection;
36 -import java.util.Date;  
37 import java.util.List; 37 import java.util.List;
38 import java.util.function.Consumer; 38 import java.util.function.Consumer;
39 39
40 import static cn.hutool.core.util.RandomUtil.randomBytes; 40 import static cn.hutool.core.util.RandomUtil.randomBytes;
41 import static cn.hutool.core.util.RandomUtil.randomEle; 41 import static cn.hutool.core.util.RandomUtil.randomEle;
42 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; 42 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
43 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 43 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
44 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 44 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
45 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 45 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
46 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 46 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
@@ -295,7 +295,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { @@ -295,7 +295,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
295 reqVO.setUsername("tu"); 295 reqVO.setUsername("tu");
296 reqVO.setMobile("1560"); 296 reqVO.setMobile("1560");
297 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 297 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
298 - reqVO.setCreateTime((new Date[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); 298 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2020, 12, 1),buildLocalDateTime(2020, 12, 24)}));
299 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门 299 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门
300 // mock 方法 300 // mock 方法
301 List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L))); 301 List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L)));
@@ -318,7 +318,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { @@ -318,7 +318,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
318 reqVO.setUsername("tu"); 318 reqVO.setUsername("tu");
319 reqVO.setMobile("1560"); 319 reqVO.setMobile("1560");
320 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 320 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
321 - reqVO.setCreateTime((new Date[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); 321 + reqVO.setCreateTime((new LocalDateTime[]{buildLocalDateTime(2020, 12, 1),buildLocalDateTime(2020, 12, 24)}));
322 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门 322 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门
323 // mock 方法 323 // mock 方法
324 List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L))); 324 List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L)));
@@ -340,7 +340,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { @@ -340,7 +340,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
340 o.setUsername("tudou"); 340 o.setUsername("tudou");
341 o.setMobile("15601691300"); 341 o.setMobile("15601691300");
342 o.setStatus(CommonStatusEnum.ENABLE.getStatus()); 342 o.setStatus(CommonStatusEnum.ENABLE.getStatus());
343 - o.setCreateTime(buildTime(2020, 12, 12)); 343 + o.setCreateTime(buildLocalDateTime(2020, 12, 12));
344 o.setDeptId(2L); 344 o.setDeptId(2L);
345 }); 345 });
346 userMapper.insert(dbUser); 346 userMapper.insert(dbUser);
@@ -351,7 +351,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { @@ -351,7 +351,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
351 // 测试 status 不匹配 351 // 测试 status 不匹配
352 userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 352 userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
353 // 测试 createTime 不匹配 353 // 测试 createTime 不匹配
354 - userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setCreateTime(buildTime(2020, 11, 11)))); 354 + userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setCreateTime(buildLocalDateTime(2020, 11, 11))));
355 // 测试 dept 不匹配 355 // 测试 dept 不匹配
356 userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setDeptId(0L))); 356 userMapper.insert(ObjectUtils.cloneIgnoreId(dbUser, o -> o.setDeptId(0L)));
357 return dbUser; 357 return dbUser;
yudao-server/src/main/java/cn/iocoder/yudao/module/shop/controller/app/AppShopOrderController.java
1 package cn.iocoder.yudao.module.shop.controller.app; 1 package cn.iocoder.yudao.module.shop.controller.app;
2 2
  3 +import cn.hutool.core.date.LocalDateTimeUtil;
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 -import cn.iocoder.yudao.framework.common.util.date.DateUtils;  
5 import cn.iocoder.yudao.module.pay.service.notify.vo.PayNotifyOrderReqVO; 5 import cn.iocoder.yudao.module.pay.service.notify.vo.PayNotifyOrderReqVO;
6 import cn.iocoder.yudao.module.pay.service.notify.vo.PayRefundOrderReqVO; 6 import cn.iocoder.yudao.module.pay.service.notify.vo.PayRefundOrderReqVO;
7 import cn.iocoder.yudao.module.pay.service.order.PayOrderService; 7 import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
@@ -19,7 +19,8 @@ import org.springframework.web.bind.annotation.RestController; @@ -19,7 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
19 19
20 import javax.annotation.Resource; 20 import javax.annotation.Resource;
21 import javax.validation.Valid; 21 import javax.validation.Valid;
22 -import java.time.Duration; 22 +import java.time.LocalDateTime;
  23 +import java.time.temporal.ChronoUnit;
23 24
24 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 25 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
25 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP; 26 import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
@@ -49,7 +50,7 @@ public class AppShopOrderController { @@ -49,7 +50,7 @@ public class AppShopOrderController {
49 reqDTO.setSubject("标题:" + shopOrderId); 50 reqDTO.setSubject("标题:" + shopOrderId);
50 reqDTO.setBody("内容:" + shopOrderId); 51 reqDTO.setBody("内容:" + shopOrderId);
51 reqDTO.setAmount(200); // 单位:分 52 reqDTO.setAmount(200); // 单位:分
52 - reqDTO.setExpireTime(DateUtils.addTime(Duration.ofDays(1))); 53 + reqDTO.setExpireTime(LocalDateTime.now().plusDays(1));
53 Long payOrderId = payOrderService.createPayOrder(reqDTO); 54 Long payOrderId = payOrderService.createPayOrder(reqDTO);
54 55
55 // 拼接返回 56 // 拼接返回