activity_special_trip.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package models
  2. import (
  3. //"hongze/hongze_admin/models"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type CygxActivitySpecialTrip struct {
  8. Id int `orm:"column(id);pk"`
  9. UserId int `description:"用户id,多个用,隔开"`
  10. ActivityId int `description:"活动ID"`
  11. CreateTime time.Time `description:"创建时间"`
  12. Mobile string `description:"手机号"`
  13. Email string `description:"邮箱号"`
  14. CompanyId int `description:"公司ID"`
  15. CompanyName string `description:"公司名称"`
  16. RealName string `description:"用户实际名称"`
  17. SellerName string `description:"所属销售"`
  18. AdminId int `description:"销售/管理员ID"`
  19. Source int `description:"来源,1小程序,2后台添加"`
  20. OutboundMobile string `description:"外呼手机号"`
  21. CountryCode string `description:"手机国家区号"`
  22. IsCancel string `description:"是否取消,1是,0否"`
  23. IsValid int `description:"参会报名是否有效 1:是,0"`
  24. }
  25. type CygxActivitySpecialTripResp struct {
  26. Id int `description:"ID"`
  27. UserId int `description:"用户id"`
  28. ActivityId int `description:"活动ID"`
  29. CreateTime string `description:"创建时间"`
  30. Mobile string `description:"手机号"`
  31. Email string `description:"邮箱号"`
  32. CompanyId int `description:"公司ID"`
  33. CompanyName string `description:"公司名称"`
  34. RealName string `description:"用户实际名称"`
  35. SellerName string `description:"所属销售"`
  36. OutboundMobile string `description:"外呼手机号"`
  37. CountryCode string `description:"手机国家区号"`
  38. }
  39. func GetCygxActivitySpecialTripList(condition string, pars []interface{}) (item []*CygxActivitySpecialTripResp, err error) {
  40. o := orm.NewOrm()
  41. sql := `SELECT *
  42. FROM
  43. cygx_activity_special_trip
  44. WHERE 1 = 1 ` + condition
  45. _, err = o.Raw(sql, pars).QueryRows(&item)
  46. return
  47. }
  48. //获取某一用户的报名的数量
  49. func GetUserActivitySpecialTripCount(uid, activityId int) (count int, err error) {
  50. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_special_trip WHERE user_id=? AND activity_id =? `
  51. o := orm.NewOrm()
  52. err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)
  53. return
  54. }
  55. //获取某一活动的报名的数量
  56. func GetActivitySpecialTripCountByActivityId(condition string, pars []interface{}) (count int, err error) {
  57. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_special_trip as t INNER JOIN wx_user as u on u.user_id = t.user_id WHERE 1 = 1 ` + condition
  58. o := orm.NewOrm()
  59. err = o.Raw(sqlCount, pars).QueryRow(&count)
  60. return
  61. }
  62. //获取某一活动的报名的数量 (同时关联活动类型进行获取)
  63. func GetActivitySpecialTripCountByActivitySpecial(condition string, pars []interface{}) (count int, err error) {
  64. sqlCount := ` SELECT COUNT(1) AS count
  65. FROM
  66. cygx_activity_special_trip AS t
  67. INNER JOIN cygx_activity_special AS a ON a.activity_id = t.activity_id
  68. WHERE
  69. 1= 1 ` + condition
  70. o := orm.NewOrm()
  71. err = o.Raw(sqlCount, pars).QueryRow(&count)
  72. return
  73. }
  74. //获取空降的公司报名的记录
  75. func GetActivitySpecialTripAirborneCountByActivitySpecial(condition string, pars []interface{}) (count int, err error) {
  76. sqlCount := ` SELECT COUNT(1) AS count
  77. FROM
  78. cygx_activity_special_meeting_detail AS t
  79. INNER JOIN cygx_activity_special AS a ON a.activity_id = t.activity_id
  80. WHERE
  81. 1= 1 ` + condition
  82. o := orm.NewOrm()
  83. err = o.Raw(sqlCount, pars).QueryRow(&count)
  84. return
  85. }
  86. //添加
  87. func AddCygxActivitySpecialTrip(item *CygxActivitySpecialTrip) (err error) {
  88. o := orm.NewOrm()
  89. _, err = o.Insert(item)
  90. return
  91. }
  92. //取消
  93. func CancelActivitySpecialTrip(uid int, item *CygxActivitySpecialDetail) (err error) {
  94. o := orm.NewOrm()
  95. sql := `DELETE FROM cygx_activity_special_trip WHERE user_id=? AND activity_id=? `
  96. _, err = o.Raw(sql, uid, item.ActivityId).Exec()
  97. return
  98. }
  99. //CancelActivitySpecialTripIsValid 处理活动报名是否有效
  100. func CancelActivitySpecialTripIsValid(isValid, activityId, userId int) (err error) {
  101. sql := ` UPDATE cygx_activity_special_trip SET is_valid= ?,is_cancel = 1 WHERE activity_id = ? AND user_id = ? `
  102. o := orm.NewOrm()
  103. _, err = o.Raw(sql, isValid, activityId, userId).Exec()
  104. return
  105. }