Browse Source

no message

xingzai 11 months ago
parent
commit
94f7f7c051
2 changed files with 109 additions and 95 deletions
  1. 20 19
      controllers/company_apply_v2.go
  2. 89 76
      controllers/company_permission.go

+ 20 - 19
controllers/company_apply_v2.go

@@ -447,6 +447,22 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 			return
 		}
 	}
+	companyProduct, err := company.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
+	if err != nil {
+		br.Msg = "获取客户信息失败"
+		br.ErrMsg = "获取客户信息失败"
+		return
+	}
+	if companyProduct == nil {
+		br.Msg = "获取客户信息失败"
+		br.ErrMsg = "客户不存在,不可提交审批:companyId:" + strconv.Itoa(req.CompanyId) + ";productId:" + strconv.Itoa(productId)
+		return
+	}
+	if companyProduct.Status != utils.COMPANY_STATUS_TRY_OUT && companyProduct.InitStatus != utils.COMPANY_STATUS_FOREVER {
+		br.Msg = "客户状态为:" + companyProduct.Status + ";不可进行转正申请"
+		br.ErrMsg = "客户状态为:" + companyProduct.Status + ";不可进行转正申请"
+		return
+	}
 
 	mapPermissionIdUpgrade := make(map[int]int) // 权益主客观、行业升级、买方研选的处理
 	permissionNameMap := make(map[int]string)   // 权益行业名称处理
@@ -467,11 +483,9 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 			br.ErrMsg = "获取行业主观对应的客观ID失败, Err: " + e.Error()
 			return
 		}
-
 		strPermissionIdArr := make([]string, 0) // 最终过滤后的权限IDs
 		for _, v := range permissionSlice {
 			permissionId, _ := strconv.Atoi(v)
-
 			// 研选5w的处理
 			if permissionId == expId {
 				//permissionIdsNew += strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN) + ","
@@ -502,6 +516,10 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 				strPermissionIdArr = append(strPermissionIdArr, v)
 				permissionIdOnly = permissionId
 			}
+			//权益的永续客户主客观权限都开
+			if companyProduct.InitStatus == utils.COMPANY_STATUS_FOREVER && subObjMap[permissionId] > 0 {
+				strPermissionIdArr = append(strPermissionIdArr, strconv.Itoa(subObjMap[permissionId]))
+			}
 			if _, ok := mapPermissionId[permissionIdOnly]; ok {
 				br.Msg = "权限设置有误,请重新选择"
 				br.ErrMsg = "升级权限与普通权限重复选择!" + req.PermissionIds
@@ -547,23 +565,6 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 		}
 	}
 
-	companyProduct, err := company.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
-	if err != nil {
-		br.Msg = "获取客户信息失败"
-		br.ErrMsg = "获取客户信息失败"
-		return
-	}
-	if companyProduct == nil {
-		br.Msg = "获取客户信息失败"
-		br.ErrMsg = "客户不存在,不可提交审批:companyId:" + strconv.Itoa(req.CompanyId) + ";productId:" + strconv.Itoa(productId)
-		return
-	}
-	if companyProduct.Status != utils.COMPANY_STATUS_TRY_OUT && companyProduct.InitStatus != utils.COMPANY_STATUS_FOREVER {
-		br.Msg = "客户状态为:" + companyProduct.Status + ";不可进行转正申请"
-		br.ErrMsg = "客户状态为:" + companyProduct.Status + ";不可进行转正申请"
-		return
-	}
-
 	companyItem, e := company.GetCompanyById(req.CompanyId)
 	if e != nil {
 		br.Msg = "客户信息有误"

+ 89 - 76
controllers/company_permission.go

@@ -21,6 +21,7 @@ type CompanyPermissionController struct {
 // @Title 获取权限设置基础信息
 // @Description 获取权限设置基础信息接口
 // @Param   CompanyType   query   string  true       "客户类型:传空字符串或者不传为全部,'ficc','权益'"
+// @Param   CompanyStatus   query   string  true       "客户状态"
 // @Param   NoUpgrade   query   bool  false       "是否不展示升级权限,默认为 false"
 // @Param   IsShowYanXuanKouDian   query   bool  false       "是否展示研选扣点包,默认为 false"
 // @Success 200 {object} company.PermissionSetResp
@@ -42,7 +43,8 @@ func (this *CompanyPermissionController) List() {
 
 	companyType := this.GetString("CompanyType")
 	noUpgrade, _ := this.GetBool("NoUpgrade", false)                       // 添加客户、领取客户=true; 申请转正、续约申请=false
-	isShowYanXuanKouDian, _ := this.GetBool("IsShowYanXuanKouDian", false) // 添加客户、领取客户=true; 申请转正、续约申请=false
+	isShowYanXuanKouDian, _ := this.GetBool("IsShowYanXuanKouDian", false) // 是否展示研选扣点
+	companyStatus := this.GetString("CompanyStatus")                       // 客户状态
 	var productId int
 	resp := new(company.PermissionSetResp)
 
@@ -105,6 +107,7 @@ func (this *CompanyPermissionController) List() {
 		if isShowYanXuanKouDian {
 			filterPermissionName = []string{"专家"} //申请转正,或者申请续约的时候 调研 行业需要进行展示
 		}
+
 		// 原始版的权限
 		if noUpgrade {
 			for _, v := range items {
@@ -120,92 +123,102 @@ func (this *CompanyPermissionController) List() {
 
 		// 展示升级权限, 需要有套餐的展示, 行业可能需要拆分主客观, 买方研选需要分为3w和5w两种
 		if !noUpgrade {
-			p.Items = append(p.Items, &company.PermissionSetItem{
-				PermissionName: utils.CHART_PERMISSION_NAME_45W,
-			}, &company.PermissionSetItem{
-				PermissionName: utils.CHART_PERMISSION_NAME_70W,
-			})
-
-			// 是否为内部人员
-			isRai, e := services.CheckRaiAdmin(sysUser.AdminId)
-			if e != nil {
-				br.Msg = "获取失败"
-				br.ErrMsg = "判断是否为权益内部人员失败, GetRaiAdmin Err: " + e.Error()
-				return
-			}
-
-			// 获取行业主客观权限ID
-			childSubMap, childObjMap := make(map[string]int), make(map[string]int)
-			{
-				permissions, e := models.GetChartPermissionList()
+			//判断是不是永续类型的客户
+			if companyStatus == utils.COMPANY_STATUS_FOREVER {
+				filterPermissionName = []string{"专家", "路演服务", "调研", "研选订阅", "研选扣点包"} //权益的永续客户这些不展示
+				for _, v := range items {
+					if utils.InArrayByStr(filterPermissionName, v.PermissionName) {
+						continue
+					}
+					p.Items = append(p.Items, v)
+				}
+			} else {
+				p.Items = append(p.Items, &company.PermissionSetItem{
+					PermissionName: utils.CHART_PERMISSION_NAME_45W,
+				}, &company.PermissionSetItem{
+					PermissionName: utils.CHART_PERMISSION_NAME_70W,
+				})
+
+				// 是否为内部人员
+				isRai, e := services.CheckRaiAdmin(sysUser.AdminId)
 				if e != nil {
 					br.Msg = "获取失败"
-					br.ErrMsg = "获取权限列表失败, GetChartPermissionList Err: " + e.Error()
+					br.ErrMsg = "判断是否为权益内部人员失败, GetRaiAdmin Err: " + e.Error()
 					return
 				}
-				for _, v := range permissions {
-					if !strings.Contains("医药消费科技智造", v.PermissionName) {
+
+				// 获取行业主客观权限ID
+				childSubMap, childObjMap := make(map[string]int), make(map[string]int)
+				{
+					permissions, e := models.GetChartPermissionList()
+					if e != nil {
+						br.Msg = "获取失败"
+						br.ErrMsg = "获取权限列表失败, GetChartPermissionList Err: " + e.Error()
+						return
+					}
+					for _, v := range permissions {
+						if !strings.Contains("医药消费科技智造", v.PermissionName) {
+							continue
+						}
+						if strings.Contains(v.Remark, "主观") {
+							childSubMap[v.PermissionName] = v.ChartPermissionId
+							continue
+						}
+						childObjMap[v.PermissionName] = v.ChartPermissionId
+					}
+				}
+				for _, v := range items {
+					if !isShowYanXuanKouDian && v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
 						continue
 					}
-					if strings.Contains(v.Remark, "主观") {
-						childSubMap[v.PermissionName] = v.ChartPermissionId
+					if utils.InArrayByStr(filterPermissionName, v.PermissionName) {
 						continue
 					}
-					childObjMap[v.PermissionName] = v.ChartPermissionId
-				}
-			}
-
-			for _, v := range items {
-				if !isShowYanXuanKouDian && v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
-					continue
-				}
-				if utils.InArrayByStr(filterPermissionName, v.PermissionName) {
-					continue
-				}
-				// 处理四大行业的升级展示
-				if strings.Contains("医药消费科技智造", v.PermissionName) {
-					// 内部人员需要拆分主客观权限
-					if isRai {
-						v.Child = make([]*company.PermissionSetItem, 0)
-						v.Child = append(v.Child, &company.PermissionSetItem{
-							ChartPermissionId: childSubMap[v.PermissionName],
-							PermissionName:    "主观",
-							PermissionType:    1,
-						}, &company.PermissionSetItem{
-							ChartPermissionId: childObjMap[v.PermissionName],
-							PermissionName:    "客观",
-							PermissionType:    2,
-						})
+					// 处理四大行业的升级展示
+					if strings.Contains("医药消费科技智造", v.PermissionName) {
+						// 内部人员需要拆分主客观权限
+						if isRai {
+							v.Child = make([]*company.PermissionSetItem, 0)
+							v.Child = append(v.Child, &company.PermissionSetItem{
+								ChartPermissionId: childSubMap[v.PermissionName],
+								PermissionName:    "主观",
+								PermissionType:    1,
+							}, &company.PermissionSetItem{
+								ChartPermissionId: childObjMap[v.PermissionName],
+								PermissionName:    "客观",
+								PermissionType:    2,
+							})
+						}
+						p.Items = append(p.Items, v)
+
+						t := new(company.PermissionSetItem)
+						t.ChartPermissionId = v.ChartPermissionId + utils.PERMISSION_ID_UPGRADE
+						t.PermissionName = v.PermissionName + "(升级)"
+						t.PermissionType = v.PermissionType
+						t.Checked = v.Checked
+						p.Items = append(p.Items, t)
+						continue
 					}
-					p.Items = append(p.Items, v)
 
-					t := new(company.PermissionSetItem)
-					t.ChartPermissionId = v.ChartPermissionId + utils.PERMISSION_ID_UPGRADE
-					t.PermissionName = v.PermissionName + "(升级)"
-					t.PermissionType = v.PermissionType
-					t.Checked = v.Checked
-					p.Items = append(p.Items, t)
-					continue
-				}
-
-				// 买方研选划分为3w和5w,10W三种
-				//if v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
-				//	m3, m5, m10 := new(company.PermissionSetItem), new(company.PermissionSetItem), new(company.PermissionSetItem)
-				//	m3.ChartPermissionId = v.ChartPermissionId
-				//	m3.PermissionName = fmt.Sprint(v.PermissionName, "(3w)")
-				//	p.Items = append(p.Items, m3)
-				//
-				//	m5.ChartPermissionId = v.ChartPermissionId + utils.PERMISSION_ID_YANXUAN_DIFF
-				//	m5.PermissionName = fmt.Sprint(v.PermissionName, "(5w)")
-				//	p.Items = append(p.Items, m5)
-				//
-				//	m10.ChartPermissionId = utils.PERMISSION_ID_YANXUAN_10W_DIFF
-				//	m10.PermissionName = fmt.Sprint(v.PermissionName, "(10w)")
-				//	p.Items = append(p.Items, m10)
-				//	continue
-				//}
+					// 买方研选划分为3w和5w,10W三种
+					//if v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
+					//	m3, m5, m10 := new(company.PermissionSetItem), new(company.PermissionSetItem), new(company.PermissionSetItem)
+					//	m3.ChartPermissionId = v.ChartPermissionId
+					//	m3.PermissionName = fmt.Sprint(v.PermissionName, "(3w)")
+					//	p.Items = append(p.Items, m3)
+					//
+					//	m5.ChartPermissionId = v.ChartPermissionId + utils.PERMISSION_ID_YANXUAN_DIFF
+					//	m5.PermissionName = fmt.Sprint(v.PermissionName, "(5w)")
+					//	p.Items = append(p.Items, m5)
+					//
+					//	m10.ChartPermissionId = utils.PERMISSION_ID_YANXUAN_10W_DIFF
+					//	m10.PermissionName = fmt.Sprint(v.PermissionName, "(10w)")
+					//	p.Items = append(p.Items, m10)
+					//	continue
+					//}
 
-				p.Items = append(p.Items, v)
+					p.Items = append(p.Items, v)
+				}
 			}
 		}