user_feedback.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "strconv"
  5. "time"
  6. )
  7. //用户交流反馈表
  8. // 权益服务明细表
  9. type CygxUserFeedback struct {
  10. UserFeedbackId int `orm:"column(user_feedback_id);pk";comment:"主键id"`
  11. Content string `comment:"服务内容说明"`
  12. UserId int `comment:"用户ID"`
  13. Mobile string `comment:"手机号"`
  14. Email string `comment:"邮箱"`
  15. CompanyId int `comment:"公司ID"`
  16. CompanyName string `comment:"公司名称"`
  17. RealName string `comment:"用户实际名称"`
  18. AdminId int `comment:"操作人ID"`
  19. CreateTime time.Time `comment:"创建时间"`
  20. }
  21. // 权益服务明细表
  22. type CygxUserFeedbackResp struct {
  23. UserFeedbackId int `comment:"主键id"`
  24. Content string `comment:"服务内容说明"`
  25. CreateTime string `comment:"创建时间"`
  26. }
  27. type AddCygxUserFeedbackReq struct {
  28. Content string `comment:"服务内容说明"`
  29. UserId int `comment:"用户ID"`
  30. }
  31. type CygxUserFeedbackIdReq struct {
  32. UserFeedbackId int `comment:"UserFeedbackId 主键ID"`
  33. }
  34. // 添加
  35. func AddCygxUserFeedback(item *CygxUserFeedback) (newId int64, err error) {
  36. o := orm.NewOrmUsingDB("hz_cygx")
  37. newId, err = o.Insert(item)
  38. return
  39. }
  40. // 删除数据
  41. func DeleteCygxUserFeedback(userFeedbackId int) (err error) {
  42. o := orm.NewOrmUsingDB("hz_cygx")
  43. sql := ` DELETE FROM cygx_user_feedback WHERE user_feedback_id = ? `
  44. _, err = o.Raw(sql, userFeedbackId).Exec()
  45. return
  46. }
  47. // 列表
  48. func GetCygxUserFeedbackListByUserId(userId int) (items []*CygxUserFeedbackResp, err error) {
  49. o := orm.NewOrmUsingDB("hz_cygx")
  50. sql := `SELECT * FROM cygx_user_feedback WHERE user_id = ? `
  51. sql += ` ORDER BY user_feedback_id DESC LIMIT 1000 `
  52. _, err = o.Raw(sql, userId).QueryRows(&items)
  53. return
  54. }
  55. type CygxCygxUserFeedbackResp struct {
  56. List []*CygxUserFeedbackResp
  57. }
  58. func GetCygxUserFeedbackList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxOrderResp, err error) {
  59. o := orm.NewOrmUsingDB("hz_cygx")
  60. sql := `SELECT *
  61. FROM
  62. cygx_user_feedback
  63. WHERE 1 = 1 ` + condition
  64. sql += ` LIMIT ?,? `
  65. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  66. return
  67. }
  68. // 获取数量
  69. func GetCygxUserFeedbackCount(condition string, pars []interface{}) (count int, err error) {
  70. o := orm.NewOrmUsingDB("hz_cygx")
  71. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_user_feedback WHERE 1= 1 ` + condition
  72. err = o.Raw(sqlCount, pars).QueryRow(&count)
  73. return
  74. }
  75. // 用户阅读记录列表
  76. func GetCygxUserFeedback(condition string, startSize, pageSize int) (total int, items []*UserInteraction, err error) {
  77. o := orm.NewOrmUsingDB("hz_cygx")
  78. var sql string
  79. sql += ` SELECT
  80. r.content as title,
  81. r.user_id,
  82. r.mobile ,
  83. r.real_name,
  84. r.company_id,
  85. r.company_name,
  86. r.create_time
  87. FROM
  88. cygx_user_feedback AS r
  89. WHERE 1 = 1 ` + condition
  90. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
  91. err = o.Raw(totalSql).QueryRow(&total)
  92. if err != nil {
  93. return
  94. }
  95. sql += ` ORDER BY create_time DESC, department_id DESC `
  96. if startSize > 0 || pageSize > 0 {
  97. sql += ` LIMIT ` + strconv.Itoa(startSize) + "," + strconv.Itoa(pageSize)
  98. }
  99. _, err = o.Raw(sql).QueryRows(&items)
  100. return
  101. }