maguodong
|
f50930ec74
|
refactor(database): 更新时间模型的钩子函数实现
- 将 BeforeCreate 中的时间设置从直接赋值改为使用 scope.Set 方法
- 将 BeforeUpdate 中的时间设置从直接赋值改为使用 scope.Set 方法
- 移除 AfterDelete 钩子函数并注释掉 AfterFind 钩子函数
- 统一使用 GORM 的 scope 机制处理时间字段更新
|
2026-03-30 10:32:50 +08:00 |
maguodong
|
d50f150d98
|
fix(test): 修正Crud泛型类型声明
- 将Crud[interface{}]更改为Crud[interface{}, interface{}]以匹配正确的泛型参数数量
|
2026-03-28 18:18:10 +08:00 |
maguodong
|
0238ec9a01
|
docs(curd): 更新Crud结构体注释文档
- 为Crud结构体添加C参数的说明
- 明确C参数为对应模型结构体的字段结构体
- 完善泛型CURD封装的功能描述
|
2026-03-28 18:17:31 +08:00 |
maguodong
|
1cc976ed72
|
refactor(database): 重构基础模型包结构
- 将 model 包重命名为 base 包
- 移动 base.go 文件到 database/base 目录
- 更新包导入路径以匹配新的目录结构
|
2026-03-28 18:03:54 +08:00 |
maguodong
|
7d3ddc62e3
|
refactor(database): 重构基础模型结构和时间处理逻辑
- 将 BaseModel 拆分为 IdModel 和 TimeModel 两个独立结构体
- 替换标准库 time 包为 gf 框架的 gtime 包进行时间处理
- 修改字段标签定义,优化数据库列映射配置
- 重写 BeforeCreate、BeforeUpdate 钩子方法实现
- 新增 AfterDelete 钩子方法处理删除后的时间转换
- 统一时间格式化为字符串类型存储到数据库中
|
2026-03-28 18:01:44 +08:00 |
maguodong
|
427f568db6
|
fix(model): 修改BaseModel主键ID数据类型
- 将Id字段从uint类型改为int类型
- 保持GORM标签和JSON序列化配置不变
|
2026-03-28 16:22:53 +08:00 |
maguodong
|
828e19de93
|
refactor(database): 修改BaseModel中的ID字段命名规范
- 将ID字段名改为Id以符合Go语言命名约定
- 保持gorm标签和json标签的一致性
- 确保数据库映射功能不受影响
|
2026-03-28 16:21:02 +08:00 |
maguodong
|
1e18be8326
|
refactor(database): 简化基础模型时间处理逻辑
- 移除自定义 DateTime 类型及其 JSON 序列化/反序列化实现
- 将 CreateTime 和 UpdateTime 字段类型从 DateTime 改为 string
- 添加 GORM 的 BeforeCreate 和 BeforeUpdate 钩子函数
- 使用 time.Now().Format 直接格式化时间字符串
- 移除冗余的 driver.Valuer 和 sql.Scanner 接口实现
|
2026-03-28 16:13:54 +08:00 |
maguodong
|
21e9f7c79d
|
refactor(database): 重构数据库基础模型时间类型
- 将 LocalTime 类型重命名为 DateTime 并改进实现
- 添加完整的 JSON 序列化和反序列化支持
- 实现了 MarshalJSON 和 UnmarshalJSON 方法
- 改进 Scan 方法以支持字符串类型转换
- 更新 BaseModel 结构体字段定义和标签
- 移除指针类型改为值类型并优化 GORM 标签配置
|
2026-03-28 15:58:46 +08:00 |
maguodong
|
93fbb99ee0
|
feat(database): 添加自定义时间类型支持空值
- 新增 LocalTime 自定义时间类型,支持 null 值处理
- 实现 MarshalJSON 方法支持 JSON 序列化
- 实现 Value 方法支持数据库存储
- 实现 Scan 方法支持数据库读取
- 修改 BaseModel 使用 LocalTime 类型替代原生 time.Time
- 移除 BaseModel 中的时间处理钩子函数
|
2026-03-28 15:52:33 +08:00 |
maguodong
|
d41b554acf
|
feat(database): 添加数据库模型查询后时间戳更新功能
- 在 BaseModel 中实现 AfterFind 钩子函数,用于查询后更新 UpdateTime 字段
- 集成 time 包支持时间操作
- 配置 GORM NowFunc 使用本地时间,确保时间戳准确性
- 统一数据库操作的时间处理逻辑,提高数据一致性
|
2026-03-28 15:34:10 +08:00 |
maguodong
|
7b6026950a
|
refactor(database): 更新基础模型的时间字段配置
- 修改 CreateTime 字段的 JSON 标签从 created_at 到 create_time
- 修改 UpdateTime 字段的 JSON 标签从 updated_at 到 update_time
- 添加 autoCreateTime 和 autoUpdateTime GORM 标签实现自动时间戳
- 移除手动时间设置的相关注释
- 统一字段标签格式为 common 格式
|
2026-03-28 14:37:40 +08:00 |
maguodong
|
80ad00f98d
|
feat(database): 添加基础数据模型
- 创建 BaseModel 结构体,包含主键 ID、创建时间和更新时间字段
- 实现 BeforeCreate 钩子函数,自动设置创建和更新时间为当前时间
- 实现 BeforeUpdate 钩子函数,自动更新更新时间为当前时间
- 配置 GORM 数据库映射标签,包括主键、列名、数据类型等
- 添加 JSON 序列化标签支持,便于 API 返回数据
|
2026-03-28 14:36:43 +08:00 |