feat(bpm): 调整流程实例抄送服务中的日期时间处理

- 引入 LocalDateTimeUtil 工具类优化日期处理
- 将 ReceiveCCRequestDTO 和 ReceiveTodoRequestDTO 中的时间字段类型从 LocalDateTime 改为 Date
- 添加 JsonFormat 注解以统一前后端日期格式化
- 修正 BpmProcessInstanceCopyServiceImpl 中日期转换逻辑,确保时区一致性
- 在 DemoController 中增加获取当前时间接口用于测试时间序列功能
- 更新相关导入包及调整代码格式提升可读性
This commit is contained in:
2025-12-11 10:51:08 +08:00
parent 3754d9340f
commit 0b48e4d785
6 changed files with 62 additions and 32 deletions

View File

@@ -1,9 +1,13 @@
package com.jeelowcode.service.bpm.config.framework.portal.core.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import static com.jeelowcode.tool.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.jeelowcode.tool.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
/**
* 描述:接收待阅流程请求参数
@@ -54,7 +58,8 @@ public class ReceiveCCRequestDTO {
* 创建时间
*/
@JsonProperty("createdatetime")
private LocalDateTime createDateTime;
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date createDateTime;
/**
* 接收人
*/
@@ -63,11 +68,12 @@ public class ReceiveCCRequestDTO {
* 接收时间
*/
@JsonProperty("receivedatetime")
private LocalDateTime receiveDateTime;
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date receiveDateTime;
/**
* 接收时间戳
*/
@JsonProperty("receivets")
private Long receiveTs;
}

View File

@@ -1,9 +1,13 @@
package com.jeelowcode.service.bpm.config.framework.portal.core.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import static com.jeelowcode.tool.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.jeelowcode.tool.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
/**
* 描述:接收待办流程请求参数
@@ -56,7 +60,8 @@ public class ReceiveTodoRequestDTO {
* 创建时间
*/
@JsonProperty("createdatetime")
private LocalDateTime createDateTime;
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date createDateTime;
/**
* 接收人
*/
@@ -65,7 +70,8 @@ public class ReceiveTodoRequestDTO {
* 接收时间
*/
@JsonProperty("receivedatetime")
private LocalDateTime receiveDateTime;
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date receiveDateTime;
/**
* 接收时间戳
*/

View File

@@ -3,6 +3,7 @@ package com.jeelowcode.service.bpm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
@@ -34,7 +35,9 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.sql.Date;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -167,9 +170,9 @@ public class BpmProcessInstanceCopyServiceImpl implements IBpmProcessInstanceCop
.setNodeName(copy.getTaskName())
.setPcUrl("/process-instance/detail?id=" + copy.getProcessInstanceId())
.setCreator(creatorUser.getUsername())
.setCreateDateTime(copy.getCreateTime())
.setCreateDateTime(Date.from(copy.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()))
.setReceiver(receiverUser.getUsername())
.setReceiveDateTime(copy.getCreateTime())
.setReceiveDateTime(Date.from(copy.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()))
.setReceiveTs(System.currentTimeMillis());
}
).forEach(request -> {