package data import ( "erp/consts/data" entity "erp/model/entity/data" "time" "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/frame/g" ) // CreateScheduleReq 创建排班请求 type CreateScheduleReq struct { g.Meta `path:"/createSchedule" method:"post" tags:"排班管理" summary:"创建排班" dc:"创建新的排班"` AnchorId int `json:"anchorId" v:"required" dc:"主播ID"` AccountId int `json:"accountId" v:"required" dc:"直播账号ID"` StartTime time.Time `json:"startTime" v:"required" dc:"开始时间"` EndTime time.Time `json:"endTime" v:"required" dc:"结束时间"` Status int `json:"status" d:"0" dc:"状态(0待直播 1直播中 2已结束 3已取消)"` ProductId int64 `json:"productId" dc:"商品ID"` OrderId int64 `json:"orderId" dc:"订单ID"` Remark string `json:"remark" dc:"备注"` } // CreateScheduleRes 创建排班响应 type CreateScheduleRes struct { Id int64 `json:"id" dc:"排班ID"` } // ListScheduleReq 获取排班列表请求 type ListScheduleReq struct { g.Meta `path:"/listSchedules" method:"get" tags:"排班管理" summary:"获取排班列表" dc:"分页查询排班列表"` *beans.Page AnchorId *int `json:"anchorId" dc:"主播ID"` AccountId *int `json:"accountId" dc:"直播账号ID"` Status *int `json:"status" dc:"状态"` StartDate time.Time `json:"startDate" dc:"开始日期(筛选)"` EndDate time.Time `json:"endDate" dc:"结束日期(筛选)"` } // ListScheduleRes 获取排班列表响应 type ListScheduleRes struct { List []ScheduleItem `json:"list" dc:"排班列表"` Total int `json:"total" dc:"总数"` } // ScheduleItem 排班列表项 type ScheduleItem struct { Id int64 `json:"id,string"` AnchorId int `json:"anchorId"` AnchorName string `json:"anchorName"` AccountId int `json:"accountId"` AccountName string `json:"accountName"` Platform string `json:"platform"` StartTime int64 `json:"startTime"` EndTime int64 `json:"endTime"` Status int `json:"status"` StatusName string `json:"statusName"` ProductId int64 `json:"productId"` OrderId int64 `json:"orderId"` Remark string `json:"remark"` CreatedAt int64 `json:"createdAt"` UpdatedAt int64 `json:"updatedAt"` } // GetScheduleReq 获取排班详情请求 type GetScheduleReq struct { g.Meta `path:"/getSchedule" method:"get" tags:"排班管理" summary:"获取排班详情" dc:"获取排班详情"` Id int64 `json:"id" v:"required" dc:"排班ID"` } // GetScheduleRes 获取排班详情响应 type GetScheduleRes struct { *entity.Schedule } // UpdateScheduleReq 更新排班请求 type UpdateScheduleReq struct { g.Meta `path:"/updateSchedule" method:"put" tags:"排班管理" summary:"更新排班" dc:"更新排班信息"` Id int64 `json:"id" v:"required" dc:"排班ID"` AnchorId *int `json:"anchorId" dc:"主播ID"` AccountId *int `json:"accountId" dc:"直播账号ID"` StartTime *time.Time `json:"startTime" dc:"开始时间"` EndTime *time.Time `json:"endTime" dc:"结束时间"` Status *int `json:"status" dc:"状态(0待直播 1直播中 2已结束 3已取消)"` ProductId *int64 `json:"productId" dc:"商品ID"` OrderId *int64 `json:"orderId" dc:"订单ID"` Remark string `json:"remark" dc:"备注"` } // DeleteScheduleReq 删除排班请求 type DeleteScheduleReq struct { g.Meta `path:"/deleteSchedule" method:"delete" tags:"排班管理" summary:"删除排班" dc:"删除排班"` Id int64 `json:"id" v:"required" dc:"排班ID"` } // UpdateScheduleStatusReq 更新排班状态请求 type UpdateScheduleStatusReq struct { g.Meta `path:"/updateScheduleStatus" method:"put" tags:"排班管理" summary:"更新排班状态" dc:"更新排班状态"` Id int64 `json:"id" v:"required" dc:"排班ID"` Status data.ScheduleStatus `json:"status" v:"required" dc:"状态(0待直播 1直播中 2已结束 3已取消)"` }