apply_record.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxApplyRecord struct {
  7. ApplyRecordId int `orm:"column(apply_record_id);pk" description:"申请试用id"`
  8. UserId int `description:"用户ID"`
  9. BusinessCardUrl string `description:"名片地址"`
  10. RealName string `description:"姓名"`
  11. CompanyName string `description:"公司名称"`
  12. CompanyIdPay int `description:"已付费客户公司id"`
  13. CompanyIdType int `description:"用户状态,1:潜在客户 、2:现有客户 、3:FICC客户 、4:现有客户(正式,无对应权限) 、5:现有客户(试用,无对应权限) 、6:现有客户(试用暂停) 、7:现有客户(冻结) 、8:现有客户(流失) "`
  14. CompanyNamePay string `description:"公司名称"`
  15. Mobile string `description:"手机号"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ApplyMethod int `description:"1:已付费客户申请试用,2:非客户申请试用"`
  18. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  19. InviteCompanySource int `description:"来源 1小程序,2:网页"`
  20. }
  21. type CygxApplyRecordResp struct {
  22. ApplyRecordId int `orm:"column(apply_record_id);pk" description:"申请试用id"`
  23. UserId int `description:"用户ID"`
  24. BusinessCardUrl string `description:"名片地址"`
  25. RealName string `description:"姓名"`
  26. CompanyName string `description:"公司名称"`
  27. CompanyIdPay int `description:"已付费客户公司id"`
  28. CompanyIdType int `description:"用户状态,1:潜在客户 、2:现有客户 、3:FICC客户 、4:现有客户(正式,无对应权限) 、5:现有客户(试用,无对应权限) 、6:现有客户(试用暂停) 、7:现有客户(冻结) 、8:现有客户(流失) "`
  29. CompanyNamePay string `description:"公司名称"`
  30. Mobile string `description:"手机号"`
  31. CreateTime time.Time `description:"创建时间"`
  32. ApplyMethod int `description:"1:已付费客户申请试用,2:非客户申请试用"`
  33. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  34. InviteCompanySource int `description:"三方来源 ,1:弘则本身,2:络町"`
  35. ApplicationSource string `description:"申请来源"`
  36. }
  37. func AddApplyRecordold(item *ApplyTryReq, mobile, companyNamePay string, userId, companyIdPay, CompanyIdType int) (err error) {
  38. o, err := orm.NewOrm().Begin()
  39. if err != nil {
  40. return
  41. }
  42. defer func() {
  43. if err != nil {
  44. o.Rollback()
  45. } else {
  46. o.Commit()
  47. }
  48. }()
  49. sql := `INSERT INTO cygx_apply_record (user_id,business_card_url, real_name,company_name, mobile,create_time, apply_method,company_id_pay,company_name_pay,company_id_type)
  50. VALUES(?,?,?,?,?,?,?,?,?,?) `
  51. _, err = o.Raw(sql, userId, item.BusinessCardUrl, item.RealName, item.CompanyName, mobile, time.Now(), item.ApplyMethod, companyIdPay, companyNamePay, CompanyIdType).Exec()
  52. if err != nil {
  53. return
  54. }
  55. msql := `UPDATE wx_user
  56. SET
  57. note = ?,
  58. is_note = 1,
  59. apply_method = ?,
  60. real_name=?,
  61. mobile=?
  62. WHERE user_id = ? `
  63. _, err = o.Raw(msql, item.CompanyName, item.ApplyMethod, item.RealName, mobile, userId).Exec()
  64. return
  65. }
  66. func AddApplyRecord(item *CygxApplyRecord) (err error) {
  67. o, err := orm.NewOrm().Begin()
  68. if err != nil {
  69. return
  70. }
  71. defer func() {
  72. if err != nil {
  73. o.Rollback()
  74. } else {
  75. o.Commit()
  76. }
  77. }()
  78. _, err = o.Insert(item)
  79. if err != nil {
  80. return
  81. }
  82. msql := `UPDATE wx_user
  83. SET
  84. note = ?,
  85. is_note = 1,
  86. apply_method = ?,
  87. real_name=?,
  88. mobile=?
  89. WHERE user_id = ? `
  90. _, err = o.Raw(msql, item.CompanyName, item.ApplyMethod, item.RealName, item.Mobile, item.UserId).Exec()
  91. return
  92. }
  93. func GetApplyRecordCount(userId int) (count int, err error) {
  94. o := orm.NewOrm()
  95. sql := `SELECT COUNT(1) AS count FROM cygx_apply_record WHERE user_id=? AND status=0 `
  96. err = o.Raw(sql, userId).QueryRow(&count)
  97. return
  98. }
  99. // 通过手机号获取详情
  100. func GetCygxApplyRecordByMobile(mobile string) (item *CygxApplyRecord, err error) {
  101. o := orm.NewOrm()
  102. sql := `SELECT * FROM cygx_apply_record WHERE mobile=? AND status=0 ORDER BY apply_record_id DESC LIMIT 1 `
  103. err = o.Raw(sql, mobile).QueryRow(&item)
  104. return
  105. }
  106. // 通过ID获取详情
  107. func GetCygxApplyRecordById(applyRecordId int) (item *CygxApplyRecordResp, err error) {
  108. o := orm.NewOrm()
  109. sql := `SELECT * FROM cygx_apply_record WHERE apply_record_id=? `
  110. err = o.Raw(sql, applyRecordId).QueryRow(&item)
  111. return
  112. }
  113. type CygxApplyRecordDetialResp struct {
  114. Detail *CygxApplyRecordResp
  115. }