修改各种发单是扣款,品牌扣款和门店扣款,品牌充值门店充值

This commit is contained in:
邹宗楠
2023-05-11 10:56:05 +08:00
parent 28f172133b
commit 381447307d
17 changed files with 108 additions and 48 deletions

View File

@@ -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)
}

View File

@@ -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 ")

View File

@@ -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
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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("内部订单号或者外部订单号比填写一个")

View File

@@ -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
}

View File

@@ -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) {

View File

@@ -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")
}

View File

@@ -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,

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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
}

View File

@@ -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 {

View File

@@ -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)
}
}

View File

@@ -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表示成功
}