Pārlūkot izejas kodu

修改服务模版

xyxie 11 mēneši atpakaļ
vecāks
revīzija
be64a6f442

+ 37 - 0
controllers/contract/contract.go

@@ -78,6 +78,43 @@ func (this *ContractController) GetServiceTemplateList() {
 				br.ErrMsg = "获取详情模板失败,Err:" + err.Error()
 				return
 			}
+			// 特殊处理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`