添加地址码常量定义文件
- 新增 addrCode.go 文件,定义全国及各省市县级地区码常量 - 地区码常量命名采用拼音大写加下划线格式 - 常量值对应 NEW.xlsx 表格中的地区编码 - 包含从国家级到县级的完整行政区域代码枚举 - 每个常量均附带详细注释说明所属地区名称
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
package lklsdk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/black1552/lkl_sdk/consts"
|
||||
"github.com/black1552/lkl_sdk/model"
|
||||
"github.com/gogf/gf/v2/crypto/gmd5"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
)
|
||||
|
||||
// MerService 商户服务
|
||||
type MerService[T any] struct {
|
||||
client *Client[T]
|
||||
}
|
||||
|
||||
// NewMerService 创建交易服务实例
|
||||
func NewMerService[T any](client *Client[T]) *MerService[T] {
|
||||
return &MerService[T]{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
// AddMer 商户进件
|
||||
func (t *MerService[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_ADD_MER
|
||||
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("创建ReqId失败")
|
||||
}
|
||||
// 构建BaseModel请求
|
||||
baseReq := model.MerchantApplyRequest{
|
||||
ReqData: req,
|
||||
ReqId: md5,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Ver: "1.0.0",
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := t.client.doRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
func (t *MerService[T]) QueryMer(req *model.QueryMerRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_QUERY_MER
|
||||
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("创建ReqId失败")
|
||||
}
|
||||
// 构建BaseModel请求
|
||||
baseReq := model.QueryMerRequest{
|
||||
ReqData: req,
|
||||
ReqId: md5,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Ver: "1.0.0",
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := t.client.doRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
func (t *MerService[T]) MerValidate(req *model.MerValidateRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_MER_VALIDATE
|
||||
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("创建ReqId失败")
|
||||
}
|
||||
// 构建BaseModel请求
|
||||
baseReq := model.MerValidateRequest{
|
||||
ReqData: req,
|
||||
ReqId: md5,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Ver: "1.0.0",
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := t.client.doRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
func (t *MerService[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_RECONF_SUBMIT
|
||||
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("创建ReqId失败")
|
||||
}
|
||||
// 构建BaseModel请求
|
||||
baseReq := model.ReConfSubmitRequest{
|
||||
ReqData: req,
|
||||
ReqId: md5,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Ver: "1.0",
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := t.client.doRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
@@ -14,6 +14,7 @@ type SDK[T any] struct {
|
||||
Account *AccountService[T]
|
||||
UploadFile *UploadFileService[T]
|
||||
MergePre *MergePreService[T]
|
||||
Merchant *MerService[T]
|
||||
}
|
||||
|
||||
// NewSDK 创建拉卡拉SDK实例
|
||||
@@ -26,11 +27,32 @@ func NewSDK[T any](ctx context.Context, cfgJson string) *SDK[T] {
|
||||
Account: NewAccountService(client),
|
||||
UploadFile: NewUploadFileService(client),
|
||||
MergePre: NewMergePreService(client),
|
||||
Merchant: NewMerService(client),
|
||||
}
|
||||
}
|
||||
|
||||
// 以下为便捷方法,直接通过SDK调用各服务的主要功能
|
||||
|
||||
// ReconsiderSubmit 商户进件复议提交
|
||||
func (s *SDK[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T, error) {
|
||||
return s.Merchant.ReconsiderSubmit(req)
|
||||
}
|
||||
|
||||
// QueryMerchant 商户进件信息查询
|
||||
func (s *SDK[T]) QueryMerchant(req *model.QueryMerRequestData) (*T, error) {
|
||||
return s.Merchant.QueryMer(req)
|
||||
}
|
||||
|
||||
// MerValidate 商户进件信息校验
|
||||
func (s *SDK[T]) MerValidate(req *model.MerValidateRequestData) (*T, error) {
|
||||
return s.Merchant.MerValidate(req)
|
||||
}
|
||||
|
||||
// AddMer 商户进件
|
||||
func (s *SDK[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) {
|
||||
return s.Merchant.AddMer(req)
|
||||
}
|
||||
|
||||
// MergePreOrder 主扫合单交易
|
||||
func (s *SDK[T]) MergePreOrder(req *model.MergePreorderReqData) (*T, error) {
|
||||
return s.MergePre.PreOrder(req)
|
||||
|
||||
Reference in New Issue
Block a user