|
@@ -195,6 +195,143 @@ func GetCompanyContractPermissionNameMapById(companyContractIds []int) (mapContr
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+func GetCompanyContractPermissionNameMapByIds(companyIds []int) (mapContractResp map[int]string, err error) {
|
|
|
+ //return
|
|
|
+ lenArr := len(companyIds)
|
|
|
+ if lenArr == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition += " AND company_id IN (" + utils.GetOrmInReplace(lenArr) + ") AND product_id = 2 AND status = '正式' "
|
|
|
+ pars = append(pars, companyIds)
|
|
|
+
|
|
|
+ //获取所有开通买方研选正式试用的客户列表
|
|
|
+ listCompanyPermission, e := company.GetCompanyReportPermissionList(condition, pars, 0, 0)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyReportPermissionList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //companyContractList, e := company.GetCompanyContractList(condition, pars)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = errors.New("GetCompanyContractList, Err: " + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ permissionList, e := models.GetChartPermissionList()
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetChartPermissionList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mappermissionName := make(map[int]string)
|
|
|
+ for _, v := range permissionList {
|
|
|
+ if v.ProductId == 2 {
|
|
|
+ mappermissionName[v.ChartPermissionId] = v.Remark
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ mapContractIdPerssion := make(map[int]string) //单个合同ID所对应的套餐或者权限名称
|
|
|
+ //for _, v := range companyContractList {
|
|
|
+ // if v.RaiPackageType == 1 {
|
|
|
+ // mapContractIdPerssion[v.CompanyContractId] = "70w套餐,"
|
|
|
+ // }
|
|
|
+ // if v.RaiPackageType == 2 {
|
|
|
+ // mapContractIdPerssion[v.CompanyContractId] = "45w套餐,"
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //companyContractPermissionList, e := company.GetCompanyContractPermissionList(condition, pars)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = errors.New("GetCompanyContractPermissionList, Err: " + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ mapIsUpgrade := make(map[string]bool) //合同ID对应的行业是否有升级
|
|
|
+ for _, v := range listCompanyPermission {
|
|
|
+ //如果开通的不是整个套餐,那么就做单独的子权限处理
|
|
|
+ if strings.Count(mapContractIdPerssion[(v.CompanyId)], "w套餐") == 0 {
|
|
|
+ if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ if v.ExpensiveYx == 1 {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(5w),"
|
|
|
+ } else if v.ExpensiveYx == 2 {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(10w),"
|
|
|
+ } else {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + ","
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += mappermissionName[v.ChartPermissionId] + ","
|
|
|
+ if v.IsUpgrade == 1 {
|
|
|
+ //合同ID,权限名称形成唯一的主键索引
|
|
|
+ perssionName := mappermissionName[v.ChartPermissionId]
|
|
|
+ perssionName = strings.Replace(perssionName, "(客观)", "", -1)
|
|
|
+ perssionName = strings.Replace(perssionName, "(主观)", "", -1)
|
|
|
+ mapIsUpgrade[fmt.Sprint(v.CompanyContractId, "perssionName", perssionName)] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if v.ChartPermissionId == utils.ZHUAN_JIA_ID {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.ZHUAN_JIA_NAME + ","
|
|
|
+ }
|
|
|
+ if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ if v.ExpensiveYx == 1 {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(5w),"
|
|
|
+ } else if v.ExpensiveYx == 2 {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(10w),"
|
|
|
+ } else {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
|
|
|
+ mapContractIdPerssion[(v.CompanyId)] += utils.YAN_XUAN_KOU_DIAN_BAO_NAME + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //合并客观权限
|
|
|
+ for k, v := range mapContractIdPerssion {
|
|
|
+ perssionName := v
|
|
|
+ if strings.Count(v, utils.YI_YAO_NAME) == 2 {
|
|
|
+ perssionName = strings.Replace(perssionName, "医药(主观)", "医药", -1)
|
|
|
+ perssionName = strings.Replace(perssionName, "医药(客观)", "", -1)
|
|
|
+ }
|
|
|
+ if strings.Count(v, utils.XIAO_FEI_NAME) == 2 {
|
|
|
+ perssionName = strings.Replace(perssionName, "消费(主观)", "消费", -1)
|
|
|
+ perssionName = strings.Replace(perssionName, "消费(客观)", "", -1)
|
|
|
+ }
|
|
|
+ if strings.Count(v, utils.KE_JI_NAME) == 2 {
|
|
|
+ perssionName = strings.Replace(perssionName, "科技(主观)", "科技", -1)
|
|
|
+ perssionName = strings.Replace(perssionName, "科技(客观)", "", -1)
|
|
|
+ }
|
|
|
+ if strings.Count(v, utils.ZHI_ZAO_NAME) == 2 {
|
|
|
+ perssionName = strings.Replace(perssionName, "智造(主观)", "智造", -1)
|
|
|
+ perssionName = strings.Replace(perssionName, "智造(客观)", "", -1)
|
|
|
+ }
|
|
|
+
|
|
|
+ perssionName = strings.TrimRight(perssionName, ",")
|
|
|
+ mapContractIdPerssion[k] = perssionName
|
|
|
+ }
|
|
|
+ mapContractResp = make(map[int]string, 0)
|
|
|
+
|
|
|
+ //过滤多余的","
|
|
|
+ for k, v := range mapContractIdPerssion {
|
|
|
+ sliceName := strings.Split(v, ",")
|
|
|
+ var nameArr []string
|
|
|
+ for _, vName := range sliceName {
|
|
|
+ if vName == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if mapIsUpgrade[fmt.Sprint(k, "perssionName", vName)] {
|
|
|
+ vName += "(升级)"
|
|
|
+ }
|
|
|
+ nameArr = append(nameArr, vName)
|
|
|
+ }
|
|
|
+ mapContractResp[k] = strings.Join(nameArr, ",")
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// GetCompanyPermissionNameStatusMapByCompanyId 通过公司ID,获取公司当下所有权限的状态信息
|
|
|
func GetCompanyPermissionNameStatusMapByCompanyId(companyIds []int) (mapResp map[string]string, err error) {
|
|
|
//return
|
|
@@ -205,7 +342,7 @@ func GetCompanyPermissionNameStatusMapByCompanyId(companyIds []int) (mapResp map
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
|
- condition += " AND company_id IN (" + utils.GetOrmInReplace(lenArr) + ") AND product_id = 2 "
|
|
|
+ condition += " AND company_id IN (" + utils.GetOrmInReplace(lenArr) + ") AND product_id = 2 AND status = '正式' "
|
|
|
pars = append(pars, companyIds)
|
|
|
|
|
|
//获取所有开通买方研选正式试用的客户列表
|