package model import ( "git.5iot.com/iotlcm-public/iotlcm-app/internal/model/request" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/os/gtime" ) type AppWorkOrderListParam struct { request.PageInfo Scope string `json:"scope" dc:"工单范围:all或空值全部相关,submitted我提交的,received我收到的"` Keyword string `json:"keyword" dc:"工单编号、标题或内容"` CurrentStatus int `json:"currentStatus" dc:"工单状态:0全部,1已分派,2处理中,3已解决,4已完结,5已取消"` WoType *int `json:"woType" dc:"工单类型:0卡,1模组,2设备,3订单,4余额,5提现"` } type AppWorkOrderDetailParam struct { BeforeId int64 `json:"beforeId"` WoNo string `json:"woNo" v:"required#工单编号不能为空" dc:"工单编号"` } type AppWorkOrderCreateParam struct { CreatorPhone string `json:"creatorPhone" v:"required#请输入创建人手机号" dc:"创建人手机号"` WoType int `json:"woType" dc:"工单类型:0卡,1模组,2设备,3订单,4余额,5提现"` RelatedId int64 `json:"relatedId" dc:"关联业务ID"` Title string `json:"title" v:"required#请输入工单标题" dc:"工单标题"` Content string `json:"content" v:"required#请输入问题描述" dc:"问题描述"` AttachmentUrls []string `json:"attachmentUrls" dc:"附件URL列表"` } type AppWorkOrderModel struct { AttachmentNames map[string]string `json:"attachmentNames,omitempty" dc:"附件URL对应的原始文件名"` IsCreator bool `json:"isCreator"` HasMoreCommunications bool `json:"hasMoreCommunications"` Actions []string `json:"actions"` Records []*AppWorkOrderProgressModel `json:"records,omitempty"` ResolveTime *gtime.Time `json:"resolveTime,omitempty"` CloseTime *gtime.Time `json:"closeTime,omitempty"` SatisfactionLevel int `json:"satisfactionLevel"` EvalContent string `json:"evalContent"` EvalTime *gtime.Time `json:"evalTime,omitempty"` Id int64 `json:"id" dc:"主键ID"` WoNo string `json:"woNo" dc:"工单编号"` WoType int `json:"woType" dc:"工单类型"` WoTypeText string `json:"woTypeText" dc:"工单类型文本"` RelatedId int64 `json:"relatedId" dc:"关联业务ID"` Title string `json:"title" dc:"工单标题"` Content string `json:"content" dc:"问题描述"` AttachmentUrls []string `json:"attachmentUrls,omitempty" dc:"附件URL列表"` CreatorType int `json:"creatorType" dc:"创建人类型"` CreatorName string `json:"creatorName" dc:"创建人"` CreatorPhone string `json:"creatorPhone" dc:"创建人手机号"` CurrentStatus int `json:"currentStatus" dc:"当前状态"` CurrentStatusText string `json:"currentStatusText" dc:"当前状态文本"` StatusType string `json:"statusType" dc:"状态样式"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"` Communications []*AppWorkOrderCommModel `json:"communications,omitempty" dc:"沟通记录"` } type AppWorkOrderCommModel struct { Id int64 `json:"id" dc:"主键ID"` WoNo string `json:"woNo" dc:"工单编号"` CommType int `json:"commType" dc:"沟通类型"` CommTypeText string `json:"commTypeText" dc:"沟通类型文本"` SenderName string `json:"senderName" dc:"发送人"` Content string `json:"content" dc:"内容"` AttachmentUrls *gjson.Json `json:"attachmentUrls,omitempty" dc:"附件URL列表"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` } // AppWorkOrderActionParam 按创建人或处理方权限执行工单操作。 type AppWorkOrderActionParam struct { WoNo string `json:"woNo" v:"required#工单编号不能为空"` Action string `json:"action" v:"required#请选择工单操作"` Content string `json:"content"` AttachmentUrls []string `json:"attachmentUrls"` SatisfactionLevel int `json:"satisfactionLevel"` } type AppWorkOrderProgressModel struct { Id int64 `json:"id"` OperationType int `json:"operationType"` OperationText string `json:"operationText"` BeforeStatus int `json:"beforeStatus"` AfterStatus int `json:"afterStatus"` CreatedAt *gtime.Time `json:"createdAt"` }