Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidRequest = fmt.Errorf("请求参数无效") ErrInvalidStatus = fmt.Errorf("工单状态无效") ErrInvalidPermission = fmt.Errorf("权限不足") ErrInvalidOperation = fmt.Errorf("操作无效") )
View Source
var (
ErrInstanceNotFound = errors.New("工单实例不存在")
)
错误定义
Functions ¶
This section is empty.
Types ¶
type CategoryGroupService ¶
type CategoryGroupService interface {
CreateCategory(ctx context.Context, req *model.CreateWorkorderCategoryReq) error
UpdateCategory(ctx context.Context, req *model.UpdateWorkorderCategoryReq) error
DeleteCategory(ctx context.Context, id int) error
ListCategory(ctx context.Context, req model.ListWorkorderCategoryReq) (*model.ListResp[*model.WorkorderCategory], error)
GetCategory(ctx context.Context, id int) (*model.WorkorderCategory, error)
}
func NewCategoryGroupService ¶
func NewCategoryGroupService(categoryDAO dao.WorkorderCategoryDAO, userDAO userdao.UserDAO, logger *zap.Logger) CategoryGroupService
type FormDesignService ¶
type FormDesignService interface {
CreateFormDesign(ctx context.Context, formDesignReq *model.CreateWorkorderFormDesignReq) error
UpdateFormDesign(ctx context.Context, formDesignReq *model.UpdateWorkorderFormDesignReq) error
DeleteFormDesign(ctx context.Context, id int) error
GetFormDesign(ctx context.Context, id int) (*model.WorkorderFormDesign, error)
ListFormDesign(ctx context.Context, req *model.ListWorkorderFormDesignReq) (*model.ListResp[*model.WorkorderFormDesign], error)
}
func NewFormDesignService ¶
func NewFormDesignService(dao dao.WorkorderFormDesignDAO, categoryDao dao.WorkorderCategoryDAO, logger *zap.Logger) FormDesignService
type InstanceCommentService ¶
type InstanceCommentService interface {
CreateInstanceComment(ctx context.Context, req *model.CreateWorkorderInstanceCommentReq) error
UpdateInstanceComment(ctx context.Context, req *model.UpdateWorkorderInstanceCommentReq, userID int) error
DeleteInstanceComment(ctx context.Context, id int, userID int) error
GetInstanceComment(ctx context.Context, id int) (*model.WorkorderInstanceComment, error)
ListInstanceComments(ctx context.Context, req *model.ListWorkorderInstanceCommentReq) (*model.ListResp[*model.WorkorderInstanceComment], error)
GetInstanceCommentsTree(ctx context.Context, instanceID int) ([]*model.WorkorderInstanceComment, error)
}
func NewInstanceCommentService ¶
func NewInstanceCommentService( dao dao.WorkorderInstanceCommentDAO, instanceDao dao.WorkorderInstanceDAO, notificationService WorkorderNotificationService, logger *zap.Logger, ) InstanceCommentService
type InstanceFlowService ¶
type InstanceFlowService interface {
ListInstanceFlows(ctx context.Context, req *model.ListWorkorderInstanceFlowReq) (*model.ListResp[*model.WorkorderInstanceFlow], error)
DetailInstanceFlow(ctx context.Context, id int) (*model.WorkorderInstanceFlow, error)
}
func NewInstanceFlowService ¶
func NewInstanceFlowService(dao dao.WorkorderInstanceFlowDAO, logger *zap.Logger) InstanceFlowService
type InstanceService ¶
type InstanceService interface {
CreateInstance(ctx context.Context, req *model.CreateWorkorderInstanceReq) error
CreateInstanceFromTemplate(ctx context.Context, templateID int, req *model.CreateWorkorderInstanceFromTemplateReq) error
UpdateInstance(ctx context.Context, req *model.UpdateWorkorderInstanceReq) error
DeleteInstance(ctx context.Context, id int) error
GetInstance(ctx context.Context, id int) (*model.WorkorderInstance, error)
ListInstance(ctx context.Context, req *model.ListWorkorderInstanceReq) (*model.ListResp[*model.WorkorderInstance], error)
SubmitInstance(ctx context.Context, id int, operatorID int, operatorName string) error
AssignInstance(ctx context.Context, id int, assigneeID int, operatorID int, operatorName string) error
ApproveInstance(ctx context.Context, id int, operatorID int, operatorName string, comment string) error
RejectInstance(ctx context.Context, id int, operatorID int, operatorName string, comment string) error
CancelInstance(ctx context.Context, id int, operatorID int, operatorName string, comment string) error
CompleteInstance(ctx context.Context, id int, operatorID int, operatorName string, comment string) error
ReturnInstance(ctx context.Context, id int, operatorID int, operatorName string, comment string) error
GetAvailableActions(ctx context.Context, instanceID int, operatorID int) ([]string, error)
GetCurrentStep(ctx context.Context, instanceID int) (*model.ProcessStep, error)
}
func NewInstanceService ¶
func NewInstanceService( dao dao.WorkorderInstanceDAO, flowDao dao.WorkorderInstanceFlowDAO, timelineDao dao.WorkorderInstanceTimelineDAO, commentDao dao.WorkorderInstanceCommentDAO, processDao dao.WorkorderProcessDAO, formDesignDao dao.WorkorderFormDesignDAO, templateDao dao.WorkorderTemplateDAO, notificationService WorkorderNotificationService, logger *zap.Logger, ) InstanceService
type RecipientInfo ¶
type RecipientInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
}
RecipientInfo 接收人信息
type WorkorderInstanceTimeLineService ¶
type WorkorderInstanceTimeLineService interface {
CreateInstanceTimeLine(ctx context.Context, req *model.CreateWorkorderInstanceTimelineReq, creatorID int, creatorName string) (*model.WorkorderInstanceTimeline, error)
GetInstanceTimeLine(ctx context.Context, id int) (*model.WorkorderInstanceTimeline, error)
ListInstanceTimeLine(ctx context.Context, req *model.ListWorkorderInstanceTimelineReq) (*model.ListResp[*model.WorkorderInstanceTimeline], error)
}
func NewWorkorderInstanceTimeLineService ¶
func NewWorkorderInstanceTimeLineService( logger *zap.Logger, dao dao.WorkorderInstanceTimelineDAO, ) WorkorderInstanceTimeLineService
type WorkorderNotificationService ¶
type WorkorderNotificationService interface {
CreateNotification(ctx context.Context, req *model.CreateWorkorderNotificationReq) error
UpdateNotification(ctx context.Context, req *model.UpdateWorkorderNotificationReq) error
DeleteNotification(ctx context.Context, req *model.DeleteWorkorderNotificationReq) error
ListNotification(ctx context.Context, req *model.ListWorkorderNotificationReq) (*model.ListResp[*model.WorkorderNotification], error)
DetailNotification(ctx context.Context, req *model.DetailWorkorderNotificationReq) (*model.WorkorderNotification, error)
GetSendLogs(ctx context.Context, req *model.ListWorkorderNotificationLogReq) (*model.ListResp[*model.WorkorderNotificationLog], error)
TestSendNotification(ctx context.Context, req *model.TestSendWorkorderNotificationReq) error
SendWorkorderNotification(ctx context.Context, instanceID int, eventType string, customContent ...string) error
SendNotificationByChannels(ctx context.Context, channels []string, recipient, subject, content string) error
GetAvailableChannels() *model.ListResp[*model.WorkorderNotificationChannel]
}
func NewWorkorderNotificationService ¶
func NewWorkorderNotificationService(dao workorderDao.WorkorderNotificationDAO, notificationMgr *notification.Manager, logger *zap.Logger, instanceDAO workorderDao.WorkorderInstanceDAO, userDAO userDao.UserDAO) WorkorderNotificationService
type WorkorderProcessService ¶
type WorkorderProcessService interface {
CreateWorkorderProcess(ctx context.Context, req *model.CreateWorkorderProcessReq) error
UpdateWorkorderProcess(ctx context.Context, req *model.UpdateWorkorderProcessReq) error
DeleteWorkorderProcess(ctx context.Context, id int) error
ListWorkorderProcess(ctx context.Context, req *model.ListWorkorderProcessReq) (*model.ListResp[*model.WorkorderProcess], error)
DetailWorkorderProcess(ctx context.Context, id int) (*model.WorkorderProcess, error)
}
func NewWorkorderProcessService ¶
func NewWorkorderProcessService( processDao dao.WorkorderProcessDAO, formDesignDao dao.WorkorderFormDesignDAO, categoryDao dao.WorkorderCategoryDAO, instanceDao dao.WorkorderInstanceDAO, logger *zap.Logger, ) WorkorderProcessService
type WorkorderTemplateService ¶
type WorkorderTemplateService interface {
CreateTemplate(ctx context.Context, req *model.CreateWorkorderTemplateReq) error
UpdateTemplate(ctx context.Context, req *model.UpdateWorkorderTemplateReq) error
DeleteTemplate(ctx context.Context, req *model.DeleteWorkorderTemplateReq) error
ListTemplate(ctx context.Context, req *model.ListWorkorderTemplateReq) (*model.ListResp[*model.WorkorderTemplate], error)
DetailTemplate(ctx context.Context, req *model.DetailWorkorderTemplateReq) (*model.WorkorderTemplate, error)
}
func NewWorkorderTemplateService ¶
func NewWorkorderTemplateService( dao dao.WorkorderTemplateDAO, processDao dao.WorkorderProcessDAO, categoryDao dao.WorkorderCategoryDAO, instanceDao dao.WorkorderInstanceDAO, l *zap.Logger, ) WorkorderTemplateService
Click to show internal directories.
Click to hide internal directories.