dao

package
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFormDesignNotFound   = fmt.Errorf("表单设计不存在")
	ErrFormDesignNameExists = fmt.Errorf("表单设计名称已存在")
)
View Source
var (
	ErrInstanceNotFound   = errors.New("工单实例不存在")
	ErrInstanceExists     = errors.New("工单实例已存在")
	ErrInstanceInvalidID  = errors.New("工单实例ID无效")
	ErrInstanceNilPointer = errors.New("工单实例对象为空")
)

错误定义

View Source
var (
	ErrFlowNilPointer       = errors.New("流程记录对象为空")
	ErrInstanceFlowNotFound = errors.New("工单流程记录不存在")
)

错误定义

View Source
var (
	ErrProcessNotFound   = fmt.Errorf("流程不存在")
	ErrProcessNameExists = fmt.Errorf("流程名称已存在")
	ErrProcessInvalidID  = fmt.Errorf("流程ID无效")
	ErrProcessInUse      = fmt.Errorf("流程正在使用中,无法删除")
)
View Source
var (
	ErrTemplateNotFound   = errors.New("模板不存在")
	ErrTemplateNameExists = errors.New("模板名称已存在")
	ErrInvalidStatus      = errors.New("无效的状态值")
	ErrInvalidID          = errors.New("无效的ID")
)
View Source
var (
	ErrCommentNilPointer = errors.New("评论对象为空")
)

错误定义

Functions

func IsDuplicateKeyError

func IsDuplicateKeyError(err error) bool

IsDuplicateKeyError 检查是否为重复键错误

func ValidatePagination

func ValidatePagination(page, size int) (int, int)

ValidatePagination 验证分页参数

Types

type WorkorderCategoryDAO

type WorkorderCategoryDAO interface {
	CreateCategory(ctx context.Context, category *model.WorkorderCategory) error
	UpdateCategory(ctx context.Context, category *model.WorkorderCategory) error
	DeleteCategory(ctx context.Context, id int) error
	ListCategory(ctx context.Context, req model.ListWorkorderCategoryReq) ([]*model.WorkorderCategory, int64, error)
	ListCategoryByIDs(ctx context.Context, ids []int) ([]*model.WorkorderCategory, error)
	GetCategory(ctx context.Context, id int) (*model.WorkorderCategory, error)
	GetCategoryByName(ctx context.Context, name string) (*model.WorkorderCategory, error)
}

func NewWorkorderCategoryDAO

func NewWorkorderCategoryDAO(db *gorm.DB, logger *zap.Logger) WorkorderCategoryDAO

type WorkorderFormDesignDAO

type WorkorderFormDesignDAO interface {
	CreateFormDesign(ctx context.Context, formDesign *model.WorkorderFormDesign) error
	UpdateFormDesign(ctx context.Context, formDesign *model.WorkorderFormDesign) error
	DeleteFormDesign(ctx context.Context, id int) error
	GetFormDesign(ctx context.Context, id int) (*model.WorkorderFormDesign, error)
	GetFormDesignByName(ctx context.Context, name string) (*model.WorkorderFormDesign, error)
	ListFormDesign(ctx context.Context, req *model.ListWorkorderFormDesignReq) ([]*model.WorkorderFormDesign, int64, error)
	CheckFormDesignNameExists(ctx context.Context, name string, excludeID ...int) (bool, error)
}

func NewWorkorderFormDesignDAO

func NewWorkorderFormDesignDAO(db *gorm.DB, logger *zap.Logger) WorkorderFormDesignDAO

type WorkorderInstanceCommentDAO

type WorkorderInstanceCommentDAO interface {
	CreateInstanceComment(ctx context.Context, comment *model.WorkorderInstanceComment) error
	UpdateInstanceComment(ctx context.Context, comment *model.WorkorderInstanceComment) error
	DeleteInstanceComment(ctx context.Context, id int) error
	GetInstanceCommentByID(ctx context.Context, id int) (*model.WorkorderInstanceComment, error)
	GetInstanceComments(ctx context.Context, instanceID int) ([]*model.WorkorderInstanceComment, error)
	GetInstanceCommentsTree(ctx context.Context, instanceID int) ([]*model.WorkorderInstanceComment, error)
	ListInstanceComments(ctx context.Context, req *model.ListWorkorderInstanceCommentReq) ([]*model.WorkorderInstanceComment, int64, error)
}

func NewWorkorderInstanceCommentDAO

func NewWorkorderInstanceCommentDAO(db *gorm.DB, logger *zap.Logger) WorkorderInstanceCommentDAO

type WorkorderInstanceDAO

type WorkorderInstanceDAO interface {
	CreateInstance(ctx context.Context, instance *model.WorkorderInstance) error
	UpdateInstance(ctx context.Context, instance *model.WorkorderInstance) error
	DeleteInstance(ctx context.Context, id int) error
	GetInstanceByID(ctx context.Context, id int) (*model.WorkorderInstance, error)
	GetInstanceByTitle(ctx context.Context, title string) (*model.WorkorderInstance, error)
	ListInstance(ctx context.Context, req *model.ListWorkorderInstanceReq) ([]*model.WorkorderInstance, int64, error)
	GenerateSerialNumber(ctx context.Context) (string, error)
	UpdateInstanceStatus(ctx context.Context, id int, status int8) error
	UpdateInstanceAssignee(ctx context.Context, id int, assigneeID *int) error
}

func NewWorkorderInstanceDAO

func NewWorkorderInstanceDAO(db *gorm.DB, logger *zap.Logger) WorkorderInstanceDAO

type WorkorderInstanceFlowDAO

type WorkorderInstanceFlowDAO interface {
	Create(ctx context.Context, flow *model.WorkorderInstanceFlow) error
	GetByInstanceID(ctx context.Context, instanceID int) ([]model.WorkorderInstanceFlow, error)
	GetByID(ctx context.Context, id int) (*model.WorkorderInstanceFlow, error)
	List(ctx context.Context, req *model.ListWorkorderInstanceFlowReq) ([]model.WorkorderInstanceFlow, int64, error)
}

func NewInstanceFlowDAO

func NewInstanceFlowDAO(db *gorm.DB, logger *zap.Logger) WorkorderInstanceFlowDAO

type WorkorderInstanceTimelineDAO

type WorkorderInstanceTimelineDAO interface {
	Create(ctx context.Context, timeline *model.WorkorderInstanceTimeline) error
	GetByID(ctx context.Context, id int) (*model.WorkorderInstanceTimeline, error)
	GetByInstanceID(ctx context.Context, instanceID int) ([]*model.WorkorderInstanceTimeline, error)
	List(ctx context.Context, req *model.ListWorkorderInstanceTimelineReq) ([]*model.WorkorderInstanceTimeline, int64, error)
}

func NewInstanceTimeLineDAO

func NewInstanceTimeLineDAO(db *gorm.DB, logger *zap.Logger) WorkorderInstanceTimelineDAO

type WorkorderNotificationDAO

type WorkorderNotificationDAO 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)
	GetNotificationByID(ctx context.Context, id int) (*model.WorkorderNotification, error)
	AddSendLog(ctx context.Context, log *model.WorkorderNotificationLog) error
	GetSendLogs(ctx context.Context, req *model.ListWorkorderNotificationLogReq) (*model.ListResp[*model.WorkorderNotificationLog], error)
	IncrementSentCount(ctx context.Context, id int) error
	GetActiveNotificationsByEventType(ctx context.Context, eventType string, processID int) ([]*model.WorkorderNotification, error)
	GetInstanceByID(ctx context.Context, instanceID int) (*model.WorkorderInstance, error)
}

func NewNotificationDAO

func NewNotificationDAO(db *gorm.DB, logger *zap.Logger) WorkorderNotificationDAO

type WorkorderProcessDAO

type WorkorderProcessDAO interface {
	CreateProcess(ctx context.Context, process *model.WorkorderProcess) error
	UpdateProcess(ctx context.Context, process *model.WorkorderProcess) error
	DeleteProcess(ctx context.Context, id int) error
	ListProcess(ctx context.Context, req *model.ListWorkorderProcessReq) ([]*model.WorkorderProcess, int64, error)
	GetProcessByID(ctx context.Context, id int) (*model.WorkorderProcess, error)
	CheckProcessNameExists(ctx context.Context, name string, excludeID ...int) (bool, error)
	ValidateProcessDefinition(ctx context.Context, definition *model.ProcessDefinition) error
}

func NewProcessDAO

func NewProcessDAO(db *gorm.DB, logger *zap.Logger) WorkorderProcessDAO

type WorkorderTemplateDAO

type WorkorderTemplateDAO interface {
	CreateTemplate(ctx context.Context, template *model.WorkorderTemplate) error
	UpdateTemplate(ctx context.Context, template *model.WorkorderTemplate) error
	DeleteTemplate(ctx context.Context, id int) error
	GetTemplate(ctx context.Context, id int) (*model.WorkorderTemplate, error)
	ListTemplate(ctx context.Context, req *model.ListWorkorderTemplateReq) ([]*model.WorkorderTemplate, int64, error)
	UpdateTemplateStatus(ctx context.Context, id int, status int8) error
	IsTemplateNameExists(ctx context.Context, name string, excludeID int) (bool, error)
}

func NewTemplateDAO

func NewTemplateDAO(db *gorm.DB, logger *zap.Logger) WorkorderTemplateDAO

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL