diff --git a/pigx-common/pigx-common-core/pom.xml b/pigx-common/pigx-common-core/pom.xml index afe5c6b8c..03a903845 100644 --- a/pigx-common/pigx-common-core/pom.xml +++ b/pigx-common/pigx-common-core/pom.xml @@ -59,5 +59,10 @@ ${servlet-api.version} provided + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java new file mode 100644 index 000000000..14a5952a6 --- /dev/null +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java @@ -0,0 +1,64 @@ +/* + * + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + * + */ + +package com.pig4cloud.pigx.common.core.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; + +/** + * JacksonConfig + * + * @author: lengleng + * @date: 2018/7/28 12:29 + */ +@Configuration +public class JacksonConfig { + /** + * 处理序列化后的1.8的日期时间格式 + * + * @return + */ + @Bean + public ObjectMapper getObjectMapper() { + ObjectMapper objectMapper = new ObjectMapper(); + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); + javaTimeModule.addDeserializer(LocalDateTime.class,new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + javaTimeModule.addDeserializer(LocalDate.class,new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + javaTimeModule.addDeserializer(LocalTime.class,new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); + objectMapper.registerModule(javaTimeModule); + return objectMapper; + } +} diff --git a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.factories b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.factories index 9046e742b..a5296d20b 100644 --- a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.factories +++ b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.factories @@ -1,3 +1,4 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.pig4cloud.pigx.common.core.config.JacksonConfig,\ com.pig4cloud.pigx.common.core.config.RedisConfig,\ com.pig4cloud.pigx.common.core.util.SpringContextHolder diff --git a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.provides b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.provides index 61afcd7b2..934bb2d25 100644 --- a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.provides +++ b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring.provides @@ -1 +1 @@ -provides: hutool-all, spring-cloud-starter-openfeign, feign-okhttp, fastjson, spring-boot-starter-data-redis +provides: hutool-all, spring-cloud-starter-openfeign, feign-okhttp, fastjson, spring-boot-starter-data-redis, jackson-datatype-jsr310 diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDept.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDept.java index c70ed2d2e..db89f6aa7 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDept.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDept.java @@ -28,7 +28,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -58,11 +58,11 @@ public class SysDept extends Model { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 修改时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 是否删除 -1:已删除 0:正常 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDict.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDict.java index 650e5ab93..ca238b93b 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDict.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysDict.java @@ -29,7 +29,7 @@ import lombok.EqualsAndHashCode; import java.io.Serializable; import java.math.BigDecimal; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -74,11 +74,11 @@ public class SysDict extends Model { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 更新时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 备注信息 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java index 2b653a242..3c4e9619b 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java @@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.enums.IdType; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; /** @@ -60,11 +61,11 @@ public class SysLog implements Serializable { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 更新时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 操作IP地址 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysMenu.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysMenu.java index 5294ed1df..d399b482b 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysMenu.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysMenu.java @@ -28,7 +28,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -81,11 +81,11 @@ public class SysMenu extends Model { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 更新时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 0--正常 1--删除 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysRole.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysRole.java index afe6f08b6..c3a19ca48 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysRole.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysRole.java @@ -28,7 +28,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -50,8 +50,8 @@ public class SysRole extends Model { private String roleName; private String roleCode; private String roleDesc; - private Date createTime; - private Date updateTime; + private LocalDateTime createTime; + private LocalDateTime updateTime; /** * 删除标识(0-正常,1-删除) */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysUser.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysUser.java index d90dfe799..f3c602310 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysUser.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysUser.java @@ -27,6 +27,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; /** @@ -62,11 +63,11 @@ public class SysUser implements Serializable { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 修改时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 0-正常,1-删除 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/MenuVO.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/MenuVO.java index 0a64a8da5..0cb896afd 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/MenuVO.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/MenuVO.java @@ -22,7 +22,7 @@ package com.pig4cloud.pigx.admin.api.vo; import lombok.Data; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -76,11 +76,11 @@ public class MenuVO implements Serializable { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 更新时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 0--正常 1--删除 */ diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/UserVO.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/UserVO.java index fc1a82c3f..816c9aeef 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/UserVO.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/vo/UserVO.java @@ -23,7 +23,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysRole; import lombok.Data; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; /** @@ -53,11 +53,11 @@ public class UserVO implements Serializable { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 修改时间 */ - private Date updateTime; + private LocalDateTime updateTime; /** * 0-正常,1-删除 */ diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/DeptController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/DeptController.java index 115266c1d..f445ecb47 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/DeptController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/DeptController.java @@ -29,7 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; /** @@ -103,7 +103,7 @@ public class DeptController { @PutMapping @PreAuthorize("@pms.hasPermission('sys_dept_edit')") public Boolean edit(@RequestBody SysDept sysDept) { - sysDept.setUpdateTime(new Date()); + sysDept.setUpdateTime(LocalDateTime.now()); return sysDeptService.updateDeptById(sysDept); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java index e42c229ae..5d06acc8a 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -98,7 +99,7 @@ public class SysDeptServiceImpl extends ServiceImpl impl public Boolean deleteDeptById(Integer id) { SysDept sysDept = new SysDept(); sysDept.setDeptId(id); - sysDept.setUpdateTime(new Date()); + sysDept.setUpdateTime(LocalDateTime.now()); sysDept.setDelFlag(CommonConstant.STATUS_DEL); this.deleteById(sysDept); sysDeptMapper.deleteDeptRealtion(id); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java index d3b126a57..e01c39df5 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java @@ -26,7 +26,7 @@ import com.pig4cloud.pigx.admin.service.SysLogService; import com.pig4cloud.pigx.common.core.constant.CommonConstant; import org.springframework.stereotype.Service; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -45,7 +45,7 @@ public class SysLogServiceImpl extends ServiceImpl impleme SysLog sysLog = new SysLog(); sysLog.setId(id); sysLog.setDelFlag(CommonConstant.STATUS_DEL); - sysLog.setUpdateTime(new Date()); + sysLog.setUpdateTime(LocalDateTime.now()); return updateById(sysLog); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java index 4751f98b5..f03bcf276 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java @@ -49,6 +49,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.*; /** @@ -168,7 +169,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public Boolean updateUser(UserDTO userDto, String username) { SysUser sysUser = new SysUser(); BeanUtils.copyProperties(userDto, sysUser); - sysUser.setUpdateTime(new Date()); + sysUser.setUpdateTime(LocalDateTime.now()); this.updateById(sysUser); SysUserRole condition = new SysUserRole();