usecase

package
v0.0.0-...-cfca2e5 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type File

type File interface {
	// UploadFile 上传文件
	UploadFile(ctx context.Context, file *multipart.FileHeader) (*entity.File, error)
}

File -.

type FileUseCase

type FileUseCase struct {
	RootDir string
}

FileUseCase 文件处理

func NewFileUseCase

func NewFileUseCase(rootDir string) *FileUseCase

func (FileUseCase) UploadFile

func (f FileUseCase) UploadFile(ctx context.Context, fileHeader *multipart.FileHeader) (*entity.File, error)

UploadFile 上传文件

type Notice

type Notice interface {
	// AddNotice 添加通知
	AddNotice(ctx context.Context, notice entity.Notice) error
	// SetNoticeRead 设置消息已读
	SetNoticeRead(ctx context.Context, noticeID int) error
	// GetNoticeListByUser 获取某个用户未读通知列表
	GetNoticeListByUser(ctx context.Context, userID int) ([]entity.Notice, error)
	// GetNoticeByNoticeID 获取通知详情 - 更新阅读通知状态
	GetNoticeByNoticeID(ctx context.Context, noticeID int) (entity.Notice, error)
}

Notice -.

type NoticeRepo

type NoticeRepo interface {
	// AddNotice 添加通知
	AddNotice(ctx context.Context, notice entity.Notice) error
	// SetNoticeRead 设置消息已读
	SetNoticeRead(ctx context.Context, noticeID int) error
	// GetNoticeListByUser 获取某个用户未读通知列表
	GetNoticeListByUser(ctx context.Context, userID int) ([]entity.Notice, error)
	// GetNoticeByNoticeID 获取通知详情 - 更新阅读通知状态
	GetNoticeByNoticeID(ctx context.Context, noticeID int) (entity.Notice, error)
}

NoticeRepo -.

type NoticeUseCase

type NoticeUseCase struct {
	// contains filtered or unexported fields
}

func NewNoticeUseCase

func NewNoticeUseCase(r NoticeRepo) *NoticeUseCase

func (NoticeUseCase) AddNotice

func (n NoticeUseCase) AddNotice(ctx context.Context, notice entity.Notice) error

func (NoticeUseCase) GetNoticeByNoticeID

func (n NoticeUseCase) GetNoticeByNoticeID(ctx context.Context, noticeID int) (entity.Notice, error)

func (NoticeUseCase) GetNoticeListByUser

func (n NoticeUseCase) GetNoticeListByUser(ctx context.Context, userID int) ([]entity.Notice, error)

func (NoticeUseCase) SetNoticeRead

func (n NoticeUseCase) SetNoticeRead(ctx context.Context, noticeID int) error

type Task

type Task interface {
	// CreateTask 创建任务
	CreateTask(context.Context, *entity.Task) error
	// AuditTask 审核任务是否通过
	AuditTask(ctx context.Context, taskID int, status string) (*entity.Task, error)
	// JoinTask 报名任务
	JoinTask(ctx context.Context, taskID, userID int) error
	// AuditUserTask 审核报名人员
	AuditUserTask(ctx context.Context, taskID, userID int, status string) error
	// AssignRole 分配参加任务人员角色
	AssignRole(ctx context.Context, taskID, userID int, role string) error
	// PrepareTaskRun 准备开始子任务 返回子任务id 后续签到生产二维码使用 ,队长点击开始签到调用这个接口
	// 1. 如果是第一次调用,则创建子任务
	// 2. 如果子任务没有完成 返回未完成子任务
	PrepareTaskRun(ctx context.Context, taskID int) (int, error)
	// Sign 签到
	Sign(ctx context.Context, taskID, taskRunID, userID int) error
	// StartTaskRun 开始子任务执行,如果没有自动生产一个子任务记录
	StartTaskRun(ctx context.Context, taskID int) error
	// PauseTaskRun 暂停任务执行
	PauseTaskRun(ctx context.Context, taskID int) error
	// FinishTaskRun 完成子任务执行
	FinishTaskRun(ctx context.Context, taskID int) error
	// CancelTaskRun 取消子任务执行
	CancelTaskRun(ctx context.Context, taskID int) error
	// GetTaskDetail 获取任务详情
	GetTaskDetail(ctx context.Context, taskID int) (entity.Task, error)
	// GetByUserID 获取一个人参与的任务
	GetByUserID(ctx context.Context, userID int, status string, id int) ([]entity.Task, error)
	// GetByTaskID 获取一个任务的详情
	GetByTaskID(ctx context.Context, taskID int) (entity.Task, error)
	// GetTaskList 任务大厅获取任务列表
	GetTaskList(ctx context.Context, lastId int, keyword, status string) ([]entity.Task, error)
	// GetUserTasks 获取任务参与者列表
	GetUserTasks(ctx context.Context, taskID int, status string) ([]entity.UserTask, error)
	// GetTaskRunList 获取某个任务的子任务列表
	GetTaskRunList(ctx context.Context, taskID int) ([]entity.TaskRun, error)
	// GetTaskRunLogList 获取某个任务的记录员上传的任务记录
	GetTaskRunLogList(ctx context.Context, taskID, lastID int) ([]entity.TaskRunLog, error)
	// GetUserJoinTaskList 获取某个用户参与的任务
	GetUserJoinTaskList(ctx context.Context, userID int, status string, lastID int) ([]entity.UserTask, error)
	// UploadRunLog 记录员上传任务记录
	UploadRunLog(ctx context.Context, runLog entity.TaskRunLog) error
	// GetUserTaskSummary 获取某个用户执行任务总数 总任务时长
	GetUserTaskSummary(ctx context.Context, userID int) (entity.UserTaskSummary, error)
}

Task -. 任务列表 -> 任务详情 -> 开始签到 -> 签到 -> 开始子任务执行 -> 上传子任务记录 -> 暂停任务执行 -> 子任务完成 开始签到 -> 签到 -> 开始子任务执行 -> 上传子任务记录 -> 完成任务 -> 子任务完成 -> 完成任务

type TaskRepo

type TaskRepo interface {
	CreateTask(context.Context, *entity.Task) error
	GetByUserID(ctx context.Context, userID int, status string, id int) ([]entity.Task, error)
	GetByTaskID(ctx context.Context, taskID int) (entity.Task, error)
	GetTaskList(ctx context.Context, lastId int, keyword, status string) ([]entity.Task, error)

	AuditFailTask(ctx context.Context, taskID int) (*entity.Task, error)
	AuditSuccessTask(ctx context.Context, taskID int) (*entity.Task, error)
	StartTask(ctx context.Context, taskID int) error
	PauseTask(ctx context.Context, taskID int) error
	FinishTask(ctx context.Context, taskID int) error
	CancelTask(ctx context.Context, taskID int) error
}

TaskRepo -.

type TaskRunLogRepo

type TaskRunLogRepo interface {
	AddTaskRunLog(ctx context.Context, log *entity.TaskRunLog) error
	GetTaskRunLogList(ctx context.Context, taskID int, lastID int) ([]entity.TaskRunLog, error)
}

TaskRunLogRepo -. 记录员上报的任务记录

type TaskRunRepo

type TaskRunRepo interface {
	GetPendingTaskRun(ctx context.Context, taskID int) (entity.TaskRun, error)
	GetRunningTaskRun(ctx context.Context, taskID int) (entity.TaskRun, error)
	AddTaskRun(ctx context.Context, taskID int) (entity.TaskRun, error)
	StartTaskRun(ctx context.Context, taskID int) error
	FinishTaskRun(ctx context.Context, taskID int) error
	GetTaskRunList(ctx context.Context, taskID int) ([]entity.TaskRun, error)
	CancelTaskRun(ctx context.Context, id int) error
}

TaskRunRepo -. 子任务记录

type TaskRunUserRepo

type TaskRunUserRepo interface {
	// AddTaskRunUser 签到时候调用
	AddTaskRunUser(ctx context.Context, taskID, taskRunID, userID int) (entity.TaskRunUser, error)
	// StartTaskRun 开始子任务执行时候调用
	StartTaskRun(ctx context.Context, taskID, taskRunID int) error
	// FinishTaskRun 完成子任务执行时候调用
	FinishTaskRun(ctx context.Context, taskID, taskRunID int) error
	GetTaskRunUserList(ctx context.Context, taskID int) ([]entity.TaskRunUser, error)
	CancelTaskRun(ctx context.Context, id int, id2 int) error
	GetUserTaskSummary(ctx context.Context, id int) (entity.UserTaskSummary, error)
}

TaskRunUserRepo -. 任务执行人记录 执行任务详细记录

type TaskUseCase

type TaskUseCase struct {
	// contains filtered or unexported fields
}

func (TaskUseCase) AssignRole

func (t TaskUseCase) AssignRole(ctx context.Context, taskID, userID int, role string) error

func (TaskUseCase) AuditTask

func (t TaskUseCase) AuditTask(ctx context.Context, taskID int, status string) (*entity.Task, error)

func (TaskUseCase) AuditUserTask

func (t TaskUseCase) AuditUserTask(ctx context.Context, taskID, userID int, status string) error

func (TaskUseCase) CancelTaskRun

func (t TaskUseCase) CancelTaskRun(ctx context.Context, taskID int) error

func (TaskUseCase) CreateTask

func (t TaskUseCase) CreateTask(ctx context.Context, task *entity.Task) error

func (TaskUseCase) FinishTaskRun

func (t TaskUseCase) FinishTaskRun(ctx context.Context, taskID int) error

func (TaskUseCase) GetByTaskID

func (t TaskUseCase) GetByTaskID(ctx context.Context, taskID int) (entity.Task, error)

func (TaskUseCase) GetByUserID

func (t TaskUseCase) GetByUserID(ctx context.Context, userID int, status string, lastID int) ([]entity.Task, error)

func (TaskUseCase) GetTaskDetail

func (t TaskUseCase) GetTaskDetail(ctx context.Context, taskID int) (entity.Task, error)

func (TaskUseCase) GetTaskList

func (t TaskUseCase) GetTaskList(ctx context.Context, lastID int, keyword, status string) ([]entity.Task, error)

func (TaskUseCase) GetTaskRunList

func (t TaskUseCase) GetTaskRunList(ctx context.Context, taskID int) ([]entity.TaskRun, error)

func (TaskUseCase) GetTaskRunLogList

func (t TaskUseCase) GetTaskRunLogList(ctx context.Context, taskID, lastID int) ([]entity.TaskRunLog, error)

func (TaskUseCase) GetUserJoinTaskList

func (t TaskUseCase) GetUserJoinTaskList(ctx context.Context, userID int, status string, lastID int) ([]entity.UserTask, error)

func (TaskUseCase) GetUserTaskSummary

func (t TaskUseCase) GetUserTaskSummary(ctx context.Context, userID int) (entity.UserTaskSummary, error)

func (TaskUseCase) GetUserTasks

func (t TaskUseCase) GetUserTasks(ctx context.Context, taskID int, status string) ([]entity.UserTask, error)

func (TaskUseCase) JoinTask

func (t TaskUseCase) JoinTask(ctx context.Context, taskID, userID int) error

func (TaskUseCase) PauseTaskRun

func (t TaskUseCase) PauseTaskRun(ctx context.Context, taskID int) error

func (TaskUseCase) PrepareTaskRun

func (t TaskUseCase) PrepareTaskRun(ctx context.Context, taskID int) (int, error)

PrepareTaskRun 准备签到接口,返回签到需要子任务id,通过子任务id生产二维码

func (TaskUseCase) Sign

func (t TaskUseCase) Sign(ctx context.Context, taskID, taskRunID, userID int) error

Sign 签到 参数为子任务id , 扫描时候使用

func (TaskUseCase) StartTaskRun

func (t TaskUseCase) StartTaskRun(ctx context.Context, taskID int) error

func (TaskUseCase) UploadRunLog

func (t TaskUseCase) UploadRunLog(ctx context.Context, runLog entity.TaskRunLog) error

type User

type User interface {
	Login(ctx context.Context, username, password string) (entity.User, error)
	Register(context.Context, entity.User) (entity.User, error)
	UpdateSetting(ctx context.Context, userID int, setting entity.UserSetting) error
	GetSettingByUserID(ctx context.Context, userID int) (entity.UserSetting, error)
	MiniProgramLogin(ctx context.Context, code string) (entity.User, error)
	GetUserRole(ctx context.Context, userID int) (entity.UserRole, error)
}

User -.

type UserRepo

type UserRepo interface {
	Store(context.Context, *entity.User) error
	GetByUserID(ctx context.Context, userID int) (entity.User, error)
	GetUserSettingByUserID(ctx context.Context, userID int) (entity.UserSetting, error)
	UpdateUserSetting(ctx context.Context, userID int, setting entity.UserSetting) error
	GetByUserName(ctx context.Context, username string) (entity.User, error)
	GetByOpenId(ctx context.Context, id string) (user entity.User, exist bool, err error)
	GetUserRole(ctx context.Context, id int) (entity.UserRole, error)
}

UserRepo -.

type UserTaskRepo

type UserTaskRepo interface {
	// AddUserTask 用户报名参与任务
	AddUserTask(ctx context.Context, taskID, userID int) (entity.UserTask, error)
	// AuditUserTask 审核任务参与者
	AuditUserTask(ctx context.Context, taskID, userID int, status string) (entity.UserTask, error)
	// AssignRole 分配用户在任务中角色
	AssignRole(ctx context.Context, taskID, userID int, role string) error
	// GetUserTaskList 获取任务参与者列表
	GetTaskUserList(ctx context.Context, taskID int, status string) ([]entity.UserTask, error)
	// GetUserTaskByUserID 获取任务参与者状态
	GetUserTaskByUserID(ctx context.Context, taskID, userID int) (entity.UserTask, error)
	// GetUserJoinTaskList 获取某个用户参与的任务列表
	GetUserJoinTaskList(ctx context.Context, userID int, status string, lastID int) ([]entity.UserTask, error)
}

UserTaskRepo -. 任务参与者

type UserUseCase

type UserUseCase struct {
	// contains filtered or unexported fields
}

func NewUserUseCase

func NewUserUseCase(r UserRepo, wxApp wechat.WxApp) *UserUseCase

func (UserUseCase) GetSettingByUserID

func (u UserUseCase) GetSettingByUserID(ctx context.Context, userID int) (entity.UserSetting, error)

func (UserUseCase) GetUserRole

func (u UserUseCase) GetUserRole(ctx context.Context, userID int) (entity.UserRole, error)

GetUserRole 获取用户角色

func (UserUseCase) Login

func (u UserUseCase) Login(ctx context.Context, username, password string) (entity.User, error)

func (UserUseCase) MiniProgramLogin

func (u UserUseCase) MiniProgramLogin(ctx context.Context, code string) (entity.User, error)

func (UserUseCase) Register

func (u UserUseCase) Register(ctx context.Context, user entity.User) (entity.User, error)

func (UserUseCase) UpdateSetting

func (u UserUseCase) UpdateSetting(ctx context.Context, userId int, setting entity.UserSetting) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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