daShangDao_planA/rep/impl/mysql/taskRecords.go

144 lines
4.5 KiB
Go

package mysql
import (
mysqlServer "planA/service/mysql"
_type "planA/type"
mysqlType "planA/type/mysql"
"time"
)
// CreateTaskRecords 创建任务记录
// @param export 任务记录
// @return error 错误信息
func (g *GormAdapter) CreateTaskRecords(export _type.TaskRecordsDTO) error {
return mysqlServer.CreateTaskRecords(&mysqlType.TaskRecords{
UserID: &export.UserId,
ShopID: &export.ShopId,
TaskID: &export.TaskId,
ShopName: &export.ShopName,
IsExport: &export.IsExport,
TaskType: &export.TaskType,
})
}
// GetTaskRecordsList 获取任务记录列表
// @param params 查询参数
// @return []mysqlType.TaskExport 任务记录列表
// @return error 错误信息
func (g *GormAdapter) GetTaskRecordsList(params _type.GetTaskRecordsListReq) ([]*_type.TaskRecordsDTO, int64, error) {
list, count, err := mysqlServer.GetTaskRecordsList(&mysqlType.GetTaskRecordsByUserIdParams{
UserID: params.UserId,
ShopName: params.ShopName,
TaskID: params.TaskId,
TaskType: params.TaskType,
Page: _type.Page{
PageNum: params.Page,
PageSize: params.Size,
},
})
listDTO := convertMysqlTaskRecordsToDTO(list)
return listDTO, count, err
}
// GetTaskRecordsByTaskId 根据任务ID获取任务记录
// @param taskId 任务ID
// @return *mysqlType.TaskExport 任务记录
// @return error 错误信息
func (g *GormAdapter) GetTaskRecordsByTaskId(taskId string) (*_type.TaskRecordsDTO, error) {
info, err := mysqlServer.GetTaskRecordsByTaskId(taskId)
infoDTO := _type.TaskRecordsDTO{
Id: info.ID,
UserId: *info.UserID,
ShopId: *info.ShopID,
TaskId: *info.TaskID,
ShopName: *info.ShopName,
IsExport: *info.IsExport,
TaskType: *info.TaskType,
CreateAt: time.Now(),
}
return &infoDTO, err
}
// UpdateTaskRecords 更新任务记录
// @param export 任务记录
// @return error 错误信息
func (g *GormAdapter) UpdateTaskRecords(user _type.TaskRecordsDTO) error {
return mysqlServer.UpdateTaskRecords(&mysqlType.TaskRecords{
UserID: &user.UserId,
ShopID: &user.ShopId,
TaskID: &user.TaskId,
ShopName: &user.ShopName,
IsExport: &user.IsExport,
TaskType: &user.TaskType,
})
}
// GetTaskRecordsOldList 获取任务记录旧数据列表
// @return *mysqlType.TaskExport 任务记录列表
// @return error 错误信息
func (g *GormAdapter) GetTaskRecordsOldList() ([]*_type.TaskRecordsDTO, error) {
list, err := mysqlServer.GetTaskRecordsOldList()
listDTO := convertMysqlTaskRecordsToDTO(list)
return listDTO, err
}
// DeleteTaskRecordsOldData 删除任务记录旧数据
// @param taskId 任务ID
// @return error 错误信息
func (g *GormAdapter) DeleteTaskRecordsOldData() error {
return mysqlServer.DeleteOldTaskRecords()
}
// DeleteTaskRecordsByTaskId 根据任务 ID删除任务记录
func (g *GormAdapter) DeleteTaskRecordsByTaskId(taskId string) error {
return mysqlServer.DeleteTaskRecordsByTaskId(taskId)
}
// GetTaskRecords24Hour 获取24小时内的任务记录
func (g *GormAdapter) GetTaskRecords24Hour() ([]*_type.TaskRecordsDTO, error) {
list, err := mysqlServer.GetTaskRecords24Hour()
listDTO := convertMysqlTaskRecordsToDTO(list)
return listDTO, err
}
// GetTaskByShopIdAndTaskType 根据 shopId和 taskType获取任务记录
// @param taskId 任务ID
// @param taskType 任务类型
// @return []*_type.TaskRecordsDTO 任务列表
// @return error 错误信息
func (g *GormAdapter) GetTaskByShopIdAndTaskType(taskId string, taskType int64) ([]*_type.TaskRecordsDTO, error) {
list, err := mysqlServer.GetTaskByShopIdAndTaskType(taskId, taskType)
listDTO := convertMysqlTaskRecordsToDTO(list)
return listDTO, err
}
// GetAllTask 获取所有的任务记录
// @return []*_type.TaskRecordsDTO 所有任务列表
// @return error 错误信息
func (g *GormAdapter) GetAllTask() ([]*_type.TaskRecordsDTO, error) {
list, err := mysqlServer.GetAllTask()
listDTO := convertMysqlTaskRecordsToDTO(list)
return listDTO, err
}
// convertMysqlToDTO 转换mysqlType.TaskExport为_type.TaskExport
// @param records mysqlType.TaskExport列表
// @return []*_type.TaskExport _type.TaskExport列表
// @return error 错误信息
func convertMysqlTaskRecordsToDTO(records []*mysqlType.TaskRecords) []*_type.TaskRecordsDTO {
dtos := make([]*_type.TaskRecordsDTO, len(records))
for i, r := range records {
dtos[i] = &_type.TaskRecordsDTO{
Id: r.ID,
UserId: *r.UserID,
ShopId: *r.ShopID,
TaskId: *r.TaskID,
ShopName: *r.ShopName,
IsExport: *r.IsExport,
TaskType: *r.TaskType,
CreateAt: *r.CreateAt,
}
}
return dtos
}