123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package task
- import (
- "encoding/json"
- "git.sxidc.com/go-framework/baize/framework/core/domain"
- "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
- "github.com/pkg/errors"
- )
- const (
- StatusCodeCreated = iota + 1
- StatusCodeRunning
- StatusCodeCompleted
- StatusCodeStop
- StatusCodeError
- )
- const (
- statusCreated = "已创建"
- statusRunning = "运行中"
- statusCompleted = "已完成"
- statusStop = "已停止"
- statusError = "错误"
- )
- var (
- statusMap = map[int]string{
- StatusCodeCreated: statusCreated,
- StatusCodeRunning: statusRunning,
- StatusCodeCompleted: statusCompleted,
- StatusCodeStop: statusStop,
- StatusCodeError: statusError,
- }
- statusCodeMap = map[string]int{
- statusCreated: StatusCodeCreated,
- statusRunning: StatusCodeRunning,
- statusCompleted: StatusCodeCompleted,
- statusStop: StatusCodeStop,
- statusError: StatusCodeError,
- }
- )
- const (
- FieldGroup = "Group"
- FieldContext = "Context"
- FieldStatus = "Status"
- FieldErrMsg = "ErrMsg"
- )
- var (
- ColumnGroup = domain.ColumnName(FieldGroup)
- ColumnContext = domain.ColumnName(FieldContext)
- ColumnStatus = domain.ColumnName(FieldStatus)
- ColumnErrMsg = domain.ColumnName(FieldErrMsg)
- )
- var fieldMap = map[string]string{
- FieldGroup: "组",
- FieldContext: "上下文",
- FieldStatus: "状态",
- FieldErrMsg: "错误信息",
- }
- type Entity struct {
- entity.Base
- Group string `sqlmapping:"column:group;notUpdate;" sqlresult:"column:group;" check:"required,len=256,when=run/restart"`
- Context string `sqlmapping:"column:context;notUpdate;" sqlresult:"column:context;"`
- StatusCode int `sqlmapping:"column:status_code;" sqlresult:"column:status_code;" check:"required,when=run/restart"`
- Status string `sqlmapping:"-" sqlresult:"-"`
- ErrMsg string `sqlmapping:"column:err_msg;" sqlresult:"column:err_msg;"`
- CreateUserID string `sqlmapping:"column:create_user_id;" sqlresult:"column:create_user_id;" check:"required,len=32,when=run/restart"`
- entity.TimeFields
- }
- func (e *Entity) DomainCNName() string {
- return "任务"
- }
- func (e *Entity) DomainCamelName() string {
- return "Task"
- }
- func (e *Entity) GetFieldMap() map[string]string {
- return fieldMap
- }
- func (e *Entity) GetMapContext() (map[string]any, error) {
- ctx := make(map[string]any)
- err := json.Unmarshal([]byte(e.Context), &ctx)
- if err != nil {
- return nil, err
- }
- return ctx, nil
- }
- func (e *Entity) SetStatusCreated() {
- e.StatusCode = StatusCodeCreated
- e.Status = statusCreated
- }
- func (e *Entity) SetStatusRunning() {
- e.StatusCode = StatusCodeRunning
- e.Status = statusRunning
- }
- func (e *Entity) SetStatusCompleted() {
- e.StatusCode = StatusCodeCompleted
- e.Status = statusCompleted
- }
- func (e *Entity) SetStatusStop() {
- e.StatusCode = StatusCodeStop
- e.Status = statusStop
- }
- func (e *Entity) SetStatusError(errMsg string) {
- e.StatusCode = StatusCodeError
- e.Status = statusError
- e.ErrMsg = errMsg
- }
- func (e *Entity) IsStatusCreated() bool {
- return e.StatusCode == StatusCodeCreated
- }
- func (e *Entity) IsStatusRunning() bool {
- return e.StatusCode == StatusCodeRunning
- }
- func (e *Entity) IsStatusCompleted() bool {
- return e.StatusCode == StatusCodeCompleted
- }
- func (e *Entity) IsStatusStop() bool {
- return e.StatusCode == StatusCodeStop
- }
- func (e *Entity) IsStatusError() bool {
- return e.StatusCode == StatusCodeError
- }
- func (e *Entity) TransferStatus2StatusCode() error {
- statusCode, ok := statusCodeMap[e.Status]
- if !ok {
- return errors.New("状态对应的状态码不存在")
- }
- e.StatusCode = statusCode
- return nil
- }
- func (e *Entity) TransferStatusCode2Status() error {
- status, ok := statusMap[e.StatusCode]
- if !ok {
- return errors.New("状态码对应的状态不存在")
- }
- e.Status = status
- return nil
- }
|