|
@@ -17,6 +17,7 @@ type CompanyPermissionController struct {
|
|
|
BaseAuthController
|
|
|
}
|
|
|
|
|
|
+// List
|
|
|
// @Title 获取权限设置基础信息
|
|
|
// @Description 获取权限设置基础信息接口
|
|
|
// @Param CompanyType query string true "客户类型:传空字符串或者不传为全部,'ficc','权益'"
|
|
@@ -50,23 +51,40 @@ func (this *CompanyPermissionController) List() {
|
|
|
|
|
|
// FICC
|
|
|
if productId == utils.COMPANY_PRODUCT_FICC_ID || companyType == utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
- for _, v := range utils.PermissionFiccClassifyArr {
|
|
|
- checkList := make([]int, 0)
|
|
|
- p := new(company.PermissionSetList)
|
|
|
- p.ClassifyName = v
|
|
|
- items, err := company.GetPermissionSetItems(utils.COMPANY_PRODUCT_FICC_ID, v)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ items, err := company.GetPermissionByProductId(utils.COMPANY_PRODUCT_FICC_ID)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionMap := make(map[int][]*company.PermissionSetItem, 0)
|
|
|
+ permissionCheckMap := make(map[int][]int, 0)
|
|
|
+ for _, v := range items {
|
|
|
+ if v.ParentId > 0 {
|
|
|
+ permissionMap[v.ParentId] = append(permissionMap[v.ParentId], v)
|
|
|
+ if v.IsPublic == 1 {
|
|
|
+ permissionCheckMap[v.ParentId] = append(permissionCheckMap[v.ParentId], v.ChartPermissionId)
|
|
|
+ }
|
|
|
}
|
|
|
- p.Items = items
|
|
|
- if v == "宏观经济" {
|
|
|
- checkList = append(checkList, 1)
|
|
|
+ }
|
|
|
+ for _, v := range items {
|
|
|
+ if v.ParentId == 0 {
|
|
|
+ p := new(company.PermissionSetList)
|
|
|
+ p.Items = make([]*company.PermissionSetItem, 0)
|
|
|
+ p.CheckList = make([]int, 0)
|
|
|
+ p.ClassifyName = v.PermissionName
|
|
|
+
|
|
|
+ if subList, ok := permissionMap[v.ChartPermissionId]; ok {
|
|
|
+ p.Items = subList
|
|
|
+ }
|
|
|
+
|
|
|
+ if checkList, ok := permissionCheckMap[v.ChartPermissionId]; ok {
|
|
|
+ p.CheckList = checkList
|
|
|
+ }
|
|
|
+ resp.List = append(resp.List, p)
|
|
|
}
|
|
|
- p.CheckList = checkList
|
|
|
- resp.List = append(resp.List, p)
|
|
|
}
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
@@ -83,13 +101,19 @@ func (this *CompanyPermissionController) List() {
|
|
|
br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ filterPermissionName := []string{"专家", "路演服务", "调研"} // 需要过滤不展示的行业
|
|
|
+ if isShowYanXuanKouDian {
|
|
|
+ filterPermissionName = []string{"专家"} //申请转正,或者申请续约的时候 调研 行业需要进行展示
|
|
|
+ }
|
|
|
// 原始版的权限
|
|
|
if noUpgrade {
|
|
|
for _, v := range items {
|
|
|
if !isShowYanXuanKouDian && v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
|
|
|
continue
|
|
|
}
|
|
|
+ if utils.InArrayByStr(filterPermissionName, v.PermissionName) {
|
|
|
+ continue
|
|
|
+ }
|
|
|
p.Items = append(p.Items, v)
|
|
|
}
|
|
|
}
|
|
@@ -135,6 +159,9 @@ func (this *CompanyPermissionController) List() {
|
|
|
if !isShowYanXuanKouDian && v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
|
|
|
continue
|
|
|
}
|
|
|
+ if utils.InArrayByStr(filterPermissionName, v.PermissionName) {
|
|
|
+ continue
|
|
|
+ }
|
|
|
// 处理四大行业的升级展示
|
|
|
if strings.Contains("医药消费科技智造", v.PermissionName) {
|
|
|
// 内部人员需要拆分主客观权限
|
|
@@ -219,27 +246,41 @@ func (this *CompanyPermissionController) ListByContract() {
|
|
|
|
|
|
roleTypeCode := sysUser.RoleTypeCode
|
|
|
productId = services.GetProductId(roleTypeCode)
|
|
|
- if productId == 1 {
|
|
|
- for _, v := range utils.PermissionFiccClassifyArr {
|
|
|
- //合同这边市场策略不需要体现出来,所以调整返回
|
|
|
- if v == "市场策略" {
|
|
|
- continue
|
|
|
- }
|
|
|
- checkList := make([]int, 0)
|
|
|
- p := new(company.PermissionSetList)
|
|
|
- p.ClassifyName = v
|
|
|
- items, err := company.GetPermissionSetItems(productId, v)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ if productId == 1 || companyType == utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
+ allFiccPermissions, err := company.GetPermissionByProductId(utils.COMPANY_PRODUCT_FICC_ID)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionMap := make(map[int][]*company.PermissionSetItem, 0)
|
|
|
+ permissionCheckMap := make(map[int][]int, 0)
|
|
|
+ for _, v := range allFiccPermissions {
|
|
|
+ if v.ParentId > 0 {
|
|
|
+ permissionMap[v.ParentId] = append(permissionMap[v.ParentId], v)
|
|
|
+ if v.IsPublic == 1 {
|
|
|
+ permissionCheckMap[v.ParentId] = append(permissionCheckMap[v.ParentId], v.ChartPermissionId)
|
|
|
+ }
|
|
|
}
|
|
|
- p.Items = items
|
|
|
- if v == "宏观经济" {
|
|
|
- checkList = append(checkList, 1)
|
|
|
+ }
|
|
|
+ for _, v := range allFiccPermissions {
|
|
|
+ if v.ParentId == 0 {
|
|
|
+ //合同这边市场策略不需要体现出来,所以调整返回
|
|
|
+ if v.PermissionName == "市场策略" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ p := new(company.PermissionSetList)
|
|
|
+ p.Items = make([]*company.PermissionSetItem, 0)
|
|
|
+ p.CheckList = make([]int, 0)
|
|
|
+ p.ClassifyName = v.PermissionName
|
|
|
+ if subList, ok := permissionMap[v.ChartPermissionId]; ok {
|
|
|
+ p.Items = subList
|
|
|
+ }
|
|
|
+ if checkList, ok := permissionCheckMap[v.ChartPermissionId]; ok {
|
|
|
+ p.CheckList = checkList
|
|
|
+ }
|
|
|
+ resp.List = append(resp.List, p)
|
|
|
}
|
|
|
- p.CheckList = checkList
|
|
|
- resp.List = append(resp.List, p)
|
|
|
}
|
|
|
} else if productId == 2 {
|
|
|
checkList := make([]int, 0)
|
|
@@ -256,25 +297,7 @@ func (this *CompanyPermissionController) ListByContract() {
|
|
|
p.CheckList = checkList
|
|
|
resp.List = append(resp.List, p)
|
|
|
} else {
|
|
|
- if companyType == utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
- for _, v := range utils.PermissionFiccClassifyArr {
|
|
|
- checkList := make([]int, 0)
|
|
|
- p := new(company.PermissionSetList)
|
|
|
- p.ClassifyName = v
|
|
|
- items, err := company.GetPermissionSetItems(1, v)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- p.Items = items
|
|
|
- if v == "宏观经济" {
|
|
|
- checkList = append(checkList, 1)
|
|
|
- }
|
|
|
- p.CheckList = checkList
|
|
|
- resp.List = append(resp.List, p)
|
|
|
- }
|
|
|
- } else {
|
|
|
+ if companyType != utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
v := "权益"
|
|
|
checkList := make([]int, 0)
|
|
|
p := new(company.PermissionSetList)
|
|
@@ -327,38 +350,33 @@ func (this *CompanyPermissionController) PermissionLook() {
|
|
|
productId := services.GetProductId(roleTypeCode)
|
|
|
|
|
|
resp := new(company.PermissionLookResp)
|
|
|
- permissionArr := []string{}
|
|
|
+ permissionArr := make([]*models.ChartPermission, 0)
|
|
|
+ var err error
|
|
|
if lookType == 1 {
|
|
|
- if productId == 1 {
|
|
|
- for _, permission := range utils.PermissionFiccClassifyArr {
|
|
|
- permissionArr = append(permissionArr, permission)
|
|
|
- }
|
|
|
- } else if productId == 2 {
|
|
|
- permissionArr = []string{"权益"}
|
|
|
- } else {
|
|
|
- for _, permission := range utils.PermissionAllClassifyArr {
|
|
|
- permissionArr = append(permissionArr, permission)
|
|
|
- }
|
|
|
- }
|
|
|
+ permissionArr, err = services.GetPermissionFirstArr(productId)
|
|
|
} else {
|
|
|
- for _, permission := range utils.PermissionAllClassifyArr {
|
|
|
- permissionArr = append(permissionArr, permission)
|
|
|
- }
|
|
|
+ permissionArr, err = services.GetPermissionFirstArr(0)
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取权限失败"
|
|
|
+ br.ErrMsg = "获取权限失败 err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
//ficc权限类目
|
|
|
for _, v := range permissionArr {
|
|
|
checkList := make([]int, 0)
|
|
|
p := new(company.PermissionLookList)
|
|
|
+ p.Items = make([]*company.PermissionLookItem, 0)
|
|
|
var productId int
|
|
|
//if v == "权益" {
|
|
|
// productId = 2
|
|
|
//} else {
|
|
|
// productId = 1
|
|
|
//}
|
|
|
- if v != "权益" {
|
|
|
+ if v.PermissionName != "权益" {
|
|
|
productId = 1
|
|
|
//mapPermissionName := make(map[string]int)
|
|
|
- items, err := company.GetPermissionLookItems(productId, v)
|
|
|
+ items, err := company.GetPermissionLookItemsByParentId(productId, v.ChartPermissionId)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
@@ -404,7 +422,7 @@ func (this *CompanyPermissionController) PermissionLook() {
|
|
|
}
|
|
|
expireDay := fmt.Sprintf("%v", int(sub.Hours()/24))
|
|
|
items[i].ExpireDay = expireDay
|
|
|
- items[i].ClassifyName = v
|
|
|
+ items[i].ClassifyName = v.PermissionName
|
|
|
if lookType == 1 {
|
|
|
permissionList = append(permissionList, items[i])
|
|
|
} else {
|
|
@@ -421,7 +439,7 @@ func (this *CompanyPermissionController) PermissionLook() {
|
|
|
mapPermissionNameList[v.PermissionName] = v.ChartPermissionId
|
|
|
}
|
|
|
}
|
|
|
- p.ClassifyName = v
|
|
|
+ p.ClassifyName = v.PermissionName
|
|
|
//p.Items = permissionList
|
|
|
p.CheckList = checkList
|
|
|
if lookType == 1 {
|
|
@@ -434,16 +452,22 @@ func (this *CompanyPermissionController) PermissionLook() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ var filterPermissionName []string
|
|
|
+ if lookType == 1 {
|
|
|
+ filterPermissionName = []string{"专家", "路演服务", "研选扣点包", "调研"}
|
|
|
+ } else {
|
|
|
+ filterPermissionName = []string{"调研"}
|
|
|
+ }
|
|
|
//权益权限类目
|
|
|
for _, v := range permissionArr {
|
|
|
|
|
|
- if v == "权益" {
|
|
|
+ if v.PermissionName == "权益" {
|
|
|
// CRM8.8-权益权限列表调用较多、统一进行调整
|
|
|
unify := false
|
|
|
if lookType == 1 {
|
|
|
unify = true
|
|
|
}
|
|
|
- p, e := services.RaiCompanyPermissionAndCheckList(companyId, unify)
|
|
|
+ p, e := services.RaiCompanyPermissionAndCheckList(companyId, unify, filterPermissionName)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取客户权益权限列表信息失败"
|
|
|
br.ErrMsg = "获取客户权益权限列表信息失败,Err:" + e.Error()
|
|
@@ -745,8 +769,34 @@ func (this *CompanyPermissionController) PermissionVariety() {
|
|
|
productId = 0
|
|
|
}
|
|
|
|
|
|
- if productId == 1 {
|
|
|
- for k, v := range utils.PermissionFiccClassifyArr {
|
|
|
+ if productId == 1 || companyType == utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
+ permissionFirst, e := services.GetPermissionFirstArr(utils.COMPANY_PRODUCT_FICC_ID)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取权限信息失败"
|
|
|
+ br.ErrMsg = "获取权限信息失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ allFiccPermissions, e := company.GetPermissionVarietyItemsByProductId(utils.COMPANY_PRODUCT_FICC_ID)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取权限信息失败"
|
|
|
+ br.ErrMsg = "获取权限信息失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionMap := make(map[int][]*company.PermissionVarietyItem, 0)
|
|
|
+ for _, v := range allFiccPermissions {
|
|
|
+ permissionMap[v.ParentId] = append(permissionMap[v.ParentId], v)
|
|
|
+ }
|
|
|
+ for _, v := range permissionFirst {
|
|
|
+ p := new(company.PermissionVarietyList)
|
|
|
+ p.ClassifyName = v.ClassifyName
|
|
|
+ p.ChartPermissionId = v.ChartPermissionId + 100
|
|
|
+ items, ok := permissionMap[v.ChartPermissionId]
|
|
|
+ if ok {
|
|
|
+ p.Items = items
|
|
|
+ }
|
|
|
+ resp.List = append(resp.List, p)
|
|
|
+ }
|
|
|
+ /*for k, v := range utils.PermissionFiccClassifyArr {
|
|
|
p := new(company.PermissionVarietyList)
|
|
|
p.ClassifyName = v
|
|
|
p.ChartPermissionId = k + 100
|
|
@@ -758,7 +808,7 @@ func (this *CompanyPermissionController) PermissionVariety() {
|
|
|
}
|
|
|
p.Items = items
|
|
|
resp.List = append(resp.List, p)
|
|
|
- }
|
|
|
+ }*/
|
|
|
} else if productId == 2 {
|
|
|
v := "权益"
|
|
|
p := new(company.PermissionVarietyList)
|
|
@@ -773,21 +823,7 @@ func (this *CompanyPermissionController) PermissionVariety() {
|
|
|
p.Items = items
|
|
|
resp.List = append(resp.List, p)
|
|
|
} else {
|
|
|
- if companyType == utils.COMPANY_PRODUCT_FICC_NAME {
|
|
|
- for k, v := range utils.PermissionFiccClassifyArr {
|
|
|
- p := new(company.PermissionVarietyList)
|
|
|
- p.ClassifyName = v
|
|
|
- p.ChartPermissionId = k + 100
|
|
|
- items, err := company.GetPermissionVarietyItems(1, v)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- p.Items = items
|
|
|
- resp.List = append(resp.List, p)
|
|
|
- }
|
|
|
- } else if companyType == utils.COMPANY_PRODUCT_RAI_NAME {
|
|
|
+ if companyType == utils.COMPANY_PRODUCT_RAI_NAME {
|
|
|
v := "权益"
|
|
|
p := new(company.PermissionVarietyList)
|
|
|
p.ClassifyName = v
|