Files
baseapi/platformapi/gome_live_show/order_after_sale.go

142 lines
4.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package gome_live_show
import (
"encoding/json"
"errors"
"git.rosy.net.cn/baseapi/utils"
"net/http"
)
// 查询售后单
func (a *API) QueryAfterSaleList(req *QueryAfterSaleListReq) (*QueryAfterSaleListRes, error) {
byteReq, err := json.Marshal(req)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, QueryAfterSaleList, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &QueryAfterSaleListRes{}
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) CreateAfterSaleOrderApi(req *CreateOrderAfterSaleReq) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(req)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, CreateAfterSaleOrder, 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) QueryAfterSaleOrderDetail(afterSaleNo string) (*QueryAfterSaleListRes, error) {
byteReq, err := json.Marshal(map[string]string{"afterSaleNo": afterSaleNo})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, QueryAfterSaleOrderDetail, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &QueryAfterSaleListRes{}
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
}
// 此接口主当售中待收货、已完成用户发起单sku的售后申请申请后进行商家审核场景
//商家审核通过售后单进退退款流程,商家拒绝售后单关闭,用户可进行重新申请或申请平台介入
func (a *API) AgreeOrRefuseAfterApplyOrder(req *CheckOutAfterOrderReq) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(req)
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, AgreeOrRefuseAfterApplyOrder, 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) MerchantConfirmOrder(afterSaleNo string) (*SystemParameterRes, error) {
byteReq, err := json.Marshal(map[string]string{"afterSaleNo": afterSaleNo})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, MerchantAgreeOkAfterApplyOrder, 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
}
// 合作方图片上传 materialType(枚举值1 图片2视频)
func (a *API) UploadPicture(data string, materialType int, materialName string) (*GomeiUploadImgRes, error) {
byteReq, err := json.Marshal(map[string]interface{}{"data": data, "materialType": materialType, "materialName": materialName})
if err != nil {
return nil, err
}
gomeResult, err := a.AccessAPI(gomeUrl, UploadImg, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
if err != nil {
return nil, err
}
result := &GomeiUploadImgRes{}
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
}