Commit 3dd273a30dda737bbc0afd4cdfd11775828e5568
Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
Showing
8 changed files
with
20 additions
and
13 deletions
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); | ... | ... |