Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
L
library
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
stbz
library
Commits
1b1697b4
提交
1b1697b4
authored
7月 20, 2022
作者:
zhanglibo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
唯品会
上级
c21afef1
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
337 行增加
和
24 行删除
+337
-24
wpc.go
upstream/wpc/wpc.go
+0
-1
wpc_address.go
upstream/wpc/wpc_address.go
+64
-13
wpc_brand.go
upstream/wpc/wpc_brand.go
+2
-2
wpc_common.go
upstream/wpc/wpc_common.go
+39
-0
wpc_deliver.go
upstream/wpc/wpc_deliver.go
+26
-2
wpc_goods.go
upstream/wpc/wpc_goods.go
+6
-6
wpc_order.go
upstream/wpc/wpc_order.go
+82
-0
wpc_refund.go
upstream/wpc/wpc_refund.go
+118
-0
没有找到文件。
upstream/wpc/wpc.go
浏览文件 @
1b1697b4
...
...
@@ -76,7 +76,6 @@ func sign(param *QueryParam, req string) string {
}
}
signStr
+=
req
g
.
Dump
(
signStr
)
h
:=
hmac
.
New
(
md5
.
New
,
[]
byte
(
server
.
AppSecret
))
h
.
Write
([]
byte
(
signStr
))
u
.
Set
(
"sign"
,
gstr
.
ToUpper
(
hex
.
EncodeToString
(
h
.
Sum
([]
byte
(
""
)))))
...
...
upstream/wpc/wpc_address.go
浏览文件 @
1b1697b4
...
...
@@ -2,6 +2,8 @@ package wpc
import
(
"context"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
)
type
addressWpc
struct
{
...
...
@@ -9,20 +11,69 @@ type addressWpc struct {
var
Address
=
addressWpc
{}
type
ParseRes
struct
{
NationId
string
`json:"nationId"`
//国家ID
Nation
string
`json:"nation"`
//国家名称
ProvinceId
int
`json:"provinceId"`
//一级地址ID
Province
string
`json:"province"`
//一级地址名称
CityId
int
`json:"cityId"`
//二级地址ID
City
string
`json:"city"`
//二级地址名称
CountyId
int
`json:"countyId"`
//三级地址ID
County
string
`json:"county"`
//三级地址名称
TownId
int
`json:"townId"`
//四级地址ID
Town
string
`json:"town"`
//四级地址名称
type
AddressListReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
AreaCode
string
`json:"areaCode,omitempty"`
}
//Parse 地址详情转换京东地址编码
func
(
*
addressWpc
)
Parse
(
ctx
context
.
Context
,
address
string
)
(
res
*
ParseRes
,
err
error
)
{
type
AddressListRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
struct
{
ChildList
[]
struct
{
AreaCode
string
`json:"areaCode"`
AreaName
string
`json:"areaName"`
}
`json:"childList"`
Info
struct
{
AreaCode
string
`json:"areaCode"`
AreaName
string
`json:"areaName"`
}
`json:"info"`
}
`json:"result"`
}
func
(
*
addressWpc
)
List
(
ctx
context
.
Context
,
req
AddressListReq
)
(
res
*
AddressListRes
,
err
error
)
{
method
:=
"selectAddress"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
AddressParseReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
FullAddress
string
`json:"fullAddress"`
}
type
AddressParseRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
struct
{
AreaCode
string
`json:"areaCode"`
TownName
string
`json:"townName"`
CityName
string
`json:"cityName"`
AreaName
string
`json:"areaName"`
TownCode
string
`json:"townCode"`
ProvinceCode
string
`json:"provinceCode"`
CityCode
string
`json:"cityCode"`
ProvinceName
string
`json:"provinceName"`
}
`json:"result"`
}
//Parse 解析地址
func
(
*
addressWpc
)
Parse
(
ctx
context
.
Context
,
addr
string
)
(
res
*
AddressParseRes
,
err
error
)
{
method
:=
"smartAddress"
req
:=
AddressParseReq
{}
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
req
.
FullAddress
=
addr
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
upstream/wpc/wpc_brand.go
浏览文件 @
1b1697b4
...
...
@@ -24,7 +24,7 @@ type BrandListRes struct {
}
//List 列表
func
(
brandWpc
)
List
(
ctx
context
.
Context
,
req
BrandListReq
)
(
res
*
BrandListRes
,
err
error
)
{
func
(
*
brandWpc
)
List
(
ctx
context
.
Context
,
req
BrandListReq
)
(
res
*
BrandListRes
,
err
error
)
{
method
:=
"getBrandList"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -132,7 +132,7 @@ type BrandPreListRes struct {
}
//PreList 预告品牌列表
func
(
brandWpc
)
PreList
(
ctx
context
.
Context
,
req
BrandPreListReq
)
(
res
*
BrandPreListRes
,
err
error
)
{
func
(
*
brandWpc
)
PreList
(
ctx
context
.
Context
,
req
BrandPreListReq
)
(
res
*
BrandPreListRes
,
err
error
)
{
method
:=
"getPreBrandList"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
upstream/wpc/wpc_common.go
0 → 100644
浏览文件 @
1b1697b4
package
wpc
import
(
"context"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
)
type
commonWpc
struct
{
}
var
Common
=
commonWpc
{}
type
CommonUploadReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
Image
string
`json:"imageBase64String"`
FileName
string
`json:"fileName,omitempty"`
}
type
CommonUploadRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
struct
{
Url
string
}
`json:"result"`
}
//Upload 上传图片
func
(
*
commonWpc
)
Upload
(
ctx
context
.
Context
,
req
CommonUploadReq
)
(
res
*
CommonUploadRes
,
err
error
)
{
method
:=
"commonUploadImg4Ugc"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
upstream/wpc/wpc_deliver.go
浏览文件 @
1b1697b4
...
...
@@ -25,8 +25,8 @@ type DeliverListRes struct {
}
`json:"result"`
}
//List
列表
func
(
deliverWpc
)
List
(
ctx
context
.
Context
)
(
res
*
DeliverListRes
,
err
error
)
{
//List
物流公司
func
(
*
deliverWpc
)
List
(
ctx
context
.
Context
)
(
res
*
DeliverListRes
,
err
error
)
{
method
:=
"getCarrierList"
req
:=
DeliverListReq
{}
req
.
ChannelId
=
server
.
AppKey
...
...
@@ -37,3 +37,27 @@ func (deliverWpc) List(ctx context.Context) (res *DeliverListRes, err error) {
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
DeliverTrackReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
OrderSn
string
`json:"orderSn"`
}
type
DeliverTrackRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//Track 物流轨迹
func
(
*
deliverWpc
)
Track
(
ctx
context
.
Context
,
req
DeliverTrackReq
)
(
res
*
DeliverTrackRes
,
err
error
)
{
method
:=
"getOrderTrackV2"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
upstream/wpc/wpc_goods.go
浏览文件 @
1b1697b4
...
...
@@ -27,7 +27,7 @@ type GoodsListRes struct {
}
//List 列表
func
(
goodsWpc
)
List
(
ctx
context
.
Context
,
req
GoodsListReq
)
(
res
*
GoodsListRes
,
err
error
)
{
func
(
*
goodsWpc
)
List
(
ctx
context
.
Context
,
req
GoodsListReq
)
(
res
*
GoodsListRes
,
err
error
)
{
method
:=
"getGoodsList"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -63,7 +63,7 @@ type GoodsStockRes struct {
}
//Stock 库存
func
(
goodsWpc
)
Stock
(
ctx
context
.
Context
,
req
GoodsStockReq
)
(
res
*
GoodsStockRes
,
err
error
)
{
func
(
*
goodsWpc
)
Stock
(
ctx
context
.
Context
,
req
GoodsStockReq
)
(
res
*
GoodsStockRes
,
err
error
)
{
method
:=
"getGoodsStock"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -89,7 +89,7 @@ type GoodsDetailRes struct {
}
//Detail 详情
func
(
goodsWpc
)
Detail
(
ctx
context
.
Context
,
req
GoodsDetailReq
)
(
res
*
GoodsDetailRes
,
err
error
)
{
func
(
*
goodsWpc
)
Detail
(
ctx
context
.
Context
,
req
GoodsDetailReq
)
(
res
*
GoodsDetailRes
,
err
error
)
{
method
:=
"getGoodsDetail"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -114,7 +114,7 @@ type GoodsStatusRes struct {
}
//Status 批量查询商品状态
func
(
goodsWpc
)
Status
(
ctx
context
.
Context
,
req
GoodsStatusReq
)
(
res
*
GoodsStatusRes
,
err
error
)
{
func
(
*
goodsWpc
)
Status
(
ctx
context
.
Context
,
req
GoodsStatusReq
)
(
res
*
GoodsStatusRes
,
err
error
)
{
method
:=
"getGoodsStatus"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -139,7 +139,7 @@ type GoodsSizeStatusRes struct {
}
//SizeStatus 批量查询尺码状态
func
(
goodsWpc
)
SizeStatus
(
ctx
context
.
Context
,
req
GoodsSizeStatusReq
)
(
res
*
GoodsSizeStatusRes
,
err
error
)
{
func
(
*
goodsWpc
)
SizeStatus
(
ctx
context
.
Context
,
req
GoodsSizeStatusReq
)
(
res
*
GoodsSizeStatusRes
,
err
error
)
{
method
:=
"getSizeStatus"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
@@ -164,7 +164,7 @@ type GoodsOnlineRes struct {
}
//Online 批量查询商品上下架
func
(
goodsWpc
)
Online
(
ctx
context
.
Context
,
req
GoodsOnlineReq
)
(
res
*
GoodsOnlineRes
,
err
error
)
{
func
(
*
goodsWpc
)
Online
(
ctx
context
.
Context
,
req
GoodsOnlineReq
)
(
res
*
GoodsOnlineRes
,
err
error
)
{
method
:=
"getGoodsOnline"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
...
...
upstream/wpc/wpc_order.go
浏览文件 @
1b1697b4
...
...
@@ -20,6 +20,7 @@ type OrderListReq struct {
type
OrderListRes
struct
{
}
//List 列表
func
(
orderWpc
)
List
(
ctx
context
.
Context
,
req
OrderListReq
)
(
res
*
OrderListRes
,
err
error
)
{
method
:=
"getSimpleOrderListV2"
req
.
ChannelId
=
server
.
AppKey
...
...
@@ -30,3 +31,84 @@ func (orderWpc) List(ctx context.Context, req OrderListReq) (res *OrderListRes,
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
OrderDetailReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
}
type
OrderDetailRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//Detail 详情
func
(
orderWpc
)
Detail
(
ctx
context
.
Context
,
req
OrderDetailReq
)
(
res
*
OrderDetailRes
,
err
error
)
{
method
:=
"getOrderDetail"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
OrderCreateReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
AreaId
string
`json:"areaId,omitempty"`
ProvinceName
string
`json:"provinceName,omitempty"`
CityName
string
`json:"cityName,omitempty"`
AreaName
string
`json:"areaName,omitempty"`
TownName
string
`json:"townName,omitempty"`
Address
string
`json:"address"`
Consignee
string
`json:"consignee"`
Mobile
string
`json:"mobile"`
OrderSn
string
`json:"channelOrderSn"`
IsUseCipher
string
`json:"isUseCipher"`
AddressCipher
string
`json:"addressCipher,omitempty"`
//详细地址加密, 加密类型:RSA2048
ConsigneeCipher
string
`json:"consigneeCipher,omitempty"`
//收件人加密, 加密类型:RSA2048
MobileCipher
string
`json:"mobileCipher,omitempty"`
//收件人手机号加密, 加密类型:RSA2048
SizeInfo
string
`json:"sizeInfo"`
}
type
OrderCreateSizeInfo
struct
{
AdID
int
`json:"adId"`
SizeID
int64
`json:"sizeId"`
SizeNum
int
`json:"sizeNum"`
CouponCode
string
`json:"couponCode"`
}
type
OrderCreateRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
struct
{
Orders
[]
struct
{
OrderSn
string
IsUseCoupon
bool
}
CouponList
[]
struct
{
CouponNo
string
CouponSn
string
OrderSn
string
GetCouponStatus
int
GetCouponReason
string
UseCouponStatus
int
UseCouponReason
string
}
}
`json:"result"`
}
//Create 下单
func
(
orderWpc
)
Create
(
ctx
context
.
Context
,
req
OrderCreateReq
)
(
res
*
OrderCreateRes
,
err
error
)
{
method
:=
"orderCreate2Pms"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
upstream/wpc/wpc_refund.go
浏览文件 @
1b1697b4
package
wpc
import
(
"context"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
)
type
refundWpc
struct
{
}
var
Refund
=
refundWpc
{}
type
RefundReasonReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
OrderSn
string
`json:"orderSn"`
ReturnId
string
`json:"returnId,omitempty"`
AreaId
string
`json:"areaId,omitempty"`
}
type
RefundReasonRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//Reason 退货原因
func
(
refundWpc
)
Reason
(
ctx
context
.
Context
,
req
RefundReasonReq
)
(
res
*
RefundReasonRes
,
err
error
)
{
method
:=
"getReturnOrderCreate"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
RefundApplyReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
OrderSn
string
`json:"orderSn"`
SizeInfo
string
`json:"sizeInfo"`
}
type
RefundApplySizeInfo
struct
{
SizeID
int
`json:"sizeId"`
Num
int
`json:"num"`
ReasonID
int
`json:"reasonId"`
}
type
RefundApplyRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//Apply 申请
func
(
refundWpc
)
Apply
(
ctx
context
.
Context
,
req
RefundApplyReq
)
(
res
*
RefundApplyRes
,
err
error
)
{
method
:=
"orderReturnCreate"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
RefundSubmitReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
OrderSn
string
`json:"orderSn"`
CarriersCode
string
`json:"carriersCode"`
TransportNo
string
`json:"transportNo"`
Remark
string
`json:"remark,omitempty"`
ReturnId
string
`json:"returnId,omitempty"`
}
type
RefundSubmitRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//Submit 填写回寄物流单号
func
(
refundWpc
)
Submit
(
ctx
context
.
Context
,
req
RefundSubmitReq
)
(
res
*
RefundSubmitRes
,
err
error
)
{
method
:=
"updateReturnTransportNo"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
type
RefundListReq
struct
{
ChannelId
string
`json:"vopChannelId"`
UserNumber
string
`json:"userNumber"`
Page
string
`json:"page"`
PageSize
string
`json:"pageSize"`
OrderSn
string
`json:"orderSn"`
IsCanceled
bool
`json:"isCanceled,omitempty"`
}
type
RefundListRes
struct
{
ReturnCode
string
`json:"returnCode"`
ReturnMessage
string
`json:"returnMessage"`
Result
interface
{}
`json:"result"`
}
//List 列表
func
(
refundWpc
)
List
(
ctx
context
.
Context
,
req
RefundListReq
)
(
res
*
RefundListRes
,
err
error
)
{
method
:=
"multiAfterSaleList"
req
.
ChannelId
=
server
.
AppKey
req
.
UserNumber
=
server
.
UserNumber
result
,
err
:=
post
(
ctx
,
method
,
g
.
Map
{
"request"
:
req
,
})
_
=
gjson
.
New
(
result
)
.
Scan
(
&
res
)
return
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论