info.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package task
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/application"
  4. "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
  5. "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql"
  6. "github.com/pkg/errors"
  7. )
  8. type Info struct {
  9. application.InfoIDField
  10. Group string `sqlresult:"column:group;"`
  11. Context string `sqlresult:"column:context;"`
  12. Status string `sqlresult:"-"`
  13. ErrMsg string `sqlresult:"column:err_msg;"`
  14. CreateUserID string `json:"createUserId" sqlresult:"column:create_user_id;"`
  15. application.InfoTimeFields
  16. }
  17. func FormInfo(result *sql.Result) (*Info, error) {
  18. if result == nil {
  19. return new(Info), nil
  20. }
  21. statusCode := result.ColumnValueInt(ColumnStatus)
  22. statusStr, ok := statusMap[statusCode]
  23. if !ok {
  24. return nil, errors.Errorf("无效的状态码: %v\n", statusCode)
  25. }
  26. return &Info{
  27. InfoIDField: application.InfoIDField{ID: result.ColumnValueString(entity.ColumnID)},
  28. Group: result.ColumnValueString(ColumnGroup),
  29. Context: result.ColumnValueString(ColumnContext),
  30. Status: statusStr,
  31. ErrMsg: result.ColumnValueString(ColumnErrMsg),
  32. CreateUserID: result.ColumnValueString(entity.ColumnCreateUserID),
  33. InfoTimeFields: application.InfoTimeFields{
  34. CreatedTime: result.ColumnValueTime(entity.ColumnCreatedTime).Format("2006-01-02 15:04:05"),
  35. LastUpdatedTime: result.ColumnValueTime(entity.ColumnLastUpdatedTime).Format("2006-01-02 15:04:05"),
  36. },
  37. }, nil
  38. }
  39. func FormInfos(results []sql.Result) ([]Info, error) {
  40. if results == nil || len(results) == 0 {
  41. return make([]Info, 0), nil
  42. }
  43. infos := make([]Info, 0)
  44. for _, result := range results {
  45. info, err := FormInfo(&result)
  46. if err != nil {
  47. return nil, err
  48. }
  49. infos = append(infos, *info)
  50. }
  51. return infos, nil
  52. }