package task import ( "git.sxidc.com/go-framework/baize/framework/core/application" "git.sxidc.com/go-framework/baize/framework/core/domain/entity" "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql" "github.com/pkg/errors" ) type Info struct { application.InfoIDField Group string `sqlresult:"column:group;"` Context string `sqlresult:"column:context;"` Status string `sqlresult:"-"` ErrMsg string `sqlresult:"column:err_msg;"` CreateUserID string `json:"createUserId" sqlresult:"column:create_user_id;"` application.InfoTimeFields } func FormInfo(result *sql.Result) (*Info, error) { if result == nil { return new(Info), nil } statusCode := result.ColumnValueInt(ColumnStatusCode) statusStr, ok := statusMap[statusCode] if !ok { return nil, errors.Errorf("无效的状态码: %v\n", statusCode) } return &Info{ InfoIDField: application.InfoIDField{ID: result.ColumnValueString(entity.ColumnID)}, Group: result.ColumnValueString(ColumnGroup), Context: result.ColumnValueString(ColumnContext), Status: statusStr, ErrMsg: result.ColumnValueString(ColumnErrMsg), CreateUserID: result.ColumnValueString(entity.ColumnCreateUserID), InfoTimeFields: application.InfoTimeFields{ CreatedTime: result.ColumnValueTime(entity.ColumnCreatedTime).Format("2006-01-02 15:04:05"), LastUpdatedTime: result.ColumnValueTime(entity.ColumnLastUpdatedTime).Format("2006-01-02 15:04:05"), }, }, nil } func FormInfos(results []sql.Result) ([]Info, error) { if results == nil || len(results) == 0 { return make([]Info, 0), nil } infos := make([]Info, 0) for _, result := range results { info, err := FormInfo(&result) if err != nil { return nil, err } infos = append(infos, *info) } return infos, nil }