hsun 2 years ago
parent
commit
528e89937f
1 changed files with 41 additions and 2 deletions
  1. 41 2
      models/fms/contract_service.go

+ 41 - 2
models/fms/contract_service.go

@@ -41,7 +41,21 @@ type ContractServiceAddReq struct {
 	ChartPermissionIds string                          `json:"chart_permission_ids" description:"品种权限"`
 }
 
-// ContractServiceAndDetail 合同的服务内容
+// ContractServiceItem 合同的服务内容
+type ContractServiceItem struct {
+	ContractServiceId  int    `json:"contract_service_id" description:"合同服务ID"`
+	ContractRegisterId int    `json:"contract_register_id" description:"合同登记ID"`
+	ProductId          int    `json:"product_id" description:"产品id,1:ficc;2:权益"`
+	ServiceTemplateId  int    `json:"service_template_id" description:"合同服务模板id"`
+	Title              string `json:"title" description:"套餐标题"`
+	Value              string `json:"value" description:"套餐的值"`
+	HasDetail          string `json:"has_detail" description:"是否有详情,枚举值:是、否;默认:否"`
+	TableValue         string `json:"table_value" description:"表格数据,用于word生成时的json数据"`
+	ChartPermissionId  int    `json:"chart_permission_id" description:"权限id"`
+	ChartPermissionIds string `json:"chart_permission_ids" description:"品种权限-小套餐"`
+}
+
+// ContractServiceAndDetail 合同的服务内容及详情
 type ContractServiceAndDetail struct {
 	ContractServiceId  int                      `json:"contract_service_id" description:"合同服务ID"`
 	ContractRegisterId int                      `json:"contract_register_id" description:"合同登记ID"`
@@ -58,9 +72,34 @@ type ContractServiceAndDetail struct {
 
 // GetContractServiceAndDetailList 根据id获取合同列表数据
 func GetContractServiceAndDetailList(contractRegisterId int) (list []*ContractServiceAndDetail, err error) {
+	items := make([]*ContractServiceItem, 0)
 	err = global.DEFAULT_MYSQL.Model(ContractService{}).
 		Where("contract_register_id = ?", contractRegisterId).
-		Find(&list).Error
+		Find(&items).Error
+	if err != nil {
+		return
+	}
+	list = formatContractServiceAndDetailList(items)
+	return
+}
+
+// formatContractServiceAndDetailList 格式化ContractServiceAndDetailList
+func formatContractServiceAndDetailList(list []*ContractServiceItem) (itemList []*ContractServiceAndDetail) {
+	itemList = make([]*ContractServiceAndDetail, 0)
+	for i := range list {
+		itemList = append(itemList, &ContractServiceAndDetail{
+			ContractServiceId:  list[i].ContractServiceId,
+			ContractRegisterId: list[i].ContractRegisterId,
+			ProductId:          list[i].ProductId,
+			ServiceTemplateId:  list[i].ServiceTemplateId,
+			Title:              list[i].Title,
+			Value:              list[i].Value,
+			HasDetail:          list[i].HasDetail,
+			TableValue:         list[i].TableValue,
+			ChartPermissionId:  list[i].ChartPermissionId,
+			ChartPermissionIds: list[i].ChartPermissionIds,
+		})
+	}
 	return
 }