chore: 并入 iotlcm-app 历史到 app/(原提交 f40bda9)

This commit is contained in:
MiFaZhan
2026-11-02 13:28:00 +08:00
1107 changed files with 147143 additions and 0 deletions
@@ -0,0 +1,89 @@
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"`
}