entity.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package sql_executor
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
  4. "git.sxidc.com/go-tools/utils/strutils"
  5. "git.sxidc.com/service-supports/fserr"
  6. "time"
  7. )
  8. const (
  9. ColumnSql = "sql"
  10. ColumnExecutorID = "executor_id"
  11. ColumnExecutorName = "executor_name"
  12. ColumnExecutedTime = "executed_time"
  13. )
  14. const (
  15. fieldExecutorIDLen = 32
  16. fieldExecutorNameMaxLen = 256
  17. )
  18. type SqlExecuteLog struct {
  19. value_object.Base
  20. Sql string `sqlmapping:"column:sql;" sqlresult:"column:sql;"`
  21. ExecutorID string `sqlmapping:"column:executor_id;" sqlresult:"column:executor_id;"`
  22. ExecutorName string `sqlmapping:"column:executor_name;" sqlresult:"column:executor_name;"`
  23. ExecutedTime time.Time `sqlmapping:"column:executed_time;" sqlresult:"column:executed_time;"`
  24. }
  25. func (e *SqlExecuteLog) DomainCNName() string {
  26. return "SQL日志"
  27. }
  28. func (e *SqlExecuteLog) DomainCamelName() string {
  29. return "SqlExecuteLog"
  30. }
  31. func (e *SqlExecuteLog) ForCreate() error {
  32. err := e.checkFieldSql()
  33. if err != nil {
  34. return err
  35. }
  36. err = e.checkFieldExecutorID()
  37. if err != nil {
  38. return err
  39. }
  40. err = e.checkFieldExecutorName()
  41. if err != nil {
  42. return err
  43. }
  44. e.ExecutedTime = time.Now().Local()
  45. return nil
  46. }
  47. func (e *SqlExecuteLog) checkFieldSql() error {
  48. if strutils.IsStringEmpty(e.Sql) {
  49. return fserr.New(e.DomainCNName() + "sql为空")
  50. }
  51. return nil
  52. }
  53. func (e *SqlExecuteLog) checkFieldExecutorID() error {
  54. if strutils.IsStringEmpty(e.ExecutorID) {
  55. return fserr.New(e.DomainCNName() + "执行人ID为空")
  56. }
  57. if len(e.ExecutorID) != fieldExecutorIDLen {
  58. return fserr.New(e.DomainCNName() + "执行人ID长度不正确")
  59. }
  60. return nil
  61. }
  62. func (e *SqlExecuteLog) checkFieldExecutorName() error {
  63. if strutils.IsStringEmpty(e.ExecutorName) {
  64. return fserr.New(e.DomainCNName() + "执行人姓名为空")
  65. }
  66. if len(e.ExecutorName) > fieldExecutorNameMaxLen {
  67. return fserr.New(e.DomainCNName() + "执行人姓名超出限定长度")
  68. }
  69. return nil
  70. }