初始化2
This commit is contained in:
103
app/api/ticket/model/index.ts
Normal file
103
app/api/ticket/model/index.ts
Normal file
@@ -0,0 +1,103 @@
|
||||
/** 工单优先级 */
|
||||
export type TicketPriority = 'low' | 'normal' | 'high' | 'urgent'
|
||||
|
||||
/** 工单状态 */
|
||||
export type TicketStatus = 'pending' | 'assigned' | 'processing' | 'resolved' | 'closed' | 'rejected'
|
||||
|
||||
/** 工单分类 */
|
||||
export type TicketCategory = 'bug' | 'feature' | 'consultation' | 'complaint' | 'other'
|
||||
|
||||
/** 工单列表项 */
|
||||
export interface Ticket {
|
||||
ticketId: number
|
||||
ticketNo: string // 工单编号 TK-202403xxxxxx
|
||||
title: string
|
||||
content: string
|
||||
productId: number // 关联应用ID
|
||||
productName?: string // 应用名称(前端展示用)
|
||||
category: TicketCategory
|
||||
priority: TicketPriority
|
||||
status: TicketStatus
|
||||
attachments?: string[] // 附件URL列表
|
||||
// 提交方
|
||||
submitUserId: number
|
||||
submitUserName?: string
|
||||
submitUserAvatar?: string
|
||||
// 分配方
|
||||
assigneeId?: number
|
||||
assigneeName?: string
|
||||
assigneeAvatar?: string
|
||||
// 时间
|
||||
createTime: string
|
||||
updateTime: string
|
||||
resolvedTime?: string
|
||||
closedTime?: string
|
||||
// 回复数
|
||||
replyCount: number
|
||||
// 是否已读(对当前用户)
|
||||
hasUnread?: boolean
|
||||
}
|
||||
|
||||
/** 工单回复 */
|
||||
export interface TicketReply {
|
||||
replyId: number
|
||||
ticketId: number
|
||||
content: string
|
||||
attachments?: string[]
|
||||
userId: number
|
||||
userName?: string
|
||||
userAvatar?: string
|
||||
isStaff: boolean // 是否是客服/技术人员
|
||||
createTime: string
|
||||
}
|
||||
|
||||
/** 提交工单表单 */
|
||||
export interface TicketSubmitForm {
|
||||
title: string
|
||||
content: string
|
||||
productId: number
|
||||
category: TicketCategory
|
||||
priority: TicketPriority
|
||||
attachments?: string[]
|
||||
}
|
||||
|
||||
/** 工单回复表单 */
|
||||
export interface TicketReplyForm {
|
||||
ticketId: number
|
||||
content: string
|
||||
attachments?: string
|
||||
}
|
||||
|
||||
/** 分配工单表单 */
|
||||
export interface TicketAssignForm {
|
||||
ticketId: number
|
||||
assigneeId: number
|
||||
}
|
||||
|
||||
/** 更新状态表单 */
|
||||
export interface TicketStatusForm {
|
||||
ticketId: number
|
||||
status: TicketStatus
|
||||
remark?: string
|
||||
}
|
||||
|
||||
/** 工单查询参数 */
|
||||
export interface TicketQueryParams {
|
||||
productId?: number
|
||||
status?: TicketStatus
|
||||
category?: TicketCategory
|
||||
priority?: TicketPriority
|
||||
assigneeId?: number
|
||||
keywords?: string
|
||||
page?: number
|
||||
limit?: number
|
||||
}
|
||||
|
||||
/** 工单统计 */
|
||||
export interface TicketStats {
|
||||
total: number
|
||||
pending: number
|
||||
processing: number
|
||||
resolved: number
|
||||
closed: number
|
||||
}
|
||||
Reference in New Issue
Block a user