小程序开发-服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.1 KiB

时间格式统一修改报告

修改概述

已成功将整个项目中的时间字段类型从 java.util.Date 统一修改为 java.time.LocalDateTime

修改范围

本次修改涉及以下模块的所有实体类:

1. 核心系统模块 (common/system)

  • User.java - 用户实体
  • Company.java - 公司实体
  • Role.java - 角色实体
  • Menu.java - 菜单实体
  • 以及其他系统核心实体类

2. 商城模块 (shop)

  • ShopOrder.java - 订单实体
  • ShopGoods.java - 商品实体
  • ShopUsers.java - 商城用户实体
  • ShopCoupon.java - 优惠券实体
  • 以及其他商城相关实体类

3. CMS模块 (cms)

  • CmsArticle.java - 文章实体
  • CmsWebsite.java - 网站实体
  • 以及其他CMS相关实体类

4. 其他业务模块

  • project - 项目管理模块
  • docs - 文档模块
  • hjm - 驾校管理模块
  • house - 房产模块
  • oa - 办公自动化模块
  • bszx - 博士在线模块
  • pwl - PWL模块

具体修改内容

1. 导入语句修改

// 修改前
import java.util.Date;

// 修改后
import java.time.LocalDateTime;

2. 字段声明修改

// 修改前
private Date createTime;
private Date updateTime;
private Date birthday;
private Date startTime;
private Date endTime;

// 修改后
private LocalDateTime createTime;
private LocalDateTime updateTime;
private LocalDateTime birthday;
private LocalDateTime startTime;
private LocalDateTime endTime;

3. 注解清理

移除了不必要的时间格式化注解:

// 已移除
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

修改统计

  • 总计处理文件数:约150个Java文件
  • 涉及实体类:约120个
  • 涉及控制器类:约10个
  • 涉及服务类:约10个
  • 涉及工具类:约10个

修改优势

1. 类型安全

  • LocalDateTime 是不可变类型,线程安全
  • 避免了 Date 类的可变性问题

2. API 更清晰

  • LocalDateTime 提供了更丰富和直观的API
  • 支持更好的时间计算和格式化

3. 性能提升

  • LocalDateTime 性能优于 Date
  • 减少了时区转换的开销

4. 代码可读性

  • 字段名更清晰地表达了时间的含义
  • 统一的命名规范:createTimeupdateTime

注意事项

1. 数据库兼容性

  • 确保数据库字段类型支持 LocalDateTime
  • 可能需要更新 MyBatis 的类型处理器

2. JSON 序列化

  • 确保 Jackson 配置正确处理 LocalDateTime
  • 可能需要配置时间格式化规则

3. 前端兼容性

  • 前端需要适配新的时间格式
  • 确保API文档更新

建议后续操作

  1. 测试验证:运行单元测试确保修改正确
  2. 数据库检查:验证数据库字段类型兼容性
  3. API测试:测试前后端时间数据交互
  4. 文档更新:更新相关技术文档

修改完成状态

所有实体类时间字段已统一为 LocalDateTime 导入语句已更新 不必要的格式化注解已清理 批量修改脚本已创建并执行成功

修改已完成,建议进行全面测试以确保系统正常运行。