审查视图

pkg/infrastructure/service_gateway/allied_creation_cooperation/module_cooperation_project.go 11.9 KB
1 2 3 4
package allied_creation_cooperation

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

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

// CooperationProjectAdd 创建共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectAdd(param ReqCooperationProjectAdd) (*DataCooperationProjectAdd, error) {
	url := gateway.baseUrL + "/cooperation-projects"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
17
	log.Logger.Debug("向业务模块请求数据:创建共创项目。", map[string]interface{}{
18 19 20 21 22 23 24 25 26 27 28 29
		"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
30
	log.Logger.Debug("获取业务模块请求数据:创建共创项目。", map[string]interface{}{
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析创建共创项目:%w", err)
	}
	var data DataCooperationProjectAdd
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationProjectList 返回共创项目列表
func (gateway HttplibAlliedCreationCooperation) CooperationProjectList(param ReqCooperationProjectList) (*DataCooperationProjectList, error) {
	url := gateway.baseUrL + "/cooperation-projects"
	method := "GET"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
48
	log.Logger.Debug("向业务模块请求数据:返回共创项目列表。", map[string]interface{}{
49 50 51 52 53 54 55 56 57 58 59 60
		"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
61
	log.Logger.Debug("获取业务模块请求数据:返回共创项目列表。", map[string]interface{}{
62 63 64 65 66 67 68 69 70 71 72 73 74 75
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析返回共创项目列表:%w", err)
	}
	var data DataCooperationProjectList
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// Cooperation-projects[cooperationProjectId} 返回共创项目详情
func (gateway HttplibAlliedCreationCooperation) CooperationProjectGet(param ReqCooperationProjectGet) (*DataCooperationProjectGet, error) {
76
	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.CooperationProjectId)
77 78
	method := "GET"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
79 80
	if len(param.CooperationProjectNumber) > 0 {
		req.Param("cooperationProjectNumber", param.CooperationProjectNumber)
81 82
		req.Param("orgId", strconv.Itoa(param.OrgId))
		req.Param("companyId", strconv.Itoa(param.CompanyId))
tangxuhui authored
83
	}
84
tangxuhui authored
85
	log.Logger.Debug("向业务模块请求数据:返回共创项目详情。", map[string]interface{}{
86 87 88 89 90 91 92 93 94 95 96 97
		"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
98
	log.Logger.Debug("获取业务模块请求数据:返回共创项目详情。", map[string]interface{}{
99 100 101 102 103 104 105 106 107 108 109 110 111 112
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析返回共创项目详情:%w", err)
	}
	var data DataCooperationProjectGet
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationProjectUpdate 更新共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectUpdate(param ReqCooperationProjectUpdate) (*DataCooperationProjectUpdate, error) {
yangfu authored
113
	url := gateway.baseUrL + "/cooperation-projects/" + param.CooperationProjectId
114 115
	method := "PUT"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
116
	log.Logger.Debug("向业务模块请求数据:更新共创项目。", map[string]interface{}{
117 118 119 120 121 122 123 124 125 126 127 128
		"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
129
	log.Logger.Debug("获取业务模块请求数据:更新共创项目。", map[string]interface{}{
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 DataCooperationProjectUpdate
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

//CooperationProjectRemove 移除共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectRemove(param ReqCooperationProjectRemove) (*DataCooperationProjectRemove, error) {
144
	url := gateway.baseUrL + "/cooperation-projects/" + strconv.Itoa(param.CooperationProjectID)
145 146
	method := "DELETE"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
147
	log.Logger.Debug("向业务模块请求数据:移除共创项目。", map[string]interface{}{
148 149 150 151 152 153 154 155 156 157 158 159
		"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
160
	log.Logger.Debug("获取业务模块请求数据:移除共创项目。", map[string]interface{}{
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析移除共创项目:%w", err)
	}
	var data DataCooperationProjectRemove
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationProjectsRelease发布共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectsRelease(param ReqCooperationProjectsRelease) (*DataCooperationProjectsRelease, error) {
	url := gateway.baseUrL + "/cooperation-projects/release-cooperation-project"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
178
	log.Logger.Debug("向业务模块请求数据:发布共创项目。", map[string]interface{}{
179 180 181 182 183 184 185 186 187 188 189 190
		"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
191
	log.Logger.Debug("获取业务模块请求数据:发布共创项目。", map[string]interface{}{
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析发布共创项目:%w", err)
	}
	var data DataCooperationProjectsRelease
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

//CooperationProjectsSearch 查询共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectsSearch(param ReqCooperationProjectSearch) (*DataCooperationProjectSearch, error) {
	url := gateway.baseUrL + "/cooperation-projects/search"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
209
	log.Logger.Debug("向业务模块请求数据:查询共创项目。", map[string]interface{}{
210 211 212 213 214 215 216 217 218 219 220 221
		"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
222
	log.Logger.Debug("获取业务模块请求数据:查询共创项目。", map[string]interface{}{
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析查询共创项目:%w", err)
	}
	var data DataCooperationProjectSearch
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// CooperationProjectsCheck 判断当前勾选的承接对象是否存在用户
func (gateway HttplibAlliedCreationCooperation) CooperationProjectsCheck(param ReqCooperationProjectsCheck) (*DataCooperationProjectsCheck, error) {
	url := gateway.baseUrL + "/cooperation-projects/check"
	method := "POST"
	req := gateway.CreateRequest(url, method)
tangxuhui authored
240
	log.Logger.Debug("向业务模块请求数据:判断当前勾选的承接对象是否存在用户。", map[string]interface{}{
241 242 243 244 245 246 247 248 249 250 251 252
		"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
253
	log.Logger.Debug("获取业务模块请求数据:判断当前勾选的承接对象是否存在用户。", map[string]interface{}{
254 255 256 257 258 259 260 261 262 263 264
		"result": string(byteResult),
	})
	var result service_gateway.GatewayResponse
	err = json.Unmarshal(byteResult, &result)
	if err != nil {
		return nil, fmt.Errorf("解析判断当前勾选的承接对象是否存在用户:%w", err)
	}
	var data DataCooperationProjectsCheck
	err = gateway.GetResponseData(result, &data)
	return &data, err
}
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295

//CooperationProjectBatchEnd 批量结束共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectBatchEnd(param ReqCooperationProjectBatchEnd) (*DataCooperationProjectBatchEnd, error) {
	url := gateway.baseUrL + "/cooperation-projects/batch-end"
	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 DataCooperationProjectBatchEnd
	err = gateway.GetResponseData(result, &data)
	return &data, err
}
yangfu authored
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326

//CooperationProjectBatchEnd 批量结束共创项目
func (gateway HttplibAlliedCreationCooperation) CooperationProjectEnd(param ReqCooperationProjectEnd) (*DataCooperationProjectEnd, error) {
	url := gateway.baseUrL + "/cooperation-projects/end"
	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 DataCooperationProjectEnd
	err = gateway.GetResponseData(result, &data)
	return &data, err
}