activity_signup.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type CygxActivitySignup struct {
  8. Id int `orm:"column(id);pk"`
  9. ActivityId int `description:"活动ID"`
  10. UserId 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. FailType int `description:"失败原因,0,未失败,1总人数已满,2单机构超限制,3,爽约次数超限"`
  17. SignupType int `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
  18. DoFailType int `description:"失败原因,0,未失败,1总人数已满,2单机构超限制,3,爽约次数超限"`
  19. OutboundMobile string `description:"外呼手机号"`
  20. CountryCode string `description:"手机国家区号"`
  21. RealName string `description:"用户实际名称"`
  22. SellerName string `description:"所属销售"`
  23. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  24. }
  25. type SignupStatus struct {
  26. SignupStatus string `description:"返回状态:人数已满:FullStarffed、单机构超过两人:TwoPeople、爽约次数过多:BreakPromise、超时:Overtime 、成功:Success"`
  27. GoFollow bool `description:"是否去关注"`
  28. SignupType int `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
  29. ActivityId int `description:"活动ID"`
  30. HaqveJurisdiction bool `description:"是否有权限"`
  31. HasPermission int `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下(ficc),3:无该品类权限,已提交过申请,4:无该品类权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"`
  32. PopupMsg string `description:"权限弹窗信息"`
  33. SellerMobile string `description:"销售电话"`
  34. SellerName string `description:"销售姓名"`
  35. Mobile string `description:"外呼手机号"`
  36. CountryCode string `description:"外呼手机号区号"`
  37. GoOutboundMobile bool `description:"是否去绑定手机号"`
  38. GoBindEmail bool `description:"是否去绑定邮箱"`
  39. }
  40. type ActivitySingnupRep struct {
  41. ActivityId int `description:"活动id"`
  42. SignupType int `description:"报名方式,,1预约外呼,2自主拨入,3我要报名"`
  43. }
  44. // 我的日程
  45. type CygxMySchedule struct {
  46. Id int `orm:"column(id);pk"`
  47. ActivityId int `description:"活动ID"`
  48. UserId int `description:"用户ID"`
  49. CreateTime time.Time `description:"创建时间"`
  50. Mobile string `description:"手机号"`
  51. Email string `description:"邮箱"`
  52. CompanyId int `description:"公司id"`
  53. CompanyName string `description:"公司名称"`
  54. }
  55. // 报名记录日志
  56. type CygxActivitySignupLog struct {
  57. Id int `orm:"column(id);pk"`
  58. ActivityId int `description:"活动ID"`
  59. UserId int `description:"用户ID"`
  60. CreateTime time.Time `description:"创建时间"`
  61. Mobile string `description:"手机号"`
  62. Email string `description:"邮箱"`
  63. CompanyId int `description:"公司id"`
  64. CompanyName string `description:"公司名称"`
  65. Type int `description:"操作方式,1报名,2取消报名"`
  66. }
  67. // 添加报名信息
  68. func AddActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
  69. o, err := orm.NewOrm().Begin()
  70. if err != nil {
  71. return
  72. }
  73. defer func() {
  74. fmt.Println(err)
  75. if err == nil {
  76. o.Commit()
  77. } else {
  78. o.Rollback()
  79. }
  80. }()
  81. var count int
  82. var countMySchedule int
  83. sql := `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE user_id=? AND activity_id=? `
  84. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countMySchedule)
  85. if err != nil {
  86. return
  87. }
  88. if countMySchedule == 0 {
  89. itemMy := new(CygxMySchedule)
  90. itemMy.UserId = item.UserId
  91. itemMy.ActivityId = item.ActivityId
  92. itemMy.CreateTime = time.Now()
  93. itemMy.Mobile = item.Mobile
  94. itemMy.Email = item.Email
  95. itemMy.CompanyId = item.CompanyId
  96. itemMy.CompanyName = item.CompanyName
  97. lastId, err = o.Insert(itemMy)
  98. if err != nil {
  99. return
  100. }
  101. }
  102. sql = `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE user_id=? AND activity_id=? `
  103. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
  104. if err != nil {
  105. return
  106. }
  107. if count > 0 {
  108. sql := `UPDATE cygx_activity_signup SET is_cancel = 0 ,do_fail_type = 0, signup_type=? WHERE user_id=? AND activity_id=? `
  109. _, err = o.Raw(sql, item.SignupType, item.UserId, item.ActivityId).Exec()
  110. } else {
  111. lastId, err = o.Insert(item)
  112. }
  113. if err != nil {
  114. return
  115. }
  116. itemLog := new(CygxActivitySignupLog)
  117. itemLog.UserId = item.UserId
  118. itemLog.ActivityId = item.ActivityId
  119. itemLog.CreateTime = time.Now()
  120. itemLog.Mobile = item.Mobile
  121. itemLog.Email = item.Email
  122. itemLog.CompanyId = item.CompanyId
  123. itemLog.CompanyName = item.CompanyName
  124. itemLog.Type = 1
  125. lastId, err = o.Insert(itemLog)
  126. return
  127. }
  128. // 仅绑定邮箱的用户修改报名后,添加报名信息
  129. func AddActivitySignupFromEmail(item *CygxActivitySignup) (lastId int64, err error) {
  130. o, err := orm.NewOrm().Begin()
  131. if err != nil {
  132. return
  133. }
  134. defer func() {
  135. fmt.Println(err)
  136. if err == nil {
  137. o.Commit()
  138. } else {
  139. o.Rollback()
  140. }
  141. }()
  142. var count int
  143. var countMySchedule int
  144. sql := `UPDATE wx_user SET outbound_mobile=? ,outbound_country_code = ? ,is_msg_outbound_mobile = 1 WHERE user_id=? `
  145. _, err = o.Raw(sql, item.OutboundMobile, item.CountryCode, item.UserId).Exec()
  146. if err != nil {
  147. return
  148. }
  149. sql = `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE user_id=? AND activity_id=? `
  150. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countMySchedule)
  151. if err != nil {
  152. return
  153. }
  154. if countMySchedule == 0 {
  155. itemMy := new(CygxMySchedule)
  156. itemMy.UserId = item.UserId
  157. itemMy.ActivityId = item.ActivityId
  158. itemMy.CreateTime = time.Now()
  159. itemMy.Mobile = item.Mobile
  160. itemMy.Email = item.Email
  161. itemMy.CompanyId = item.CompanyId
  162. itemMy.CompanyName = item.CompanyName
  163. lastId, err = o.Insert(itemMy)
  164. if err != nil {
  165. return
  166. }
  167. }
  168. sql = `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE user_id=? AND activity_id=? `
  169. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
  170. if err != nil {
  171. return
  172. }
  173. if count > 0 {
  174. sql := `UPDATE cygx_activity_signup SET is_cancel = 0 ,do_fail_type = 0, signup_type=? WHERE user_id=? AND activity_id=? `
  175. _, err = o.Raw(sql, item.SignupType, item.UserId, item.ActivityId).Exec()
  176. } else {
  177. lastId, err = o.Insert(item)
  178. }
  179. if err != nil {
  180. return
  181. }
  182. itemLog := new(CygxActivitySignupLog)
  183. itemLog.UserId = item.UserId
  184. itemLog.ActivityId = item.ActivityId
  185. itemLog.CreateTime = time.Now()
  186. itemLog.Mobile = item.Mobile
  187. itemLog.Email = item.Email
  188. itemLog.CompanyId = item.CompanyId
  189. itemLog.CompanyName = item.CompanyName
  190. itemLog.Type = 1
  191. lastId, err = o.Insert(itemLog)
  192. return
  193. }
  194. // 添加报名信息
  195. func AddActivitySignupNoSchedule(item *CygxActivitySignup) (lastId int64, err error) {
  196. o, err := orm.NewOrm().Begin()
  197. if err != nil {
  198. return
  199. }
  200. defer func() {
  201. fmt.Println(err)
  202. if err == nil {
  203. o.Commit()
  204. } else {
  205. o.Rollback()
  206. }
  207. }()
  208. lastId, err = o.Insert(item)
  209. if err != nil {
  210. return
  211. }
  212. itemLog := new(CygxActivitySignupLog)
  213. itemLog.UserId = item.UserId
  214. itemLog.ActivityId = item.ActivityId
  215. itemLog.CreateTime = time.Now()
  216. itemLog.Mobile = item.Mobile
  217. itemLog.Email = item.Email
  218. itemLog.CompanyId = item.CompanyId
  219. itemLog.CompanyName = item.CompanyName
  220. itemLog.Type = 1
  221. lastId, err = o.Insert(itemLog)
  222. return
  223. }
  224. // 获取用户报名成功数量
  225. func GetActivitySignupCount(uid, activityId int) (count int, err error) {
  226. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND do_fail_type = 0 AND user_id=? AND activity_id=? `
  227. o := orm.NewOrm()
  228. err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)
  229. return
  230. }
  231. // 获取用户报名数量
  232. func GetActivitySignupByUserCount(uid, activityId int) (count int, err error) {
  233. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND user_id=? AND activity_id=? `
  234. o := orm.NewOrm()
  235. err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)
  236. return
  237. }
  238. // 获取用户报名禁止数量
  239. func GetActivitySignupByUserRestrictCount(uid, activityId int) (count int, err error) {
  240. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE do_fail_type=3 AND user_id=? AND activity_id=? `
  241. o := orm.NewOrm()
  242. err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)
  243. return
  244. }
  245. // 获取某一活动已经报名的数量
  246. func GetActivitySignupSuccessCount(activityId int) (count int, err error) {
  247. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND do_fail_type = 0 AND activity_id=? `
  248. o := orm.NewOrm()
  249. err = o.Raw(sqlCount, activityId).QueryRow(&count)
  250. return
  251. }
  252. // 获取某一活动某个机构已经报名的数量
  253. func GetActivitySignupCompanyCount(activityId, companyId int) (count int, err error) {
  254. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND fail_type = 0 AND activity_id=? AND company_id=? `
  255. o := orm.NewOrm()
  256. err = o.Raw(sqlCount, activityId, companyId).QueryRow(&count)
  257. return
  258. }
  259. // 获取某一用户是否被限制报名
  260. func GetUserRestrictCount(mobile string) (count int, err error) {
  261. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_restrict_signup WHERE is_restrict=1 AND mobile=? `
  262. o := orm.NewOrm()
  263. err = o.Raw(sqlCount, mobile).QueryRow(&count)
  264. return
  265. }
  266. // 获取某一用户的日程数量
  267. func GetUserMeetingReminderCount(uid int) (count int, err error) {
  268. sqlCount := `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE user_id=? `
  269. o := orm.NewOrm()
  270. err = o.Raw(sqlCount, uid).QueryRow(&count)
  271. return
  272. }
  273. // 获取某一用户的报名的数量
  274. func GetUserSignupCount(uid int) (count int, err error) {
  275. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup_log WHERE user_id=? `
  276. o := orm.NewOrm()
  277. err = o.Raw(sqlCount, uid).QueryRow(&count)
  278. return
  279. }
  280. // 取消报名
  281. func CancelActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
  282. o, err := orm.NewOrm().Begin()
  283. if err != nil {
  284. return
  285. }
  286. defer func() {
  287. fmt.Println(err)
  288. if err == nil {
  289. o.Commit()
  290. } else {
  291. o.Rollback()
  292. }
  293. }()
  294. //判断是否删除我的日程
  295. var countReminder int
  296. var countAppointment int
  297. sql := `SELECT COUNT(1) AS count FROM cygx_activity_meeting_reminder WHERE is_cancel = 0 AND user_id=? AND activity_id=? `
  298. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countReminder)
  299. sql = `SELECT COUNT(1) AS count FROM cygx_activity_appointment WHERE user_id=? AND activity_id=? `
  300. err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countAppointment)
  301. if err != nil {
  302. return
  303. }
  304. if countReminder == 0 && countAppointment == 0 {
  305. sql = `DELETE FROM cygx_my_schedule WHERE user_id=? AND activity_id=? `
  306. _, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
  307. if err != nil {
  308. return
  309. }
  310. }
  311. sql = `DELETE FROM cygx_activity_signup WHERE user_id=? AND activity_id=? `
  312. _, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
  313. if err != nil {
  314. return
  315. }
  316. itemLog := new(CygxActivitySignupLog)
  317. itemLog.UserId = item.UserId
  318. itemLog.ActivityId = item.ActivityId
  319. itemLog.CreateTime = time.Now()
  320. itemLog.Mobile = item.Mobile
  321. itemLog.Email = item.Email
  322. itemLog.CompanyId = item.CompanyId
  323. itemLog.CompanyName = item.CompanyName
  324. itemLog.Type = 2
  325. lastId, err = o.Insert(itemLog)
  326. return
  327. }
  328. // 详情
  329. func GetActivitySignupDetail(activityId, uid int) (item *CygxActivitySignup, err error) {
  330. o := orm.NewOrm()
  331. sql := `SELECT * FROM cygx_activity_signup WHERE activity_id = ? AND user_id =? `
  332. err = o.Raw(sql, activityId, uid).QueryRow(&item)
  333. return
  334. }
  335. func GetActivitySignuListByUser(condition string, pars []interface{}) (item []*CygxActivitySignup, err error) {
  336. o := orm.NewOrm()
  337. sql := `SELECT *
  338. FROM
  339. cygx_activity_signup
  340. WHERE 1 = 1 ` + condition
  341. _, err = o.Raw(sql, pars).QueryRows(&item)
  342. return
  343. }
  344. // 解除报名限制之后二次报名
  345. func AddActivitySignupByRestrict(item *CygxActivitySignup) (lastId int64, err error) {
  346. o, err := orm.NewOrm().Begin()
  347. if err != nil {
  348. return
  349. }
  350. defer func() {
  351. fmt.Println(err)
  352. if err == nil {
  353. o.Commit()
  354. } else {
  355. o.Rollback()
  356. }
  357. }()
  358. itemMy := new(CygxMySchedule)
  359. itemMy.UserId = item.UserId
  360. itemMy.ActivityId = item.ActivityId
  361. itemMy.CreateTime = time.Now()
  362. itemMy.Mobile = item.Mobile
  363. itemMy.Email = item.Email
  364. itemMy.CompanyId = item.CompanyId
  365. itemMy.CompanyName = item.CompanyName
  366. lastId, err = o.Insert(itemMy)
  367. if err != nil {
  368. return
  369. }
  370. sql := `UPDATE cygx_activity_signup SET do_fail_type = 0 , fail_type=0 WHERE user_id=? AND activity_id=? `
  371. _, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
  372. itemLog := new(CygxActivitySignupLog)
  373. itemLog.UserId = item.UserId
  374. itemLog.ActivityId = item.ActivityId
  375. itemLog.CreateTime = time.Now()
  376. itemLog.Mobile = item.Mobile
  377. itemLog.Email = item.Email
  378. itemLog.CompanyId = item.CompanyId
  379. itemLog.CompanyName = item.CompanyName
  380. itemLog.Type = 1
  381. lastId, err = o.Insert(itemLog)
  382. return
  383. }
  384. // 列表
  385. func GetActivitySignupListAll() (items []*CygxActivitySignup, err error) {
  386. o := orm.NewOrm()
  387. sql := `SELECT * FROM cygx_activity_signup `
  388. _, err = o.Raw(sql).QueryRows(&items)
  389. return
  390. }
  391. // 修改是否推送消息状态
  392. func UPdateSignup(item *CygxActivitySignup) (err error) {
  393. sql := ` UPDATE cygx_activity_signup SET outbound_mobile= ? , country_code=86 WHERE id = ?`
  394. o := orm.NewOrm()
  395. _, err = o.Raw(sql, item.Mobile, item.Id).Exec()
  396. return
  397. }
  398. // 获取数量
  399. func GetActivityCountByIdWithUid(activityId, Uid int) (count int, err error) {
  400. o := orm.NewOrm()
  401. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE activity_id = ? AND user_id = ?`
  402. err = o.Raw(sqlCount, activityId, Uid).QueryRow(&count)
  403. return
  404. }
  405. // 获取用户报名数量
  406. func GetActivitySignupNomeetingCount(activityId int) (count int, err error) {
  407. sqlCount := `SELECT
  408. COUNT( 1 ) count
  409. FROM
  410. cygx_activity_signup AS s
  411. INNER JOIN cygx_activity AS a ON a.activity_id = s.activity_id
  412. WHERE
  413. 1 = 1
  414. AND a.is_limit_people > 0
  415. AND s.is_meeting = 0
  416. AND a.is_submit_meeting = 1
  417. AND a.activity_id = ?`
  418. o := orm.NewOrm()
  419. err = o.Raw(sqlCount, activityId).QueryRow(&count)
  420. return
  421. }
  422. func GetUserMeetingMobile(activityId int) (items []*CygxActivitySignup, err error) {
  423. o := orm.NewOrm()
  424. sql := `SELECT *
  425. FROM
  426. cygx_activity_signup AS s
  427. WHERE
  428. s.is_meeting = 1
  429. AND s.activity_id = ?`
  430. _, err = o.Raw(sql, activityId).QueryRows(&items)
  431. return
  432. }
  433. // 获取用户是否被限制报名
  434. func GetRestrictSignupCountByUid(uid int) (count int, err error) {
  435. sqlCount := `SELECT COUNT( 1 ) count FROM cygx_activity_restrict_signup WHERE user_id = ?`
  436. o := orm.NewOrm()
  437. err = o.Raw(sqlCount, uid).QueryRow(&count)
  438. return
  439. }
  440. // 获取用户爽约次数
  441. func GetActivitySignupNomeetingCountByUid(uid int) (count int, err error) {
  442. sqlCount := `SELECT
  443. COUNT( 1 ) count
  444. FROM
  445. cygx_activity_signup AS s
  446. INNER JOIN cygx_activity AS a ON a.activity_id = s.activity_id
  447. WHERE
  448. 1 = 1
  449. AND a.is_limit_people > 0
  450. AND s.is_meeting = 0
  451. AND a.is_submit_meeting = 1
  452. AND s.do_fail_type = 0
  453. AND s.user_id = ?`
  454. o := orm.NewOrm()
  455. err = o.Raw(sqlCount, uid).QueryRow(&count)
  456. return
  457. }
  458. // 删除
  459. func DeleteCygxActivityRestrictSignup(uid int) (err error) {
  460. o := orm.NewOrm()
  461. sql := ` DELETE FROM cygx_activity_restrict_signup WHERE user_id=?`
  462. _, err = o.Raw(sql, uid).Exec()
  463. return
  464. }
  465. type CygxActivitySignupList struct {
  466. Id int `orm:"column(id);pk"`
  467. UserId int `description:"用户id"`
  468. ActivityId int `description:"活动ID"`
  469. CompanyName string `description:"公司名称"`
  470. RealName string `description:"姓名"`
  471. CreateTime string `description:"创建时间"`
  472. IsMeeting int `description:"是否到会 ,1是, 0否"`
  473. Operation bool `description:"操作按钮,true,到会,false 未到会"`
  474. Channel int `description:"报名渠道,0 空降、 1小程序报名"`
  475. }
  476. // 获取用户报名列表
  477. func GetActivitySignupNomeetingCountList(activityId int) (items []*CygxActivitySignupList, err error) {
  478. o := orm.NewOrm()
  479. sql := `SELECT
  480. s.user_id
  481. FROM
  482. cygx_activity_signup AS s
  483. INNER JOIN cygx_activity AS a ON a.activity_id = s.activity_id
  484. WHERE
  485. 1 = 1
  486. AND a.is_limit_people > 0
  487. AND s.is_meeting = 0
  488. AND a.is_submit_meeting = 1
  489. AND a.activity_id = ?`
  490. _, err = o.Raw(sql, activityId).QueryRows(&items)
  491. return
  492. }
  493. type UserAndCompanyName struct {
  494. UserId int `orm:"column(user_id);pk"`
  495. Mobile string
  496. Email string
  497. CompanyId int
  498. CompanyName string `description:"公司名称"`
  499. CountryCode string `description:"手机国家区号"`
  500. OutboundMobile string `description:"外呼手机号"`
  501. OutboundCountryCode string `description:"外呼手机号区号"`
  502. }
  503. func GetUserAndCompanyNameList(uid int) (item *UserAndCompanyName, err error) {
  504. o := orm.NewOrm()
  505. sql := ` SELECT u.*,c.company_name
  506. FROM wx_user AS u
  507. INNER JOIN company AS c ON c.company_id = u.company_id
  508. WHERE user_id =?`
  509. err = o.Raw(sql, uid).QueryRow(&item)
  510. return
  511. }
  512. type CygxActivityRestrictSignup struct {
  513. Id int `orm:"column(id);pk"`
  514. UserId int `description:"用户id,多个用,隔开"`
  515. CreateTime time.Time `description:"创建时间"`
  516. Mobile string `description:"手机号"`
  517. Email string `description:"邮箱号"`
  518. CompanyId int `description:"公司ID"`
  519. CompanyName string `description:"公司名称"`
  520. IsRestrict int `description:"是否限制报名,1是,0否"`
  521. }
  522. // 添加
  523. func AddCygxActivityRestrictSignup(item *CygxActivityRestrictSignup) (err error) {
  524. o := orm.NewOrm()
  525. _, err = o.Insert(item)
  526. return
  527. }
  528. // 获取列表信息根据手机号分组
  529. func GetCygxActivitySignupByMobileList(condition string) (items []*CygxActivitySignup, err error) {
  530. o := orm.NewOrm()
  531. sql := `SELECT * FROM cygx_activity_signup WHERE 1= 1 ` + condition + ` GROUP BY mobile `
  532. _, err = o.Raw(sql).QueryRows(&items)
  533. return
  534. }
  535. // 修改用户报名的相关信息
  536. func UpdateCygxActivitySignup(wxUser *WxUserItem) (err error) {
  537. o := orm.NewOrm()
  538. sql := `UPDATE cygx_activity_signup SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE mobile=? `
  539. _, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Mobile).Exec()
  540. return
  541. }
  542. // UpdateCygxActivitySignupisMeet 修改易董的活动,用户已到会
  543. func UpdateCygxActivitySignupisMeet(activityId int, mobile string) (err error) {
  544. o := orm.NewOrm()
  545. sql := `UPDATE cygx_activity_signup SET is_meeting=1 WHERE activity_id=? AND mobile = ? `
  546. _, err = o.Raw(sql, activityId, mobile).Exec()
  547. return
  548. }
  549. // GetCygxCygxActivitySignupList 获取报名列表信息
  550. func GetActivitySignupList(condition string, pars []interface{}) (items []*CygxActivitySignup, err error) {
  551. sql := `SELECT
  552. signup_type,activity_id
  553. FROM
  554. cygx_activity_signup AS v
  555. WHERE
  556. 1 = 1 ` + condition
  557. o := orm.NewOrm()
  558. _, err = o.Raw(sql, pars).QueryRows(&items)
  559. return
  560. }