审查视图

pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_contract.go 10.7 KB
1 2 3 4
package allied_creation_cooperation

import (
	"fmt"
yangfu authored
5
	"github.com/linmadan/egglib-go/utils/json"
6
	"strconv"
tangxuhui authored
7
	"strings"
8 9 10 11 12 13 14 15 16 17 18

	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log"

	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway"
)

// CooperationContractAdd 创建共创合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractAdd(param ReqCooperationContractAdd) (*DataCooperationContractAdd, error) {
	url := gateway.baseUrL + "/cooperation-contracts"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
19
	log.Logger.Debug("向业务模块请求数据:创建共创合约。", map[string]interface{}{
20 21 22 23 24 25 26 27 28 29 30 31
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求创建共创合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取创建共创合约失败:%w", err)
	}
tangxuhui authored
32
	log.Logger.Debug("获取业务模块请求数据:创建共创合约。", map[string]interface{}{
tangxuhui authored
33
		"result": strings.ReplaceAll(string(byteResult), "\n", ""),
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析创建共创合约:%w", err)
	}
	var data DataCooperationContractAdd
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractUpdate 更新共创合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractUpdate(param ReqCooperationContractUpdate) (*DataCooperationContractUpdate, error) {
	url := gateway.baseUrL + "/cooperation-contracts/" + strconv.Itoa(param.CooperationContractId)
	method := "PUT"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
50
	log.Logger.Debug("向业务模块请求数据:更新共创合约。", map[string]interface{}{
51 52 53 54 55 56 57 58 59 60 61 62
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求更新共创合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取更新共创合约失败:%w", err)
	}
tangxuhui authored
63
	log.Logger.Debug("获取业务模块请求数据:更新共创合约。", map[string]interface{}{
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析更新共创合约:%w", err)
	}
	var data DataCooperationContractUpdate
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractSearch 查询共创合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractSearch(param ReqCooperationContractSearch) (*DataCooperationContractSearch, error) {
	url := gateway.baseUrL + "/cooperation-contracts/search"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
81
	log.Logger.Debug("向业务模块请求数据:查询共创合约。", map[string]interface{}{
82 83 84 85 86 87 88 89 90 91 92 93
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求查询共创合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取查询共创合约失败:%w", err)
	}
tangxuhui authored
94
	log.Logger.Debug("获取业务模块请求数据:查询共创合约。", map[string]interface{}{
95 96 97 98 99 100 101 102 103 104 105 106 107
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析查询共创合约:%w", err)
	}
	var data DataCooperationContractSearch
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractsSearchByUndertaker 根据承接人查询并返回共创项目合约
tangxuhui authored
108 109
func (gateway HttplibAlliedCreationCooperation) CooperationContractsSearchByUndertaker(
	param ReqCooperationContractSearchByUndertaker) (*DataCooperationContractSearchByUndertaker, error) {
110 111 112
	url := gateway.baseUrL + "/cooperation-contracts/search-by-undertaker"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
113
	log.Logger.Debug("向业务模块请求数据:根据承接人查询并返回共创项目合约。", map[string]interface{}{
114 115 116 117 118 119 120 121 122 123 124 125
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求根据承接人查询并返回共创项目合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取根据承接人查询并返回共创项目合约失败:%w", err)
	}
tangxuhui authored
126
	log.Logger.Debug("获取业务模块请求数据:根据承接人查询并返回共创项目合约。", map[string]interface{}{
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析根据承接人查询并返回共创项目合约:%w", err)
	}
	var data DataCooperationContractSearchByUndertaker
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractRemove 移除共创合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractRemove(param ReqCooperationContractRemove) (*DataCooperationContractRemove, error) {
	url := gateway.baseUrL + "/cooperation-contracts/" + strconv.Itoa(param.CooperationContractId)
	method := "DELETE"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
144
	log.Logger.Debug("向业务模块请求数据:移除共创合约。", map[string]interface{}{
145 146 147 148 149 150 151 152 153 154 155 156
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求移除共创合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取移除共创合约失败:%w", err)
	}
tangxuhui authored
157
	log.Logger.Debug("获取业务模块请求数据:移除共创合约。", map[string]interface{}{
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析移除共创合约:%w", err)
	}
	var data DataCooperationContractRemove
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractList 返回共创合约列表
func (gateway HttplibAlliedCreationCooperation) CooperationContractList(param ReqCooperationContractList) (*DataCooperationContractList, error) {
	url := gateway.baseUrL + "/cooperation-contracts"
	method := "GET"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
175
	log.Logger.Debug("向业务模块请求数据:返回共创合约列表。", map[string]interface{}{
176 177 178 179 180 181 182 183 184 185 186 187
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求返回共创合约列表失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取返回共创合约列表失败:%w", err)
	}
tangxuhui authored
188
	log.Logger.Debug("获取业务模块请求数据:返回共创合约列表。", map[string]interface{}{
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析返回共创合约列表:%w", err)
	}
	var data DataCooperationContractList
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationContractGet 返回共创合约详情
func (gateway HttplibAlliedCreationCooperation) CooperationContractGet(param ReqCooperationContractGet) (*DataCooperationContractGet, error) {
	url := gateway.baseUrL + "/cooperation-contracts/" + strconv.Itoa(param.CooperationContractId)
	method := "GET"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
206
	log.Logger.Debug("向业务模块请求数据:返回共创合约详情。", map[string]interface{}{
207 208 209
		"api":   method + ":" + url,
		"param": param,
	})
tangxuhui authored
210
211 212 213 214 215 216 217 218 219
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求返回共创合约详情失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取返回共创合约详情失败:%w", err)
	}
tangxuhui authored
220
	log.Logger.Debug("获取业务模块请求数据:返回共创合约详情。", map[string]interface{}{
221 222 223 224 225 226 227 228 229 230 231
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析返回共创合约详情:%w", err)
	}
	var data DataCooperationContractGet
	err = gateway.GetResponseData(result, &data)
	return &data, err
}
tangxuhui authored
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262

// CooperationContractsBatchOperate 暂停恢复合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractsBatchOperate(param ReqCooperationContractsBatchOperate) (*DataCooperationContractsBatchOperate, error) {
	url := gateway.baseUrL + "/cooperation-contracts/batch-operate"
	method := "POST"
	req := gateway.CreateRequest(url, method)
	log.Logger.Debug("向业务模块请求数据:返回共创合约详情。", map[string]interface{}{
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求返回共创合约详情失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取返回共创合约详情失败:%w", err)
	}
	log.Logger.Debug("获取业务模块请求数据:返回共创合约详情。", map[string]interface{}{
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析返回共创合约详情:%w", err)
	}
	var data DataCooperationContractsBatchOperate
	err = gateway.GetResponseData(result, &data)
	return &data, err
}
tangxuhui authored
263 264 265 266

// CooperationContractBatchRemove 批量移除共创合约
func (gateway HttplibAlliedCreationCooperation) CooperationContractBatchRemove(param ReqCooperationContractBatchRemove) (*DataCooperationContractBatchRemove, error) {
	url := gateway.baseUrL + "/cooperation-contracts/batch-remove"
tangxuhui authored
267
	method := "POST"
tangxuhui authored
268
	req := gateway.CreateRequest(url, method)
tangxuhui authored
269
	log.Logger.Debug("向业务模块请求数据:批量移除共创合约。", map[string]interface{}{
tangxuhui authored
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
		"api":   method + ":" + url,
		"param": param,
	})
	req, err := req.JSONBody(param)
	if err != nil {
		return nil, fmt.Errorf("请求移除共创合约失败:%w", err)
	}

	byteResult, err := req.Bytes()
	if err != nil {
		return nil, fmt.Errorf("获取移除共创合约失败:%w", err)
	}
	log.Logger.Debug("获取业务模块请求数据:移除共创合约。", map[string]interface{}{
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析移除共创合约:%w", err)
	}
	var data DataCooperationContractBatchRemove
	err = gateway.GetResponseData(result, &data)
	return &data, err
}