wechat_platform_user_mapping.go 5.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package rag
  2. import (
  3. "database/sql"
  4. "eta/eta_api/global"
  5. "eta/eta_api/utils"
  6. "fmt"
  7. "time"
  8. )
  9. type WechatPlatformUserMapping struct {
  10. WechatPlatformUserMappingId int `gorm:"column:wechat_platform_user_mapping_id;type:int(9) UNSIGNED;primaryKey;not null;" description:"wechat_platform_user_mapping_id"`
  11. WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(9) UNSIGNED;comment:微信公众号id;default:0;" description:"wechat_platform_id"` // 微信公众号id
  12. SysUserId int `gorm:"column:sys_user_id;type:int(9) UNSIGNED;comment:用户id;default:0;" description:"sys_user_id"` // 用户id
  13. ModifyTime time.Time `gorm:"column:modify_time;type:datetime;default:NULL;" description:"modify_time"`
  14. CreateTime time.Time `gorm:"column:create_time;type:datetime;default:NULL;" description:"create_time"`
  15. }
  16. // TableName get sql table name.获取数据库表名
  17. func (m *WechatPlatformUserMapping) TableName() string {
  18. return "wechat_platform_user_mapping"
  19. }
  20. // WechatPlatformUserMappingColumns get sql column name.获取数据库列名
  21. var WechatPlatformUserMappingColumns = struct {
  22. WechatPlatformUserMappingID string
  23. WechatPlatformID string
  24. SysUserID string
  25. ModifyTime string
  26. CreateTime string
  27. }{
  28. WechatPlatformUserMappingID: "wechat_platform_user_mapping_id",
  29. WechatPlatformID: "wechat_platform_id",
  30. SysUserID: "sys_user_id",
  31. ModifyTime: "modify_time",
  32. CreateTime: "create_time",
  33. }
  34. type UserFollowWechatPlatform struct {
  35. WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(10) UNSIGNED;primaryKey;not null;" description:"wechat_platform_id"`
  36. FakeId string `gorm:"column:fake_id;type:varchar(255);comment:公众号唯一id;" description:"公众号唯一id"`
  37. Nickname string `gorm:"column:nickname;type:varchar(255);comment:公众号名称;" description:"公众号名称"`
  38. Alias string `gorm:"column:alias;type:varchar(255);comment:别名;" description:"别名"`
  39. RoundHeadImg string `gorm:"column:round_head_img;type:varchar(255);comment:头像;" description:"头像"`
  40. ServiceType int `gorm:"column:service_type;type:int(11);comment:类型;default:0;" description:"类型"`
  41. Signature string `gorm:"column:signature;type:varchar(255);comment:签名;" description:"签名"`
  42. Verified int `gorm:"column:verified;type:int(11);comment:是否认证,0:未认证,1:已认证;这个我不确定,再核实下;default:0;" description:"是否认证,0:未认证,1:已认证;这个我不确定,再核实下"`
  43. ArticleLink string `gorm:"column:article_link;type:varchar(255);comment:添加公众时的文章链接;" description:"添加公众时的文章链接"`
  44. Enabled int `gorm:"column:enabled;type:tinyint(9);comment:是否启用,0:禁用,1:启用;default:1;" description:"是否启用,0:禁用,1:启用"`
  45. SysUserId int `gorm:"column:sys_user_id;type:int(9) UNSIGNED;comment:用户id;default:0;" description:"用户id"`
  46. ModifyTime time.Time `gorm:"column:modify_time;type:datetime;comment:最后一次修改时间;default:NULL;" description:"最后一次修改时间"`
  47. CreateTime time.Time `gorm:"column:create_time;type:datetime;comment:添加时间;default:NULL;" description:"添加时间"`
  48. FollowUserId int `gorm:"column:follow_user_id;type:int(9) UNSIGNED;comment:关注的用户id;default:0;" description:"关注的用户id"`
  49. }
  50. func (m *WechatPlatformUserMapping) GetListByCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*UserFollowWechatPlatform, err error) {
  51. sqlStr := fmt.Sprintf(`SELECT a.wechat_platform_id,a.fake_id,a.nickname,a.alias,a.round_head_img,a.service_type,a.signature,a.verified,a.article_link,a.enabled,a.sys_user_id,a.modify_time,a.create_time,b.sys_user_id as follow_user_id FROM wechat_platform a
  52. JOIN wechat_platform_user_mapping b on a.wechat_platform_id=b.wechat_platform_id
  53. WHERE 1=1 %s LIMIT ?,?`, condition)
  54. pars = append(pars, startSize, pageSize)
  55. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error
  56. return
  57. }
  58. func (m *WechatPlatformUserMapping) GetCountByCondition(condition string, pars []interface{}) (total int, err error) {
  59. var intNull sql.NullInt64
  60. sqlStr := fmt.Sprintf(`SELECT COUNT(1) total FROM wechat_platform a JOIN wechat_platform_user_mapping b on a.wechat_platform_id=b.wechat_platform_id WHERE 1=1 `, condition)
  61. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Scan(&intNull).Error
  62. if err == nil && intNull.Valid {
  63. total = int(intNull.Int64)
  64. }
  65. return
  66. }
  67. func (m *WechatPlatformUserMapping) GetPageListByCondition(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*UserFollowWechatPlatform, err error) {
  68. total, err = m.GetCountByCondition(condition, pars)
  69. if err != nil {
  70. return
  71. }
  72. if total > 0 {
  73. items, err = m.GetListByCondition(condition, pars, startSize, pageSize)
  74. }
  75. return
  76. }