1
This commit is contained in:
@@ -28,17 +28,6 @@ func TestImWaiterStatusModify(t *testing.T) {
|
||||
api.ImWaiterStatusModify(1, "19854102", 1)
|
||||
}
|
||||
|
||||
func TestImMsgChange(t *testing.T) {
|
||||
data := &JdParamJsonObj{
|
||||
StatusId: "",
|
||||
BillId: "320406",
|
||||
ExtendJsonData: "{\"ver\":\"4.2\",\"fromChannelId\":-1,\"mid\":376841421,\"body\":{\"chatinfo\":{\"venderId\":\"store_10352814_1000051632\",\"firstMsg\":true,\"source\":\"jimitwo_service_smart_sdk\",\"IMService\":false,\"repeatConsult\":1,\"sid\":\"8b457541accd5e63eb4845f94c4852e8\",\"oGroupId\":113057083,\"askType\":\"o2o\",\"appId\":\"im.waiter\",\"verification\":\"slide\",\"repeatHuman\":1,\"isJdSuperMarket\":\"0\",\"deviceNo\":\"dd_dvc_aes_73FF2098F02392E999FE00A26817AE212E55DF89C9D405370B4B09A908F3A355\",\"label\":1,\"storeId\":\"1000051632\",\"oSid\":\"9ec16e789610328114db937025384666\",\"distinguishPersonJimi\":2,\"proVer\":\"smart_android_15.2.90\",\"entry\":\"sdk_recent\",\"askAllocateType\":\"multiChat\",\"leaveMsgTable\":1,\"venderName\":\"京西菜市-新都三河店\",\"disputeId\":-1,\"ddSessionType\":\"1\",\"systemVer\":\"android_12_BRA-AL00\",\"eidtoken\":\"jdd01SVZE72NCBZ6AXTRFHLIRLNUSF25PCOYF4OPNU3BOITK5SR62TUHMBIDGFBOYGQ7TWY7WRDPLHA3LP6NME42NE5IQNXASKIGJA6ULRAI01234567\",\"region\":\"CN\"},\"llmStream\":0,\"thumbnail\":\"\",\"param\":{\"$ref\":\"$.body.chatinfo\"},\"type\":\"text\",\"requestData\":{\"entry\":\"sdk_recent\",\"venderId\":\"store_10352814_1000051632\"},\"content\":\"低处不胜暖\",\"sid\":\"8b457541accd5e63eb4845f94c4852e8\"},\"type\":\"chat_message\",\"clientTime\":1765873013013,\"datetime\":1765873013299,\"len\":0,\"from\":{\"app\":\"im.customer\",\"art\":\"\",\"clientType\":\"android\",\"pin\":\"jd_52db6569f724f\"},\"subType\":\"text\",\"id\":\"bdf9475389e94265835d90c41912629c\",\"to\":{\"app\":\"im.waiter\",\"pin\":\"liyang12345ly\"},\"lang\":\"zh_CN\",\"timestamp\":1765873013299}",
|
||||
StoreId: "11998833",
|
||||
Timestamp: "2025-12-16 16:16:53",
|
||||
}
|
||||
ImMsgChange(data, "msChatMessage")
|
||||
}
|
||||
|
||||
func Test(t *testing.T) {
|
||||
api.MessagePushService(&ContextMsg{
|
||||
Id: "1766037788592184572_Q12",
|
||||
|
||||
@@ -179,11 +179,11 @@ func TestProcessQuestionPic(t *testing.T) {
|
||||
for _, v := range [][]string{
|
||||
[]string{
|
||||
"http://img10.360buyimg.com/o2o/jfs/a.jpg",
|
||||
",,,jfs/a.jpg",
|
||||
",jfs/a.jpg",
|
||||
},
|
||||
[]string{
|
||||
"http://img10.360buyimg.com/o2o/jfs/a.jpg,https://img10.360buyimg.com/o2o/jfs/b.jpg",
|
||||
" , ,, jfs/a.jpg,https:jfs/b.jpg",
|
||||
" , , jfs/a.jpg,https:jfs/b.jpg",
|
||||
},
|
||||
[]string{
|
||||
"https://img10.360buyimg.com/o2o/jfs/a.jpg",
|
||||
|
||||
@@ -129,6 +129,11 @@ func TestNewAddSku(t *testing.T) {
|
||||
globals.SugarLogger.Debugf("--------result := %v", err)
|
||||
}
|
||||
|
||||
func TestUpdateCurrentQty(t *testing.T) {
|
||||
err1 := api.UpdateCurrentQty(utils.Int64ToStr(time.Now().Unix()), "23988364", 2023436550, 9999)
|
||||
fmt.Println(err1)
|
||||
}
|
||||
|
||||
func TestNewAddSku2(t *testing.T) {
|
||||
param := map[string]interface{}{
|
||||
"traceId": "33F7CD45502711F190B1525400E86DC0,18981810340",
|
||||
|
||||
@@ -410,12 +410,11 @@ type JDSkuList struct {
|
||||
func (a *API) UnBindStoreGoods(skuId int64) {
|
||||
jdParams := map[string]interface{}{
|
||||
"skuId": skuId,
|
||||
"stationNo": "14986394",
|
||||
"stationNo": "23988364",
|
||||
"opPin": "liulei",
|
||||
}
|
||||
data, err := a.AccessAPINoPage("StoreGoodsPlatformService/unBindStoreGoods", jdParams, nil, nil, genNoPageResultParser("code", "msg", "data", "0"))
|
||||
_, err := a.AccessAPINoPage("StoreGoodsPlatformService/unBindStoreGoods", jdParams, nil, nil, genNoPageResultParser("code", "msg", "data", "0"))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
fmt.Println(data)
|
||||
}
|
||||
|
||||
@@ -2,10 +2,9 @@ package jdapi
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -126,47 +125,38 @@ func TestBatchUpdateCurrentQtys(t *testing.T) {
|
||||
//baseapi.SugarLogger.Debug(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
type Object2222 struct {
|
||||
Clients map[string]int
|
||||
*sync.RWMutex
|
||||
}
|
||||
var data = []int64{}
|
||||
|
||||
func NewTcpClient222() *Object2222 {
|
||||
t := &Object2222{
|
||||
Clients: make(map[string]int),
|
||||
}
|
||||
t.RWMutex = new(sync.RWMutex)
|
||||
return t
|
||||
}
|
||||
func TestLock(t *testing.T) {
|
||||
obj := NewTcpClient222()
|
||||
go func() {
|
||||
fmt.Println("1")
|
||||
for i := 0; i < 100000; i++ {
|
||||
obj.setParam(utils.Int2Str(i), i)
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
fmt.Println("2")
|
||||
for i := 0; i < 100000; i++ {
|
||||
fmt.Println(obj.getParam(utils.Int2Str(i)))
|
||||
}
|
||||
}()
|
||||
|
||||
for i := 0; i < 100000; i++ {
|
||||
fmt.Println(obj.Clients[utils.Int2Str(i)])
|
||||
func TestUnBindStoreGoods(t *testing.T) {
|
||||
for _, v := range data {
|
||||
api.UnBindStoreGoods(v)
|
||||
fmt.Println(v)
|
||||
time.Sleep(200 * time.Microsecond)
|
||||
}
|
||||
}
|
||||
|
||||
func (t *Object2222) setParam(key string, v int) {
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
t.Clients[key] = v
|
||||
}
|
||||
var data2 = []int64{}
|
||||
|
||||
func (t *Object2222) getParam(key string) int {
|
||||
t.RLock()
|
||||
defer t.RUnlock()
|
||||
return t.Clients[key]
|
||||
func TestUpdateSku2(t *testing.T) {
|
||||
i2 := len(data2) % 50
|
||||
if i2 != 0 {
|
||||
i2 = len(data2)/50 + 1
|
||||
} else {
|
||||
i2 = len(data2) / 50
|
||||
}
|
||||
|
||||
for i := 0; i < i2; i++ {
|
||||
|
||||
bility := make([]*StockVendibility, 0, 50)
|
||||
for _, v := range data2 {
|
||||
bility = append(bility, &StockVendibility{OutSkuId: utils.Int64ToStr(v), DoSale: false})
|
||||
fmt.Println(v)
|
||||
}
|
||||
|
||||
_, err := api.BatchUpdateVendibility("liulei", "", "23988364", bility, "test")
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
}
|
||||
time.Sleep(200 * time.Microsecond)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,51 @@ func (a *API) GetStoreBillList(param *Bill) (map[string]*SettleOrderList, []*Bil
|
||||
return nil, fineList, settleID, nil
|
||||
}
|
||||
|
||||
//京西菜市(高攀店) 33797914 成都市 17508251223 0.00 10.00 10.00 100.0 4.0 0 0 6214862811223223 实时
|
||||
//0.00 0.00 0.00 0.00 7030017.00 席伟 17508251223 席伟 17508251223 0.00 0.00 40.87 0.00 0.00 0.00
|
||||
//0.00 0.00 0.00 0.00 0.4 1.5 6.00 0.00 28.26 684.0 0.0 40.87 34.87 -692.21 -692.21 0.00
|
||||
|
||||
func (a *API) GetStoreBillList2(param *Bill) (map[string]*SettleOrderList, []*BillListData, int64, error) {
|
||||
var settleAmount int64 = 0 // 平台实际结算
|
||||
var promotionServiceFee int64 = 0
|
||||
var activityPoiAmount int64 = 0
|
||||
var activityAgentAmount int64 = 0
|
||||
var platformChargeFee int64 = 0
|
||||
var performanceServiceFee int64 = 0
|
||||
|
||||
for {
|
||||
result, err := a.AccessAPI3("bill/list", true, utils.Struct2Map(param, "", false))
|
||||
if err != nil {
|
||||
return nil, nil, 0, err
|
||||
}
|
||||
|
||||
var data *StoreBillListRes
|
||||
if err := utils.Map2StructByJson(result, &data, false); err != nil {
|
||||
return nil, nil, 0, err
|
||||
}
|
||||
|
||||
for i := 0; i < len(data.Data); i++ {
|
||||
settleAmount += data.Data[i].SettleAmount
|
||||
promotionServiceFee += data.Data[i].PromotionServiceFee
|
||||
activityPoiAmount += data.Data[i].ActivityPoiAmount
|
||||
activityAgentAmount += data.Data[i].ActivityAgentAmount
|
||||
platformChargeFee += data.Data[i].PlatformChargeFee
|
||||
performanceServiceFee += data.Data[i].PerformanceServiceFee
|
||||
}
|
||||
|
||||
if int64(data.ExtraInfo.TotalCount) >= (param.Offset * param.Limit) {
|
||||
param.Offset += param.Limit
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fmt.Println(settleAmount)
|
||||
fmt.Println(promotionServiceFee)
|
||||
return nil, nil, 0, nil
|
||||
}
|
||||
|
||||
// StoreBillListReq 门店结算查询条件
|
||||
type StoreBillListReq struct {
|
||||
AppPoiCode string `json:"app_poi_code"` // APP方门店id
|
||||
|
||||
@@ -8,11 +8,10 @@ import (
|
||||
)
|
||||
|
||||
func TestBillList(t *testing.T) {
|
||||
now := time.Now()
|
||||
from := time.Date(now.Year(), now.Month(), now.Day()-5, 0, 0, 0, 0, time.Local)
|
||||
to := time.Date(now.Year(), now.Month(), now.Day()-1, 23, 59, 59, 59, time.Local)
|
||||
from := time.Date(2026, 7, 13, 0, 0, 0, 0, time.Local)
|
||||
to := time.Date(2026, 7, 19, 23, 59, 59, 59, time.Local)
|
||||
param := &Bill{
|
||||
AppPoiCode: "14799080",
|
||||
AppPoiCode: "33797914",
|
||||
StartDate: from.Unix(),
|
||||
EndDate: to.Unix(),
|
||||
Offset: 0,
|
||||
@@ -20,7 +19,7 @@ func TestBillList(t *testing.T) {
|
||||
AccessToken: api.token,
|
||||
}
|
||||
|
||||
_, fine, _, err := api.GetStoreBillList(param)
|
||||
_, fine, _, err := api.GetStoreBillList2(param)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("err := %v", err)
|
||||
return
|
||||
|
||||
@@ -208,6 +208,16 @@ func (a *API) AccessAPI2(cmd string, isGet bool, bizParams map[string]interface{
|
||||
return platformapi.ErrLevelCodeIsNotOK, newErr
|
||||
}
|
||||
}
|
||||
} else if errObj2, ok := jsonResult1["error_list"]; ok {
|
||||
errorInfo := errObj2.([]interface{})
|
||||
errStr := ""
|
||||
code := int64(0)
|
||||
for _, v := range errorInfo {
|
||||
errStr += v.(map[string]interface{})["msg"].(string)
|
||||
code = utils.MustInterface2Int64(v.(map[string]interface{})["code"])
|
||||
}
|
||||
newErr := utils.NewErrorIntCode(errStr, int(code))
|
||||
return platformapi.ErrLevelCodeIsNotOK, newErr
|
||||
}
|
||||
return platformapi.ErrLevelSuccess, nil
|
||||
})
|
||||
|
||||
@@ -371,6 +371,17 @@ type GetRiderDeliveryPath struct {
|
||||
//} `json:"data"`
|
||||
}
|
||||
|
||||
// ReviewAfterSalesInfo 售后参数
|
||||
type ReviewAfterSalesInfo struct {
|
||||
WmOrderIdView int64 `json:"wm_order_id_view"` // 订单展示ID
|
||||
RefundId int64 `json:"refund_id"` // 售后单ID
|
||||
ReviewType int `json:"review_type"` // 0-同意退货;1-同意退款或同意仅退款无需退货;2-驳回退货/退款。
|
||||
RejectReasonCode int `json:"reject_reason_code"` // 驳回code,当review_type=2必填
|
||||
RejectOtherReason string `json:"reject_other_reason"` // 驳回原因说明,当reject_reason_code = -1 必填
|
||||
IsReturnGoods int `json:"is_return_goods"` // 是否需要返货 0-不返货/1-返货 review_type=1时选填,不传默认为0,
|
||||
OutOfStockItemIds string `json:"out_of_stock_item_ids"` // 商品行item_id,多个item_id之间用逗号隔开,当订单有多个商品时
|
||||
}
|
||||
|
||||
func (a *API) OrderReceived(orderID int64) (err error) {
|
||||
_, err = a.AccessAPI("order/poi_received", true, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
@@ -462,6 +473,7 @@ func (a *API) OrderArrived(orderID int64) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// OrderRefundAgree 同意售后
|
||||
func (a *API) OrderRefundAgree(orderID int64, reason string) (err error) {
|
||||
_, err = a.AccessAPI("order/refund/agree", true, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
@@ -470,6 +482,7 @@ func (a *API) OrderRefundAgree(orderID int64, reason string) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// OrderRefundReject 拒绝售后
|
||||
func (a *API) OrderRefundReject(orderID int64, reason string) (err error) {
|
||||
_, err = a.AccessAPI("order/refund/reject", true, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
@@ -478,6 +491,12 @@ func (a *API) OrderRefundReject(orderID int64, reason string) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// ReviewAfterSales 新版售后要求
|
||||
func (a *API) ReviewAfterSales(param *ReviewAfterSalesInfo) (err error) {
|
||||
_, err = a.AccessAPI("ecommerce/order/reviewAfterSales", true, utils.Struct2MapByJson(param))
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) OrderApplyPartRefund(orderID int64, reason string, removeSkuList []*RefundSku) (err error) {
|
||||
_, err = a.AccessAPI("order/applyPartRefund", false, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
@@ -864,7 +883,7 @@ func (a *API) GetOrderAddress(orderId int64, reasonType int) (address string, er
|
||||
// UploadMediaToOrder 订单上传图片,订单在骑手取货前且未超过订单预计送达时间时可以进行图片上传
|
||||
func (a *API) UploadMediaToOrder(orderId string, images interface{}) error {
|
||||
byteData := utils.MustMarshal(images)
|
||||
_, err := a.AccessAPI("ecommerce/order/uploadMedia", false, map[string]interface{}{"order_id": orderId, "media_list": string(byteData)})
|
||||
_, err := a.AccessAPI2("ecommerce/order/uploadMedia", false, map[string]interface{}{"order_id": orderId, "media_list": string(byteData)}, "error_list", "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -50,3 +50,15 @@ func TestGetRecommendSku(t *testing.T) {
|
||||
}
|
||||
api.GetRecommendSku(param, "")
|
||||
}
|
||||
|
||||
func TestReviewAfterSales(t *testing.T) {
|
||||
api.ReviewAfterSales(&ReviewAfterSalesInfo{
|
||||
WmOrderIdView: 2002231460826744707,
|
||||
RefundId: 86155877585,
|
||||
ReviewType: 0,
|
||||
RejectReasonCode: 0,
|
||||
RejectOtherReason: "",
|
||||
IsReturnGoods: 1,
|
||||
OutOfStockItemIds: "",
|
||||
})
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ func getTimeFromTimestamp(timeStamp int64) time.Time {
|
||||
}
|
||||
|
||||
func TestOrderGetOrderDetail(t *testing.T) {
|
||||
result, err := api.OrderGetOrderDetail(2602201502045507987, false)
|
||||
result, err := api.OrderGetOrderDetail(3502231341944704147, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -487,7 +487,7 @@ func TestGetOrderAddress(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestUploadMediaToOrder(t *testing.T) {
|
||||
api.UploadMediaToOrder("2202182431134417666", []string{"https://img.meituan.net/retailsp/12b8489847a14dbf128527aa2c7dfbd448308.jpg"})
|
||||
api.UploadMediaToOrder("4102234401395379455", []string{"https://img.meituan.net/retailsp/12b8489847a14dbf128527aa2c7dfbd448308.jpg"})
|
||||
}
|
||||
|
||||
func Test111(t *testing.T) {
|
||||
|
||||
@@ -439,18 +439,18 @@ func TestRetailDelete(t *testing.T) {
|
||||
|
||||
// 测试删除门店分类列表
|
||||
func TestDeleteCat(t *testing.T) {
|
||||
result, err := api.RetailCatList("33889953")
|
||||
result, err := api.RetailCatList("33998402")
|
||||
fmt.Println(result, err)
|
||||
for _, v := range result {
|
||||
if v.Children != nil {
|
||||
for _, v2 := range v.Children {
|
||||
err = api.RetailCatDelete("33889953", "", v2.Name, 1)
|
||||
err = api.RetailCatDelete("33998402", "", v2.Name, 1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
err = api.RetailCatDelete("33889953", "", v.Name, 1)
|
||||
err = api.RetailCatDelete("33998402", "", v.Name, 1)
|
||||
if err != nil {
|
||||
continue
|
||||
t.Fatal(err)
|
||||
|
||||
Reference in New Issue
Block a user