修改各种发单是扣款,品牌扣款和门店扣款,品牌充值门店充值
This commit is contained in:
@@ -68,7 +68,7 @@ import (
|
||||
//
|
||||
func TestQueryOrderInfo(t *testing.T) {
|
||||
dadaapi = New("dada154e2a41fd6cef3", "7f97d8f258b70b450f04e7ab274ed8f8", "6660", "http://callback.jxc4.com/dadadelivery/msg", true)
|
||||
result, err := dadaapi.QueryOrderInfo("1454997324435816448")
|
||||
result, err := dadaapi.QueryOrderInfo("1100538083115517396")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -29,13 +29,13 @@ func init() {
|
||||
// api = New("62289", "d3ec2358d6a819ea")
|
||||
|
||||
// 京西菜市
|
||||
//api = New("34665", "c3db75b754ea2d89")
|
||||
api = New("34665", "c3db75b754ea2d89")
|
||||
|
||||
//菜市测试
|
||||
// api = New("62923", "aa4cdc6c1108486b")
|
||||
|
||||
// 京西果园
|
||||
api = New("35957", "10013fbb7c2ddad7")
|
||||
//api = New("35957", "10013fbb7c2ddad7")
|
||||
// api.SetCookie("PASSPORT_DELIMONT_TOKEN", "PBE_2.0_5cd1c6141c127d4188f026ac01fc93656266683e8dfb3127c2fdf894259e9034125ff3bdd2a997a385802ee3ef1802ba93a04acea34fde2d2b6e802c5dcd4ec6e3f4ad909a1d806e3ceeb349ed726b03d60ed1fe7010d4140aa338d9c5f05e3fec172c78d3d7f0ca579d61b7015af1bf99aa46b04d2b8a64aa50646dc09afe94b6b60e0ba9a933635db5e8b2a035e9b6d693b289acf1b256d5b9a3f8478c87b0b009115bfd1394f20bb5a0dc2c07b8d013a25f286ec6bf7f2d86010d65507e31358834b7a6b58fbd88cb3f1a12cf71c997b91c1527f6f3c10693f7c2bd6073da8633a98cd2dc1114dfa5be5ee0e60b02cf7e4a94d0fb563a8c01717e7c050f02249117219c07a2eb211577c208ba77f4d536fa25139bc249be93b38d6fc495ef67a32aa206835d177db402bc534de1d29caf4f6b4fbcd912c13f167d00d1732222744c336a5189728f72fb5e153c4b1164171cfb0c811f34f4c2fedd43f721b8706b43f8d631251c")
|
||||
//api.SetCookie("WMUSS", "NTE2NDMTAwMDAyNzYxNzAwOTEyTmUzNWJNcDlQ ")
|
||||
//api.SetCookie("WMSTOKEN", "NTE2NDMTAwMDAyNzYxNzAwOTEyTmUzNWJNcDlQ ")
|
||||
|
||||
@@ -311,9 +311,10 @@ type ListOrderInfo struct {
|
||||
|
||||
// 提供给合作方确认订单所用。 注:1、10分钟内未确认的订单系统自动取消。2、确认失败的订单请不要做餐。 2016年7月4号起,将由百度外卖负责完成订单。届时,对接方无需调用完成订单接口,继续调用可能导致订单结算有问题。
|
||||
func (a *API) OrderConfirm(orderID string) (err error) {
|
||||
_, err = a.AccessAPI("order.confirm", map[string]interface{}{
|
||||
data, err := a.AccessAPI("order.confirm", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
})
|
||||
fmt.Println(data)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -75,14 +75,14 @@ func TestOrderPartRefundGet(t *testing.T) {
|
||||
// }
|
||||
|
||||
func TestOrderConfirm(t *testing.T) {
|
||||
err := api.OrderConfirm("1556617836226053651")
|
||||
err := api.OrderConfirm("4087880039095667221")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderPickComplete(t *testing.T) {
|
||||
err := api.OrderPickComplete("1574402460228210814")
|
||||
err := api.OrderPickComplete("4087880039095667221")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -103,7 +103,7 @@ func TestOrderSwitchselfdelivery(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderComplete(t *testing.T) {
|
||||
err := api.OrderComplete("1555731848221773250", "")
|
||||
err := api.OrderComplete("4087880039095667221", "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -251,3 +251,11 @@ func MergeStoreStatus(status int, vendorStatus int) int {
|
||||
}
|
||||
return vendorStatus
|
||||
}
|
||||
|
||||
func Test223(t *testing.T) {
|
||||
var statuss []int
|
||||
if err := utils.UnmarshalUseNumber([]byte("[20]"), &statuss); err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println(statuss)
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package fnpsapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"go.uber.org/zap"
|
||||
"math/rand"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -20,9 +20,9 @@ func init() {
|
||||
sugarLogger = logger.Sugar()
|
||||
baseapi.Init(sugarLogger)
|
||||
|
||||
//api = New("6705486294797503379", "c1e6c280-e618-4103-9d0a-673bc54fb22e", "5375691", "cabrXQf9eFMVWVYg4hNlwu")
|
||||
api = New("6705486294797503379", "c1e6c280-e618-4103-9d0a-673bc54fb22e", "51658", "cabrXQf9eFMVWVYg4hNlwu")
|
||||
//token, _ := api.GetAccessToken()
|
||||
//api.accessToken = token.BusinessDataObj.AccessToken
|
||||
api.accessToken = "5638ebf7-e69e-498b-8b47-96336ca720bc"
|
||||
}
|
||||
|
||||
// 查询单个门店
|
||||
@@ -179,31 +179,14 @@ func TestGetOrder(t *testing.T) {
|
||||
fmt.Println(baseDeliveryFee)
|
||||
}
|
||||
|
||||
func TestDataUnmas(t *testing.T) {
|
||||
data := `{"signature":"5a4270c8fb3c4a3a641d2f5f66990c503c7248ecd51248b020e0b44db75a6761","app_id":"6705486294797503379","timestamp":"1648861445686","business_data":"{\"callback_business_type\":\"orderStatusNotify\",\"param\":{\"app_id\":\"6705486294797503379\",\"carrier_driver_name\":\"\",\"carrier_driver_phone\":\"\",\"order_id\":300000388333833530,\"order_status\":1,\"partner_order_code\":\"88386523916938\",\"push_time\":1648861445686,\"transfer\":0}}"}`
|
||||
fnNotify := &ShortStatus{}
|
||||
if err := json.Unmarshal([]byte(data), fnNotify); err != nil {
|
||||
baseapi.SugarLogger.Debugf("FN callback string to ChainstoreStatusNotify failed with err:%v", err)
|
||||
}
|
||||
|
||||
fmt.Println("data", fnNotify.BusinessData)
|
||||
fmt.Println("data", fnNotify.AppId)
|
||||
fmt.Println("data", fnNotify.Signature)
|
||||
|
||||
retsult := &OrderStatusNottify{}
|
||||
err := json.Unmarshal([]byte(fnNotify.BusinessData), retsult)
|
||||
fmt.Println("err1======", err)
|
||||
fmt.Println("retsult", retsult)
|
||||
fmt.Println("retsult", retsult.Param)
|
||||
fmt.Println("retsult", retsult.CallbackBusinessType)
|
||||
fmt.Println("retsult", retsult.Param.PartnerOrderCode)
|
||||
func TestQueryOrder(t *testing.T) {
|
||||
data, err := api.QueryOrder("1100536591119839487") // 1100537991119839487 1100536591119839487
|
||||
globals.SugarLogger.Debug("data:= %s", utils.Format4Output(data, false))
|
||||
globals.SugarLogger.Debug("err:= %s", utils.Format4Output(err, false))
|
||||
}
|
||||
|
||||
func TestErr2CallbackResponse(t *testing.T) {
|
||||
fmt.Println(fmt.Sprintf("%05d", rand.Intn(1000000)))
|
||||
}
|
||||
|
||||
func Test11(t *testing.T) {
|
||||
t2 := utils.Str2TimeWithDefault("2022-07-06", utils.DefaultTimeValue)
|
||||
fmt.Println(t2)
|
||||
func TestTime(t *testing.T) {
|
||||
fmt.Println(time.Now().UnixNano() / 1e6)
|
||||
fmt.Println(1683530814777)
|
||||
fmt.Println(time.Now().UnixNano()/1e6 - 1683530814777)
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ const (
|
||||
OrderStatusDelivering = 2 //配送中
|
||||
OrderStatusDelivered = 3 //已送达
|
||||
OrderStatusException = 5 //异常
|
||||
|
||||
WayBillPressureOrderTime = 1200000 // 蜂鸟分配骑手超过二十分钟不扣款
|
||||
)
|
||||
|
||||
// 蜂鸟预下单
|
||||
@@ -163,7 +165,7 @@ func (a *API) PreCancelOrder(req *PreCancelOrderReq) (actualCancelCostCent int64
|
||||
return
|
||||
}
|
||||
|
||||
// cancelOrder 取消订单
|
||||
// CancelOrder 取消订单
|
||||
func (a *API) CancelOrder(req *CancelOrderReq) (err error) {
|
||||
if req.PartnerOrderCode == "" && req.OrderId == "" {
|
||||
return errors.New("内部订单号或者外部订单号比填写一个")
|
||||
|
||||
@@ -4,6 +4,7 @@ package jdapi
|
||||
import (
|
||||
"encoding/json"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -357,6 +358,11 @@ func (a *API) UpdateStoreInfo4Open2(updateParams *OpStoreParams, modifyCloseStat
|
||||
delete(mapData, "serviceTimeEnd1")
|
||||
}
|
||||
_, err = a.AccessAPINoPage("store/updateStoreInfo4Open", mapData, nil, nil, nullResultParser)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("九点半定时任务,更新门店错误: %v", err)
|
||||
globals.SugarLogger.Debugf("九点半定时任务,更新门店参数: %s", utils.Format4Output(updateParams, false))
|
||||
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -342,11 +342,11 @@ func (a *API) QueryOrderStatus(deliveryId int64, mtPeiSongId string) (retVal map
|
||||
"delivery_id": deliveryId,
|
||||
"mt_peisong_id": mtPeiSongId,
|
||||
}
|
||||
if result, err := a.AccessAPI("order/status/query", params); err != nil {
|
||||
result, err := a.AccessAPI("order/status/query", params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
return result.Data, nil
|
||||
}
|
||||
return result.Data, nil
|
||||
}
|
||||
|
||||
func (a *API) CancelOrder(deliveryId int64, mtPeiSongId string, cancelReasonId int, cancelReason string) (result *OrderResponse, err error) {
|
||||
|
||||
@@ -145,3 +145,7 @@ func TestNumber(t *testing.T) {
|
||||
fmt.Println("5", 4&4 != 0)
|
||||
fmt.Println("6", 5&4 != 0)
|
||||
}
|
||||
|
||||
func TestQueryOrderStatus(t *testing.T) {
|
||||
api.QueryOrderStatus(1100536572153699974, "1683539405488098818")
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ func TestBillList(t *testing.T) {
|
||||
from := time.Date(now.Year(), now.Month(), now.Day()-8, 0, 0, 0, 0, time.Local)
|
||||
to := time.Date(now.Year(), now.Month(), now.Day()-2, 23, 59, 59, 59, time.Local)
|
||||
param := &Bill{
|
||||
AppPoiCode: "16967920",
|
||||
AppPoiCode: "7379574",
|
||||
StartDate: from.Unix(),
|
||||
EndDate: to.Unix(),
|
||||
Offset: 0,
|
||||
|
||||
@@ -23,7 +23,7 @@ func init() {
|
||||
api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "")
|
||||
|
||||
// 果园
|
||||
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
||||
// api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
||||
|
||||
//商超
|
||||
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_n4TwqCntWWuvQwAawzxC0w") //token_n4TwqCntWWuvQwAawzxC0w
|
||||
|
||||
@@ -35,7 +35,7 @@ func TestOrderGetOrderDetail(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderGetOrderDetail2(t *testing.T) {
|
||||
result, err := api.OrderGetOrderDetail2(1300248543772157444, false)
|
||||
result, err := api.OrderGetOrderDetail2(1000533651036489997, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -44,10 +44,10 @@ func TestPoiSave(t *testing.T) {
|
||||
//}
|
||||
poiParams := map[string]interface{}{}
|
||||
//utils.FilterMapNilMembers(utils.Struct2FlatMap(result[0]))
|
||||
//poiParams["address"] = "成都市温江区柳城学海路585号"
|
||||
poiParams["address"] = "四川省成都市龙泉驿区大面街道青台山路753号"
|
||||
//poiParams["pic_url"] = "http://image.jxc4.com/image/5c9fc4fffb4d5ff1aecf85a2d2543e00.jpg"
|
||||
poiParams["name"] = "京西菜市(礼嘉桥村市场店)"
|
||||
err := api.PoiSave("17395411", poiParams)
|
||||
//poiParams["name"] = "京西菜市(礼嘉桥村市场店)"
|
||||
err := api.PoiSave("3508345", poiParams)
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
|
||||
@@ -410,8 +410,9 @@ func (a *API) RetailSkuSave(poiCode, foodCode string, standardSkus, unstandardSk
|
||||
|
||||
func (a *API) RetailDelete(trackInfo, poiCode, foodCode string) (err error) {
|
||||
_, err = a.AccessAPI2("retail/delete", false, map[string]interface{}{
|
||||
KeyAppPoiCode: poiCode,
|
||||
KeyAppFoodCode: foodCode,
|
||||
KeyAppPoiCode: poiCode,
|
||||
KeyAppFoodCode: foodCode,
|
||||
"is_delete_retail_cat": 2,
|
||||
}, resultKeyData, trackInfo)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
@@ -117,6 +118,19 @@ func TestRetailListAll(t *testing.T) {
|
||||
t.Log(len(result))
|
||||
}
|
||||
|
||||
// 删除所有门店商品
|
||||
func TestReloadStoreSku(t *testing.T) {
|
||||
result, err := api.RetailListAll("17817296")
|
||||
if err == nil {
|
||||
for i := 0; i < len(result); i++ {
|
||||
err := api.RetailDelete(utils.Int64ToStr(time.Now().Unix()), "17817296", result[i].AppFoodCode)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRetailGet(t *testing.T) {
|
||||
result, err := api.RetailGet(testPoiCode, "4267")
|
||||
if err != nil {
|
||||
|
||||
@@ -109,3 +109,13 @@ func Test(t *testing.T) {
|
||||
a := int(zero) * 100
|
||||
fmt.Printf("a====%d", a)
|
||||
}
|
||||
|
||||
func TestGetOrderLiquidatedDamages(t *testing.T) {
|
||||
deductFee, err := api.GetOrderLiquidatedDamages("23022310041019000003804258", "2304613965000093")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
t.Log(deductFee)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -96,3 +96,34 @@ func (a *API) CancelOrder(orderCode, reason string) error {
|
||||
return fmt.Errorf("UU跑腿未返回取消运单详情")
|
||||
}
|
||||
}
|
||||
|
||||
// GetOrderLiquidatedDamages 获取订单的违约金
|
||||
func (a *API) GetOrderLiquidatedDamages(wayBillOrderID, orderID string) (int64, error) {
|
||||
preParam := a.MakeUURequestHead()
|
||||
preParam["order_code"] = wayBillOrderID
|
||||
preParam["origin_id"] = orderID
|
||||
resp, err := a.AccessAPI(BaseURL, "gethomeservicefee.ashx", RequestPost, preParam)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
var deductFee *LiquidatedDamagesFee
|
||||
if err := utils.Map2StructByJson(resp, &deductFee, false); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
if deductFee.ReturnCode != "ok" {
|
||||
return 0, fmt.Errorf(deductFee.ReturnMsg)
|
||||
}
|
||||
|
||||
return utils.Float64TwoInt64(utils.Str2Float64(deductFee.DeductFee) * 100), nil
|
||||
}
|
||||
|
||||
type LiquidatedDamagesFee struct {
|
||||
DeductFee string `json:"deduct_fee"` // 违约金
|
||||
NonceStr string `json:"nonce_str"` // 随机字符串,不长于32位
|
||||
Sign string `json:"sign"` // 加密签名,详情见消息体签名算法
|
||||
Appid string `json:"appid"` // 第三方用户唯一凭证
|
||||
ReturnMsg string `json:"return_msg"` // 返回信息,如非空,为错误原因,如签名失败、参数格式校验错误
|
||||
ReturnCode string `json:"return_code"` // 状态,ok/fail表示成功
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user