activity_points_set.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type YanXuanActivityPointsRedis struct {
  7. UserId int `description:"用户ID"`
  8. ComapnyId int `description:"公司ID"`
  9. ActivityId int `description:"活动ID"`
  10. PublishStatus int `description:"发布状态 1已发布,0未发布"`
  11. SourceType int `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。"`
  12. AdminId int `description:"管理员、销售ID"`
  13. Source int `description:" 来源,1客户端,2后台添加, 3开发人员手动添加、4定时任务"`
  14. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  15. CreateTime time.Time `description:"创建时间"`
  16. }
  17. type CygxActivityPointsSet struct {
  18. Id int `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
  19. ActivityId int `gorm:"column:activity_id;NOT NULL" json:"activity_id"` // 活动ID
  20. PointsObject string `gorm:"column:points_object;default:1;NOT NULL" json:"points_object"` // 扣点对象,1:参会人、2:办会人、3:办会人和参会人
  21. CompanyId int `gorm:"column:company_id;default:0;NOT NULL" json:"company_id"` // 公司ID
  22. CompanyName string `gorm:"column:company_name;NOT NULL" json:"company_name"` // 公司名称
  23. UserPointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"user_points_num"` // 参会人扣点数量
  24. PointsType string `gorm:"column:points_type;default:0;NOT NULL" json:"points_type"` // 扣点形式,1:报名即扣点,2:到会即扣点
  25. CompanyPointsNum string `gorm:"column:company_points_num;default:0;NOT NULL" json:"company_points_num"` // 办会人扣点数量
  26. CreateTime time.Time `gorm:"column:create_time;NOT NULL" json:"create_time"` // 创建时间
  27. ModifyTime time.Time `gorm:"column:modify_time;NOT NULL" json:"modify_time"` // 更新时间
  28. }
  29. type CygxActivityPointsSetRsq struct {
  30. ActivityId int `gorm:"column:activity_id;NOT NULL" json:"ActivityId"` // 活动ID
  31. PointsObject string `gorm:"column:points_object;NOT NULL" json:"PointsObject"` // 扣点对象,1:参会人、2:办会人、3:办会人和参会人
  32. CompanyId int `gorm:"column:company_id;default:0;NOT NULL" json:"CompanyId"` // 公司ID
  33. CompanyName string `gorm:"column:company_name;NOT NULL" json:"CompanyName"` // 公司名称
  34. UserPointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"UserPointsNum"` // 参会人扣点数量
  35. PointsType string `gorm:"column:points_type;default:0;NOT NULL" json:"PointsType"` // 扣点形式,1:报名即扣点,2:到会即扣点
  36. CompanyPointsNum string `gorm:"column:company_points_num;default:0;NOT NULL" json:"CompanyPointsNum"` // 办会人扣点数量
  37. }
  38. type CygxActivityPointsSetConfigListResp struct {
  39. List []*CygxActivityPointsSetConfigResp
  40. }
  41. type CygxActivityPointsSetConfigResp struct {
  42. PointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"PointsNum"` // 扣点数量
  43. }
  44. // 通过活动ID获取详情
  45. func GetCygxActivityPointsSetDetail(activityId int) (item *CygxActivityPointsSetRsq, err error) {
  46. o := orm.NewOrm()
  47. sql := `SELECT * FROM cygx_activity_points_set WHERE activity_id=? `
  48. err = o.Raw(sql, activityId).QueryRow(&item)
  49. return
  50. }
  51. // 通过活动ID获取详情
  52. func GetCygxActivityPointsSetUserNum(activityId int) (userPointsNum float64, err error) {
  53. o := orm.NewOrm()
  54. sql := `SELECT user_points_num FROM cygx_activity_points_set WHERE activity_id=? `
  55. err = o.Raw(sql, activityId).QueryRow(&userPointsNum)
  56. return
  57. }
  58. // 通过互动ID获取数量
  59. func GetCygxActivityPointsSetCountByActivityId(ActivityId int) (count int, err error) {
  60. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_activity_points_set WHERE activity_id=? `
  61. o := orm.NewOrm()
  62. err = o.Raw(sqlCount, ActivityId).QueryRow(&count)
  63. return
  64. }
  65. type CygxActivitySearcCompanyListResp struct {
  66. List []*CygxActivitySearcCompanyResp
  67. }
  68. type CygxActivitySearcCompanyResp struct {
  69. CompanyId int `description:"公司ID"`
  70. CompanyName string `description:"公司名称"`
  71. RealName string `description:"用户实际名称"`
  72. AdminId int `description:"销售/管理员ID"`
  73. }
  74. // 搜索权益机构名称以及管理的销售
  75. func GetCygxActivitySearcCompanyList(companyName string) (items []*CygxActivitySearcCompanyResp, err error) {
  76. o := orm.NewOrm()
  77. sql := `SELECT
  78. c.company_id,
  79. c.company_name,
  80. a.admin_id,
  81. a.real_name
  82. FROM
  83. company AS c
  84. INNER JOIN company_product AS p ON p.company_id = c.company_id
  85. INNER JOIN admin AS a ON a.admin_id = p.seller_id
  86. WHERE
  87. 1 = 1
  88. AND p.product_id = 2
  89. AND c.company_name LIKE '%` + companyName + `%' `
  90. _, err = o.Raw(sql).QueryRows(&items)
  91. return
  92. }