github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/courier/client/client_cashdesk/client__generated.go (about) 1 package client_cashdesk 2 3 import ( 4 "fmt" 5 6 golib_tools_courier "github.com/artisanhe/tools/courier" 7 golib_tools_courier_client "github.com/artisanhe/tools/courier/client" 8 golib_tools_courier_enumeration "github.com/artisanhe/tools/courier/enumeration" 9 golib_tools_courier_status_error "github.com/artisanhe/tools/courier/status_error" 10 golib_tools_timelib "github.com/artisanhe/tools/timelib" 11 ) 12 13 type ClientCashdeskInterface interface { 14 CancelTrans(req CancelTransRequest) (resp *CancelTransResponse, err error) 15 CheckHealth() (resp *CheckHealthResponse, err error) 16 CreateTrans(req CreateTransRequest) (resp *CreateTransResponse, err error) 17 EBankPay(req EBankPayRequest) (resp *EBankPayResponse, err error) 18 GetAreaBankByBankCode(req GetAreaBankByBankCodeRequest) (resp *GetAreaBankByBankCodeResponse, err error) 19 GetAreaBankList(req GetAreaBankListRequest) (resp *GetAreaBankListResponse, err error) 20 GetAreaList(req GetAreaListRequest) (resp *GetAreaListResponse, err error) 21 GetBankByID(req GetBankByIDRequest) (resp *GetBankByIDResponse, err error) 22 GetBankList(req GetBankListRequest) (resp *GetBankListResponse, err error) 23 GetPabWhiteListTrans(req GetPabWhiteListTransRequest) (resp *GetPabWhiteListTransResponse, err error) 24 GetSign(req GetSignRequest) (resp *GetSignResponse, err error) 25 GetTransByOrderNo(req GetTransByOrderNoRequest) (resp *GetTransByOrderNoResponse, err error) 26 OldTransQuery(req OldTransQueryRequest) (resp *OldTransQueryResponse, err error) 27 PabPay(req PabPayRequest) (resp *PabPayResponse, err error) 28 PabQueryByCertificate(req PabQueryByCertificateRequest) (resp *PabQueryByCertificateResponse, err error) 29 PabQueryByUser(req PabQueryByUserRequest) (resp *PabQueryByUserResponse, err error) 30 TransListQuery(req TransListQueryRequest) (resp *TransListQueryResponse, err error) 31 UpdateTrans(req UpdateTransRequest) (resp *UpdateTransResponse, err error) 32 WithSwagger() (resp *WithSwaggerResponse, err error) 33 } 34 35 type ClientCashdesk struct { 36 golib_tools_courier_client.Client 37 } 38 39 func (ClientCashdesk) MarshalDefaults(v interface{}) { 40 if cl, ok := v.(*ClientCashdesk); ok { 41 cl.Name = "cashdesk" 42 cl.Client.MarshalDefaults(&cl.Client) 43 } 44 } 45 46 func (c ClientCashdesk) Init() { 47 c.CheckService() 48 } 49 50 func (c ClientCashdesk) CheckService() { 51 err := c.Request(c.Name+".Check", "HEAD", "/", nil). 52 Do(). 53 Into(nil) 54 statusErr := golib_tools_courier_status_error.FromError(err) 55 if statusErr.Code == int64(golib_tools_courier_status_error.RequestTimeout) { 56 panic(fmt.Errorf("service %s have some error %s", c.Name, statusErr)) 57 } 58 } 59 60 type CancelTransRequest struct { 61 // 交易单id 62 TransID uint64 `in:"path" name:"transID" validate:"@uint64[1,]"` 63 // 外部用户id 64 UserID string `in:"path" name:"userID" validate:"@string[1,64]"` 65 // 66 Body CancelTransBody `in:"body" name:"body,omitempty"` 67 } 68 69 func (c ClientCashdesk) CancelTrans(req CancelTransRequest) (resp *CancelTransResponse, err error) { 70 resp = &CancelTransResponse{} 71 resp.Meta = golib_tools_courier.Metadata{} 72 73 err = c.Request(c.Name+".CancelTrans", "PUT", "/cashdesk/v0/trans/:transID/user/:userID/cancel", req). 74 Do(). 75 BindMeta(resp.Meta). 76 Into(&resp.Body) 77 78 return 79 } 80 81 type CancelTransResponse struct { 82 Meta golib_tools_courier.Metadata 83 Body string 84 } 85 86 func (c ClientCashdesk) CheckHealth() (resp *CheckHealthResponse, err error) { 87 resp = &CheckHealthResponse{} 88 resp.Meta = golib_tools_courier.Metadata{} 89 90 err = c.Request(c.Name+".CheckHealth", "HEAD", "/cashdesk", nil). 91 Do(). 92 BindMeta(resp.Meta). 93 Into(&resp.Body) 94 95 return 96 } 97 98 type CheckHealthResponse struct { 99 Meta golib_tools_courier.Metadata 100 Body string 101 } 102 103 type CreateTransRequest struct { 104 // 商户的access key 105 AccessKey string `in:"header" name:"AccessKey" validate:"@string[1,128]"` 106 // 签名算法 107 SignAlgorithm CashdeskSignAlgorithm `in:"query" name:"signAlgorithm"` 108 // 签名 109 Sign string `in:"query" name:"sign" validate:"@string[1,32]"` 110 // 111 Body CreateTransReqBody `in:"body" name:"body,omitempty"` 112 } 113 114 func (c ClientCashdesk) CreateTrans(req CreateTransRequest) (resp *CreateTransResponse, err error) { 115 resp = &CreateTransResponse{} 116 resp.Meta = golib_tools_courier.Metadata{} 117 118 err = c.Request(c.Name+".CreateTrans", "POST", "/cashdesk/v0/trans", req). 119 Do(). 120 BindMeta(resp.Meta). 121 Into(&resp.Body) 122 123 return 124 } 125 126 type CreateTransResponse struct { 127 Meta golib_tools_courier.Metadata 128 Body CreateTransRespBody 129 } 130 131 type EBankPayRequest struct { 132 // 交易单号 133 TransID uint64 `in:"path" name:"transID" validate:"@uint64[0,]"` 134 // 135 Body EBankPayReqBody `in:"body" name:"body,omitempty"` 136 } 137 138 func (c ClientCashdesk) EBankPay(req EBankPayRequest) (resp *EBankPayResponse, err error) { 139 resp = &EBankPayResponse{} 140 resp.Meta = golib_tools_courier.Metadata{} 141 142 err = c.Request(c.Name+".EBankPay", "POST", "/cashdesk/v0/trans/:transID/ebankpay", req). 143 Do(). 144 BindMeta(resp.Meta). 145 Into(&resp.Body) 146 147 return 148 } 149 150 type EBankPayResponse struct { 151 Meta golib_tools_courier.Metadata 152 Body string 153 } 154 155 type GetAreaBankByBankCodeRequest struct { 156 // 分支行行号 157 BankCode string `in:"path" name:"bankCode" validate:"@string[1,]"` 158 } 159 160 func (c ClientCashdesk) GetAreaBankByBankCode(req GetAreaBankByBankCodeRequest) (resp *GetAreaBankByBankCodeResponse, err error) { 161 resp = &GetAreaBankByBankCodeResponse{} 162 resp.Meta = golib_tools_courier.Metadata{} 163 164 err = c.Request(c.Name+".GetAreaBankByBankCode", "GET", "/cashdesk/v0/bank/bankCode/:bankCode", req). 165 Do(). 166 BindMeta(resp.Meta). 167 Into(&resp.Body) 168 169 return 170 } 171 172 type GetAreaBankByBankCodeResponse struct { 173 Meta golib_tools_courier.Metadata 174 Body GetAreaBankByBankCodeRespBody 175 } 176 177 type GetAreaBankListRequest struct { 178 // 银行ID 179 BankID uint32 `in:"query" name:"bankID" validate:"@uint32[1,9999]"` 180 // G7地区编码 181 AreaCode string `in:"query" name:"areaCode" validate:"@string[1,]"` 182 } 183 184 func (c ClientCashdesk) GetAreaBankList(req GetAreaBankListRequest) (resp *GetAreaBankListResponse, err error) { 185 resp = &GetAreaBankListResponse{} 186 resp.Meta = golib_tools_courier.Metadata{} 187 188 err = c.Request(c.Name+".GetAreaBankList", "GET", "/cashdesk/v0/bank/area-bank", req). 189 Do(). 190 BindMeta(resp.Meta). 191 Into(&resp.Body) 192 193 return 194 } 195 196 type GetAreaBankListResponse struct { 197 Meta golib_tools_courier.Metadata 198 Body GetAreaBankListRespBody 199 } 200 201 type GetAreaListRequest struct { 202 // 上级地区编码 203 ParentCode string `in:"query" name:"parentCode,omitempty" validate:"@string[0,10]"` 204 // 深度(需要往下几层) 205 Depth int32 `default:"1" in:"query" name:"depth,omitempty" validate:"@int32[1,4]"` 206 // 当前深度(上级地区编码处在第几层) 207 DepthNow int32 `default:"0" in:"query" name:"depthNow,omitempty" validate:"@int32[0,4]"` 208 } 209 210 func (c ClientCashdesk) GetAreaList(req GetAreaListRequest) (resp *GetAreaListResponse, err error) { 211 resp = &GetAreaListResponse{} 212 resp.Meta = golib_tools_courier.Metadata{} 213 214 err = c.Request(c.Name+".GetAreaList", "GET", "/cashdesk/v0/bank/area", req). 215 Do(). 216 BindMeta(resp.Meta). 217 Into(&resp.Body) 218 219 return 220 } 221 222 type GetAreaListResponse struct { 223 Meta golib_tools_courier.Metadata 224 Body GetAreaListByParentCodeDepthRespBody 225 } 226 227 type GetBankByIDRequest struct { 228 // 银行id 229 BankID uint32 `in:"path" name:"bankID" validate:"@uint32[1,]"` 230 } 231 232 func (c ClientCashdesk) GetBankByID(req GetBankByIDRequest) (resp *GetBankByIDResponse, err error) { 233 resp = &GetBankByIDResponse{} 234 resp.Meta = golib_tools_courier.Metadata{} 235 236 err = c.Request(c.Name+".GetBankByID", "GET", "/cashdesk/v0/bank/bankID/:bankID", req). 237 Do(). 238 BindMeta(resp.Meta). 239 Into(&resp.Body) 240 241 return 242 } 243 244 type GetBankByIDResponse struct { 245 Meta golib_tools_courier.Metadata 246 Body Bank 247 } 248 249 type GetBankListRequest struct { 250 // 是否支持银联鉴权 251 SupportUnionpayAuth golib_tools_courier_enumeration.Bool `in:"query" name:"supportUnionpayAuth,omitempty" validate:"@string{,TRUE,FALSE}"` 252 // 是否有超级网银联行号 253 HaveSuperBankCode golib_tools_courier_enumeration.Bool `in:"query" name:"haveSuperBankCode,omitempty" validate:"@string{,TRUE,FALSE}"` 254 } 255 256 func (c ClientCashdesk) GetBankList(req GetBankListRequest) (resp *GetBankListResponse, err error) { 257 resp = &GetBankListResponse{} 258 resp.Meta = golib_tools_courier.Metadata{} 259 260 err = c.Request(c.Name+".GetBankList", "GET", "/cashdesk/v0/bank", req). 261 Do(). 262 BindMeta(resp.Meta). 263 Into(&resp.Body) 264 265 return 266 } 267 268 type GetBankListResponse struct { 269 Meta golib_tools_courier.Metadata 270 Body []Bank 271 } 272 273 type GetPabWhiteListTransRequest struct { 274 // 创建起始时间筛选 eg:2016-01-12T00:00:00Z 275 CreateStartDate golib_tools_timelib.MySQLTimestamp `in:"query" name:"createStartDate,omitempty"` 276 // 创建结束时间筛选 277 CreateEndDate golib_tools_timelib.MySQLTimestamp `in:"query" name:"createEndDate,omitempty"` 278 // 分页大小,默认为10,-1为查询所有 279 Size int32 `default:"10" in:"query" name:"size,omitempty" validate:"@int32[-1,100]"` 280 // 分页偏移,默认为0 281 Offset int32 `default:"0" in:"query" name:"offset,omitempty" validate:"@int32[0,]"` 282 // 买家账户ID 283 BuyerAccountID uint64 `default:"0" in:"query" name:"buyerAccountID,omitempty" validate:"@uint64[0,]"` 284 // 卖家账户ID 285 SellerAccountID uint64 `default:"0" in:"query" name:"sellerAccountID,omitempty" validate:"@uint64[0,]"` 286 // 外部交易单号 287 TransIDExt string `in:"query" name:"transIDExt,omitempty" validate:"@string[0,64]"` 288 // 内部交易单号 289 TransID uint64 `default:"0" in:"path" name:"transID,omitempty" validate:"@uint64[0,]"` 290 } 291 292 func (c ClientCashdesk) GetPabWhiteListTrans(req GetPabWhiteListTransRequest) (resp *GetPabWhiteListTransResponse, err error) { 293 resp = &GetPabWhiteListTransResponse{} 294 resp.Meta = golib_tools_courier.Metadata{} 295 296 err = c.Request(c.Name+".GetPabWhiteListTrans", "GET", "/cashdesk/v0/trans/:transID/pabWhiteListTrans", req). 297 Do(). 298 BindMeta(resp.Meta). 299 Into(&resp.Body) 300 301 return 302 } 303 304 type GetPabWhiteListTransResponse struct { 305 Meta golib_tools_courier.Metadata 306 Body PabWhiteListTransResp 307 } 308 309 type GetSignRequest struct { 310 // 签名密钥 311 Secret string `in:"query" name:"secret" validate:"@string[1,128]"` 312 // 签名算法 313 SignAlgorithm CashdeskSignAlgorithm `in:"query" name:"signAlgorithm"` 314 // 315 Body []KVPair `in:"body" name:"body,omitempty"` 316 } 317 318 func (c ClientCashdesk) GetSign(req GetSignRequest) (resp *GetSignResponse, err error) { 319 resp = &GetSignResponse{} 320 resp.Meta = golib_tools_courier.Metadata{} 321 322 err = c.Request(c.Name+".GetSign", "POST", "/cashdesk/v0/sign", req). 323 Do(). 324 BindMeta(resp.Meta). 325 Into(&resp.Body) 326 327 return 328 } 329 330 type GetSignResponse struct { 331 Meta golib_tools_courier.Metadata 332 Body GetSignRespBody 333 } 334 335 type GetTransByOrderNoRequest struct { 336 // 订单号 337 OrderNo string `in:"path" name:"orderNo" validate:"@string[6,32]"` 338 // 商户AccessKey 339 AccessKey string `in:"header" name:"accessKey" validate:"@string[1,128]"` 340 // 是否启用Mock(仅测试环境生效) 341 UseMock bool `default:"false" in:"query" name:"useMock,omitempty"` 342 // 模拟银行订单查询结果(仅UserMock为true生效) 343 MockState CashdeskPayState `in:"query" name:"mockState,omitempty"` 344 } 345 346 func (c ClientCashdesk) GetTransByOrderNo(req GetTransByOrderNoRequest) (resp *GetTransByOrderNoResponse, err error) { 347 resp = &GetTransByOrderNoResponse{} 348 resp.Meta = golib_tools_courier.Metadata{} 349 350 err = c.Request(c.Name+".GetTransByOrderNo", "GET", "/cashdesk/v0/trans/0/orderNo/:orderNo", req). 351 Do(). 352 BindMeta(resp.Meta). 353 Into(&resp.Body) 354 355 return 356 } 357 358 type GetTransByOrderNoResponse struct { 359 Meta golib_tools_courier.Metadata 360 Body ReturnTransModel 361 } 362 363 type OldTransQueryRequest struct { 364 // 每个商户独有的AccessKey 365 AccessKey string `in:"header" name:"accessKey" validate:"@string[1,128]"` 366 // 交易单id 367 TransID uint64 `in:"path" name:"transID" validate:"@uint64[1,]"` 368 // 是否启用Mock(仅测试环境生效) 369 UseMock bool `default:"false" in:"query" name:"useMock,omitempty"` 370 // 买家身份证(UseMock为true时有效) 371 BuyerID string `in:"query" name:"buyerID,omitempty"` 372 // 期望返回的支付状态(UseMock为true时有效) 373 PayStatus CashdeskPayState `in:"query" name:"payStatus,omitempty"` 374 } 375 376 func (c ClientCashdesk) OldTransQuery(req OldTransQueryRequest) (resp *OldTransQueryResponse, err error) { 377 resp = &OldTransQueryResponse{} 378 resp.Meta = golib_tools_courier.Metadata{} 379 380 err = c.Request(c.Name+".OldTransQuery", "GET", "/cashdesk/v0/user/0/oldtrans/:transID", req). 381 Do(). 382 BindMeta(resp.Meta). 383 Into(&resp.Body) 384 385 return 386 } 387 388 type OldTransQueryResponse struct { 389 Meta golib_tools_courier.Metadata 390 Body OldTransQueryRespBody 391 } 392 393 type PabPayRequest struct { 394 // 交易号 395 TransID uint64 `default:"0" in:"path" name:"transID,omitempty" validate:"@uint64[1,]"` 396 // 397 Body PabPayReqBody `in:"body" name:"body,omitempty"` 398 } 399 400 func (c ClientCashdesk) PabPay(req PabPayRequest) (resp *PabPayResponse, err error) { 401 resp = &PabPayResponse{} 402 resp.Meta = golib_tools_courier.Metadata{} 403 404 err = c.Request(c.Name+".PabPay", "POST", "/cashdesk/v0/trans/:transID/pabpay", req). 405 Do(). 406 BindMeta(resp.Meta). 407 Into(&resp.Body) 408 409 return 410 } 411 412 type PabPayResponse struct { 413 Meta golib_tools_courier.Metadata 414 Body PabPayRespBody 415 } 416 417 type PabQueryByCertificateRequest struct { 418 // 证件类型 419 CertificateType CashdeskCertificateType `in:"query" name:"certificateType" validate:"@string{ID_CARD,ORG_INSITITUTE_CODE,UNITY_SOCIAL_CREDIT_CODE}"` 420 // 证件号码 421 CertificateCode string `in:"query" name:"certificateCode" validate:"@string[1,32]"` 422 } 423 424 func (c ClientCashdesk) PabQueryByCertificate(req PabQueryByCertificateRequest) (resp *PabQueryByCertificateResponse, err error) { 425 resp = &PabQueryByCertificateResponse{} 426 resp.Meta = golib_tools_courier.Metadata{} 427 428 err = c.Request(c.Name+".PabQueryByCertificate", "GET", "/cashdesk/v0/user/0/pab/certificate", req). 429 Do(). 430 BindMeta(resp.Meta). 431 Into(&resp.Body) 432 433 return 434 } 435 436 type PabQueryByCertificateResponse struct { 437 Meta golib_tools_courier.Metadata 438 Body PabLinkModel 439 } 440 441 type PabQueryByUserRequest struct { 442 // 外部用户ID 443 UserID string `in:"path" name:"userID" validate:"@string[1,32]"` 444 } 445 446 func (c ClientCashdesk) PabQueryByUser(req PabQueryByUserRequest) (resp *PabQueryByUserResponse, err error) { 447 resp = &PabQueryByUserResponse{} 448 resp.Meta = golib_tools_courier.Metadata{} 449 450 err = c.Request(c.Name+".PabQueryByUser", "GET", "/cashdesk/v0/user/:userID/pab", req). 451 Do(). 452 BindMeta(resp.Meta). 453 Into(&resp.Body) 454 455 return 456 } 457 458 type PabQueryByUserResponse struct { 459 Meta golib_tools_courier.Metadata 460 Body PabLinkModel 461 } 462 463 type TransListQueryRequest struct { 464 // 外部用户id 465 UserID string `in:"path" name:"userID" validate:"@string[1,64]"` 466 // 起始时间 467 StartTime golib_tools_timelib.MySQLTimestamp `in:"query" name:"startTime,omitempty"` 468 // 终止时间 469 EndTime golib_tools_timelib.MySQLTimestamp `in:"query" name:"endTime,omitempty"` 470 // 交易状态 471 TransState CashdeskTransState `in:"query" name:"transState,omitempty"` 472 // 交易类型 473 TransType CashdeskTransType `in:"query" name:"transType,omitempty"` 474 // 偏移,默认为0 475 Offset int32 `default:"0" in:"query" name:"offset,omitempty" validate:"@int32[0,]"` 476 // 查询数量 477 Size int32 `default:"10" in:"query" name:"size,omitempty" validate:"@int32[1,50]"` 478 } 479 480 func (c ClientCashdesk) TransListQuery(req TransListQueryRequest) (resp *TransListQueryResponse, err error) { 481 resp = &TransListQueryResponse{} 482 resp.Meta = golib_tools_courier.Metadata{} 483 484 err = c.Request(c.Name+".TransListQuery", "GET", "/cashdesk/v0/user/:userID", req). 485 Do(). 486 BindMeta(resp.Meta). 487 Into(&resp.Body) 488 489 return 490 } 491 492 type TransListQueryResponse struct { 493 Meta golib_tools_courier.Metadata 494 Body QueryTransResponseBody 495 } 496 497 type UpdateTransRequest struct { 498 // 交易单号 499 TransID uint64 `in:"path" name:"transID" validate:"@uint64[1,]"` 500 // 商户的access key 501 AccessKey string `in:"header" name:"AccessKey" validate:"@string[1,128]"` 502 // 签名算法 503 SignAlgorithm CashdeskSignAlgorithm `in:"query" name:"signAlgorithm"` 504 // 是否启用Mock(仅测试环境生效) 505 UseMock bool `default:"false" in:"query" name:"useMock,omitempty"` 506 // 模拟银行订单查询结果(仅UserMock为true生效) 507 MockState CashdeskPayState `in:"query" name:"mockState,omitempty"` 508 // 签名 509 Sign string `in:"query" name:"sign" validate:"@string[1,32]"` 510 // 511 Body UpdateTransReqBody `in:"body" name:"body,omitempty"` 512 } 513 514 func (c ClientCashdesk) UpdateTrans(req UpdateTransRequest) (resp *UpdateTransResponse, err error) { 515 resp = &UpdateTransResponse{} 516 resp.Meta = golib_tools_courier.Metadata{} 517 518 err = c.Request(c.Name+".UpdateTrans", "PUT", "/cashdesk/v0/trans/:transID", req). 519 Do(). 520 BindMeta(resp.Meta). 521 Into(&resp.Body) 522 523 return 524 } 525 526 type UpdateTransResponse struct { 527 Meta golib_tools_courier.Metadata 528 Body string 529 } 530 531 func (c ClientCashdesk) WithSwagger() (resp *WithSwaggerResponse, err error) { 532 resp = &WithSwaggerResponse{} 533 resp.Meta = golib_tools_courier.Metadata{} 534 535 err = c.Request(c.Name+".WithSwagger", "GET", "/cashdesk", nil). 536 Do(). 537 BindMeta(resp.Meta). 538 Into(&resp.Body) 539 540 return 541 } 542 543 type WithSwaggerResponse struct { 544 Meta golib_tools_courier.Metadata 545 Body string 546 }