activity_signin.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxActivitySignin struct {
  7. Id int `orm:"column(id);pk"`
  8. ActivityId int `description:"活动ID"`
  9. UserId int `description:"用户ID"`
  10. CreateTime time.Time `description:"创建时间"`
  11. Mobile string `description:"手机号"`
  12. Email string `description:"邮箱"`
  13. CompanyId int `description:"公司id"`
  14. CompanyName string `description:"公司名称"`
  15. BusinessCard string `description:"名片"`
  16. RealName string `description:"用户实际名称"`
  17. IsSignup int `description:"是否报名了"`
  18. CountryCode string `description:"手机国家区号"`
  19. OpenId string `description:"Openid"`
  20. }
  21. type CygxActivitySigninLog struct {
  22. Id int `orm:"column(id);pk"`
  23. ActivityId int `description:"活动ID"`
  24. UserId int `description:"用户ID"`
  25. CreateTime time.Time `description:"创建时间"`
  26. Mobile string `description:"手机号"`
  27. Email string `description:"邮箱"`
  28. CompanyId int `description:"公司id"`
  29. CompanyName string `description:"公司名称"`
  30. BusinessCard string `description:"名片"`
  31. RealName string `description:"用户实际名称"`
  32. IsSignup int `description:"是否报名了"`
  33. CountryCode string `description:"手机国家区号"`
  34. OpenId string `description:"Openid"`
  35. }
  36. type CygxActivitySigninResp struct {
  37. ActivityId int `description:"活动ID"`
  38. ActivityName string `description:"活动名称"`
  39. RealName string `description:"用户实际名称"`
  40. Mobile string `description:"手机号"`
  41. CompanyName string `description:"公司名称"`
  42. BusinessCard string `description:"名片"`
  43. IsNewUser bool `description:"是否属于新客户"`
  44. IsSignup bool `description:"是否报名了"`
  45. }
  46. type CygxActivitySigninDetailResp struct {
  47. Detail *CygxActivitySigninResp
  48. IsBindingMobile bool `description:"是否绑定手机号"`
  49. }
  50. // 获取数量
  51. func GetCygxActivitySigninCount(condition string, pars []interface{}) (count int, err error) {
  52. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_activity_signin as art WHERE 1= 1 `
  53. if condition != "" {
  54. sqlCount += condition
  55. }
  56. o := orm.NewOrm()
  57. err = o.Raw(sqlCount, pars).QueryRow(&count)
  58. return
  59. }
  60. // GetCygxActivitySigninList 获取签到列表信息
  61. func GetCygxActivitySigninList(condition string, pars []interface{}) (items []*CygxActivitySignin, err error) {
  62. sql := `SELECT
  63. *
  64. FROM
  65. cygx_activity_signin AS art
  66. WHERE
  67. 1 = 1 ` + condition
  68. o := orm.NewOrm()
  69. _, err = o.Raw(sql, pars).QueryRows(&items)
  70. return
  71. }
  72. func GetCygxActivitySigninDetail(condition string, pars []interface{}) (item *CygxActivitySignin, err error) {
  73. sql := `SELECT * FROM cygx_activity_signin as art WHERE 1= 1 `
  74. if condition != "" {
  75. sql += condition
  76. }
  77. err = orm.NewOrm().Raw(sql, pars).QueryRow(&item)
  78. return
  79. }
  80. // 修改创建时间,做签到时间使用
  81. func UpdatedateCygxActivitySignin(item *CygxActivitySignin) (err error) {
  82. sql := ` UPDATE cygx_activity_signin SET create_time= NOW() WHERE open_id = ? AND activity_id = ? `
  83. o := orm.NewOrm()
  84. _, err = o.Raw(sql, item.OpenId, item.ActivityId).Exec()
  85. return
  86. }
  87. // 添加
  88. func AddCygxActivitySignin(item *CygxActivitySignin) (err error) {
  89. o := orm.NewOrm()
  90. _, err = o.Insert(item)
  91. return
  92. }
  93. // 修改
  94. func UpdateCygxActivitySignin(item *CygxActivitySignin) (err error) {
  95. o := orm.NewOrm()
  96. updateParams := make(map[string]interface{})
  97. updateParams["UserId"] = item.UserId
  98. updateParams["Mobile"] = item.Mobile
  99. updateParams["Email"] = item.Email
  100. updateParams["CompanyId"] = item.CompanyId
  101. updateParams["CompanyName"] = item.CompanyName
  102. updateParams["BusinessCard"] = item.BusinessCard
  103. updateParams["RealName"] = item.RealName
  104. updateParams["CountryCode"] = item.CountryCode
  105. ptrStructOrTableName := "cygx_activity_signin"
  106. whereParam := map[string]interface{}{"id": item.Id}
  107. qs := o.QueryTable(ptrStructOrTableName)
  108. for expr, exprV := range whereParam {
  109. qs = qs.Filter(expr, exprV)
  110. }
  111. _, err = qs.Update(updateParams)
  112. return
  113. }
  114. // 添加日志
  115. func AddCygxActivitySigninLog(item *CygxActivitySigninLog) (err error) {
  116. o := orm.NewOrm()
  117. _, err = o.Insert(item)
  118. return
  119. }
  120. type CygxActivitySigninReq struct {
  121. ActivityId int `description:"活动id"`
  122. CountryCode string `description:"手机国家区号"`
  123. Mobile string `description:"手机号"`
  124. VCode string `description:"验证码"`
  125. CompanyName string `description:"公司名称"`
  126. BusinessCard string `description:"名片"`
  127. RealName string `description:"用户实际名称"`
  128. SigninType int `description:"签到方式,1:填写手机号/机构名称;2:上传名片"`
  129. }