company_service_record.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package company
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "github.com/rdlucklib/rdluck_tools/paging"
  6. "strings"
  7. "time"
  8. )
  9. // CompanyServiceRecord 客户-服务记录表
  10. type CompanyServiceRecord struct {
  11. CompanyServiceRecordId int `orm:"column(company_service_record_id);pk" description:"服务记录ID"`
  12. CompanyId int `description:"客户ID"`
  13. Content string `description:"内容"`
  14. SysAdminId int `description:"创建人ID"`
  15. SysAdminName string `description:"创建人姓名"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ModifyTime time.Time `description:"修改时间"`
  18. }
  19. var CompanyServiceRecordColumns = struct {
  20. CompanyServiceRecordId string
  21. CompanyId string
  22. Content string
  23. SysAdminId string
  24. SysAdminName string
  25. CreateTime string
  26. ModifyTime string
  27. }{
  28. CompanyServiceRecordId: "company_service_record_id",
  29. CompanyId: "company_id",
  30. Content: "content",
  31. SysAdminId: "sys_admin_id",
  32. SysAdminName: "sys_admin_name",
  33. CreateTime: "create_time",
  34. ModifyTime: "modify_time",
  35. }
  36. func (m *CompanyServiceRecord) TableName() string {
  37. return "company_service_record"
  38. }
  39. func (m *CompanyServiceRecord) Create() (err error) {
  40. o := orm.NewOrm()
  41. id, err := o.Insert(m)
  42. if err != nil {
  43. return
  44. }
  45. m.CompanyServiceRecordId = int(id)
  46. return
  47. }
  48. func (m *CompanyServiceRecord) Update(cols []string) (err error) {
  49. o := orm.NewOrm()
  50. _, err = o.Update(m, cols...)
  51. return
  52. }
  53. func (m *CompanyServiceRecord) Del() (err error) {
  54. o := orm.NewOrm()
  55. sql := `DELETE FROM company_service_record WHERE company_service_record_id = ? LIMIT 1`
  56. _, err = o.Raw(sql, m.CompanyServiceRecordId).Exec()
  57. return
  58. }
  59. func (m *CompanyServiceRecord) GetItemById(id int) (err error) {
  60. o := orm.NewOrm()
  61. sql := `SELECT * FROM company_service_record WHERE company_service_record_id = ? LIMIT 1`
  62. err = o.Raw(sql, id).QueryRow(&m)
  63. return
  64. }
  65. func (m *CompanyServiceRecord) GetItemByCondition(condition string, pars []interface{}) (err error) {
  66. o := orm.NewOrm()
  67. sql := `SELECT * FROM company_service_record WHERE 1=1 `
  68. sql += condition
  69. sql += ` LIMIT 1`
  70. err = o.Raw(sql, pars).QueryRow(&m)
  71. return
  72. }
  73. func (m *CompanyServiceRecord) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
  74. o := orm.NewOrm()
  75. sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  76. err = o.Raw(sql, pars).QueryRow(&count)
  77. return
  78. }
  79. func (m *CompanyServiceRecord) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*CompanyServiceRecord, err error) {
  80. o := orm.NewOrm()
  81. fields := strings.Join(fieldArr, ",")
  82. if len(fieldArr) == 0 {
  83. fields = `*`
  84. }
  85. order := `ORDER BY create_time DESC`
  86. if orderRule != "" {
  87. order = ` ORDER BY ` + orderRule
  88. }
  89. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  90. _, err = o.Raw(sql, pars).QueryRows(&items)
  91. return
  92. }
  93. func (m *CompanyServiceRecord) GetPageItemsByCondition(startSize, pageSize int, condition string, pars []interface{}, fieldArr []string, orderRule string) (total int, items []*CompanyServiceRecord, err error) {
  94. o := orm.NewOrm()
  95. fields := strings.Join(fieldArr, ",")
  96. if len(fieldArr) == 0 {
  97. fields = `*`
  98. }
  99. order := `ORDER BY create_time DESC`
  100. if orderRule != "" {
  101. order = ` ORDER BY ` + orderRule
  102. }
  103. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  104. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z`
  105. if err = o.Raw(totalSql, pars).QueryRow(&total); err != nil {
  106. return
  107. }
  108. sql += ` LIMIT ?,?`
  109. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  110. return
  111. }
  112. type CompanyServiceRecordAddReq struct {
  113. CompanyId int `description:"客户ID"`
  114. Content string `description:"内容"`
  115. }
  116. type CompanyServiceRecordDelReq struct {
  117. CompanyServiceRecordId int `description:"服务记录ID"`
  118. }
  119. type CompanyServiceRecordPageListResp struct {
  120. List []*CompanyServiceRecordItem
  121. Paging *paging.PagingItem `description:"分页数据"`
  122. }
  123. type CompanyServiceRecordItem struct {
  124. CompanyServiceRecordId int `description:"文档ID"`
  125. Content string `description:"服务描述"`
  126. SysAdminId int `description:"创建人ID"`
  127. SysAdminName string `description:"创建人姓名"`
  128. CreateTime string `description:"创建时间"`
  129. }