新增电子合同相关接口及数据结构
添加电子合同申请、下载、状态查询、人工复核等功能模块 包含请求/响应数据结构及API实现 新增相关常量定义和类型
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package download
|
||||
|
||||
import (
|
||||
"github.com/black1552/lkl_sdk/consts"
|
||||
"github.com/black1552/lkl_sdk/lklsdk/common"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
)
|
||||
|
||||
type Download struct {
|
||||
Client *common.Client[ECDownloadResponse]
|
||||
}
|
||||
|
||||
// NewDownload 创建电子合同下载服务实例
|
||||
func NewDownload(client *common.Client[ECDownloadResponse]) *Download {
|
||||
return &Download{
|
||||
Client: client,
|
||||
}
|
||||
}
|
||||
|
||||
// ECDownload 电子合同下载
|
||||
// 提供已完成的签约电子合同下载
|
||||
func (d *Download) ECDownload(req *ECDownloadRequestData) (*ECDownloadResponse, error) {
|
||||
// 构建请求
|
||||
baseReq := ECDownloadRequest{
|
||||
ReqTime: gtime.Now().Format("YmdHis"),
|
||||
ReqData: req,
|
||||
Version: "1.0",
|
||||
}
|
||||
|
||||
// 使用生产环境URL
|
||||
return d.Client.DoRequest(consts.BASE_URL+consts.LKL_EC_DOWNLOAD, baseReq)
|
||||
}
|
||||
|
||||
// ECDownloadTest 电子合同下载(测试环境)
|
||||
// 提供已完成的签约电子合同下载
|
||||
func (d *Download) ECDownloadTest(req *ECDownloadRequestData) (*ECDownloadResponse, error) {
|
||||
// 构建请求
|
||||
baseReq := ECDownloadRequest{
|
||||
ReqTime: gtime.Now().Format("YmdHis"),
|
||||
ReqData: req,
|
||||
Version: "1.0",
|
||||
}
|
||||
|
||||
// 使用测试环境URL
|
||||
return d.Client.DoRequest(consts.BASE_TEST_URL+consts.LKL_EC_DOWNLOAD, baseReq)
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package download
|
||||
|
||||
// ECDownloadRequestData 电子合同下载请求数据
|
||||
type ECDownloadRequestData struct {
|
||||
OrderNo string `json:"order_no" dc:"四方机构自定义订单编号"` // 四方机构自定义订单编号
|
||||
OrgCode int `json:"org_code" dc:"机构号"` // 机构号
|
||||
EcApplyID int64 `json:"ec_apply_id" dc:"电子合同申请受理号"` // 电子合同申请受理号
|
||||
}
|
||||
|
||||
// ECDownloadRequest 电子合同下载请求结构
|
||||
type ECDownloadRequest struct {
|
||||
ReqTime string `json:"req_time"` // 请求时间
|
||||
ReqData *ECDownloadRequestData `json:"req_data"` // 请求数据
|
||||
Version string `json:"version"` // 接口版本号
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package download
|
||||
|
||||
// ECDownloadResponseData 电子合同下载响应数据
|
||||
type ECDownloadResponseData struct {
|
||||
OrderNo string `json:"order_no"` // 请求上送的订单号
|
||||
EcApplyID int64 `json:"ec_apply_id"` // 电子签约申请受理编号
|
||||
EcStatus string `json:"ec_status"` // 电子合同状态: UNDONE 未完成, COMPLETED 已完成
|
||||
EcNo string `json:"ec_no"` // 电子合同号(合同状态为COMPLETED时返回)
|
||||
EcFile string `json:"ec_file"` // 电子合同pdf文件(base64格式字符,合同状态为COMPLETED时返回)
|
||||
}
|
||||
|
||||
// ECDownloadResponse 电子合同下载响应结构
|
||||
type ECDownloadResponse struct {
|
||||
Code string `json:"code"` // 返回码
|
||||
Msg string `json:"msg"` // 返回码描述
|
||||
RespData *ECDownloadResponseData `json:"resp_data"` // 结果信息集合
|
||||
}
|
||||
|
||||
// SuccessOfFail 检查响应是否成功
|
||||
func (r *ECDownloadResponse) SuccessOfFail() bool {
|
||||
return r.Code == "000000"
|
||||
}
|
||||
Reference in New Issue
Block a user