|
@@ -330,7 +330,7 @@ func GetUserType(companyId int) (userType int, permissionStrnew string, err erro
|
|
|
err = errs
|
|
|
return
|
|
|
}
|
|
|
- permissionStr, errs = models.GetCompanyPermissionByUser(companyId)
|
|
|
+ permissionStr, errs = models.GetCompanyPermission(companyId)
|
|
|
if errs != nil {
|
|
|
err = errs
|
|
|
return
|
|
@@ -341,32 +341,34 @@ func GetUserType(companyId int) (userType int, permissionStrnew string, err erro
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
+ //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户、 10: 30W套餐客户
|
|
|
//大套餐客户定义:医药、消费、科技、智造、策略。5个行业中任意4个及以上是正式权限的,属于大套餐客户(医药、消费、科技、智造需要主客观都开)
|
|
|
if companyDetail.Status == "永续" {
|
|
|
userType = 1
|
|
|
} else if companyDetail.Status == "试用" {
|
|
|
userType = 5
|
|
|
} else if companyDetail.Status == "正式" {
|
|
|
- if permissionStr == "专家" {
|
|
|
- userType = 4
|
|
|
- } else if strings.Count(permissionZhengShiStr, "医药") == 2 && strings.Count(permissionZhengShiStr, "消费") == 2 && strings.Count(permissionZhengShiStr, "科技") == 2 && strings.Count(permissionZhengShiStr, "智造") == 2 {
|
|
|
- userType = 2
|
|
|
- } else {
|
|
|
- userType = 3
|
|
|
- }
|
|
|
- if userType == 3 {
|
|
|
- if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
|
|
|
- userType = 4
|
|
|
- }
|
|
|
- }
|
|
|
+ userType = 0
|
|
|
+ //if permissionStr == "专家" {
|
|
|
+ // userType = 4
|
|
|
+ //}
|
|
|
+ //else if strings.Count(permissionZhengShiStr, "医药") == 2 && strings.Count(permissionZhengShiStr, "消费") == 2 && strings.Count(permissionZhengShiStr, "科技") == 2 && strings.Count(permissionZhengShiStr, "智造") == 2 && strings.Count(permissionZhengShiStr, "策略") == 1 {
|
|
|
+ // userType = 2
|
|
|
+ //} else {
|
|
|
+ // userType = 3
|
|
|
+ //}
|
|
|
+ //if userType == 3 {
|
|
|
+ // if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
|
|
|
+ // userType = 4
|
|
|
+ // }
|
|
|
+ //}
|
|
|
} else if companyDetail.Status == "冻结" {
|
|
|
userType = 6
|
|
|
} else if companyDetail.Status == "流失" {
|
|
|
userType = 7
|
|
|
}
|
|
|
//大套餐客户定义:医药、消费、科技、智造、策略。5个行业中任意4个及以上是正式权限的,属于大套餐客户(医药、消费、科技、智造需要主客观都开)
|
|
|
- if userType == 3 {
|
|
|
+ if userType == 0 && companyDetail.Status == "正式" {
|
|
|
var permissionZhegnshiNum int
|
|
|
if strings.Count(permissionZhengShiStr, "医药") == 2 {
|
|
|
permissionZhegnshiNum++
|
|
@@ -383,8 +385,19 @@ func GetUserType(companyId int) (userType int, permissionStrnew string, err erro
|
|
|
if strings.Count(permissionZhengShiStr, "策略") == 1 {
|
|
|
permissionZhegnshiNum++
|
|
|
}
|
|
|
- if permissionZhegnshiNum >= 4 {
|
|
|
+ if permissionZhegnshiNum == 5 {
|
|
|
userType = 2
|
|
|
+ } else if permissionZhegnshiNum == 4 {
|
|
|
+ userType = 10
|
|
|
+ } else {
|
|
|
+ permissionShengji, errs := models.GetCompanyPermissionByUserZhengShiTrip(companyId)
|
|
|
+ if errs != nil {
|
|
|
+ err = errs
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if permissionShengji != "" {
|
|
|
+ userType = 9
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -534,25 +547,31 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
|
|
|
permissionNameStr = strings.TrimRight(permissionNameStr, ",")
|
|
|
|
|
|
+ mapUserType, e := GetActivityCcustomerTypeList()
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var userTypeStr string
|
|
|
+ userTypeStr = mapUserType[userType]
|
|
|
// 查研观向7.4-始终查询宏观的权限(无论是否有权限)
|
|
|
if permissionNameStr == `` {
|
|
|
permissionNameStr = `'宏观'`
|
|
|
} else {
|
|
|
permissionNameStr += `, '宏观'`
|
|
|
}
|
|
|
-
|
|
|
var condition string
|
|
|
var conditionAdmin string
|
|
|
var conditionHz string // 弘则权限处理
|
|
|
var sqlExport string // 专家权限处理
|
|
|
permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionNameStr + `)`
|
|
|
- sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
|
|
|
- if userType == 2 {
|
|
|
- sqlExport += ` OR art.customer_type_ids LIKE '%3%' `
|
|
|
- }
|
|
|
- if (userType == 2 || userType == 3) && strings.Contains(permissionStr, "专家") {
|
|
|
- sqlExport += ` OR art.customer_type_ids LIKE '%4%' `
|
|
|
- }
|
|
|
+ sqlExport = ` AND (art.customer_type_ids LIKE '%` + userTypeStr + `%' `
|
|
|
+ //if userType == 2 {
|
|
|
+ // sqlExport += ` OR art.customer_type_ids LIKE '%3%' `
|
|
|
+ //}
|
|
|
+ //if (userType == 2 || userType == 3) && strings.Contains(permissionStr, "专家") {
|
|
|
+ // sqlExport += ` OR art.customer_type_ids LIKE '%4%' `
|
|
|
+ //}
|
|
|
sqlExport += `) `
|
|
|
// 如果是C类电话会就不展示内容,且合并到分析师电话会
|
|
|
if activityTypeId != "" {
|
|
@@ -686,6 +705,55 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
//查询全部可见的数据(是否全部客户可见)
|
|
|
//condition += ` AND art.visible_range != 1 AND art.publish_status = 1 `
|
|
|
condition += ` AND art.publish_status = 1 `
|
|
|
+
|
|
|
+ permissionZhengShiStr, errs := models.GetCompanyPermissionByUserZhengShi(user.CompanyId)
|
|
|
+ if errs != nil {
|
|
|
+ err = errs
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //3:该活动对应行业为正式状态的客户 查询处理
|
|
|
+ if permissionZhengShiStr != "" {
|
|
|
+ slicePerZhengshi := strings.Split(permissionZhengShiStr, ",")
|
|
|
+ permissionZhengShiStr = ""
|
|
|
+ for _, v := range slicePerZhengshi {
|
|
|
+ if userType == 1 {
|
|
|
+ //研选权限处理(永续客户无法查看研选)
|
|
|
+ if !strings.Contains(v, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ permissionZhengShiStr += "'" + v + "',"
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ permissionZhengShiStr += "'" + v + "',"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ permissionZhengShiStr = strings.Replace(permissionZhengShiStr, "(主观)", "", -1)
|
|
|
+ permissionZhengShiStr = strings.Replace(permissionZhengShiStr, "(客观)", "", -1)
|
|
|
+ permissionZhengShiStr = strings.TrimRight(permissionZhengShiStr, ",")
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%3%' AND art.chart_permission_name IN (` + permissionZhengShiStr + `)` + condition + `) `
|
|
|
+ }
|
|
|
+
|
|
|
+ // 8: 行业升级套餐客户:该活动对应行业为升级权限的客户
|
|
|
+ permissionShengji, errs := models.GetCompanyPermissionByUserZhengShiTrip(user.CompanyId)
|
|
|
+ if errs != nil {
|
|
|
+ err = errs
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if permissionShengji != "" {
|
|
|
+ slicePerShengji := strings.Split(permissionShengji, ",")
|
|
|
+ permissionShengji = ""
|
|
|
+ for _, v := range slicePerShengji {
|
|
|
+ if userType == 1 {
|
|
|
+ //研选权限处理(永续客户无法查看研选)
|
|
|
+ if !strings.Contains(v, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ permissionShengji += "'" + v + "',"
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ permissionShengji += "'" + v + "',"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ permissionShengji = strings.TrimRight(permissionShengji, ",")
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%8%' AND art.chart_permission_name IN (` + permissionShengji + `)` + condition + `) `
|
|
|
+ }
|
|
|
+
|
|
|
conditionHz = condition
|
|
|
|
|
|
//活动仅决策人可见
|
|
@@ -715,7 +783,7 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
}
|
|
|
|
|
|
if adminIds != "" {
|
|
|
- conditionOr += ` OR ( art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' ` + ` AND art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
|
|
|
+ conditionOr += ` OR ( art.customer_type_ids LIKE '%` + userTypeStr + `%' ` + ` AND art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
|
|
|
if companyProduct != nil {
|
|
|
if companyProduct.Scale != "" {
|
|
|
conditionOr += ` OR ( art.scale LIKE '%` + companyProduct.Scale + `%'` + ` AND art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
|