Files
2026-09-15 10:44:31 +08:00

51 lines
3.0 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"time"
)
// OaSchedule OA日程(日历待办): yz_backend_oa_schedule
// 日程按租户 tid + 用户 user_id 双重隔离,供 backend 日程管理页面的
// 月历视图与待办列表读写。schedule_date/start_time/end_time 均以
// "YYYY-MM-DD"、"HH:mm" 字符串存取,前端无需再做时区换算。
//
// 顺延相关字段(source_id/carry_over/carry_count/carry_to_date):
// 当天做不完的日程可"顺延到下一天"——原日程标记完成并置 carry_over=1,
// 同时在目标日期生成一条待办,source_id 指向整条顺延链的源头日程,
// carry_count 记录累计顺延次数,便于追溯一个任务跨了多少天。
type OaSchedule struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid int `orm:"column(tid)" json:"tid"`
UserID uint64 `orm:"column(user_id)" json:"user_id"`
UserName string `orm:"column(user_name);size(100);default()" json:"user_name"`
Title string `orm:"column(title);size(255)" json:"title"`
Content string `orm:"column(content);type(text);null" json:"content"`
// Images 相关图片(截图/照片),存 JSON 数组:[{"id":1,"url":"","name":""}]
Images string `orm:"column(images);type(text);null" json:"images"`
ScheduleDate string `orm:"column(schedule_date);type(date)" json:"schedule_date"`
StartTime string `orm:"column(start_time);size(8);default()" json:"start_time"`
EndTime string `orm:"column(end_time);size(8);default()" json:"end_time"`
AllDay int8 `orm:"column(all_day);default(1)" json:"all_day"`
Color string `orm:"column(color);size(20);default(#409EFF)" json:"color"`
Priority int8 `orm:"column(priority);default(0)" json:"priority"`
Status int8 `orm:"column(status);default(0)" json:"status"`
FinishTime *time.Time `orm:"column(finish_time);type(datetime);null" json:"finish_time"`
SourceID uint64 `orm:"column(source_id);default(0)" json:"source_id"`
CarryOver int8 `orm:"column(carry_over);default(0)" json:"carry_over"`
CarryCount int `orm:"column(carry_count);default(0)" json:"carry_count"`
CarryToDate string `orm:"column(carry_to_date);size(10);default()" json:"carry_to_date"`
// ReminderID 绑定到提醒工具的提醒任务(yz_backend_schedule.id),0 表示未开启提醒。
// 用于把 OA 日程与提醒任务关联,从而在日程详情回显提醒状态(如"提醒已关闭")。
ReminderID uint64 `orm:"column(reminder_id);default(0)" json:"reminder_id"`
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 *OaSchedule) TableName() string {
return "yz_backend_oa_schedule"
}