wx_user_rai_label.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "strings"
  6. "time"
  7. )
  8. type WxUserRaiLabelRedis struct {
  9. UserId int `description:"用户ID"`
  10. SourceId int `description:"资源ID"`
  11. Label string `description:"标签内容"`
  12. SourceType int `description:"来源1:搜索关键字标签、2:产业/个股标签(线下活动)、3:产业/个股标签(线下路演)、4:产业/个股标签(线上活动)、5:产业/个股标签(线上路演)、6:销售输入标签、7:产业/个股标签(报告)、8:报告类型标签"`
  13. CreateTime time.Time `description:"创建时间"`
  14. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  15. TableName string `description:"数据来源的表名"`
  16. }
  17. type WxUserRaiLabel struct {
  18. RaiLabelId int `orm:"column(rai_label_id);pk"`
  19. UserId int `description:"用户ID"`
  20. RealName string `description:"用户实际名称"`
  21. Mobile string `description:"手机号"`
  22. Email string `description:"邮箱"`
  23. CompanyId int `description:"公司id"`
  24. CompanyName string `description:"公司名称"`
  25. Label string `description:"标签内容"`
  26. SourceId int `description:"来源ID"`
  27. SourceType int `description:"来源1:搜索关键字标签、2:产业/个股标签(线下活动)、3:产业/个股标签(线下路演)、4:产业/个股标签(线上活动)、5:产业/个股标签(线上路演)、6:销售输入标签、7:产业/个股标签(报告)、8:报告类型标签"`
  28. SysUserId int `description:"创建人id"`
  29. SysUserRealName string `description:"创建人名称"`
  30. CreateTime time.Time `description:"创建时间"`
  31. ModifyTime time.Time `description:"更新时间"`
  32. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  33. TableName string `description:"数据来源的表名"`
  34. }
  35. // 添加
  36. func AddWxUserRaiLabel(item *WxUserRaiLabel) (err error) {
  37. o, err := orm.NewOrm().Begin()
  38. if err != nil {
  39. return
  40. }
  41. defer func() {
  42. fmt.Println(err)
  43. if err == nil {
  44. o.Commit()
  45. } else {
  46. o.Rollback()
  47. }
  48. }()
  49. //删除原有数据
  50. sql := ` DELETE FROM wx_user_rai_label WHERE user_id = ? AND label = ? `
  51. _, err = o.Raw(sql, item.UserId, item.Label).Exec()
  52. if err != nil {
  53. return
  54. }
  55. _, err = o.Insert(item)
  56. return
  57. }
  58. // 批量插入
  59. func AddWxUserRaiLabelMulti(items []*WxUserRaiLabel, label []string, userId int) (err error) {
  60. o, err := orm.NewOrm().Begin()
  61. if err != nil {
  62. return
  63. }
  64. defer func() {
  65. if err == nil {
  66. o.Commit()
  67. } else {
  68. o.Rollback()
  69. }
  70. }()
  71. if len(label) > 0 {
  72. //删除老的数据信息
  73. sql := ` DELETE FROM wx_user_rai_label WHERE user_id = ? AND label IN ('` + strings.Join(label, "','") + `') `
  74. _, err = o.Raw(sql, userId).Exec()
  75. if err != nil {
  76. return
  77. }
  78. }
  79. //批量插入新的关联数据
  80. if len(items) > 0 {
  81. //批量添加流水信息
  82. _, err = o.InsertMulti(len(items), items)
  83. if err != nil {
  84. return
  85. }
  86. }
  87. return
  88. }