diff --git a/api/desc/core/pcm-core.api b/api/desc/core/pcm-core.api index fb7fcfce..9e322642 100644 --- a/api/desc/core/pcm-core.api +++ b/api/desc/core/pcm-core.api @@ -338,7 +338,7 @@ type ( } TaskModel { - Id int64 `json:"id,omitempty" db:"id"` // id + Id int64 `json:"id,omitempty,string" db:"id"` // id Name string `json:"name,omitempty" db:"name"` // 作业名称 Description string `json:"description,omitempty" db:"description"` // 作业描述 Status string `json:"status,omitempty" db:"status"` // 作业状态 diff --git a/api/internal/logic/core/pagelisttasklogic.go b/api/internal/logic/core/pagelisttasklogic.go index dd9293fe..cb456c09 100644 --- a/api/internal/logic/core/pagelisttasklogic.go +++ b/api/internal/logic/core/pagelisttasklogic.go @@ -3,6 +3,7 @@ package core import ( "context" "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/repository/result" + "time" "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc" "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types" @@ -28,7 +29,7 @@ func (l *PageListTaskLogic) PageListTask(req *types.PageTaskReq) (resp *types.Pa limit := req.PageSize offset := req.PageSize * (req.PageNum - 1) resp = &types.PageResult{} - var list []types.TaskModel + var list []*types.TaskModel db := l.svcCtx.DbEngin.Model(&types.TaskModel{}).Table("task") db = db.Where("deleted_at is null") @@ -48,8 +49,19 @@ func (l *PageListTaskLogic) PageListTask(req *types.PageTaskReq) (resp *types.Pa if err != nil { return nil, result.NewDefaultError(err.Error()) } - - resp.List = list + const layout = "2006-01-02 15:04:05" + for _, model := range list { + if model.EndTime != "" && model.StartTime != "" { + starTime, _ := time.Parse(layout, model.StartTime) + endTime, _ := time.Parse(layout, model.EndTime) + model.RunningTime = int64(endTime.Sub(starTime).Seconds()) + } + if model.StartTime != "" { + starTime, _ := time.Parse(layout, model.StartTime) + model.RunningTime = int64(time.Now().Sub(starTime).Seconds()) + } + } + resp.List = &list resp.PageSize = req.PageSize resp.PageNum = req.PageNum resp.Total = total diff --git a/api/internal/types/types.go b/api/internal/types/types.go index 3f8820ad..a9a6127b 100644 --- a/api/internal/types/types.go +++ b/api/internal/types/types.go @@ -261,7 +261,7 @@ type PageTaskReq struct { } type TaskModel struct { - Id int64 `json:"id,omitempty" db:"id"` // id + Id int64 `json:"id,omitempty,string" db:"id"` // id Name string `json:"name,omitempty" db:"name"` // 作业名称 Description string `json:"description,omitempty" db:"description"` // 作业描述 Status string `json:"status,omitempty" db:"status"` // 作业状态