添加国美api,删除老版本蜂鸟API,添加抖音授权api、

This commit is contained in:
邹宗楠
2022-05-13 16:03:37 +08:00
parent 56ef57fae5
commit ff5b116ce5
35 changed files with 2346 additions and 1191 deletions

View File

@@ -0,0 +1,167 @@
package gome_live_show
import (
"encoding/json"
"errors"
"git.rosy.net.cn/baseapi/utils"
"net/http"
)
// 根据创建时间查询订单的列表信息
// 为了防止访问及返回的压力过大,可支持的时间区间查询范围,
// 不允许超过 30 分钟,每页显示 10 条正常频率查询增量查询建议1~3 分钟查询一次,
// 查询开始时间为上次查询结束时间,查询结束时间为当前 1~3 分钟之前;补充频率查询:为了防止数据遗漏,
// 建议10分钟查询一次。例如当前时间为 10:50查询区间为10:10~10:30具体细节有调用方把握减少数据遗漏的可能性
func (a *API) QueryOrderListByTime(req *QueryOrderListForTimeReq) (*QueryOrderListForTimeRes, error) {
byteReq, err := json.Marshal(req)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, QueryOrderList, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &QueryOrderListForTimeRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 查询订单详情接口
// 此接口主要用于订单下单后获取订单详细信息,包括订单基础信息、商品信息、配送信息、物流信息等
func (a *API) QueryOrderDetail(orderNo string) (*QueryOrderDetailRes, error) {
byteReq, err := json.Marshal(map[string]string{"orderNo": orderNo})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, QueryOrderDetail, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &QueryOrderDetailRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 商家取消订单 ,订单处于待备货或待发货的情况下,商家可主动操作取消订单,取消成功后订单变成支付后取消状态
func (a *API) CancelOrder(orderNo string) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(map[string]string{"orderNo": orderNo})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, CancelOrder, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &SystemParameterRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 接单
func (a *API) ConfirmOrder(orderNo string) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(map[string]string{"orderNo": orderNo})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, ConfirmOrder, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &SystemParameterRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 发货接口 此接口主要用于商户基于订单发货场景,第三方平台调用成功后,订单状态将变为待收货
func (a *API) DeliveryOrder(param *DeliveryOrderReq) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(param)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, DeliveryOrder, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &SystemParameterRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 核销接口此接口主要用于 C 端用户下单自提,商家核销场景,核销成功订单状态变成已完成(订单号/核销码)
func (a *API) CheckOrder(orderNo, deliverCheckCode string) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(map[string]string{"orderNo": orderNo, "deliverCheckCode": deliverCheckCode})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, CheckOutOrder, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &SystemParameterRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}
// 此接口主要用于,售中(待发货状态)订单,用户发起全单取消,申请后进行商家审核场景,商家审核通过订单将变成备货后取消状态,商家拒绝订单则进行走正向流程
func (a *API) OrderAgreeOrRefuseAfterApply(req *AgreeOrRefuseCheck) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(req)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, CancelAgreeOrRefuseAfterApply, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &SystemParameterRes{}
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
return nil, err
}
if result.Code != 200 {
return nil, errors.New(result.Message)
}
return result, nil
}