切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
689cfec653270dedddf01a6315b1e4b172f33719
1 个父辈
8f69159a
添加字段
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
49 行增加
和
17 行删除
pkg/domain/task.go
pkg/infrastructure/pg/models/task.go
pkg/infrastructure/repository/pg_task_repository.go
pkg/domain/task.go
查看文件 @
689cfec
package
domain
import
(
"errors"
"sort"
"time"
)
...
...
@@ -31,11 +32,13 @@ type Task struct {
Alias
string
`json:"alias"`
// 任务别名
Leader
TaskLeader
`json:"leader"`
// 任务负责人
Status
TaskState
`json:"status"`
// 任务的状态
Level
int
`json:"level"`
// 优先级,值越小优先级越高
LevelName
string
`json:"levelName"`
// 优先级名称
Level
int
`json:"level"`
// 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留)
LevelName
string
`json:"levelName"`
// 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“)
SortBy
int
`json:"sortBy"`
// 优先级排序;值越小优先级越高
EndTime
int64
`json:"endTime"`
// 任务截止的时间戳,单位:秒;等于0时表示未设置时间
RelatedUser
[]
int
`json:"relatedUser"`
// 相关的员工id
RunAt
int64
`json:"runAt"`
// 启动的时间戳,秒
StopAt
int64
`json:"stopAt"`
// 停止的时间戳,秒
RunAt
int64
`json:"runAt"`
// 启动的时间戳,单位:秒
StopAt
int64
`json:"stopAt"`
// 停止的时间戳,单位:秒
Anomaly
int
`json:"anomaly"`
// 异常反馈的次数
WarnFlag
TaskWarnFlag
`json:"warnFlag"`
// 里程碑异常标记
CurrentStage
TaskStage
`json:"currentStage"`
// 当前执行的里程碑
...
...
@@ -95,6 +98,29 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) {
}
}
// 设置优先级的值
func
(
t
*
Task
)
SetSortBy
(
a
int
)
error
{
switch
a
{
case
100
,
200
,
300
,
0
:
default
:
return
errors
.
New
(
"优先级值错误"
)
}
t
.
SortBy
=
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
...
...
pkg/infrastructure/pg/models/task.go
查看文件 @
689cfec
...
...
@@ -9,22 +9,24 @@ import (
// 任务
type
Task
struct
{
tableName
struct
{}
`comment:"任务" pg:"task"`
Id
int
`pg:"id,pk"`
//
CreatedAt
time
.
Time
`pg:"created_at"`
//
UpdatedAt
time
.
Time
`pg:"updated_at"`
//
DeletedAt
*
time
.
Time
`pg:"deleted_at"`
//
Name
string
`pg:"name"`
// 任务名称
Alias
string
`pg:"alias"`
//
CompanyId
int
`pg:"company_id"`
//
Leader
domain
.
TaskLeader
`pg:"leader,type:jsonb"`
// 任务负责人
Status
int
`pg:"status,use_zero"`
// 任务的状态
Level
int
`pg:"level,use_zero"`
// 优先级,值越小优先级越高
LevelName
string
`pg:"level_name"`
// 优先级名称
RelatedUser
[]
int
`pg:"related_user"`
Id
int
`pg:"id,pk"`
//
CreatedAt
time
.
Time
`pg:"created_at"`
//
UpdatedAt
time
.
Time
`pg:"updated_at"`
//
DeletedAt
*
time
.
Time
`pg:"deleted_at"`
//
Name
string
`pg:"name"`
// 任务名称
Alias
string
`pg:"alias"`
//
CompanyId
int
`pg:"company_id"`
//
Leader
domain
.
TaskLeader
`pg:"leader,type:jsonb"`
// 任务负责人
Status
int
`pg:"status,use_zero"`
// 任务的状态
Level
int
`pg:"level,use_zero"`
// 优先级,值越小优先级越高
LevelName
string
`pg:"level_name"`
// 优先级名称
RelatedUser
[]
int
`pg:"related_user"`
//
LastStage
domain
.
TaskStage
`pg:"last_stage,type:jsonb"`
// 上一个完成的里程碑,添加type:jsonb 防止orm生成sql时字段丢失
RunAt
int64
`pg:"run_at,use_zero"`
// 启动的时间
StopAt
int64
`pg:"stop_at,use_zero" `
// 停止的时间
Anomaly
int
`pg:"anomaly,use_zero"`
// 异常反馈的数量
WarnFlag
int
`pg:"warn_flag,use_zero"`
// 里程碑异常标记
CurrentStage
domain
.
TaskStage
`pg:"current_stage,type:jsonb"`
// 添加type:jsonb 防止orm(可能是特性)生成sql时字段丢失
SortBy
int
`pg:"sort_by"`
// 优先级排序;值越小优先级越高
EndTime
int64
`pg:"end_time"`
// 任务截止的时间戳,单位:秒;等于0时表示未设置时间
}
...
...
pkg/infrastructure/repository/pg_task_repository.go
查看文件 @
689cfec
...
...
@@ -37,6 +37,8 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task {
Status
:
domain
.
TaskState
(
d
.
Status
),
Level
:
d
.
Level
,
LevelName
:
d
.
LevelName
,
SortBy
:
d
.
SortBy
,
EndTime
:
d
.
EndTime
,
RelatedUser
:
d
.
RelatedUser
,
RunAt
:
d
.
RunAt
,
StopAt
:
d
.
StopAt
,
...
...
@@ -65,12 +67,14 @@ func (repo *TaskRepository) Save(param *domain.Task) error {
Level
:
param
.
Level
,
LevelName
:
param
.
LevelName
,
RelatedUser
:
param
.
RelatedUser
,
LastStage
:
param
.
LastStage
,
RunAt
:
param
.
RunAt
,
StopAt
:
param
.
StopAt
,
Anomaly
:
param
.
Anomaly
,
WarnFlag
:
int
(
param
.
WarnFlag
),
CurrentStage
:
param
.
CurrentStage
,
LastStage
:
param
.
LastStage
,
SortBy
:
param
.
SortBy
,
EndTime
:
param
.
EndTime
,
}
db
:=
repo
.
transactionContext
.
PgTx
if
m
.
Id
==
0
{
...
...
请
注册
或
登录
后发表评论