Commit 38f67d4130c948ec948c0a32d5850303040ee6ed

Authored by YunaiV
1 parent 12d045ea

将 mall 使用到 Date 的部分,迁移到 LocalDateTime 中

Showing 21 changed files with 123 additions and 115 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;  
4 import cn.hutool.core.date.LocalDateTimeUtil; 3 import cn.hutool.core.date.LocalDateTimeUtil;
5 4
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; 5 +import java.time.*;
11 import java.util.Calendar; 6 import java.util.Calendar;
12 import java.util.Date; 7 import java.util.Date;
13 8
@@ -58,6 +53,7 @@ public class DateUtils { @@ -58,6 +53,7 @@ public class DateUtils {
58 return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); 53 return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
59 } 54 }
60 55
  56 + @Deprecated
61 public static Date addTime(Duration duration) { 57 public static Date addTime(Duration duration) {
62 return new Date(System.currentTimeMillis() + duration.toMillis()); 58 return new Date(System.currentTimeMillis() + duration.toMillis());
63 } 59 }
@@ -87,6 +83,7 @@ public class DateUtils { @@ -87,6 +83,7 @@ public class DateUtils {
87 return buildTime(year, mouth, day, 0, 0, 0); 83 return buildTime(year, mouth, day, 0, 0, 0);
88 } 84 }
89 85
  86 + @Deprecated
90 public static LocalDateTime buildLocalDateTime(int year, int mouth, int day) { 87 public static LocalDateTime buildLocalDateTime(int year, int mouth, int day) {
91 return LocalDateTime.of(year, mouth, day, 0, 0, 0); 88 return LocalDateTime.of(year, mouth, day, 0, 0, 0);
92 } 89 }
@@ -135,14 +132,7 @@ public class DateUtils { @@ -135,14 +132,7 @@ public class DateUtils {
135 return a.isAfter(b) ? a : b; 132 return a.isAfter(b) ? a : b;
136 } 133 }
137 134
138 - public static boolean beforeNow(Date date) {  
139 - return date.getTime() < System.currentTimeMillis();  
140 - }  
141 -  
142 - public static boolean afterNow(Date date) {  
143 - return date.getTime() >= System.currentTimeMillis();  
144 - }  
145 - 135 + @Deprecated
146 public static boolean afterNow(LocalDateTime localDateTime) { 136 public static boolean afterNow(LocalDateTime localDateTime) {
147 return localDateTime.isAfter(LocalDateTime.now()); 137 return localDateTime.isAfter(LocalDateTime.now());
148 } 138 }
@@ -184,36 +174,8 @@ public class DateUtils { @@ -184,36 +174,8 @@ public class DateUtils {
184 * @param date 日期 174 * @param date 日期
185 * @return 是否 175 * @return 是否
186 */ 176 */
187 - public static boolean isToday(Date date) {  
188 - if (date == null) {  
189 - return false;  
190 - }  
191 - return DateUtil.isSameDay(date, new Date());  
192 - }  
193 -  
194 - /**  
195 - * 是否今天  
196 - *  
197 - * @param date 日期  
198 - * @return 是否  
199 - */  
200 public static boolean isToday(LocalDateTime date) { 177 public static boolean isToday(LocalDateTime date) {
201 return LocalDateTimeUtil.isSameDay(date, LocalDateTime.now()); 178 return LocalDateTimeUtil.isSameDay(date, LocalDateTime.now());
202 } 179 }
203 180
204 - /**  
205 - * 判断当前时间是否在该时间范围内  
206 - *  
207 - * @param startTime 开始时间  
208 - * @param endTime 结束时间  
209 - * @return 是否  
210 - */  
211 - public static boolean isBetween(Date startTime, Date endTime) {  
212 - if (startTime == null || endTime == null) {  
213 - return false;  
214 - }  
215 - return startTime.getTime() <= System.currentTimeMillis()  
216 - && endTime.getTime() >= System.currentTimeMillis();  
217 - }  
218 -  
219 } 181 }
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.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.LocalDateTimeUtil;
  4 +
3 import java.time.Duration; 5 import java.time.Duration;
4 import java.time.LocalDateTime; 6 import java.time.LocalDateTime;
5 7
@@ -14,4 +16,38 @@ public class LocalDateTimeUtils { @@ -14,4 +16,38 @@ public class LocalDateTimeUtils {
14 return LocalDateTime.now().plus(duration); 16 return LocalDateTime.now().plus(duration);
15 } 17 }
16 18
  19 + public static boolean beforeNow(LocalDateTime date) {
  20 + return date.isBefore(LocalDateTime.now());
  21 + }
  22 +
  23 + public static boolean afterNow(LocalDateTime date) {
  24 + return date.isAfter(LocalDateTime.now());
  25 + }
  26 +
  27 + /**
  28 + * 创建指定时间
  29 + *
  30 + * @param year 年
  31 + * @param mouth 月
  32 + * @param day 日
  33 + * @return 指定时间
  34 + */
  35 + public static LocalDateTime buildTime(int year, int mouth, int day) {
  36 + return LocalDateTime.of(year, mouth, day, 0, 0, 0);
  37 + }
  38 +
  39 + /**
  40 + * 判断当前时间是否在该时间范围内
  41 + *
  42 + * @param startTime 开始时间
  43 + * @param endTime 结束时间
  44 + * @return 是否
  45 + */
  46 + public static boolean isBetween(LocalDateTime startTime, LocalDateTime endTime) {
  47 + if (startTime == null || endTime == null) {
  48 + return false;
  49 + }
  50 + return LocalDateTimeUtil.isIn(LocalDateTime.now(), startTime, endTime);
  51 + }
  52 +
17 } 53 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.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 ProductPropertyRespVO extends ProductPropertyBaseVO { @@ -18,6 +18,6 @@ public class ProductPropertyRespVO extends ProductPropertyBaseVO {
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-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponBaseVO.java
@@ -10,7 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -10,7 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat;
10 10
11 import javax.validation.constraints.Min; 11 import javax.validation.constraints.Min;
12 import javax.validation.constraints.NotNull; 12 import javax.validation.constraints.NotNull;
13 -import java.util.Date; 13 +import java.time.LocalDateTime;
14 import java.util.List; 14 import java.util.List;
15 15
16 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 16 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -55,12 +55,12 @@ public class CouponBaseVO { @@ -55,12 +55,12 @@ public class CouponBaseVO {
55 @ApiModelProperty(value = "固定日期 - 生效开始时间") 55 @ApiModelProperty(value = "固定日期 - 生效开始时间")
56 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 56 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
57 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 57 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
58 - private Date validStartTime; 58 + private LocalDateTime validStartTime;
59 59
60 @ApiModelProperty(value = "固定日期 - 生效结束时间") 60 @ApiModelProperty(value = "固定日期 - 生效结束时间")
61 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 61 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
62 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 62 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
63 - private Date validEndTime; 63 + private LocalDateTime validEndTime;
64 64
65 @ApiModelProperty(value = "商品范围", required = true, example = "1", notes = "参见 PromotionProductScopeEnum 枚举类") 65 @ApiModelProperty(value = "商品范围", required = true, example = "1", notes = "参见 PromotionProductScopeEnum 枚举类")
66 @NotNull(message = "商品范围不能为空") 66 @NotNull(message = "商品范围不能为空")
@@ -96,7 +96,7 @@ public class CouponBaseVO { @@ -96,7 +96,7 @@ public class CouponBaseVO {
96 @ApiModelProperty(value = "使用时间") 96 @ApiModelProperty(value = "使用时间")
97 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 97 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
98 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 98 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
99 - private Date useTime; 99 + private LocalDateTime useTime;
100 100
101 // ========== 使用情况 END ========== 101 // ========== 使用情况 END ==========
102 102
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponRespVO.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 CouponRespVO extends CouponBaseVO { @@ -18,6 +18,6 @@ public class CouponRespVO extends CouponBaseVO {
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-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateBaseVO.java
@@ -15,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -15,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
15 import javax.validation.constraints.AssertTrue; 15 import javax.validation.constraints.AssertTrue;
16 import javax.validation.constraints.Min; 16 import javax.validation.constraints.Min;
17 import javax.validation.constraints.NotNull; 17 import javax.validation.constraints.NotNull;
18 -import java.util.Date; 18 +import java.time.LocalDateTime;
19 import java.util.List; 19 import java.util.List;
20 import java.util.Objects; 20 import java.util.Objects;
21 21
@@ -65,12 +65,12 @@ public class CouponTemplateBaseVO { @@ -65,12 +65,12 @@ public class CouponTemplateBaseVO {
65 @ApiModelProperty(value = "固定日期 - 生效开始时间") 65 @ApiModelProperty(value = "固定日期 - 生效开始时间")
66 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 66 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
67 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 67 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
68 - private Date validStartTime; 68 + private LocalDateTime validStartTime;
69 69
70 @ApiModelProperty(value = "固定日期 - 生效结束时间") 70 @ApiModelProperty(value = "固定日期 - 生效结束时间")
71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 71 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
72 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) 72 @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
73 - private Date validEndTime; 73 + private LocalDateTime validEndTime;
74 74
75 @ApiModelProperty(value = "领取日期 - 开始天数") 75 @ApiModelProperty(value = "领取日期 - 开始天数")
76 @Min(value = 0L, message = "开始天数必须大于 0") 76 @Min(value = 0L, message = "开始天数必须大于 0")
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateRespVO.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 @ApiModel("管理后台 - 优惠劵模板 Response VO") 13 @ApiModel("管理后台 - 优惠劵模板 Response VO")
14 @Data 14 @Data
@@ -30,6 +30,6 @@ public class CouponTemplateRespVO extends CouponTemplateBaseVO { @@ -30,6 +30,6 @@ public class CouponTemplateRespVO extends CouponTemplateBaseVO {
30 private Integer useCount; 30 private Integer useCount;
31 31
32 @ApiModelProperty(value = "创建时间", required = true) 32 @ApiModelProperty(value = "创建时间", required = true)
33 - private Date createTime; 33 + private LocalDateTime createTime;
34 34
35 } 35 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityBaseVO.java
@@ -12,7 +12,7 @@ import org.springframework.format.annotation.DateTimeFormat; @@ -12,7 +12,7 @@ import org.springframework.format.annotation.DateTimeFormat;
12 import javax.validation.constraints.AssertTrue; 12 import javax.validation.constraints.AssertTrue;
13 import javax.validation.constraints.Min; 13 import javax.validation.constraints.Min;
14 import javax.validation.constraints.NotNull; 14 import javax.validation.constraints.NotNull;
15 -import java.util.Date; 15 +import java.time.LocalDateTime;
16 16
17 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 17 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
18 18
@@ -30,12 +30,12 @@ public class DiscountActivityBaseVO { @@ -30,12 +30,12 @@ public class DiscountActivityBaseVO {
30 @ApiModelProperty(value = "开始时间", required = true) 30 @ApiModelProperty(value = "开始时间", required = true)
31 @NotNull(message = "开始时间不能为空") 31 @NotNull(message = "开始时间不能为空")
32 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 32 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
33 - private Date startTime; 33 + private LocalDateTime startTime;
34 34
35 @ApiModelProperty(value = "结束时间", required = true) 35 @ApiModelProperty(value = "结束时间", required = true)
36 @NotNull(message = "结束时间不能为空") 36 @NotNull(message = "结束时间不能为空")
37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
38 - private Date endTime; 38 + private LocalDateTime endTime;
39 39
40 @ApiModelProperty(value = "备注", example = "我是备注") 40 @ApiModelProperty(value = "备注", example = "我是备注")
41 private String remark; 41 private String remark;
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityPageReqVO.java
1 package cn.iocoder.yudao.module.promotion.controller.admin.discount.vo; 1 package cn.iocoder.yudao.module.promotion.controller.admin.discount.vo;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import io.swagger.annotations.*;  
6 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
  4 +import io.swagger.annotations.ApiModel;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +import lombok.Data;
  7 +import lombok.EqualsAndHashCode;
  8 +import lombok.ToString;
7 import org.springframework.format.annotation.DateTimeFormat; 9 import org.springframework.format.annotation.DateTimeFormat;
8 10
  11 +import java.time.LocalDateTime;
  12 +
9 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;
10 14
11 @ApiModel("管理后台 - 限时折扣活动分页 Request VO") 15 @ApiModel("管理后台 - 限时折扣活动分页 Request VO")
@@ -22,6 +26,6 @@ public class DiscountActivityPageReqVO extends PageParam { @@ -22,6 +26,6 @@ public class DiscountActivityPageReqVO extends PageParam {
22 26
23 @ApiModelProperty(value = "创建时间") 27 @ApiModelProperty(value = "创建时间")
24 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 28 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
25 - private Date[] createTime; 29 + private LocalDateTime[] createTime;
26 30
27 } 31 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityRespVO.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
@@ -23,6 +23,6 @@ public class DiscountActivityRespVO extends DiscountActivityBaseVO { @@ -23,6 +23,6 @@ public class DiscountActivityRespVO extends DiscountActivityBaseVO {
23 private Integer status; 23 private Integer status;
24 24
25 @ApiModelProperty(value = "创建时间", required = true) 25 @ApiModelProperty(value = "创建时间", required = true)
26 - private Date createTime; 26 + private LocalDateTime createTime;
27 27
28 } 28 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.AssertTrue; @@ -14,7 +14,7 @@ import javax.validation.constraints.AssertTrue;
14 import javax.validation.constraints.Future; 14 import javax.validation.constraints.Future;
15 import javax.validation.constraints.Min; 15 import javax.validation.constraints.Min;
16 import javax.validation.constraints.NotNull; 16 import javax.validation.constraints.NotNull;
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.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 20 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -33,13 +33,13 @@ public class RewardActivityBaseVO { @@ -33,13 +33,13 @@ public class RewardActivityBaseVO {
33 @ApiModelProperty(value = "开始时间", required = true) 33 @ApiModelProperty(value = "开始时间", required = true)
34 @NotNull(message = "开始时间不能为空") 34 @NotNull(message = "开始时间不能为空")
35 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 35 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
36 - private Date startTime; 36 + private LocalDateTime startTime;
37 37
38 @ApiModelProperty(value = "结束时间", required = true) 38 @ApiModelProperty(value = "结束时间", required = true)
39 @NotNull(message = "结束时间不能为空") 39 @NotNull(message = "结束时间不能为空")
40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 40 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
41 @Future(message = "结束时间必须大于当前时间") 41 @Future(message = "结束时间必须大于当前时间")
42 - private Date endTime; 42 + private LocalDateTime endTime;
43 43
44 @ApiModelProperty(value = "备注", example = "biubiubiu") 44 @ApiModelProperty(value = "备注", example = "biubiubiu")
45 private String remark; 45 private String remark;
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityRespVO.java
1 package cn.iocoder.yudao.module.promotion.controller.admin.reward.vo; 1 package cn.iocoder.yudao.module.promotion.controller.admin.reward.vo;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import io.swagger.annotations.*; 3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +
  9 +import java.time.LocalDateTime;
6 10
7 @ApiModel("管理后台 - 满减送活动 Response VO") 11 @ApiModel("管理后台 - 满减送活动 Response VO")
8 @Data 12 @Data
@@ -17,6 +21,6 @@ public class RewardActivityRespVO extends RewardActivityBaseVO { @@ -17,6 +21,6 @@ public class RewardActivityRespVO extends RewardActivityBaseVO {
17 private Integer status; 21 private Integer status;
18 22
19 @ApiModelProperty(value = "创建时间", required = true) 23 @ApiModelProperty(value = "创建时间", required = true)
20 - private Date createTime; 24 + private LocalDateTime createTime;
21 25
22 } 26 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponDO.java
@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
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 /**
@@ -77,11 +77,11 @@ public class CouponDO extends BaseDO { @@ -77,11 +77,11 @@ public class CouponDO extends BaseDO {
77 /** 77 /**
78 * 生效开始时间 78 * 生效开始时间
79 */ 79 */
80 - private Date validStartTime; 80 + private LocalDateTime validStartTime;
81 /** 81 /**
82 * 生效结束时间 82 * 生效结束时间
83 */ 83 */
84 - private Date validEndTime; 84 + private LocalDateTime validEndTime;
85 /** 85 /**
86 * 商品范围 86 * 商品范围
87 * 87 *
@@ -132,7 +132,7 @@ public class CouponDO extends BaseDO { @@ -132,7 +132,7 @@ public class CouponDO extends BaseDO {
132 /** 132 /**
133 * 使用时间 133 * 使用时间
134 */ 134 */
135 - private Date useTime; 135 + private LocalDateTime useTime;
136 136
137 // ========== 使用情况 END ========== 137 // ========== 使用情况 END ==========
138 138
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponTemplateDO.java
@@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.annotation.TableName; @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
14 import lombok.Data; 14 import lombok.Data;
15 import lombok.EqualsAndHashCode; 15 import lombok.EqualsAndHashCode;
16 16
17 -import java.util.Date; 17 +import java.time.LocalDateTime;
18 import java.util.List; 18 import java.util.List;
19 19
20 /** 20 /**
@@ -100,13 +100,13 @@ public class CouponTemplateDO extends BaseDO { @@ -100,13 +100,13 @@ public class CouponTemplateDO extends BaseDO {
100 * 100 *
101 * 当 {@link #validityType} 为 {@link CouponTemplateValidityTypeEnum#DATE} 101 * 当 {@link #validityType} 为 {@link CouponTemplateValidityTypeEnum#DATE}
102 */ 102 */
103 - private Date validStartTime; 103 + private LocalDateTime validStartTime;
104 /** 104 /**
105 * 固定日期 - 生效结束时间 105 * 固定日期 - 生效结束时间
106 * 106 *
107 * 当 {@link #validityType} 为 {@link CouponTemplateValidityTypeEnum#DATE} 107 * 当 {@link #validityType} 为 {@link CouponTemplateValidityTypeEnum#DATE}
108 */ 108 */
109 - private Date validEndTime; 109 + private LocalDateTime validEndTime;
110 /** 110 /**
111 * 领取日期 - 开始天数 111 * 领取日期 - 开始天数
112 * 112 *
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java
@@ -5,7 +5,7 @@ import cn.hutool.core.util.ObjectUtil; @@ -5,7 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
8 -import cn.iocoder.yudao.framework.common.util.date.DateUtils; 8 +import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
9 import cn.iocoder.yudao.module.member.api.user.MemberUserApi; 9 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
10 import cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO; 10 import cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO;
11 import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.coupon.CouponPageReqVO; 11 import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.coupon.CouponPageReqVO;
@@ -17,7 +17,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -17,7 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
17 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
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.Set; 22 import java.util.Set;
23 23
@@ -60,7 +60,7 @@ public class CouponServiceImpl implements CouponService { @@ -60,7 +60,7 @@ public class CouponServiceImpl implements CouponService {
60 throw exception(COUPON_STATUS_NOT_UNUSED); 60 throw exception(COUPON_STATUS_NOT_UNUSED);
61 } 61 }
62 // 校验有效期;为避免定时器没跑,实际优惠劵已经过期 62 // 校验有效期;为避免定时器没跑,实际优惠劵已经过期
63 - if (DateUtils.isBetween(coupon.getValidStartTime(), coupon.getValidEndTime())) { 63 + if (LocalDateTimeUtils.isBetween(coupon.getValidStartTime(), coupon.getValidEndTime())) {
64 throw exception(COUPON_VALID_TIME_NOT_NOW); 64 throw exception(COUPON_VALID_TIME_NOT_NOW);
65 } 65 }
66 } 66 }
@@ -87,7 +87,7 @@ public class CouponServiceImpl implements CouponService { @@ -87,7 +87,7 @@ public class CouponServiceImpl implements CouponService {
87 // 更新状态 87 // 更新状态
88 int updateCount = couponMapper.updateByIdAndStatus(id, CouponStatusEnum.UNUSED.getStatus(), 88 int updateCount = couponMapper.updateByIdAndStatus(id, CouponStatusEnum.UNUSED.getStatus(),
89 new CouponDO().setStatus(CouponStatusEnum.USED.getStatus()) 89 new CouponDO().setStatus(CouponStatusEnum.USED.getStatus())
90 - .setUseOrderId(orderId).setUseTime(new Date())); 90 + .setUseOrderId(orderId).setUseTime(LocalDateTime.now()));
91 if (updateCount == 0) { 91 if (updateCount == 0) {
92 throw exception(COUPON_STATUS_NOT_UNUSED); 92 throw exception(COUPON_STATUS_NOT_UNUSED);
93 } 93 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/util/PromotionUtils.java
1 package cn.iocoder.yudao.module.promotion.util; 1 package cn.iocoder.yudao.module.promotion.util;
2 2
3 -import cn.iocoder.yudao.framework.common.util.date.DateUtils; 3 +import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
4 import cn.iocoder.yudao.module.promotion.enums.common.PromotionActivityStatusEnum; 4 import cn.iocoder.yudao.module.promotion.enums.common.PromotionActivityStatusEnum;
5 5
6 -import java.util.Date; 6 +import java.time.LocalDateTime;
7 7
8 /** 8 /**
9 * 活动工具类 9 * 活动工具类
@@ -19,11 +19,11 @@ public class PromotionUtils { @@ -19,11 +19,11 @@ public class PromotionUtils {
19 * @param endTime 结束时间 19 * @param endTime 结束时间
20 * @return 活动状态 20 * @return 活动状态
21 */ 21 */
22 - public static Integer calculateActivityStatus(Date startTime, Date endTime) {  
23 - if (DateUtils.beforeNow(endTime)) { 22 + public static Integer calculateActivityStatus(LocalDateTime startTime, LocalDateTime endTime) {
  23 + if (LocalDateTimeUtils.beforeNow(endTime)) {
24 return PromotionActivityStatusEnum.END.getStatus(); 24 return PromotionActivityStatusEnum.END.getStatus();
25 } 25 }
26 - if (DateUtils.afterNow(startTime)) { 26 + if (LocalDateTimeUtils.afterNow(startTime)) {
27 return PromotionActivityStatusEnum.WAIT.getStatus(); 27 return PromotionActivityStatusEnum.WAIT.getStatus();
28 } 28 }
29 return PromotionActivityStatusEnum.RUN.getStatus(); 29 return PromotionActivityStatusEnum.RUN.getStatus();
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/discount/DiscountActivityServiceImplTest.java
@@ -17,10 +17,12 @@ import org.springframework.context.annotation.Import; @@ -17,10 +17,12 @@ import org.springframework.context.annotation.Import;
17 17
18 import javax.annotation.Resource; 18 import javax.annotation.Resource;
19 import java.time.Duration; 19 import java.time.Duration;
  20 +import java.time.LocalDateTime;
20 import java.util.Date; 21 import java.util.Date;
21 import java.util.List; 22 import java.util.List;
22 23
23 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; 24 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime;
  25 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
24 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 26 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
@@ -182,7 +184,7 @@ public class DiscountActivityServiceImplTest extends BaseDbUnitTest { @@ -182,7 +184,7 @@ public class DiscountActivityServiceImplTest extends BaseDbUnitTest {
182 DiscountActivityDO dbDiscountActivity = randomPojo(DiscountActivityDO.class, o -> { // 等会查询到 184 DiscountActivityDO dbDiscountActivity = randomPojo(DiscountActivityDO.class, o -> { // 等会查询到
183 o.setName("芋艿"); 185 o.setName("芋艿");
184 o.setStatus(PromotionActivityStatusEnum.WAIT.getStatus()); 186 o.setStatus(PromotionActivityStatusEnum.WAIT.getStatus());
185 - o.setCreateTime(buildLocalDateTime(2021, 1, 15)); 187 + o.setCreateTime(buildTime(2021, 1, 15));
186 }); 188 });
187 discountActivityMapper.insert(dbDiscountActivity); 189 discountActivityMapper.insert(dbDiscountActivity);
188 // 测试 name 不匹配 190 // 测试 name 不匹配
@@ -190,12 +192,12 @@ public class DiscountActivityServiceImplTest extends BaseDbUnitTest { @@ -190,12 +192,12 @@ public class DiscountActivityServiceImplTest extends BaseDbUnitTest {
190 // 测试 status 不匹配 192 // 测试 status 不匹配
191 discountActivityMapper.insert(cloneIgnoreId(dbDiscountActivity, o -> o.setStatus(PromotionActivityStatusEnum.END.getStatus()))); 193 discountActivityMapper.insert(cloneIgnoreId(dbDiscountActivity, o -> o.setStatus(PromotionActivityStatusEnum.END.getStatus())));
192 // 测试 createTime 不匹配 194 // 测试 createTime 不匹配
193 - discountActivityMapper.insert(cloneIgnoreId(dbDiscountActivity, o -> o.setCreateTime(buildLocalDateTime(2021, 2, 10)))); 195 + discountActivityMapper.insert(cloneIgnoreId(dbDiscountActivity, o -> o.setCreateTime(buildTime(2021, 2, 10))));
194 // 准备参数 196 // 准备参数
195 DiscountActivityPageReqVO reqVO = new DiscountActivityPageReqVO(); 197 DiscountActivityPageReqVO reqVO = new DiscountActivityPageReqVO();
196 reqVO.setName("芋艿"); 198 reqVO.setName("芋艿");
197 reqVO.setStatus(PromotionActivityStatusEnum.WAIT.getStatus()); 199 reqVO.setStatus(PromotionActivityStatusEnum.WAIT.getStatus());
198 - reqVO.setCreateTime((new Date[]{buildTime(2021, 1, 1), buildTime(2021, 1, 31)})); 200 + reqVO.setCreateTime((new LocalDateTime[]{buildTime(2021, 1, 1), buildTime(2021, 1, 31)}));
199 201
200 // 调用 202 // 调用
201 PageResult<DiscountActivityDO> pageResult = discountActivityService.getDiscountActivityPage(reqVO); 203 PageResult<DiscountActivityDO> pageResult = discountActivityService.getDiscountActivityPage(reqVO);
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/price/PriceServiceTest.java
@@ -495,7 +495,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest { @@ -495,7 +495,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
495 CouponMeetRespDTO couponMeetRespDTO03 = list.get(2); 495 CouponMeetRespDTO couponMeetRespDTO03 = list.get(2);
496 assertPojoEquals(couponMeetRespDTO03, coupon03); 496 assertPojoEquals(couponMeetRespDTO03, coupon03);
497 assertFalse(couponMeetRespDTO03.getMeet()); 497 assertFalse(couponMeetRespDTO03.getMeet());
498 - assertEquals(couponMeetRespDTO03.getMeetTip(), "差 1.00 元可用优惠劵"); 498 + assertEquals(couponMeetRespDTO03.getMeetTip(), "所结算的商品中未满足使用的金额");
499 // 断言情况四:满足条件 499 // 断言情况四:满足条件
500 CouponMeetRespDTO couponMeetRespDTO04 = list.get(3); 500 CouponMeetRespDTO couponMeetRespDTO04 = list.get(3);
501 assertPojoEquals(couponMeetRespDTO04, coupon04); 501 assertPojoEquals(couponMeetRespDTO04, coupon04);
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/reward/RewardActivityServiceImplTest.java
@@ -20,7 +20,7 @@ import java.util.Set; @@ -20,7 +20,7 @@ import java.util.Set;
20 20
21 import static cn.hutool.core.util.RandomUtil.randomEle; 21 import static cn.hutool.core.util.RandomUtil.randomEle;
22 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; 22 import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
23 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime; 23 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime;
24 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 24 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
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;
yudao-server/pom.xml
@@ -41,21 +41,21 @@ @@ -41,21 +41,21 @@
41 <artifactId>yudao-module-pay-biz</artifactId> 41 <artifactId>yudao-module-pay-biz</artifactId>
42 <version>${revision}</version> 42 <version>${revision}</version>
43 </dependency> 43 </dependency>
44 -<!-- <dependency>-->  
45 -<!-- <groupId>cn.iocoder.boot</groupId>-->  
46 -<!-- <artifactId>yudao-module-promotion-biz</artifactId>-->  
47 -<!-- <version>${revision}</version>-->  
48 -<!-- </dependency>-->  
49 -<!-- <dependency>-->  
50 -<!-- <groupId>cn.iocoder.boot</groupId>-->  
51 -<!-- <artifactId>yudao-module-product-biz</artifactId>-->  
52 -<!-- <version>${revision}</version>-->  
53 -<!-- </dependency>-->  
54 -<!-- <dependency>-->  
55 -<!-- <groupId>cn.iocoder.boot</groupId>-->  
56 -<!-- <artifactId>yudao-module-trade-biz</artifactId>-->  
57 -<!-- <version>${revision}</version>-->  
58 -<!-- </dependency>--> 44 + <dependency>
  45 + <groupId>cn.iocoder.boot</groupId>
  46 + <artifactId>yudao-module-promotion-biz</artifactId>
  47 + <version>${revision}</version>
  48 + </dependency>
  49 + <dependency>
  50 + <groupId>cn.iocoder.boot</groupId>
  51 + <artifactId>yudao-module-product-biz</artifactId>
  52 + <version>${revision}</version>
  53 + </dependency>
  54 + <dependency>
  55 + <groupId>cn.iocoder.boot</groupId>
  56 + <artifactId>yudao-module-trade-biz</artifactId>
  57 + <version>${revision}</version>
  58 + </dependency>
59 <!-- 数据报表 --> 59 <!-- 数据报表 -->
60 <!-- <dependency>--> 60 <!-- <dependency>-->
61 <!-- <groupId>cn.iocoder.boot</groupId>--> 61 <!-- <groupId>cn.iocoder.boot</groupId>-->
yudao-server/src/main/resources/application-local.yaml
@@ -30,7 +30,7 @@ spring: @@ -30,7 +30,7 @@ spring:
30 multi-statement-allow: true 30 multi-statement-allow: true
31 dynamic: # 多数据源配置 31 dynamic: # 多数据源配置
32 druid: # Druid 【连接池】相关的全局配置 32 druid: # Druid 【连接池】相关的全局配置
33 - initial-size: 1 # 初始连接数 33 + initial-size: 5 # 初始连接数
34 min-idle: 10 # 最小连接池数量 34 min-idle: 10 # 最小连接池数量
35 max-active: 20 # 最大连接池数量 35 max-active: 20 # 最大连接池数量
36 max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒 36 max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒
@@ -45,33 +45,33 @@ spring: @@ -45,33 +45,33 @@ spring:
45 datasource: 45 datasource:
46 master: 46 master:
47 name: ruoyi-vue-pro 47 name: ruoyi-vue-pro
48 - url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 48 + url: jdbc:mysql://139.9.196.247:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
49 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 49 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
50 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例 50 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例
51 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 51 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
52 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例 52 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例
53 username: root 53 username: root
54 - password: 123456 54 + password: ${RUOYI_VUE_PRO}
55 # username: sa 55 # username: sa
56 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W 56 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
57 slave: # 模拟从库,可根据自己需要修改 57 slave: # 模拟从库,可根据自己需要修改
58 name: ruoyi-vue-pro 58 name: ruoyi-vue-pro
59 - url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 59 + url: jdbc:mysql://139.9.196.247:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
60 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 60 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
61 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例 61 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例
62 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 62 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
63 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例 63 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例
64 username: root 64 username: root
65 - password: 123456 65 + password: ${RUOYI_VUE_PRO}
66 # username: sa 66 # username: sa
67 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W 67 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
68 68
69 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 69 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
70 redis: 70 redis:
71 - host: 127.0.0.1 # 地址 71 + host: 139.9.196.247 # 地址
72 port: 6379 # 端口 72 port: 6379 # 端口
73 database: 0 # 数据库索引 73 database: 0 # 数据库索引
74 -# password: 123456 # 密码,建议生产环境开启 74 + password: 123456 # 密码,建议生产环境开启
75 75
76 --- #################### 定时任务相关配置 #################### 76 --- #################### 定时任务相关配置 ####################
77 77