提交 10954cbe authored 作者: 张立波's avatar 张立波

天猫精选

上级 ead31c49
......@@ -14,10 +14,6 @@ type goodsTmNew struct {
var Goods = goodsTmNew{}
//type QueryItemDetailWithDivisionReq struct {
// ItemId string `json:"ItemId"`
// //SkuIdList []string `json:"SkuIdList"`
//}
type QueryItemDetailWithDivisionRes struct {
Code string `json:"Code"`
Message string `json:"Message"`
......@@ -41,23 +37,23 @@ type QueryItemDetailWithDivisionRes struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"IforestProps"`
ItemID int64 `json:"ItemId"`
ItemImages []string `json:"ItemImages"`
ItemTitle string `json:"ItemTitle"`
ItemTotalSimpleValue string `json:"ItemTotalSimpleValue"`
ItemTotalValue int `json:"ItemTotalValue"`
LmItemCategory string `json:"LmItemCategory"`
LmItemID string `json:"LmItemId"`
MainPicURL string `json:"MainPicUrl"`
MinPrice int `json:"MinPrice"`
Properties map[string][]string `json:"Properties"`
Prov string `json:"Prov"`
Quantity int `json:"Quantity"`
ReservePrice int `json:"ReservePrice"`
SecuredTransactions int `json:"SecuredTransactions"`
SellerPayPostfee bool `json:"SellerPayPostfee"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuModels []struct {
ItemID int64 `json:"ItemId"`
ItemImages []string `json:"ItemImages"`
ItemTitle string `json:"ItemTitle"`
ItemTotalSimpleValue string `json:"ItemTotalSimpleValue"`
ItemTotalValue int `json:"ItemTotalValue"`
LmItemCategory string `json:"LmItemCategory"`
LmItemID string `json:"LmItemId"`
MainPicURL string `json:"MainPicUrl"`
MinPrice int `json:"MinPrice"`
Properties map[string][]string `json:"Properties"`
Prov string `json:"Prov"`
Quantity int `json:"Quantity"`
ReservePrice int `json:"ReservePrice"`
SecuredTransactions int `json:"SecuredTransactions"`
SellerPayPostfee bool `json:"SellerPayPostfee"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuModels []struct {
DistributionMallID string `json:"DistributionMallId"`
ExtJSON string `json:"ExtJson"`
HasQuantity bool `json:"HasQuantity"`
......@@ -88,82 +84,82 @@ type QueryItemDetailWithDivisionRes struct {
} `json:"Model"`
RequestID string `json:"RequestId"`
Success bool `json:"Success"`
}
}
type ListDistributionItemReq struct {
Page string `json:"page"`
Limit string `json:"limit"`
Page string `json:"page"`
Limit string `json:"limit"`
LmItemId string `json:"LmItemId"`
}
type ListDistributionItemRes struct {
Code string `json:"Code"`
Message string `json:"Message"`
Model []struct {
CategoryID int `json:"CategoryId"`
CategoryIds []int `json:"CategoryIds"`
City string `json:"City"`
Current string `json:"Current"`
DescPath string `json:"DescPath"`
Code string `json:"Code"`
Message string `json:"Message"`
Model []struct {
CategoryID int `json:"CategoryId"`
CategoryIds []int `json:"CategoryIds"`
City string `json:"City"`
Current string `json:"Current"`
DescPath string `json:"DescPath"`
DistributionMallID string `json:"DistributionMallId"`
Features struct {
DeliveryVersion string `json:"delivery_version"`
TaxInvoice string `json:"tax_invoice"`
TaxRateCode string `json:"tax_rate_code"`
} `json:"Features"`
FirstPicURL string `json:"FirstPicUrl"`
HasQuantity bool `json:"HasQuantity"`
IforestProps []struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"IforestProps"`
IsCanSell bool `json:"IsCanSell"`
IsSellerPayPostfee bool `json:"IsSellerPayPostfee"`
ItemID int64 `json:"ItemId"`
ItemImages []string `json:"ItemImages"`
ItemTitle string `json:"ItemTitle"`
ItemTotalSimpleValue string `json:"ItemTotalSimpleValue"`
ItemTotalValue int `json:"ItemTotalValue"`
LmItemAttributeMap struct {
TaxInvoice string `json:"taxInvoice"`
TaxRateCode string `json:"taxRateCode"`
} `json:"LmItemAttributeMap"`
LmItemCategory string `json:"LmItemCategory"`
LmItemID string `json:"LmItemId"`
MainPicURL string `json:"MainPicUrl"`
Properties map[string][]string `json:"Properties"`
Prov string `json:"Prov"`
Quantity int `json:"Quantity"`
ReservedPrice int `json:"ReservedPrice"`
SecuredTransactions int `json:"SecuredTransactions"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuModels []struct {
DistributionMallID string `json:"DistributionMallId"`
Features struct {
DeliveryVersion string `json:"delivery_version"`
TaxInvoice string `json:"tax_invoice"`
TaxRateCode string `json:"tax_rate_code"`
} `json:"Features"`
FirstPicURL string `json:"FirstPicUrl"`
HasQuantity bool `json:"HasQuantity"`
IforestProps []struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"IforestProps"`
IsCanSell bool `json:"IsCanSell"`
IsSellerPayPostfee bool `json:"IsSellerPayPostfee"`
ItemID int64 `json:"ItemId"`
ItemImages []string `json:"ItemImages"`
ItemTitle string `json:"ItemTitle"`
ItemTotalSimpleValue string `json:"ItemTotalSimpleValue"`
ItemTotalValue int `json:"ItemTotalValue"`
LmItemAttributeMap struct {
HasQuantity bool `json:"HasQuantity"`
ItemID int64 `json:"ItemId"`
LmItemID string `json:"LmItemId"`
LmSkuAttributeMap struct {
TaxInvoice string `json:"taxInvoice"`
TaxRateCode string `json:"taxRateCode"`
} `json:"LmItemAttributeMap"`
LmItemCategory string `json:"LmItemCategory"`
LmItemID string `json:"LmItemId"`
MainPicURL string `json:"MainPicUrl"`
Properties map[string][]string `json:"Properties"`
Prov string `json:"Prov"`
Quantity int `json:"Quantity"`
ReservedPrice int `json:"ReservedPrice"`
SecuredTransactions int `json:"SecuredTransactions"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuModels []struct {
DistributionMallID string `json:"DistributionMallId"`
HasQuantity bool `json:"HasQuantity"`
ItemID int64 `json:"ItemId"`
LmItemID string `json:"LmItemId"`
LmSkuAttributeMap struct {
TaxInvoice string `json:"taxInvoice"`
TaxRateCode string `json:"taxRateCode"`
} `json:"LmSkuAttributeMap"`
PriceCent int `json:"PriceCent"`
Quantity int `json:"Quantity"`
ReservedPrice int `json:"ReservedPrice"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuID int `json:"SkuId"`
SkuPicURL string `json:"SkuPicUrl"`
SkuPvs string `json:"SkuPvs"`
Status int `json:"Status"`
SupplierPrice int `json:"SupplierPrice"`
} `json:"SkuModels"`
UserType int `json:"UserType"`
VideoPicURL string `json:"VideoPicUrl"`
VideoURL string `json:"VideoUrl"`
} `json:"Model"`
PageNumber int `json:"PageNumber"`
PageSize int `json:"PageSize"`
RequestID string `json:"RequestId"`
Success bool `json:"Success"`
TotalCount int `json:"TotalCount"`
} `json:"LmSkuAttributeMap"`
PriceCent int `json:"PriceCent"`
Quantity int `json:"Quantity"`
ReservedPrice int `json:"ReservedPrice"`
SimpleQuantity string `json:"SimpleQuantity"`
SkuID int `json:"SkuId"`
SkuPicURL string `json:"SkuPicUrl"`
SkuPvs string `json:"SkuPvs"`
Status int `json:"Status"`
SupplierPrice int `json:"SupplierPrice"`
} `json:"SkuModels"`
UserType int `json:"UserType"`
VideoPicURL string `json:"VideoPicUrl"`
VideoURL string `json:"VideoUrl"`
} `json:"Model"`
PageNumber int `json:"PageNumber"`
PageSize int `json:"PageSize"`
RequestID string `json:"RequestId"`
Success bool `json:"Success"`
TotalCount int `json:"TotalCount"`
}
type QueryItemGuIDeRetailPriceRes struct {
RequestId string `json:"RequestId"`
......@@ -190,103 +186,103 @@ type QueryItemGuIDeRetailPriceRes struct {
Code string `json:"Code"`
Success bool `json:"Success"`
}
//区域库存商品详情
func (s *goodsTmNew) QueryItemDetailWithDivision(ctx context.Context,addr string,item string) (res *QueryItemDetailWithDivisionRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *goodsTmNew) QueryItemDetailWithDivision(ctx context.Context, addr string, item string) (res *QueryItemDetailWithDivisionRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryItemDetailWithDivision(&link.QueryItemDetailWithDivisionRequest{
result, err := client.QueryItemDetailWithDivision(&link.QueryItemDetailWithDivisionRequest{
DistributionMallId: tea.String(server.DistributionMallId),
DistributorId: tea.String(server.DistributorId),
LmItemId: tea.String(item),
DivisionCode: tea.String(addr),
DivisionCode: tea.String(addr),
TenantId: tea.String(server.TenantId),
})
if result==nil{
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
if result == nil {
return
}
if *result.Body.Success ==false{
ctx = context.WithValue(ctx, "URI", "QueryItemDetailWithDivision")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
return
}
return
}
////商品列表
func (s *goodsTmNew) ListDistributionItem(ctx context.Context,item *ListDistributionItemReq) (res *ListDistributionItemRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *goodsTmNew) ListDistributionItem(ctx context.Context, item *ListDistributionItemReq) (res *ListDistributionItemRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.ListDistributionItemWithoutCache(&link.ListDistributionItemWithoutCacheRequest{
result, err := client.ListDistributionItemWithoutCache(&link.ListDistributionItemWithoutCacheRequest{
DistributionMallId: tea.String(server.DistributionMallId),
DistributorId: tea.String(server.DistributorId),
//LmItemId: tea.String(item),
TenantId: tea.String(server.TenantId),
TenantId: tea.String(server.TenantId),
PageNumber: tea.Int32(gconv.Int32(item.Page)),
PageSize: tea.Int32(gconv.Int32(item.Limit)),
PageSize: tea.Int32(gconv.Int32(item.Limit)),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "ListDistributionItem")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
return
}
return
}
//查询零售价
func (s *goodsTmNew) QueryItemGuIDeRetailPrice(ctx context.Context,item []string) (res *QueryItemGuIDeRetailPriceRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *goodsTmNew) QueryItemGuIDeRetailPrice(ctx context.Context, item []string) (res *QueryItemGuIDeRetailPriceRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryItemGuideRetailPrice(&link.QueryItemGuideRetailPriceRequest{
result, err := client.QueryItemGuideRetailPrice(&link.QueryItemGuideRetailPriceRequest{
DistributionMallId: tea.String(server.DistributionMallId),
DistributorId: tea.String(server.DistributorId),
TenantId: tea.String(server.TenantId),
LmItemIds: tea.StringSlice(item),
LmItemIds: tea.StringSlice(item),
})
if result==nil{
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
if result == nil {
return
}
if *result.Body.Success ==false{
ctx = context.WithValue(ctx, "URI", "QueryItemGuideRetailPrice")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
return
}
return
}
//Detail 详情 todo 该接口正确通过,由于订单部分接口不通过天猫技术不支持对接,后续有时间再自己写
//func (*goodsTmNew) QueryItemDetailWithDivision(ctx context.Context, req string) (res *QueryItemDetailWithDivisionRes, err error) {
// method := "QueryItemDetailWithDivision"
......@@ -320,4 +316,4 @@ func (s *goodsTmNew) QueryItemGuIDeRetailPrice(ctx context.Context,item []string
// StrNumber: true,
// }).Scan(&res)
// return
//}
\ No newline at end of file
//}
......@@ -6,7 +6,6 @@ import (
link "github.com/alibabacloud-go/linkedmall-20220531/v2/client"
"github.com/alibabacloud-go/tea/tea"
"github.com/gogf/gf/encoding/gjson"
)
type orderTm struct {
......@@ -15,18 +14,18 @@ type orderTm struct {
var Order = orderTm{}
type OrderAddress struct {
AddressDetail string `json:"AddressDetail"`
DivisionCode string `json:"DivisionCode"`
FullName string `json:"FullName"`
Mobile string `json:"Mobile"`
AddressDetail string `json:"AddressDetail"`
DivisionCode string `json:"DivisionCode"`
FullName string `json:"FullName"`
Mobile string `json:"Mobile"`
TownDivisionCode string `json:"TownDivisionCode"`
}
type RenderDistributionOrderReq struct {
ItemInfoLists []*ItemInfo `json:"ItemInfoLists"`
BuyerId string `json:"BuyerId"`
Addr string `json:"Addr"`
BuyerId string `json:"BuyerId"`
Addr string `json:"Addr"`
}
type ItemInfo struct{
type ItemInfo struct {
DistributionMallId string `json:"DistributionMallId,omitempty" xml:"DistributionMallId,omitempty"`
LmItemId string `json:"LmItemId,omitempty" xml:"LmItemId,omitempty"`
Quantity int32 `json:"Quantity,omitempty" xml:"Quantity,omitempty"`
......@@ -101,11 +100,10 @@ type OrderCreateReq struct {
ItemLists []OrderGoodsItem
}
type OrderGoodsItem struct {
LmItemId string `json:"LmItemId"`
Quantity string `json:"Quantity"`
SkuId string `json:"SkuId"`
LmItemId string `json:"LmItemId"`
Quantity string `json:"Quantity"`
SkuId string `json:"SkuId"`
DistributionMallId string `json:"DistributionMallId"`
}
type OrderCreateRes struct {
RequestId string `json:"RequestId"`
......@@ -115,10 +113,10 @@ type OrderCreateRes struct {
Success bool `json:"Success"`
}
type OrderFilter struct {
DistributionTradeId string `json:"DistributionTradeId,omitempty"`
OrderList []string `json:"OrderList,omitempty"`
LogisticsStatus string `json:"LogisticsStatus,omitempty"`
OrderStatus string `json:"OrderStatus,omitempty"`
DistributionTradeId string `json:"DistributionTradeId,omitempty"`
OrderList []string `json:"OrderList,omitempty"`
LogisticsStatus string `json:"LogisticsStatus,omitempty"`
OrderStatus string `json:"OrderStatus,omitempty"`
}
type T struct {
CreateDate string `json:"createDate"`
......@@ -144,12 +142,12 @@ type T struct {
} `json:"subOrderList"`
}
type OrderListRes struct {
RequestId string `json:"RequestId"`
Message string `json:"Message"`
PageSize int `json:"PageSize"`
PageNumber int `json:"PageNumber"`
Code string `json:"Code"`
Model []struct{
RequestId string `json:"RequestId"`
Message string `json:"Message"`
PageSize int `json:"PageSize"`
PageNumber int `json:"PageNumber"`
Code string `json:"Code"`
Model []struct {
CreateDate string `json:"CreateDate"`
DistributionOrderId string `json:"DistributionOrderId"`
DistributorId string `json:"DistributorId"`
......@@ -175,32 +173,30 @@ type OrderListRes struct {
}
type OrderListReq struct {
DistributorId string `json:"DistributorId"`
FilterOption struct{
DistributionTradeId string `json:"DistributionTradeId"`
OrderList []string `json:"OrderList"`
} `json:"FilterOption"`
PageNumber int32 `json:"PageNumber"`
PageSize int32 `json:"PageSize"`
DistributorId string `json:"DistributorId"`
FilterOption struct {
DistributionTradeId string `json:"DistributionTradeId"`
OrderList []string `json:"OrderList"`
} `json:"FilterOption"`
PageNumber int32 `json:"PageNumber"`
PageSize int32 `json:"PageSize"`
LogisticsStatus string `json:"LogisticsStatus"`
OrderStatus string `json:"OrderStatus"`
}
type FilterOption struct {
}
type OrderInfoReq struct {
MainDistributionOrderId string `json:"MainDistributionOrderId"`
UserId string `json:"UserId"`
LmOrderId string `json:"LmOrderId"`
LogisticsStatus string `json:"LogisticsStatus"`
OrderStatus string `json:"OrderStatus"`
MainDistributionOrderId string `json:"MainDistributionOrderId"`
UserId string `json:"UserId"`
LmOrderId string `json:"LmOrderId"`
LogisticsStatus string `json:"LogisticsStatus"`
OrderStatus string `json:"OrderStatus"`
}
type OrderInfoRes struct {
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model struct{
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model struct {
CreateDate string `json:"CreateDate"`
DistributionOrderId string `json:"DistributionOrderId"`
DistributorId string `json:"DistributorId"`
......@@ -228,10 +224,10 @@ type OrderStatusReq struct {
DistributionTradeId string `json:"DistributionTradeId"`
}
type OrderStatusRes struct {
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model string `json:"Model"`
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model string `json:"Model"`
//1:分销单创建中
//
//10:采购中
......@@ -255,14 +251,14 @@ type OrderStatusRes struct {
//99:交易成功
}
type AddrInfoReq struct {
DivisionCode string `json:"DivisionCode"`
DivisionCode string `json:"DivisionCode"`
}
type AddrInfoRes struct {
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model struct{
DivisionList []AddrInfo `json:"DivisionList"`
RequestId string `json:"RequestId"`
Message string `json:"Message"`
Code string `json:"Code"`
Model struct {
DivisionList []AddrInfo `json:"DivisionList"`
} `json:"Model"`
}
type AddrInfo struct {
......@@ -272,38 +268,39 @@ type AddrInfo struct {
Pinyin string `json:"Pinyin"`
DivisionCode int `json:"DivisionCode"`
}
//Before 验证订单商品
func (s *orderTm) Before(ctx context.Context,itemInfo *RenderDistributionOrderReq) (res *RenderDistributionOrderRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) Before(ctx context.Context, itemInfo *RenderDistributionOrderReq) (res *RenderDistributionOrderRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
if itemInfo==nil{
if itemInfo == nil {
return
}
var itemInfoLists []*link.RenderDistributionOrderRequestItemInfoLists
err =gjson.New(itemInfo.ItemInfoLists).Scan(&itemInfoLists)
result ,err :=client.RenderDistributionOrder(&link.RenderDistributionOrderRequest{
BuyerId: tea.String(itemInfo.BuyerId),
DistributorId: tea.String(server.DistributorId),
err = gjson.New(itemInfo.ItemInfoLists).Scan(&itemInfoLists)
result, err := client.RenderDistributionOrder(&link.RenderDistributionOrderRequest{
BuyerId: tea.String(itemInfo.BuyerId),
DistributorId: tea.String(server.DistributorId),
ItemInfoLists: itemInfoLists,
TenantId: tea.String(server.TenantId),
DeliveryAddress: tea.String(itemInfo.Addr),
DistributionSupplierId: tea.String(server.DistributionSupplierId),
TenantId: tea.String(server.TenantId),
DeliveryAddress: tea.String(itemInfo.Addr),
DistributionSupplierId: tea.String(server.DistributionSupplierId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(itemInfo).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "RenderDistributionOrder")
log(ctx, gjson.New(itemInfo).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
return
}
......@@ -312,16 +309,16 @@ func (s *orderTm) Before(ctx context.Context,itemInfo *RenderDistributionOrderRe
}
//订单列表
func (s *orderTm) List(ctx context.Context,item *OrderListReq) (res *OrderListRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) List(ctx context.Context, item *OrderListReq) (res *OrderListRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryOrderList4Distribution(&link.QueryOrderList4DistributionRequest{
result, err := client.QueryOrderList4Distribution(&link.QueryOrderList4DistributionRequest{
DistributorId: tea.String(server.DistributorId),
FilterOption: tea.String(gjson.New(item.FilterOption).MustToJsonString()),
PageNumber: tea.Int32(item.PageNumber),
......@@ -329,148 +326,156 @@ func (s *orderTm) List(ctx context.Context,item *OrderListReq) (res *OrderListRe
TenantId: tea.String(server.TenantId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "QueryOrderList4Distribution")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
panic(err)
}
return
}
//创建订单
func (s *orderTm) Create(ctx context.Context,item *OrderCreateReq) (res *OrderCreateRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) Create(ctx context.Context, item *OrderCreateReq) (res *OrderCreateRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
if item==nil{
if item == nil {
return
}
var itemInfoLists []*link.ApplyCreateDistributionOrderRequestItemInfoLists
err =gjson.New(item.ItemLists).Scan(&itemInfoLists)
err = gjson.New(item.ItemLists).Scan(&itemInfoLists)
result ,err :=client.ApplyCreateDistributionOrder(&link.ApplyCreateDistributionOrderRequest{
DistributorId: tea.String(server.DistributorId),
TenantId: tea.String(server.TenantId),
DistributionSupplierId: tea.String(server.DistributionSupplierId),
BuyerId: tea.String(item.UserId),
ItemInfoLists: itemInfoLists,
DeliveryAddress: tea.String(item.Address),
result, err := client.ApplyCreateDistributionOrder(&link.ApplyCreateDistributionOrderRequest{
DistributorId: tea.String(server.DistributorId),
TenantId: tea.String(server.TenantId),
DistributionSupplierId: tea.String(server.DistributionSupplierId),
BuyerId: tea.String(item.UserId),
ItemInfoLists: itemInfoLists,
DeliveryAddress: tea.String(item.Address),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "ApplyCreateDistributionOrder")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
return
}
return
}
//订单详情
func (s *orderTm) Detail(ctx context.Context,item *OrderInfoReq) (res *OrderInfoRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) Detail(ctx context.Context, item *OrderInfoReq) (res *OrderInfoRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryOrderDetail4Distribution(&link.QueryOrderDetail4DistributionRequest{
DistributorId: tea.String(server.DistributorId),
result, err := client.QueryOrderDetail4Distribution(&link.QueryOrderDetail4DistributionRequest{
DistributorId: tea.String(server.DistributorId),
MainDistributionOrderId: tea.String(item.MainDistributionOrderId),
TenantId: tea.String(server.TenantId),
TenantId: tea.String(server.TenantId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "QueryOrderDetail4Distribution")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
panic(err)
}
return
}
//订单交易状态
func (s *orderTm) Status(ctx context.Context,item *OrderStatusReq) (res *OrderStatusRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) Status(ctx context.Context, item *OrderStatusReq) (res *OrderStatusRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryDistributionTradeStatus(&link.QueryDistributionTradeStatusRequest{
DistributorId: tea.String(server.DistributorId),
DistributionTradeId: tea.String(item.DistributionTradeId),
TenantId: tea.String(server.TenantId),
result, err := client.QueryDistributionTradeStatus(&link.QueryDistributionTradeStatusRequest{
DistributorId: tea.String(server.DistributorId),
DistributionTradeId: tea.String(item.DistributionTradeId),
TenantId: tea.String(server.TenantId),
DistributionSupplierId: tea.String(server.DistributionSupplierId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(item).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "QueryDistributionTradeStatus")
log(ctx, gjson.New(item).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
panic(err)
}
return
}
//地址
func (s *orderTm) AddrInfo(ctx context.Context,itemInfo *AddrInfoReq) (res *AddrInfoRes, err error) {
client,err :=initClient()
if err!=nil{
func (s *orderTm) AddrInfo(ctx context.Context, itemInfo *AddrInfoReq) (res *AddrInfoRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.QueryChildDivisionCodeById(&link.QueryChildDivisionCodeByIdRequest{
DistributorId: tea.String(server.DistributorId),
DivisionCode: tea.String(itemInfo.DivisionCode),
TenantId: tea.String(server.TenantId),
result, err := client.QueryChildDivisionCodeById(&link.QueryChildDivisionCodeByIdRequest{
DistributorId: tea.String(server.DistributorId),
DivisionCode: tea.String(itemInfo.DivisionCode),
TenantId: tea.String(server.TenantId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(itemInfo).MustToJsonString(),result.Body,err)
if err!=nil{
ctx = context.WithValue(ctx, "URI", "QueryChildDivisionCodeById")
log(ctx, gjson.New(itemInfo).MustToJsonString(), result.Body, err)
if err != nil {
return
}
a,_ :=json.Marshal(result.Body)
a, _ := json.Marshal(result.Body)
if err = json.Unmarshal([]byte(a), &res); err != nil {
panic(err)
}
return
}
//订单详情
//func (s *orderTm) Detail(ctx context.Context,req OrderInfoReq) (res OrderInfoRes,err error) {
//
......@@ -527,8 +532,6 @@ func (s *orderTm) AddrInfo(ctx context.Context,itemInfo *AddrInfoReq) (res *Addr
// return
//}
//
//type OrderListReq struct {
// UserId string
......@@ -539,7 +542,6 @@ func (s *orderTm) AddrInfo(ctx context.Context,itemInfo *AddrInfoReq) (res *Addr
//}
//
//List 列表
//func (s *orderTm) QueryOrderList4Distribution(ctx context.Context,req OrderListReq) (res OrderListRes,err error) {
// method := "QueryOrderList4Distribution"
......@@ -576,4 +578,3 @@ func (s *orderTm) AddrInfo(ctx context.Context,itemInfo *AddrInfoReq) (res *Addr
// LmOrderId string
//}
//
......@@ -22,36 +22,34 @@ type RefundSubmitReq struct {
LogisticsNo string //物流单号
}
type RefundCancelRes struct {
Code string `json:" Code"`
Message string `json:"Message"`
Code string `json:" Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Success bool `json:"Success"`
Model struct{
Model struct {
SubDistributionOrderId string `json:"SubDistributionOrderId"`
DisputeStatus int `json:"DisputeStatus"`
DisputeType int `json:"DisputeType"`
} `json:"Model"`
}
type CommonRes struct {
Code string `json:" Code"`
Message string `json:"Message"`
Code string `json:" Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Success bool `json:"Success"`
}
type RefundBeforeReq struct {
SubDistributionOrderId string `json:"SubDistributionOrderId"`
BizClaimType int32 `json:"BizClaimType"`
GoodsStatus string `json:"GoodsStatus"`
BizClaimType int32 `json:"BizClaimType"`
GoodsStatus string `json:"GoodsStatus"`
}
type RefundBeforeRes struct {
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct {
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct {
SubDistributionOrderId string `json:"SubDistributionOrderId"`
BizClaimType int `json:"BizClaimType"`
MainOrderRefund bool `json:"MainOrderRefund"`
......@@ -65,18 +63,18 @@ type RefundBeforeRes struct {
ProofRequired bool `json:"ProofRequired"`
RefundDescRequired bool `json:"RefundDescRequired"`
} `json:"RefundReasonList"`
}
}
}
type RefundApplyReq struct {
UserId string
SubLmOrderId string //子订单号
BizClaimType string //退款类型
ApplyRefundFee int64 //申请退款金额
ApplyRefundCount int32 //退货数量
ApplyReasonTextId int64 //退款原因ID
ApplyRefundFee int64 //申请退款金额
ApplyRefundCount int32 //退货数量
ApplyReasonTextId int64 //退款原因ID
LeaveMessage string //留言
LeavePictureList []*RefundApplyPicture //凭证,某些原因要求必须有凭证。
GoodsStatus int32 //当退款类型:仅退款时,货物状态:为4未 发货。所有状态:4: 未发货, 6: 已发货, 1: 未收到货, 2: 已收到货, 3:已寄回, 5: 卖家确 认收货
GoodsStatus int32 //当退款类型:仅退款时,货物状态:为4未 发货。所有状态:4: 未发货, 6: 已发货, 1: 未收到货, 2: 已收到货, 3:已寄回, 5: 卖家确 认收货
}
type RefundApplyPicture struct {
......@@ -85,88 +83,87 @@ type RefundApplyPicture struct {
}
type RefundApplyRes struct {
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct {
SubDistributionOrderId string `json:"SubDistributionOrderId"` //当前发起逆向的子订单号
DisputeStatus int `json:"DisputeStatus"` //逆向的状态
DisputeType int `json:"DisputeType"` //任意退款类型
DisputeId int64 `json:"DisputeId"` //shou
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct {
SubDistributionOrderId string `json:"SubDistributionOrderId"` //当前发起逆向的子订单号
DisputeStatus int `json:"DisputeStatus"` //逆向的状态
DisputeType int `json:"DisputeType"` //任意退款类型
DisputeId int64 `json:"DisputeId"` //shou
} `json:"Model"`
}
//Before 前置
func (s *refundTm) Before(ctx context.Context, req *RefundBeforeReq) (res *RefundBeforeRes, err error) {
client,err :=initClient()
if err!=nil{
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.InitApplyRefund4Distribution(&link.InitApplyRefund4DistributionRequest{
BizClaimType: tea.Int32(req.BizClaimType),
DistributorId: tea.String(server.DistributorId),
result, err := client.InitApplyRefund4Distribution(&link.InitApplyRefund4DistributionRequest{
BizClaimType: tea.Int32(req.BizClaimType),
DistributorId: tea.String(server.DistributorId),
SubDistributionOrderId: tea.String(req.SubDistributionOrderId),
TenantId: tea.String(server.TenantId),
GoodsStatus: tea.Int32(gconv.Int32(req.GoodsStatus)),
TenantId: tea.String(server.TenantId),
GoodsStatus: tea.Int32(gconv.Int32(req.GoodsStatus)),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(req).MustToJsonString(),result.Body,err)
ctx = context.WithValue(ctx, "URI", "InitApplyRefund4Distribution")
log(ctx, gjson.New(req).MustToJsonString(), result.Body, err)
a,_:=json.Marshal(result.Body)
err =json.Unmarshal([]byte(a),&res)
a, _ := json.Marshal(result.Body)
err = json.Unmarshal([]byte(a), &res)
return
}
//Apply 申请
func (s *refundTm) Apply(ctx context.Context, req *RefundApplyReq) (res *RefundApplyRes, err error) {
client,err :=initClient()
if err!=nil{
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.ApplyRefund4Distribution(&link.ApplyRefund4DistributionRequest{
ApplyReasonTextId: tea.Int64(req.ApplyReasonTextId),
ApplyRefundCount: tea.Int32(req.ApplyRefundCount),
ApplyRefundFee: tea.Int64(req.ApplyRefundFee),
BizClaimType: tea.Int32(gconv.Int32(req.BizClaimType)),//gconv.Int32(req.BizClaimType)
DistributorId: tea.String(server.DistributorId),
GoodsStatus: tea.Int32(req.GoodsStatus),
result, err := client.ApplyRefund4Distribution(&link.ApplyRefund4DistributionRequest{
ApplyReasonTextId: tea.Int64(req.ApplyReasonTextId),
ApplyRefundCount: tea.Int32(req.ApplyRefundCount),
ApplyRefundFee: tea.Int64(req.ApplyRefundFee),
BizClaimType: tea.Int32(gconv.Int32(req.BizClaimType)), //gconv.Int32(req.BizClaimType)
DistributorId: tea.String(server.DistributorId),
GoodsStatus: tea.Int32(req.GoodsStatus),
//LeaveMessage: tea.String("测试退款"),
LeavePictureLists: nil,
SubDistributionOrderId: tea.String(req.SubLmOrderId),
LeavePictureLists: nil,
SubDistributionOrderId: tea.String(req.SubLmOrderId),
TenantId: tea.String(server.TenantId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(req).MustToJsonString(),result.Body,err)
ctx = context.WithValue(ctx, "URI", "ApplyRefund4Distribution")
log(ctx, gjson.New(req).MustToJsonString(), result.Body, err)
a,_:=json.Marshal(result.Body)
err =json.Unmarshal([]byte(a),&res)
a, _ := json.Marshal(result.Body)
err = json.Unmarshal([]byte(a), &res)
return
}
type RefundInfoRes struct {
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct{
Code string `json:"Code"`
Message string `json:"Message"`
RequestId string `json:"RequestId"`
Model struct {
DistributionOrderId string `json:"DistributionOrderId"`
SubDistributionOrderId string `json:"SubDistributionOrderId"`
BizClaimType int `json:"BizClaimType"`
......@@ -198,84 +195,88 @@ type RefundInfoRes struct {
RefunderZipCode string `json:"RefunderZipCode"`
} `json:"Model"`
}
//Submit 提交退货物流信息接口
func (s *refundTm) Submit(ctx context.Context, req RefundSubmitReq) (res *CommonRes, err error) {
client,err :=initClient()
if err!=nil{
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.SubmitReturnGoodLogistics4Distribution(&link.SubmitReturnGoodLogistics4DistributionRequest{
DisputeId: tea.Int64(gconv.Int64(req.DisputeId)),
DistributorId: tea.String(server.DistributorId),
result, err := client.SubmitReturnGoodLogistics4Distribution(&link.SubmitReturnGoodLogistics4DistributionRequest{
DisputeId: tea.Int64(gconv.Int64(req.DisputeId)),
DistributorId: tea.String(server.DistributorId),
SubDistributionOrderId: tea.String(req.SubLmOrderId),
TenantId: tea.String(server.TenantId),
LogisticsNo: tea.String(req.LogisticsNo),
CpCode: tea.String(req.CpCode),
TenantId: tea.String(server.TenantId),
LogisticsNo: tea.String(req.LogisticsNo),
CpCode: tea.String(req.CpCode),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(req).MustToJsonString(),result.Body,err)
ctx = context.WithValue(ctx, "URI", "SubmitReturnGoodLogistics4Distribution")
log(ctx, gjson.New(req).MustToJsonString(), result.Body, err)
a,_:=json.Marshal(result.Body)
err =json.Unmarshal([]byte(a),&res)
a, _ := json.Marshal(result.Body)
err = json.Unmarshal([]byte(a), &res)
return
}
//Cancel 取消退款申请接口
func (s *refundTm) Cancel(ctx context.Context, UserId, subLmOrderId, disputeId string) (res *RefundCancelRes, err error) {
client,err :=initClient()
if err!=nil{
client, err := initClient()
if err != nil {
return
}
if client==nil{
if client == nil {
return
}
result ,err :=client.CancelRefund4Distribution(&link.CancelRefund4DistributionRequest{
DisputeId: tea.Int64(gconv.Int64(disputeId)),
DistributorId: tea.String(server.DistributorId),
result, err := client.CancelRefund4Distribution(&link.CancelRefund4DistributionRequest{
DisputeId: tea.Int64(gconv.Int64(disputeId)),
DistributorId: tea.String(server.DistributorId),
SubDistributionOrderId: tea.String(subLmOrderId),
TenantId: tea.String(server.TenantId),
TenantId: tea.String(server.TenantId),
})
if result==nil{
if result == nil {
return
}
log(ctx,gjson.New(disputeId).MustToJsonString(),result.Body,err)
ctx = context.WithValue(ctx, "URI", "CancelRefund4Distribution")
log(ctx, gjson.New(disputeId).MustToJsonString(), result.Body, err)
a,_:=json.Marshal(result.Body)
err =json.Unmarshal([]byte(a),&res)
a, _ := json.Marshal(result.Body)
err = json.Unmarshal([]byte(a), &res)
return
}
//Info 详情
func (s *refundTm) Detail(ctx context.Context,subOrderId string) (res *RefundInfoRes, err error) {
client,err :=initClient()
if err!=nil{
return
func (s *refundTm) Detail(ctx context.Context, subOrderId string) (res *RefundInfoRes, err error) {
client, err := initClient()
if err != nil {
return
}
if client==nil{
return
if client == nil {
return
}
result ,err :=client.QueryRefundApplicationDetail4Distribution(&link.QueryRefundApplicationDetail4DistributionRequest{
DistributorId: tea.String(server.DistributorId),
SubDistributionOrderId: tea.String(subOrderId),
TenantId: tea.String(server.TenantId),
result, err := client.QueryRefundApplicationDetail4Distribution(&link.QueryRefundApplicationDetail4DistributionRequest{
DistributorId: tea.String(server.DistributorId),
SubDistributionOrderId: tea.String(subOrderId),
TenantId: tea.String(server.TenantId),
})
if result==nil{
return
if result == nil {
return
}
log(ctx,gjson.New(subOrderId).MustToJsonString(),result.Body,err)
a,_:=json.Marshal(result.Body)
err =json.Unmarshal([]byte(a),&res)
ctx = context.WithValue(ctx, "URI", "QueryRefundApplicationDetail4Distribution")
log(ctx, gjson.New(subOrderId).MustToJsonString(), result.Body, err)
a, _ := json.Marshal(result.Body)
err = json.Unmarshal([]byte(a), &res)
return
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论