|
@@ -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
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
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
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
} else if companyDetail.Status == "冻结" {
|
|
|
userType = 6
|
|
|
} else if companyDetail.Status == "流失" {
|
|
|
userType = 7
|
|
|
}
|
|
|
|
|
|
- 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]
|
|
|
|
|
|
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 + `%' `
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
sqlExport += `) `
|
|
|
|
|
|
if activityTypeId != "" {
|
|
@@ -686,6 +705,55 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
|
|
|
|
|
|
condition += ` AND art.publish_status = 1 `
|
|
|
+
|
|
|
+ permissionZhengShiStr, errs := models.GetCompanyPermissionByUserZhengShi(user.CompanyId)
|
|
|
+ if errs != nil {
|
|
|
+ err = errs
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 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 + `) `
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ 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 + `) `
|