Files
yunzerwebsiteallinone/go/models/oa_daily_report.go
T
2026-10-21 17:45:50 +08:00

60 lines
3.3 KiB
Go

package models
import "time"
// OaDailyReport OA工作日报 yz_backend_oa_daily_report
//
// 一人一天一条:user_id 存 yz_system_tenant_user.uid(不是 JWT 的 identity_id),
// 由 (tid, user_id, report_date, is_deleted) 唯一键保证。
// 草稿 status=0,提交后 status=1;删除为软删除。
//
// IsDeleted 同时承担两个职责:0=未删除;删除时写入记录 ID 作为删除批次标记,
// 这样唯一键在「删掉后同一天重新填写」时不会与历史软删记录冲突。
type OaDailyReport struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
UserID uint64 `orm:"column(user_id)" json:"user_id"`
UserName string `orm:"column(user_name);size(50);default()" json:"user_name"`
OrgID uint64 `orm:"column(org_id);default(0)" json:"org_id"`
OrgName string `orm:"column(org_name);size(100);default()" json:"org_name"`
ReportDate string `orm:"column(report_date);type(date)" json:"report_date"`
TodayDone string `orm:"column(today_done);type(text);null" json:"today_done"`
TomorrowPlan string `orm:"column(tomorrow_plan);type(text);null" json:"tomorrow_plan"`
Issues string `orm:"column(issues);type(text);null" json:"issues"`
// Attachments 附件JSON数组:[{"id":1,"url":"","name":"","size":0}]
Attachments string `orm:"column(attachments);type(text);null" json:"attachments"`
Status int8 `orm:"column(status);default(1)" json:"status"` // 0草稿 1已提交
SubmitTime *time.Time `orm:"column(submit_time);type(datetime);null" json:"submit_time"`
IsDeleted uint64 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *OaDailyReport) TableName() string {
return "yz_backend_oa_daily_report"
}
// OaDailyReportComment OA工作日报评论 yz_backend_oa_daily_report_comment
//
// ReplyToID 指向同表评论ID,实现两级回复;0 表示直接评论日报。
// 删除为软删除(is_deleted=1)。
type OaDailyReportComment struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
ReportID uint64 `orm:"column(report_id)" json:"report_id"`
UserID uint64 `orm:"column(user_id)" json:"user_id"`
UserName string `orm:"column(user_name);size(50);default()" json:"user_name"`
Content string `orm:"column(content);size(1000)" json:"content"`
ReplyToID uint64 `orm:"column(reply_to_id);default(0)" json:"reply_to_id"`
ReplyToName string `orm:"column(reply_to_name);size(50);default()" json:"reply_to_name"`
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
func (m *OaDailyReportComment) TableName() string {
return "yz_backend_oa_daily_report_comment"
}