浏览代码

Merge branch 'feature/eta1.6.7_permission' into debug

xyxie 1 年之前
父节点
当前提交
474303b099
共有 3 个文件被更改,包括 58 次插入2 次删除
  1. 39 0
      controllers/contract/contract.go
  2. 8 0
      models/chart_permission.go
  3. 11 2
      models/contract/contract_service_detail.go

+ 39 - 0
controllers/contract/contract.go

@@ -78,6 +78,45 @@ func (this *ContractController) GetServiceTemplateList() {
 				br.ErrMsg = "获取详情模板失败,Err:" + err.Error()
 				return
 			}
+			if productId == 1 {
+				// 特殊处理Ficc周报、商品双周报、数据点评的套餐显示
+				// 把detail转成go struct
+				// 查询默认的公有权限
+				publicPermissionList, tmpE := models.GetFiccPermissionSecondPublic()
+				if tmpE != nil {
+					br.Msg = "获取失败"
+					br.ErrMsg = "获取默认的公有权限失败,Err:" + tmpE.Error()
+					return
+				}
+				publicPermissionIds := make([]int, 0)
+				publicPermissionNames := make([]string, 0)
+				for _, v := range publicPermissionList {
+					publicPermissionIds = append(publicPermissionIds, v.ChartPermissionId)
+					publicPermissionNames = append(publicPermissionNames, v.PermissionName)
+				}
+				for k, v := range detail {
+					if v.Id == 4 || v.Id == 5 || v.Id == 6 {
+						detailStruct := new(contract.ServiceTemplateDetailCol2)
+						e := json.Unmarshal([]byte(v.Col2), detailStruct)
+						if e != nil {
+							br.Msg = "获取失败"
+							br.ErrMsg = "获取套餐信息失败, json.Unmarshal Err: " + e.Error()
+							return
+						}
+						//替换默认品种
+						detailStruct.ValueId = publicPermissionIds
+						detailStruct.Value = strings.Join(publicPermissionNames, ",")
+						newCol2, e := json.Marshal(detailStruct)
+						if e != nil {
+							br.Msg = "获取失败"
+							br.ErrMsg = "获取套餐信息失败, json.Marshal Err: " + e.Error()
+							return
+						}
+						detail[k].Col2 = string(newCol2)
+					}
+				}
+			}
+
 			tmpList[j].Detail = detail
 			// 权益存在第三级主客观套餐-CRM8.8
 			thirdList, e := contract.GetContractServiceTemplateMapByParentId(tmpList[j].ServiceTemplateId)

+ 8 - 0
models/chart_permission.go

@@ -72,6 +72,14 @@ func GetFiccPermissionExceptTactic() (items []*ChartPermission, err error) {
 	return
 }
 
+// GetFiccPermissionSecondPublic 获取ficc公有的二级品种
+func GetFiccPermissionSecondPublic() (items []*ChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM chart_permission WHERE enabled = 1 AND permission_type = 0 AND product_id = 1 and parent_id>0 and is_public=1 ORDER BY sort ASC`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 // GetPermissionByProductIdAndClassifyName 获取子分类
 func GetPermissionByProductIdAndClassifyName(productId int, classifyName string) (items []*ChartPermission, err error) {
 	o := orm.NewOrm()

+ 11 - 2
models/contract/contract_service_detail.go

@@ -21,7 +21,16 @@ type ContractServiceDetail struct {
 	CreateTime        time.Time `description:"数据添加时间"`
 }
 
-//根据服务模板id获取对应的套餐表格数据详情
+type ServiceTemplateDetailCol2 struct {
+	CanEdit  bool   `json:"CanEdit"`
+	Type     string `json:"Type"`
+	ValueId  []int  `json:"ValueId"`
+	Value    string `json:"Value"`
+	HeadName string `json:"HeadName"`
+	RowName  string `json:"RowName"`
+}
+
+// 根据服务模板id获取对应的套餐表格数据详情
 func GetContractServiceDetailByTemplateId(serviceTemplateId int) (list []*ContractServiceDetail, err error) {
 	o := orm.NewOrm()
 	sql := `select * from contract_service_detail where service_template_id = ? and contract_service_id = 0 order by id asc`
@@ -45,7 +54,7 @@ func GetContractServiceDetailListByServiceIds(contractServiceIds string) (list [
 	return
 }
 
-//根据服务模板id获取对应的套餐表格数据详情
+// 根据服务模板id获取对应的套餐表格数据详情
 func GetContractServiceDetailList() (list []*ContractServiceDetail, err error) {
 	o := orm.NewOrm()
 	sql := `select * from contract_service_detail order by id asc`