yb_apply.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package services
  2. import (
  3. "hongze/hongze_api/models"
  4. "hongze/hongze_api/utils"
  5. "strings"
  6. "time"
  7. )
  8. // AddYbApply FICC客户申请
  9. func AddYbApply(userId int, companyId int, mobile, email string, applyInfo models.YbApplyReq) ( err error, brMsg, brErrMsg string) {
  10. sellerName := ``
  11. status := `潜在用户`
  12. companyName := applyInfo.CompanyName
  13. ybApplyRecord := new(models.YbApplyRecord)
  14. tmpmYbApplyRecord, tErr := models.GetLastApplyRecordNotOpRecordByUserId(userId)
  15. if tErr == nil {
  16. ybApplyRecord = tmpmYbApplyRecord // 申请来源每一种只存在一条数据
  17. return
  18. } else {
  19. if tErr.Error() != utils.ErrNoRow() {
  20. err = tErr
  21. return
  22. }
  23. }
  24. // 联系人信息
  25. wxUserInfo, err := models.GetWxUserItemByUserId(userId)
  26. if err != nil {
  27. return
  28. }
  29. if companyId > 1 {
  30. //客户信息
  31. companyInfo, tmpErr := models.GetCompanyInfoById(companyId)
  32. if tmpErr != nil {
  33. err = tmpErr
  34. return
  35. }
  36. companyName = companyInfo.CompanyName
  37. //客户产品权限
  38. companyProductList, tmpErr := models.GetCompanyById(companyId)
  39. if tmpErr != nil {
  40. err = tmpErr
  41. return
  42. }
  43. sellerNameList := make([]string, 0)
  44. statusList := make([]string, 0)
  45. for _, companyProductInfo := range companyProductList {
  46. if companyProductInfo.ProductId == 2 && status == "潜在用户" {
  47. status = "权益用户"
  48. }
  49. if companyProductInfo.ProductId == 1 {
  50. sellerName = companyProductInfo.SellerName
  51. status = companyProductInfo.Status
  52. if companyProductInfo.IsSuspend == 1 {
  53. status = `试用暂停`
  54. }
  55. }
  56. }
  57. if len(sellerNameList) > 0 && len(statusList) > 0 {
  58. sellerName = strings.Join(sellerNameList, ",")
  59. status = strings.Join(statusList, ",")
  60. }
  61. }
  62. applyMethod := wxUserInfo.ApplyMethod //0:未申请,1:已付费客户申请试用,2:非客户申请试用
  63. applyMethod = 2
  64. if sellerName != "" {
  65. applyMethod = 1
  66. }
  67. ybApplyRecord = &models.YbApplyRecord{
  68. UserID: userId,
  69. //BusinessCardURL: applyInfo.BusinessCardUrl,
  70. RealName: applyInfo.RealName,
  71. CompanyName: applyInfo.CompanyName,
  72. Mobile: mobile,
  73. Email: email,
  74. //Permission: applyInfo.Permission,
  75. SellerName: sellerName,
  76. Status: status,
  77. CompanyIDPay: companyId,
  78. CompanyNamePay: companyName,
  79. CreateTime: time.Now(),
  80. // Source: applyInfo.Source,
  81. SourceAgent: 3, //申请入口来源,1:小程序,2:pc,3:弘则研究公众号"
  82. // FromPage: applyInfo.FromPage,
  83. }
  84. err = models.AddYbApplyRecord(ybApplyRecord)
  85. if err != nil {
  86. return
  87. }
  88. // 修改客户信息
  89. wxUserInfo.RealName = applyInfo.RealName
  90. wxUserInfo.Note = applyInfo.CompanyName
  91. wxUserInfo.IsNote = 1
  92. wxUserInfo.ApplyMethod = applyMethod
  93. err = models.ModifyWxUserNameApplyMethod(wxUserInfo.UserId, wxUserInfo.RealName, wxUserInfo.Note, wxUserInfo.IsNote, wxUserInfo.ApplyMethod)
  94. return
  95. }
  96. // AddUserApply 权益研报过来的用户直接走原先的申请逻辑
  97. func AddUserApply(req models.YbApplyReq, applyMethod int, userInfo *models.WxUserItem) (err error, brMsg, brErrMsg string) {
  98. realName := req.RealName
  99. if applyMethod == 2 {
  100. if realName == "" {
  101. brMsg ="姓名不能为空!"
  102. return
  103. }
  104. }
  105. err = models.Apply(userInfo.UserId, applyMethod, userInfo.Mobile, userInfo.Email, req.CompanyName, realName, userInfo.OpenId)
  106. if err != nil {
  107. brMsg = "申请失败!"
  108. brErrMsg = "申请失败,Err:" + err.Error()
  109. return
  110. }
  111. return
  112. }