Commit 3dd273a30dda737bbc0afd4cdfd11775828e5568

Authored by YunaiV
2 parents 7d99c6db 6696bb89

Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro

sql/postgresql/ruoyi-vue-pro.sql
... ... @@ -2587,7 +2587,7 @@ INSERT INTO "qrtz_job_details" ("sched_name", "job_name", "job_group", "descript
2587 2587 "is_nonconcurrent", "is_update_data", "requests_recovery", "job_data")
2588 2588 VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', NULL,
2589 2589 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', 'f', 't', 't', 'f',
2590   - E '\254\355\000\005sr\000\025org.quartz.JobDataMap\237\260\203\350\277\251\260\313\002\000\000xr\000&org.quartz.utils.StringKeyDirtyFlagMap\202\010\350\303\373\305](\002\000\001Z\000\023allowsTransientDataxr\000\035org.quartz.utils.DirtyFlagMap\023\346.\255(v\012\316\002\000\002Z\000\005dirtyL\000\003mapt\000\017Ljava/util/Map;xp\001sr\000\021java.util.HashMap\005\007\332\301\303\026`\321\003\000\002F\000\012loadFactorI\000\011thresholdxp?@\000\000\000\000\000\014w\010\000\000\000\020\000\000\000\002t\000\006JOB_IDsr\000\016java.lang.Long;\213\344\220\314\217#\337\002\000\001J\000\005valuexr\000\020java.lang.Number\206\254\225\035\013\224\340\213\002\000\000xp\000\000\000\000\000\000\000\002t\000\020JOB_HANDLER_NAMEt\000\025userSessionTimeoutJobx\000');
  2590 + '\254\355\000\005sr\000\025org.quartz.JobDataMap\237\260\203\350\277\251\260\313\002\000\000xr\000&org.quartz.utils.StringKeyDirtyFlagMap\202\010\350\303\373\305](\002\000\001Z\000\023allowsTransientDataxr\000\035org.quartz.utils.DirtyFlagMap\023\346.\255(v\012\316\002\000\002Z\000\005dirtyL\000\003mapt\000\017Ljava/util/Map;xp\001sr\000\021java.util.HashMap\005\007\332\301\303\026`\321\003\000\002F\000\012loadFactorI\000\011thresholdxp?@\000\000\000\000\000\014w\010\000\000\000\020\000\000\000\002t\000\006JOB_IDsr\000\016java.lang.Long;\213\344\220\314\217#\337\002\000\001J\000\005valuexr\000\020java.lang.Number\206\254\225\035\013\224\340\213\002\000\000xp\000\000\000\000\000\000\000\002t\000\020JOB_HANDLER_NAMEt\000\025userSessionTimeoutJobx\000');
2591 2591 COMMIT;
2592 2592  
2593 2593 -- ----------------------------
... ... @@ -2733,7 +2733,7 @@ INSERT INTO "qrtz_triggers" ("sched_name", "trigger_name", "trigger_group", "job
2733 2733 "start_time", "end_time", "calendar_name", "misfire_instr", "job_data")
2734 2734 VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', 'userSessionTimeoutJob', 'DEFAULT', NULL, 1651328700000,
2735 2735 1651328640000, 5, 'WAITING', 'CRON', 1651328526000, 0, NULL, 0,
2736   - E '\254\355\000\005sr\000\025org.quartz.JobDataMap\237\260\203\350\277\251\260\313\002\000\000xr\000&org.quartz.utils.StringKeyDirtyFlagMap\202\010\350\303\373\305](\002\000\001Z\000\023allowsTransientDataxr\000\035org.quartz.utils.DirtyFlagMap\023\346.\255(v\012\316\002\000\002Z\000\005dirtyL\000\003mapt\000\017Ljava/util/Map;xp\001sr\000\021java.util.HashMap\005\007\332\301\303\026`\321\003\000\002F\000\012loadFactorI\000\011thresholdxp?@\000\000\000\000\000\014w\010\000\000\000\020\000\000\000\003t\000\021JOB_HANDLER_PARAMpt\000\022JOB_RETRY_INTERVALsr\000\021java.lang.Integer\022\342\240\244\367\201\2078\002\000\001I\000\005valuexr\000\020java.lang.Number\206\254\225\035\013\224\340\213\002\000\000xp\000\000\007\320t\000\017JOB_RETRY_COUNTsq\000~\000\011\000\000\000\003x\000');
  2736 + '\254\355\000\005sr\000\025org.quartz.JobDataMap\237\260\203\350\277\251\260\313\002\000\000xr\000&org.quartz.utils.StringKeyDirtyFlagMap\202\010\350\303\373\305](\002\000\001Z\000\023allowsTransientDataxr\000\035org.quartz.utils.DirtyFlagMap\023\346.\255(v\012\316\002\000\002Z\000\005dirtyL\000\003mapt\000\017Ljava/util/Map;xp\001sr\000\021java.util.HashMap\005\007\332\301\303\026`\321\003\000\002F\000\012loadFactorI\000\011thresholdxp?@\000\000\000\000\000\014w\010\000\000\000\020\000\000\000\003t\000\021JOB_HANDLER_PARAMpt\000\022JOB_RETRY_INTERVALsr\000\021java.lang.Integer\022\342\240\244\367\201\2078\002\000\001I\000\005valuexr\000\020java.lang.Number\206\254\225\035\013\224\340\213\002\000\000xp\000\000\007\320t\000\017JOB_RETRY_COUNTsq\000~\000\011\000\000\000\003x\000');
2737 2737 COMMIT;
2738 2738  
2739 2739 -- ----------------------------
... ...
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java
... ... @@ -36,6 +36,9 @@ public class DateUtils {
36 36 * @return LocalDateTime
37 37 */
38 38 public static Date of(LocalDateTime date) {
  39 + if (date == null) {
  40 + return null;
  41 + }
39 42 // 将此日期时间与时区相结合以创建 ZonedDateTime
40 43 ZonedDateTime zonedDateTime = date.atZone(ZoneId.systemDefault());
41 44 // 本地时间线 LocalDateTime 到即时时间线 Instant 时间戳
... ... @@ -51,6 +54,9 @@ public class DateUtils {
51 54 * @return LocalDateTime
52 55 */
53 56 public static LocalDateTime of(Date date) {
  57 + if (date == null) {
  58 + return null;
  59 + }
54 60 // 转为时间戳
55 61 Instant instant = date.toInstant();
56 62 // UTC时间(世界协调时间,UTC + 00:00)转北京(北京,UTC + 8:00)时间
... ...
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmActivityConvert.java
1 1 package cn.iocoder.yudao.module.bpm.convert.task;
2 2  
  3 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
3 4 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO;
4 5 import org.flowable.engine.history.HistoricActivityInstance;
5 6 import org.mapstruct.Mapper;
... ... @@ -14,7 +15,7 @@ import java.util.List;
14 15 *
15 16 * @author 芋道源码
16 17 */
17   -@Mapper
  18 +@Mapper(uses = DateUtils.class)
18 19 public interface BpmActivityConvert {
19 20  
20 21 BpmActivityConvert INSTANCE = Mappers.getMapper(BpmActivityConvert.class);
... ...
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java
1 1 package cn.iocoder.yudao.module.bpm.convert.task;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
4 5 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
5 6 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstancePageItemRespVO;
6 7 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceRespVO;
... ... @@ -28,7 +29,7 @@ import java.util.Map;
28 29 *
29 30 * @author 芋道源码
30 31 */
31   -@Mapper
  32 +@Mapper(uses = DateUtils.class)
32 33 public interface BpmProcessInstanceConvert {
33 34  
34 35 BpmProcessInstanceConvert INSTANCE = Mappers.getMapper(BpmProcessInstanceConvert.class);
... ...
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.convert.task;
2 2  
3 3 import cn.hutool.core.date.LocalDateTimeUtil;
4 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  5 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
5 6 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
6 7 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO;
7 8 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
... ... @@ -26,7 +27,7 @@ import java.util.Map;
26 27 *
27 28 * @author 芋道源码
28 29 */
29   -@Mapper
  30 +@Mapper(uses = DateUtils.class)
30 31 public interface BpmTaskConvert {
31 32  
32 33 BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class);
... ... @@ -46,8 +47,6 @@ public interface BpmTaskConvert {
46 47 }
47 48  
48 49 @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState")
49   - @Mapping(target = "claimTime", expression = "java(bean.getClaimTime()==null?null: LocalDateTime.ofInstant(bean.getClaimTime().toInstant(),ZoneId.systemDefault()))")
50   - @Mapping(target = "createTime", expression = "java(bean.getCreateTime()==null?null:LocalDateTime.ofInstant(bean.getCreateTime().toInstant(),ZoneId.systemDefault()))")
51 50 BpmTaskTodoPageItemRespVO convert1(Task bean);
52 51  
53 52 @Named("convertSuspendedToSuspensionState")
... ... @@ -106,8 +105,6 @@ public interface BpmTaskConvert {
106 105 }
107 106  
108 107 @Mapping(source = "taskDefinitionKey", target = "definitionKey")
109   - @Mapping(target = "createTime", expression = "java(bean.getCreateTime() == null ? null : LocalDateTime.ofInstant(bean.getCreateTime().toInstant(), ZoneId.systemDefault()))")
110   - @Mapping(target = "endTime", expression = "java(bean.getEndTime() == null ? null : LocalDateTime.ofInstant(bean.getEndTime().toInstant(), ZoneId.systemDefault()))")
111 108 BpmTaskRespVO convert3(HistoricTaskInstance bean);
112 109  
113 110 BpmTaskRespVO.User convert3(AdminUserRespDTO bean);
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
... ... @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
4 4 import cn.hutool.core.util.StrUtil;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  7 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
7 8 import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
8 9 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
9 10 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
... ... @@ -44,7 +45,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
44 45 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap;
45 46 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime;
46 47  
47   -@Mapper
  48 +@Mapper(uses = DateUtils.class)
48 49 public interface TradeOrderConvert {
49 50  
50 51 TradeOrderConvert INSTANCE = Mappers.getMapper(TradeOrderConvert.class);
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/notify/NotifyMessageConvert.java
1 1 package cn.iocoder.yudao.module.system.convert.notify;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
4 5 import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO;
5 6 import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO;
6 7 import org.mapstruct.Mapper;
... ... @@ -13,7 +14,7 @@ import java.util.List;
13 14 *
14 15 * @author xrcoder
15 16 */
16   -@Mapper
  17 +@Mapper(uses = DateUtils.class)
17 18 public interface NotifyMessageConvert {
18 19  
19 20 NotifyMessageConvert INSTANCE = Mappers.getMapper(NotifyMessageConvert.class);
... ... @@ -24,5 +25,4 @@ public interface NotifyMessageConvert {
24 25  
25 26 PageResult<NotifyMessageRespVO> convertPage(PageResult<NotifyMessageDO> page);
26 27  
27   -
28 28 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/notify/NotifyTemplateConvert.java
... ... @@ -4,6 +4,7 @@ import java.util.*;
4 4  
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6  
  7 +import cn.iocoder.yudao.framework.common.util.date.DateUtils;
7 8 import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO;
8 9 import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateRespVO;
9 10 import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateUpdateReqVO;
... ... @@ -16,7 +17,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO;
16 17 *
17 18 * @author xrcoder
18 19 */
19   -@Mapper
  20 +@Mapper(uses = DateUtils.class)
20 21 public interface NotifyTemplateConvert {
21 22  
22 23 NotifyTemplateConvert INSTANCE = Mappers.getMapper(NotifyTemplateConvert.class);
... ...