Procházet zdrojové kódy

Merge remote-tracking branch 'origin/debug' into debug

zwxi před 11 měsíci
rodič
revize
4f93e2a677

+ 1 - 0
controllers/company.go

@@ -3295,6 +3295,7 @@ func (this *CompanyController) Detail() {
 				if v.ParentId == 0 {
 					checkList := make([]int, 0)
 					plist := new(company.PermissionLookList)
+					plist.Items = make([]*company.PermissionLookItem, 0)
 					items, ok := permissionMap[v.ChartPermissionId]
 					if ok {
 						for itemK, n := range items {

+ 2 - 1
controllers/company_apply.go

@@ -1923,7 +1923,7 @@ func (this *CompanyApplyController) ApplyContract() {
 		allFiccPermissions, e := company.GetPermissionLookItemsByProductId(utils.COMPANY_PRODUCT_FICC_ID)
 		if e != nil {
 			br.Msg = "获取权限信息失败"
-			br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+			br.ErrMsg = "获取权限信息失败,Err:" + e.Error()
 			return
 		}
 		permissionMap := make(map[int][]*company.PermissionLookItem, 0)
@@ -1940,6 +1940,7 @@ func (this *CompanyApplyController) ApplyContract() {
 			if v.ParentId == 0 {
 				checkList := make([]int, 0)
 				plist := new(company.PermissionLookList)
+				plist.Items = make([]*company.PermissionLookItem, 0)
 				items, ok := permissionMap[v.ChartPermissionId]
 				if ok {
 					plist.Items = items

+ 32 - 5
controllers/company_permission.go

@@ -70,16 +70,17 @@ func (this *CompanyPermissionController) List() {
 		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
 				}
-				/*if v.PermissionName == "宏观经济" { //判断是否可选
-					checkList = append(checkList, 1)
-				}*/
 				resp.List = append(resp.List, p)
 			}
 		}
@@ -269,6 +270,8 @@ func (this *CompanyPermissionController) ListByContract() {
 					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
@@ -790,7 +793,31 @@ func (this *CompanyPermissionController) PermissionVariety() {
 	}
 
 	if productId == 1 {
-		for k, v := range utils.PermissionFiccClassifyArr {
+		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 {
+			if v.ParentId > 0 {
+				permissionMap[v.ParentId] = append(permissionMap[v.ParentId], v)
+			}
+		}
+		for _, v := range allFiccPermissions {
+			if v.ParentId == 0 {
+				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
@@ -802,7 +829,7 @@ func (this *CompanyPermissionController) PermissionVariety() {
 			}
 			p.Items = items
 			resp.List = append(resp.List, p)
-		}
+		}*/
 	} else if productId == 2 {
 		v := "权益"
 		p := new(company.PermissionVarietyList)

+ 6 - 6
controllers/contract/contract.go

@@ -1611,7 +1611,7 @@ func (this *ContractController) Detail() {
 	if isNeedPermission {
 		checkPermissionMap, tErr := contractService.GetServicePermissionMap(contractInfo.Service)
 		if tErr == nil {
-			permissionLookListMap := make(map[string][]*contract.PermissionLookItem)
+			permissionLookListMap := make(map[int][]*contract.PermissionLookItem)
 			var permissionIds []string
 			for _, v := range checkPermissionMap {
 				permissionIds = append(permissionIds, strconv.Itoa(v))
@@ -1624,12 +1624,12 @@ func (this *ContractController) Detail() {
 					tmp.ClassifyName = v.ClassifyName
 					tmp.PermissionName = v.PermissionName
 					tmp.ChartPermissionId = v.ChartPermissionId
-					permissionLookListMap[v.ClassifyName] = append(permissionLookListMap[v.ClassifyName], tmp)
+					permissionLookListMap[v.ParentId] = append(permissionLookListMap[v.ParentId], tmp)
 				}
 				classifyNameList, tErr2 := company.GetChartPermissionFirst()
 				if tErr2 == nil {
 					for _, v := range classifyNameList {
-						if perList, ok := permissionLookListMap[v.ClassifyName]; ok {
+						if perList, ok := permissionLookListMap[v.ChartPermissionId]; ok {
 							permissionLookListRespItem := &contract.PermissionLookList{
 								ClassifyName: v.ClassifyName,
 								Items:        perList,
@@ -2998,7 +2998,7 @@ func (this *ContractController) DetailMerge() {
 	if isNeedPermission {
 		checkPermissionMap, tErr := contractService.GetServicePermissionMap(contractInfo.Service)
 		if tErr == nil {
-			permissionLookListMap := make(map[string][]*contract.PermissionLookItem)
+			permissionLookListMap := make(map[int][]*contract.PermissionLookItem)
 			var permissionIds []string
 			for _, v := range checkPermissionMap {
 				permissionIds = append(permissionIds, strconv.Itoa(v))
@@ -3011,12 +3011,12 @@ func (this *ContractController) DetailMerge() {
 					tmp.ClassifyName = v.ClassifyName
 					tmp.PermissionName = v.PermissionName
 					tmp.ChartPermissionId = v.ChartPermissionId
-					permissionLookListMap[v.ClassifyName] = append(permissionLookListMap[v.ClassifyName], tmp)
+					permissionLookListMap[v.ParentId] = append(permissionLookListMap[v.ParentId], tmp)
 				}
 				classifyNameList, tErr2 := company.GetChartPermissionFirst()
 				if tErr2 == nil {
 					for _, v := range classifyNameList {
-						if perList, ok := permissionLookListMap[v.ClassifyName]; ok {
+						if perList, ok := permissionLookListMap[v.ChartPermissionId]; ok {
 							permissionLookListRespItem := &contract.PermissionLookList{
 								ClassifyName: v.ClassifyName,
 								Items:        perList,

+ 2 - 0
models/chart_permission.go

@@ -27,6 +27,8 @@ type ChartPermission struct {
 	CygxAuth            int       `description:"是否是权限,用于查研观向小程序前台权限校验"`
 	YbImgUrl            string    `description:"研报小程序报告列表icon"`
 	PriceDrivenState    int       `description:"品种价格驱动开启状态 0-关闭 1-开启"`
+	ParentId            int       `description:"父级权限id"`
+	IsPublic            int       `description:"是否是公有权限1:公有权限,0私有权限"`
 }
 
 // GetChartPermissionById 主键获取权限

+ 12 - 2
models/company/company_permission.go

@@ -63,7 +63,8 @@ type PermissionSetResp struct {
 }
 
 type ChartPermissionFirst struct {
-	ClassifyName string `description:"分类"`
+	ChartPermissionId int    `description:"权限id"`
+	ClassifyName      string `description:"分类"`
 }
 
 func GetPermissionSetItems(productId int, classifyName string) (items []*PermissionSetItem, err error) {
@@ -272,6 +273,7 @@ type PermissionVarietyResp struct {
 
 type PermissionVarietyItem struct {
 	ChartPermissionId int    `description:"权限id"`
+	ParentId          int    `description:"父级权限id"`
 	ClassifyName      string `orm:"column(permission_name)" description:"权限名称"`
 }
 
@@ -281,6 +283,7 @@ type PermissionVarietyList struct {
 	Items             []*PermissionVarietyItem
 }
 
+// todo 删除品种列表
 func GetPermissionVarietyItems(productId int, classifyName string) (items []*PermissionVarietyItem, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? GROUP BY permission_name ORDER BY sort ASC `
@@ -288,6 +291,13 @@ func GetPermissionVarietyItems(productId int, classifyName string) (items []*Per
 	return
 }
 
+func GetPermissionVarietyItemsByProductId(productId int) (items []*PermissionVarietyItem, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? GROUP BY permission_name ORDER BY sort ASC `
+	_, err = o.Raw(sql, productId).QueryRows(&items)
+	return
+}
+
 func GetCompanyReportPermission(companyId, productId int) (items []*CompanyReportPermission, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM company_report_permission WHERE company_id=? AND product_id=? `
@@ -479,7 +489,7 @@ func GetGroupNamesById(gid int) (items *string, err error) {
 // GetChartPermissionFirst 获取排序后的权限分类
 func GetChartPermissionFirst() (list []*ChartPermissionFirst, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT classify_name FROM chart_permission_first ORDER BY yb_index_sort ASC `
+	sql := ` SELECT chart_permission_id, classify_name FROM chart_permission where enabled =1 and product_id=1 and parent_id=0 ORDER BY sort ASC `
 	_, err = o.Raw(sql).QueryRows(&list)
 	return
 }

+ 20 - 13
services/yb/road_video.go

@@ -330,26 +330,33 @@ func GetFiccPermission() (ret response.RoadPermissionResp, err error) {
 	if err != nil {
 		return
 	}
-	permissionFirstMap := make(map[string]*response.RoadPermissionItem)
+	permissionFirstMap := make(map[int]*response.RoadPermissionItem)
 
-	//查询首页展示的图标
+	/*//查询首页展示的图标
 	permissionFirstList, err := models.GetYbChartPermissionFirst()
 	if err != nil {
 		return
-	}
-	for _, v := range permissionFirstList {
-		permissionFirstMap[v.ClassifyName] = &response.RoadPermissionItem{
-			Id:           v.Id,
-			ClassifyName: v.YbIndexName,
+	}*/
+	permissionFirstList := make([]*response.RoadPermissionItem, 0)
+	for _, v := range permissionList {
+		if v.ParentId == 0 {
+			tmp := &response.RoadPermissionItem{
+				Id:           v.ChartPermissionId,
+				ClassifyName: v.PermissionName,
+			}
+			permissionFirstMap[v.ParentId] = tmp
+			permissionFirstList = append(permissionFirstList, tmp)
 		}
 	}
 
 	for _, v := range permissionList {
-		temp := new(response.RoadPermissionSecondItem)
-		temp.ChartPermissionID = v.ChartPermissionId
-		temp.ChartPermissionName = v.PermissionName
-		if _, ok := permissionFirstMap[v.ClassifyName]; ok {
-			permissionFirstMap[v.ClassifyName].List = append(permissionFirstMap[v.ClassifyName].List, temp)
+		if v.ParentId > 0 {
+			temp := new(response.RoadPermissionSecondItem)
+			temp.ChartPermissionID = v.ChartPermissionId
+			temp.ChartPermissionName = v.PermissionName
+			if _, ok := permissionFirstMap[v.ParentId]; ok {
+				permissionFirstMap[v.ParentId].List = append(permissionFirstMap[v.ParentId].List, temp)
+			}
 		}
 	}
 
@@ -358,7 +365,7 @@ func GetFiccPermission() (ret response.RoadPermissionResp, err error) {
 		temp := new(response.RoadPermissionItem)
 		temp.Id = v.Id
 		temp.ClassifyName = v.ClassifyName
-		temp.List = permissionFirstMap[v.ClassifyName].List
+		temp.List = permissionFirstMap[v.Id].List
 		list = append(list, temp)
 	}
 	ret.List = list