142 lines
4.1 KiB
Go
142 lines
4.1 KiB
Go
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
|
||
}
|