entity.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. ColumnExecutorName = "executor_name"
  11. ColumnExecutedTime = "executed_time"
  12. )
  13. const (
  14. fieldExecutorNameLen = 256
  15. )
  16. type SqlExecuteLog struct {
  17. value_object.Base
  18. Sql string `sqlmapping:"column:sql;" sqlresult:"column:sql;"`
  19. ExecutorName string `sqlmapping:"column:executor_name;" sqlresult:"column:executor_name;"`
  20. ExecutedTime time.Time `sqlmapping:"column:executed_time;" sqlresult:"column:executed_time;"`
  21. }
  22. func (e *SqlExecuteLog) DomainCNName() string {
  23. return "SQL日志"
  24. }
  25. func (e *SqlExecuteLog) DomainCamelName() string {
  26. return "SqlExecuteLog"
  27. }
  28. func (e *SqlExecuteLog) ForCreate() error {
  29. err := e.checkFieldSql()
  30. if err != nil {
  31. return err
  32. }
  33. err = e.checkFieldExecutorName()
  34. if err != nil {
  35. return err
  36. }
  37. e.ExecutedTime = time.Now().Local()
  38. return nil
  39. }
  40. func (e *SqlExecuteLog) checkFieldSql() error {
  41. if strutils.IsStringEmpty(e.Sql) {
  42. return fserr.New(e.DomainCNName() + "sql为空")
  43. }
  44. return nil
  45. }
  46. func (e *SqlExecuteLog) checkFieldExecutorName() error {
  47. if strutils.IsStringEmpty(e.ExecutorName) {
  48. return fserr.New(e.DomainCNName() + "执行人姓名为空")
  49. }
  50. if len(e.ExecutorName) > fieldExecutorNameLen {
  51. return fserr.New(e.DomainCNName() + "执行人姓名超出限定长度")
  52. }
  53. return nil
  54. }