Files
hzdyjs/docs/开发文档/VO类基础字段规范总结.md
zlwu 28232d5d46 feat: 移动端开发规范重大更新
- 🔥 完全重写 .cursor/cursorrules-mobile.md (940行)
  * 基于实际mobile工程Vue 3.4.21+uniapp+uview-plus架构
  * 移除所有JeeSite相关内容,精准匹配实际项目
  * 新增11个完整章节:技术栈、项目结构、页面开发、组件规范等

- 📚 创建完整规范文档 docs/开发文档/移动端开发规范总结.md (800+行)
  * 涵盖从项目架构到部署的全流程指导
  * 提供可直接使用的页面和组件模板
  * 包含现代CSS变量设计系统和用户体验优化

- 🔄 同步更新主配置文件 .cursorrules
  * 更新移动端技术栈描述
  * 调整为Vue 3.4.21+uniapp+uview-plus 3.4.45架构

- 📝 完善变更记录
  * 详细记录规范更新背景和技术价值
  * 为后续维护提供完整历史记录

核心价值:解决规范与实际项目不匹配问题,为Cursor AI提供准确的移动端开发上下文,确保生成代码完全符合实际项目架构。
2025-07-04 15:51:33 +08:00

2.7 KiB
Raw Permalink Blame History

VO 类基础字段规范总结

🎯 核心要求

所有 VO 类必须包含四个基础字段:

/**
 * 创建者
 */
private Long createBy;

/**
 * 创建时间
 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "创建时间")
private Date createTime;

/**
 * 更新者
 */
private Long updateBy;

/**
 * 更新时间
 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;

🔧 规范背景

查询方式 基础字段处理 VO 类要求 问题
MyBatis-Plus 自动查询 不包含继承字段 无需基础字段 未来可能需要
自定义 SQL 查询 明确包含字段 必须有对应字段 缺失导致运行时错误

统一解决方案:所有 VO 类都包含基础字段,确保兼容性!

🚨 强制要求

  • 字段完整性:createBy、createTime、updateBy、updateTime
  • 类型统一:createBy/updateBy 为 Long,时间字段为 Date
  • 注解规范:时间字段使用@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  • Excel 支持:createTime 可选导出,updateTime 通常不导出

🛠️ 快速修复流程

# 1. 发现MyBatis映射错误
grep "Could not set property" logs/error.log

# 2. 编辑VO类,添加缺失字段
# 使用上述标准模板

# 3. 重新构建模块
cd ruoyi-modules/[模块名]
mvn clean install -U -Dmaven.test.skip=true

# 4. 重新构建主应用
cd ../../ruoyi-admin
mvn clean compile -U -Dmaven.test.skip=true

# 5. 触发热重启
echo "reload" > src/main/resources/.reloadtrigger

📊 实际案例

修复成功案例:

  • ✅ HqVenueInfoVo - 场地管理界面正常加载
  • ✅ HqVenueReservationVo - 场地预约界面正常加载

预防性案例:

  • 💡 HqSatCategoryVo - 建议添加基础字段保证一致性

📋 检查清单

新增 VO 类:

  • 是否包含四个基础字段?
  • 字段类型是否正确?
  • 时间字段是否有 JSON 格式化注解?

现有 VO 类修复:

  • 检查 MyBatis 映射错误日志
  • 补全缺失的基础字段
  • 重新构建验证修复效果

🎯 规范价值

  • 🔄 兼容性:支持所有查询方式
  • 📊 一致性:统一的 VO 类结构
  • 🚀 可维护性:减少运行时错误
  • 📈 可扩展性:支持未来功能扩展

📚 详细规范

完整规范见:.cursor/cursorrules-backend.md → "VO 类基础字段规范(强制性)"


⚠️ 记住:宁可多加字段保证兼容性,也不要因为字段缺失导致系统异常!