Explorar el Código

发起申请,区分权益研报

xiexiaoyuan hace 3 años
padre
commit
77f1cdee57
Se han modificado 3 ficheros con 69 adiciones y 20 borrados
  1. 11 5
      controllers/yb_apply.go
  2. 1 0
      models/yb_apply_record.go
  3. 57 15
      services/yb_apply.go

+ 11 - 5
controllers/yb_apply.go

@@ -49,11 +49,17 @@ func (this *YbApplyController) YbApply() {
 		return
 	}
 
-	_, err = services.AddYbApply(user.UserId, user.CompanyId, user.Mobile, user.Email, req)
-	if err != nil {
-		br.Msg = "申请失败"
-		br.ErrMsg = "申请失败" + err.Error()
-		return
+	 err, brMsg, brErrMsg := services.AddYbApply(user.UserId, user.CompanyId, user.Mobile, user.Email, req)
+	if err != nil || brMsg != ""{
+		if brMsg != ""{
+			br.Msg = brMsg
+			br.ErrMsg = brErrMsg
+			return
+		}else{
+			br.Msg = "申请失败"
+			br.ErrMsg = "申请失败" + err.Error()
+			return
+		}
 	}
 	br.Ret = 200
 	br.Success = true

+ 1 - 0
models/yb_apply_record.go

@@ -34,6 +34,7 @@ type YbApplyReq struct {
 	//BusinessCardUrl string `description:"名片地址" json:"business_card_url"`
 	CompanyName     string `description:"公司名称"`
 	RealName        string `description:"用户真实姓名"`
+	ReportId        int    `description:报告ID`
 	//Permission      string `description:"用户关注品种,多个品种之间用英文,隔开"`
 	//Source			int	   `description:"申请来源:1-我的 2-活动 3-图库"`
 	//SourceAgent     int    `description:"申请入口来源,1:小程序,2:pc,3:弘则研究公众号"`

+ 57 - 15
services/yb_apply.go

@@ -8,27 +8,48 @@ import (
 )
 
 // AddYbApply FICC客户申请
-func AddYbApply(userId int, companyId int, mobile, email string, applyInfo models.YbApplyReq) (ybApplyRecord *models.YbApplyRecord, err error) {
+func AddYbApply(userId int, companyId int, mobile, email string, applyInfo models.YbApplyReq) ( err error, brMsg, brErrMsg string) {
 	sellerName := ``
 	status := `潜在用户`
 	companyName := applyInfo.CompanyName
+	reportId := applyInfo.ReportId
 
-	tmpmYbApplyRecord, err := models.GetLastApplyRecordNotOpRecordByUserId(userId)
-	if err == nil {
-		ybApplyRecord = tmpmYbApplyRecord	// 申请来源每一种只存在一条数据
-		return
-	} else {
-		if err.Error() != utils.ErrNoRow() {
+	//查询从哪些报告页面进入申请
+	productId := 0
+	if reportId > 0 {
+		report, tErr := models.GetReportById(reportId)
+		if tErr != nil {
+			brMsg = "该报告已删除"
+			brErrMsg = "获取报告详情失败,Err:" + tErr.Error()
 			return
 		}
+		if report != nil {
+			if strings.Contains(report.ClassifyNameFirst, "权益研报") {
+				productId = 2
+			} else {
+				productId = 1
+			}
+		}
 	}
 
+	ybApplyRecord := new(models.YbApplyRecord)
+	if productId != 2 {
+		tmpmYbApplyRecord, tErr := models.GetLastApplyRecordNotOpRecordByUserId(userId)
+		if tErr == nil {
+			ybApplyRecord = tmpmYbApplyRecord	// 申请来源每一种只存在一条数据
+			return
+		} else {
+			if tErr.Error() != utils.ErrNoRow() {
+				err = tErr
+				return
+			}
+		}
+	}
 	// 联系人信息
 	wxUserInfo, err := models.GetWxUserItemByUserId(userId)
 	if err != nil {
 		return
 	}
-
 	if companyId > 1 {
 		//客户信息
 		companyInfo, tmpErr := models.GetCompanyInfoById(companyId)
@@ -63,6 +84,16 @@ func AddYbApply(userId int, companyId int, mobile, email string, applyInfo model
 			status = strings.Join(statusList, ",")
 		}
 	}
+	applyMethod := wxUserInfo.ApplyMethod //0:未申请,1:已付费客户申请试用,2:非客户申请试用
+	applyMethod = 2
+	if sellerName != "" {
+		applyMethod = 1
+	}
+
+	if productId == 2 {
+		 err, brMsg, brMsg = AddUserApply(applyInfo, applyMethod, wxUserInfo)
+		 return
+	}
 	ybApplyRecord = &models.YbApplyRecord{
 		UserID:          userId,
 		//BusinessCardURL: applyInfo.BusinessCardUrl,
@@ -84,17 +115,10 @@ func AddYbApply(userId int, companyId int, mobile, email string, applyInfo model
 	if err != nil {
 		return
 	}
-
 	// 修改客户信息
 	wxUserInfo.RealName = applyInfo.RealName
 	wxUserInfo.Note = applyInfo.CompanyName
 	wxUserInfo.IsNote = 1
-
-	applyMethod := wxUserInfo.ApplyMethod //0:未申请,1:已付费客户申请试用,2:非客户申请试用
-	applyMethod = 2
-	if sellerName != "" {
-		applyMethod = 1
-	}
 	wxUserInfo.ApplyMethod = applyMethod
 
 	err = models.ModifyWxUserNameApplyMethod(wxUserInfo.UserId, wxUserInfo.RealName, wxUserInfo.Note, wxUserInfo.IsNote, wxUserInfo.ApplyMethod)
@@ -103,3 +127,21 @@ func AddYbApply(userId int, companyId int, mobile, email string, applyInfo model
 	}
 	return
 }
+
+// AddUserApply 权益研报过来的用户直接走原先的申请逻辑
+func AddUserApply(req models.YbApplyReq, applyMethod int, userInfo *models.WxUserItem) (err error, brMsg, brErrMsg string) {
+	realName := req.RealName
+	if applyMethod == 2 {
+		if realName == "" {
+			brMsg ="姓名不能为空!"
+			return
+		}
+	}
+	err = models.Apply(userInfo.UserId, applyMethod, userInfo.Mobile, userInfo.Email, req.CompanyName, realName, userInfo.OpenId)
+	if err != nil {
+		brMsg = "申请失败!"
+		brErrMsg = "申请失败,Err:" + err.Error()
+		return
+	}
+	return
+}