activity_signup.go 19 KB

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