Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aab78082ce | ||
|
|
59158d7309 | ||
|
|
6f685ea087 | ||
|
|
b038c64873 | ||
|
|
03aec086bf | ||
|
|
8eeee5cbe1 | ||
|
|
aa5b400ee8 | ||
|
|
c11e75f910 |
@@ -1,24 +1,24 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"reflect"
|
||||
|
||||
"github.com/gogf/gf/v2/encoding/gjson"
|
||||
)
|
||||
|
||||
// CleanJSON 清理JSON字符串中的空值和0值字段
|
||||
func CleanJSON(jsonStr string) ([]byte, error) {
|
||||
var data interface{}
|
||||
|
||||
// 解析JSON字符串
|
||||
if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
|
||||
// 解析为JSON
|
||||
json, err := gjson.DecodeToJson(jsonStr, gjson.Options{StrNumber: true})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 递归清理数据
|
||||
cleaned := cleanData(data)
|
||||
cleaned := cleanData(json)
|
||||
|
||||
// 转换回JSON字符串
|
||||
result, err := json.Marshal(cleaned)
|
||||
result, err := gjson.Marshal(cleaned)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -47,6 +47,30 @@ func (t *MerService[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) {
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
// AddMerTest 商户进件(测试)
|
||||
func (t *MerService[T]) AddMerTest(req *model.MerchantApplyReqData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_TEST_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
|
||||
@@ -69,6 +93,28 @@ func (t *MerService[T]) QueryMer(req *model.QueryMerRequestData) (*T, error) {
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
func (t *MerService[T]) QueryMerTest(req *model.QueryMerRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_TEST_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
|
||||
@@ -91,6 +137,28 @@ func (t *MerService[T]) MerValidate(req *model.MerValidateRequestData) (*T, erro
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
func (t *MerService[T]) MerValidateTest(req *model.MerValidateRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_TEST_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) {
|
||||
// 构建请求参数
|
||||
@@ -114,3 +182,26 @@ func (t *MerService[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
func (t *MerService[T]) ReconsiderSubmitTest(req *model.ReConfSubmitRequestData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_TEST_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
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ package querystatus
|
||||
// 生产环境:https://s2.lakala.com/api/v3/mms/open_api/ec/q_status
|
||||
type ECQueryStatusRequestData struct {
|
||||
OrderNo string `json:"order_no" dc:"四方机构自定义订单编号 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)"` // 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)
|
||||
OrgID int `json:"org_id" dc:"机构号 必选,签约方所属拉卡拉机构"` // 必选,签约方所属拉卡拉机构
|
||||
EcApplyID int64 `json:"ec_apply_id" dc:"电子合同申请受理号 必选,申请接口反馈编号"` // 必选,申请接口反馈编号
|
||||
OrgCode int `json:"org_code" dc:"机构号 必选,签约方所属拉卡拉机构"` // 必选,签约方所属拉卡拉机构
|
||||
EcApplyID int64 `json:"ec_apply_id" dc:"电子合同申请受理号 必选,申请接口反馈编号"` // 必选,申请接口反馈编号
|
||||
}
|
||||
|
||||
// ECQueryStatusRequest 电子合同查询状态请求
|
||||
|
||||
@@ -54,21 +54,41 @@ func (s *SDK[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T, error
|
||||
return s.Merchant.ReconsiderSubmit(req)
|
||||
}
|
||||
|
||||
// ReconsiderSubmitTest 商户进件复议提交
|
||||
func (s *SDK[T]) ReconsiderSubmitTest(req *model.ReConfSubmitRequestData) (*T, error) {
|
||||
return s.Merchant.ReconsiderSubmitTest(req)
|
||||
}
|
||||
|
||||
// QueryMerchant 商户进件信息查询
|
||||
func (s *SDK[T]) QueryMerchant(req *model.QueryMerRequestData) (*T, error) {
|
||||
return s.Merchant.QueryMer(req)
|
||||
}
|
||||
|
||||
// QueryMerchantTest 商户进件信息查询
|
||||
func (s *SDK[T]) QueryMerchantTest(req *model.QueryMerRequestData) (*T, error) {
|
||||
return s.Merchant.QueryMerTest(req)
|
||||
}
|
||||
|
||||
// MerValidate 商户进件信息校验
|
||||
func (s *SDK[T]) MerValidate(req *model.MerValidateRequestData) (*T, error) {
|
||||
return s.Merchant.MerValidate(req)
|
||||
}
|
||||
|
||||
// MerValidateTest 商户进件信息校验
|
||||
func (s *SDK[T]) MerValidateTest(req *model.MerValidateRequestData) (*T, error) {
|
||||
return s.Merchant.MerValidateTest(req)
|
||||
}
|
||||
|
||||
// AddMer 商户进件
|
||||
func (s *SDK[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) {
|
||||
return s.Merchant.AddMer(req)
|
||||
}
|
||||
|
||||
// AddMerTest 商户进件
|
||||
func (s *SDK[T]) AddMerTest(req *model.MerchantApplyReqData) (*T, error) {
|
||||
return s.Merchant.AddMerTest(req)
|
||||
}
|
||||
|
||||
// MergePreOrder 主扫合单交易
|
||||
func (s *SDK[T]) MergePreOrder(req *model.MergePreorderReqData) (*T, error) {
|
||||
return s.MergePre.PreOrder(req)
|
||||
|
||||
Reference in New Issue
Block a user