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,7 +2587,7 @@ INSERT INTO "qrtz_job_details" ("sched_name", "job_name", "job_group", "descript | ||
| 2587 | "is_nonconcurrent", "is_update_data", "requests_recovery", "job_data") | 2587 | "is_nonconcurrent", "is_update_data", "requests_recovery", "job_data") |
| 2588 | VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', NULL, | 2588 | VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', NULL, |
| 2589 | 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', 'f', 't', 't', 'f', | 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 | COMMIT; | 2591 | COMMIT; |
| 2592 | 2592 | ||
| 2593 | -- ---------------------------- | 2593 | -- ---------------------------- |
| @@ -2733,7 +2733,7 @@ INSERT INTO "qrtz_triggers" ("sched_name", "trigger_name", "trigger_group", "job | @@ -2733,7 +2733,7 @@ INSERT INTO "qrtz_triggers" ("sched_name", "trigger_name", "trigger_group", "job | ||
| 2733 | "start_time", "end_time", "calendar_name", "misfire_instr", "job_data") | 2733 | "start_time", "end_time", "calendar_name", "misfire_instr", "job_data") |
| 2734 | VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', 'userSessionTimeoutJob', 'DEFAULT', NULL, 1651328700000, | 2734 | VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', 'userSessionTimeoutJob', 'DEFAULT', NULL, 1651328700000, |
| 2735 | 1651328640000, 5, 'WAITING', 'CRON', 1651328526000, 0, NULL, 0, | 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 | COMMIT; | 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,6 +36,9 @@ public class DateUtils { | ||
| 36 | * @return LocalDateTime | 36 | * @return LocalDateTime |
| 37 | */ | 37 | */ |
| 38 | public static Date of(LocalDateTime date) { | 38 | public static Date of(LocalDateTime date) { |
| 39 | + if (date == null) { | ||
| 40 | + return null; | ||
| 41 | + } | ||
| 39 | // 将此日期时间与时区相结合以创建 ZonedDateTime | 42 | // 将此日期时间与时区相结合以创建 ZonedDateTime |
| 40 | ZonedDateTime zonedDateTime = date.atZone(ZoneId.systemDefault()); | 43 | ZonedDateTime zonedDateTime = date.atZone(ZoneId.systemDefault()); |
| 41 | // 本地时间线 LocalDateTime 到即时时间线 Instant 时间戳 | 44 | // 本地时间线 LocalDateTime 到即时时间线 Instant 时间戳 |
| @@ -51,6 +54,9 @@ public class DateUtils { | @@ -51,6 +54,9 @@ public class DateUtils { | ||
| 51 | * @return LocalDateTime | 54 | * @return LocalDateTime |
| 52 | */ | 55 | */ |
| 53 | public static LocalDateTime of(Date date) { | 56 | public static LocalDateTime of(Date date) { |
| 57 | + if (date == null) { | ||
| 58 | + return null; | ||
| 59 | + } | ||
| 54 | // 转为时间戳 | 60 | // 转为时间戳 |
| 55 | Instant instant = date.toInstant(); | 61 | Instant instant = date.toInstant(); |
| 56 | // UTC时间(世界协调时间,UTC + 00:00)转北京(北京,UTC + 8:00)时间 | 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 | package cn.iocoder.yudao.module.bpm.convert.task; | 1 | package cn.iocoder.yudao.module.bpm.convert.task; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 3 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; | 4 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO; |
| 4 | import org.flowable.engine.history.HistoricActivityInstance; | 5 | import org.flowable.engine.history.HistoricActivityInstance; |
| 5 | import org.mapstruct.Mapper; | 6 | import org.mapstruct.Mapper; |
| @@ -14,7 +15,7 @@ import java.util.List; | @@ -14,7 +15,7 @@ import java.util.List; | ||
| 14 | * | 15 | * |
| 15 | * @author 芋道源码 | 16 | * @author 芋道源码 |
| 16 | */ | 17 | */ |
| 17 | -@Mapper | 18 | +@Mapper(uses = DateUtils.class) |
| 18 | public interface BpmActivityConvert { | 19 | public interface BpmActivityConvert { |
| 19 | 20 | ||
| 20 | BpmActivityConvert INSTANCE = Mappers.getMapper(BpmActivityConvert.class); | 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 | package cn.iocoder.yudao.module.bpm.convert.task; | 1 | package cn.iocoder.yudao.module.bpm.convert.task; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 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.instance.BpmProcessInstancePageItemRespVO; | 6 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstancePageItemRespVO; |
| 6 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceRespVO; | 7 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceRespVO; |
| @@ -28,7 +29,7 @@ import java.util.Map; | @@ -28,7 +29,7 @@ import java.util.Map; | ||
| 28 | * | 29 | * |
| 29 | * @author 芋道源码 | 30 | * @author 芋道源码 |
| 30 | */ | 31 | */ |
| 31 | -@Mapper | 32 | +@Mapper(uses = DateUtils.class) |
| 32 | public interface BpmProcessInstanceConvert { | 33 | public interface BpmProcessInstanceConvert { |
| 33 | 34 | ||
| 34 | BpmProcessInstanceConvert INSTANCE = Mappers.getMapper(BpmProcessInstanceConvert.class); | 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,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.convert.task; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.date.LocalDateTimeUtil; | 3 | import cn.hutool.core.date.LocalDateTimeUtil; |
| 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.number.NumberUtils; | 6 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 6 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO; | 7 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskDonePageItemRespVO; |
| 7 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; | 8 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; |
| @@ -26,7 +27,7 @@ import java.util.Map; | @@ -26,7 +27,7 @@ import java.util.Map; | ||
| 26 | * | 27 | * |
| 27 | * @author 芋道源码 | 28 | * @author 芋道源码 |
| 28 | */ | 29 | */ |
| 29 | -@Mapper | 30 | +@Mapper(uses = DateUtils.class) |
| 30 | public interface BpmTaskConvert { | 31 | public interface BpmTaskConvert { |
| 31 | 32 | ||
| 32 | BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); | 33 | BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); |
| @@ -46,8 +47,6 @@ public interface BpmTaskConvert { | @@ -46,8 +47,6 @@ public interface BpmTaskConvert { | ||
| 46 | } | 47 | } |
| 47 | 48 | ||
| 48 | @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState") | 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 | BpmTaskTodoPageItemRespVO convert1(Task bean); | 50 | BpmTaskTodoPageItemRespVO convert1(Task bean); |
| 52 | 51 | ||
| 53 | @Named("convertSuspendedToSuspensionState") | 52 | @Named("convertSuspendedToSuspensionState") |
| @@ -106,8 +105,6 @@ public interface BpmTaskConvert { | @@ -106,8 +105,6 @@ public interface BpmTaskConvert { | ||
| 106 | } | 105 | } |
| 107 | 106 | ||
| 108 | @Mapping(source = "taskDefinitionKey", target = "definitionKey") | 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 | BpmTaskRespVO convert3(HistoricTaskInstance bean); | 108 | BpmTaskRespVO convert3(HistoricTaskInstance bean); |
| 112 | 109 | ||
| 113 | BpmTaskRespVO.User convert3(AdminUserRespDTO bean); | 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,6 +4,7 @@ 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.collection.CollectionUtils; | 6 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 7 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 7 | import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils; | 8 | import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils; |
| 8 | import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; | 9 | import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; |
| 9 | import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; | 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,7 +45,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. | ||
| 44 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap; | 45 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap; |
| 45 | import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime; | 46 | import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.addTime; |
| 46 | 47 | ||
| 47 | -@Mapper | 48 | +@Mapper(uses = DateUtils.class) |
| 48 | public interface TradeOrderConvert { | 49 | public interface TradeOrderConvert { |
| 49 | 50 | ||
| 50 | TradeOrderConvert INSTANCE = Mappers.getMapper(TradeOrderConvert.class); | 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 | package cn.iocoder.yudao.module.system.convert.notify; | 1 | package cn.iocoder.yudao.module.system.convert.notify; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 4 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO; |
| 5 | import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO; | 6 | import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO; |
| 6 | import org.mapstruct.Mapper; | 7 | import org.mapstruct.Mapper; |
| @@ -13,7 +14,7 @@ import java.util.List; | @@ -13,7 +14,7 @@ import java.util.List; | ||
| 13 | * | 14 | * |
| 14 | * @author xrcoder | 15 | * @author xrcoder |
| 15 | */ | 16 | */ |
| 16 | -@Mapper | 17 | +@Mapper(uses = DateUtils.class) |
| 17 | public interface NotifyMessageConvert { | 18 | public interface NotifyMessageConvert { |
| 18 | 19 | ||
| 19 | NotifyMessageConvert INSTANCE = Mappers.getMapper(NotifyMessageConvert.class); | 20 | NotifyMessageConvert INSTANCE = Mappers.getMapper(NotifyMessageConvert.class); |
| @@ -24,5 +25,4 @@ public interface NotifyMessageConvert { | @@ -24,5 +25,4 @@ public interface NotifyMessageConvert { | ||
| 24 | 25 | ||
| 25 | PageResult<NotifyMessageRespVO> convertPage(PageResult<NotifyMessageDO> page); | 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,6 +4,7 @@ import java.util.*; | ||
| 4 | 4 | ||
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | ||
| 7 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 7 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO; | 8 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateCreateReqVO; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateRespVO; | 9 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateRespVO; |
| 9 | import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplateUpdateReqVO; | 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,7 +17,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO; | ||
| 16 | * | 17 | * |
| 17 | * @author xrcoder | 18 | * @author xrcoder |
| 18 | */ | 19 | */ |
| 19 | -@Mapper | 20 | +@Mapper(uses = DateUtils.class) |
| 20 | public interface NotifyTemplateConvert { | 21 | public interface NotifyTemplateConvert { |
| 21 | 22 | ||
| 22 | NotifyTemplateConvert INSTANCE = Mappers.getMapper(NotifyTemplateConvert.class); | 23 | NotifyTemplateConvert INSTANCE = Mappers.getMapper(NotifyTemplateConvert.class); |