作者 tangxvhui

日常保存

... ... @@ -6,6 +6,9 @@ type UpdateTaskCommand struct {
Alias string `json:"alias"` //任务名称
LevelName string `json:"levelName"` //优先级
RelatedUserId []string `json:"relatedUserId"` //相关人员id
SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高
EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
UseEndtime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
StageList []struct {
Id int `json:"id,string"`
Name string `json:"name"` //里程碑名称
... ...
... ... @@ -313,6 +313,9 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string]
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
}
taskData.SetCurrentStage(stageList)
taskData.SetSortBy(param.SortBy)
taskData.EndTime = param.EndTime
taskData.UseEndTime = param.UseEndtime
err = taskRepo.Save(taskData)
if err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
... ...
... ... @@ -21,6 +21,25 @@ const (
TaskWarn TaskWarnFlag = 1
)
type TaskSortBy int
const (
TaskSortHight TaskSortBy = 100
TaskSortMiddle TaskSortBy = 200
TaskSortLow TaskSortBy = 300
TaskSortNull TaskSortBy = 400
)
func (t TaskSortBy) Named() string {
nameMap := map[TaskSortBy]string{
TaskSortHight: "高",
TaskSortMiddle: "中",
TaskSortLow: "低",
TaskSortNull: "无",
}
return nameMap[t]
}
// 任务
type Task struct {
Id int `json:"id"`
... ... @@ -34,9 +53,9 @@ type Task struct {
Status TaskState `json:"status"` // 任务的状态
Level int `json:"level"` // 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留)
LevelName string `json:"levelName"` // 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“)
SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高
SortBy TaskSortBy `json:"sortBy"` // 优先级排序;值越小优先级越高
EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
UseEndtime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
UseEndTime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
RelatedUser []int `json:"relatedUser"` // 相关的员工id
RunAt int64 `json:"runAt"` // 启动的时间戳,单位:秒
StopAt int64 `json:"stopAt"` // 停止的时间戳,单位:秒
... ... @@ -101,27 +120,16 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) {
// 设置优先级的值
func (t *Task) SetSortBy(a int) error {
switch a {
case 100, 200, 300, 0:
switch TaskSortBy(a) {
case TaskSortHight, TaskSortMiddle, TaskSortLow, TaskSortNull:
default:
return errors.New("优先级值错误")
}
t.SortBy = a
t.SortBy = TaskSortBy(a)
return nil
}
// 获取优先级的名称描述
func (t *Task) GetNameSortBy() string {
nameMap := map[int]string{
100: "高",
200: "中",
300: "低",
0: "无",
}
return nameMap[t.SortBy]
}
type TaskRepository interface {
Save(param *Task) error
Remove(id int) error
... ...
... ... @@ -29,5 +29,5 @@ type Task struct {
CurrentStage domain.TaskStage `pg:"current_stage,type:jsonb"` // 添加type:jsonb 防止orm(可能是特性)生成sql时字段丢失
SortBy int `pg:"sort_by"` // 优先级排序;值越小优先级越高
EndTime int64 `pg:"end_time"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
UseEndtime int `pg:"use_end_time"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
UseEndTime int `pg:"use_end_time"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
}
... ...
... ... @@ -37,9 +37,9 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task {
Status: domain.TaskState(d.Status),
Level: d.Level,
LevelName: d.LevelName,
SortBy: d.SortBy,
SortBy: domain.TaskSortBy(d.SortBy),
EndTime: d.EndTime,
UseEndtime: d.UseEndtime,
UseEndTime: d.UseEndTime,
RelatedUser: d.RelatedUser,
RunAt: d.RunAt,
StopAt: d.StopAt,
... ... @@ -74,9 +74,9 @@ func (repo *TaskRepository) Save(param *domain.Task) error {
Anomaly: param.Anomaly,
WarnFlag: int(param.WarnFlag),
CurrentStage: param.CurrentStage,
SortBy: param.SortBy,
SortBy: int(param.SortBy),
EndTime: param.EndTime,
UseEndtime: param.UseEndtime,
UseEndTime: param.UseEndTime,
}
db := repo.transactionContext.PgTx
if m.Id == 0 {
... ...