达达配送用新接口

This commit is contained in:
gazebo
2020-02-07 11:27:03 +08:00
parent a26ce01901
commit 1b8d792a2c
5 changed files with 15 additions and 46 deletions

View File

@@ -50,12 +50,12 @@ var (
receiveMsgUsersMap = map[string][]string{
SendMsgTypeOpenStoreRequest: []string{
"石锋",
// "徐建华",
// "x",
// "周扬",
},
SendMsgTypeSuggestRequest: []string{
"石锋",
// "徐建华",
// "x",
// "周扬",
},
}

View File

@@ -18,7 +18,7 @@ func TestSyncStoreSku4FakeJD(t *testing.T) {
}
func TestUploadFakeJdThingMap(t *testing.T) {
file, err := os.Open("/Users/xujianhua/Downloads/到家菜市门店与商品映射信息(1).xlsx")
file, err := os.Open("到家菜市门店与商品映射信息(1).xlsx")
if err != nil {
t.Fatal(err)
}

View File

@@ -1232,7 +1232,7 @@ func FixMtwmCategory(ctx *jxcontext.Context, mtwmStoreIDs []int, isAsync, isCont
}
func JdStoreInfo1125() (hint string, err error) {
fileName := "/Users/xujianhua/Downloads/老格恢复拓店进度.xlsx"
fileName := "老格恢复拓店进度.xlsx"
db := dao.GetDB()
storeList, err := dao.GetStoresMapList(db, []int{model.VendorIDJD}, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, "")
if err == nil {

View File

@@ -24,7 +24,7 @@ func TestScope(t *testing.T) {
func TestIt(t *testing.T) {
Init(myObjCreator, []*model.Store{})
var err error
// taskID, err := CurMan.AddTask("testtask", "xjh")
// taskID, err := CurMan.AddTask("testtask", "xxx")
// if err != nil {
// t.Fatal(err)
// }

View File

@@ -69,7 +69,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
order := c.callbackMsg2Waybill(msg)
switch msg.OrderStatus {
case dadaapi.OrderStatusWaitingForAccept:
if dadaOrder, err := api.DadaAPI.QueryOrderInfo2(msg.OrderID); err == nil {
if dadaOrder, err := api.DadaAPI.QueryOrderInfo(msg.OrderID); err == nil {
order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee)
order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee)
}
@@ -200,12 +200,10 @@ func (c *DeliveryHandler) IsErrStoreExist(err error) bool {
func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) {
db := dao.GetDB()
deliveryFeeInfo = &partner.WaybillFeeInfo{}
// billParams, addParams, err := c.getBillParams(db, order)
billParams, err := c.getBillParams2(db, order)
billParams, err := c.getBillParams(db, order)
if err == nil {
var result *dadaapi.CreateOrderResponse
// if result, err = api.DadaAPI.QueryDeliverFee(billParams, addParams); err != nil {
if result, err = api.DadaAPI.QueryDeliverFee2(billParams); err != nil {
if result, err = api.DadaAPI.QueryDeliverFee(billParams); err != nil {
return nil, err
}
deliveryFeeInfo.DeliveryFee = jxutils.StandardPrice2Int(result.Fee)
@@ -214,33 +212,7 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf
return deliveryFeeInfo, err
}
// func (c *DeliveryHandler) getBillParams(db *dao.DaoDB, order *model.GoodsOrder) (billParams *dadaapi.OperateOrderRequiredParams, addParams map[string]interface{}, err error) {
// billParams = &dadaapi.OperateOrderRequiredParams{
// // ShopNo: utils.Int2Str(order.StoreID), // 当前达达的门店号与京西是一样的
// OriginID: jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID),
// CargoPrice: jxutils.IntPrice2Standard(limitOrderPrice(order.ActualPayPrice)),
// IsPrepay: 0,
// ReceiverName: utils.FilterMb4(order.ConsigneeName),
// ReceiverAddress: utils.FilterMb4(order.ConsigneeAddress),
// ReceiverPhone: order.ConsigneeMobile,
// }
// if billParams.ShopNo, err = c.getDadaShopID(order, db); err == nil {
// if billParams.CityCode, err = c.getDataCityCodeFromOrder(order, db); err == nil {
// billParams.ReceiverLng, billParams.ReceiverLat, _ = jxutils.IntCoordinate2MarsStandard(order.ConsigneeLng, order.ConsigneeLat, order.CoordinateType)
// addParams = map[string]interface{}{
// "info": fmt.Sprintf("%s第%d号订单, %s", model.VendorChineseNames[order.VendorID], order.OrderSeq, utils.FilterMb4(order.BuyerComment)),
// // "origin_mark": model.VendorNames[order.VendorID], // 订单来源标示该字段可以显示在达达app订单详情页面只支持字母最大长度为10
// // "origin_mark_no": fmt.Sprintf("%d", order.OrderSeq), // 订单来源编号该字段可以显示在达达app订单详情页面支持字母和数字最大长度为30
// "cargo_type": 13,
// "cargo_weight": jxutils.IntWeight2Float(limitOrderWeight(order.Weight)),
// "cargo_num": order.GoodsCount,
// }
// }
// }
// return billParams, addParams, err
// }
func (c *DeliveryHandler) getBillParams2(db *dao.DaoDB, order *model.GoodsOrder) (billParams *dadaapi.OperateOrderParams, err error) {
func (c *DeliveryHandler) getBillParams(db *dao.DaoDB, order *model.GoodsOrder) (billParams *dadaapi.OperateOrderParams, err error) {
billParams = &dadaapi.OperateOrderParams{
OriginID: jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID),
CargoPrice: jxutils.IntPrice2Standard(limitOrderPrice(order.ActualPayPrice)),
@@ -264,8 +236,7 @@ func (c *DeliveryHandler) getBillParams2(db *dao.DaoDB, order *model.GoodsOrder)
// IDeliveryPlatformHandler
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) {
db := dao.GetDB()
// billParams, addParams, err := c.getBillParams(db, order)
billParams, err := c.getBillParams2(db, order)
billParams, err := c.getBillParams(db, order)
if err == nil {
if globals.EnableStoreWrite {
// 达达要求第二次创建运单,调用函数不同。所以查找两天内有无相同订单号的运单
@@ -286,18 +257,16 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee
return nil, err
}
// result, err = api.DadaAPI.ReaddOrder(billParams, addParams)
result, err = api.DadaAPI.ReaddOrder2(billParams)
result, err = api.DadaAPI.ReaddOrder(billParams)
} else {
// 第一次创建
if err != nil {
globals.SugarLogger.Warnf("CreateWaybill orderID:%s error:%v", order.VendorOrderID, err)
}
if false {
// result, err = api.DadaAPI.AddOrder(billParams, addParams)
result, err = api.DadaAPI.AddOrder2(billParams)
result, err = api.DadaAPI.AddOrder(billParams)
} else {
// if result, err = api.DadaAPI.QueryDeliverFee(billParams, addParams); err != nil {
if result, err = api.DadaAPI.QueryDeliverFee2(billParams); err != nil {
if result, err = api.DadaAPI.QueryDeliverFee(billParams); err != nil {
return nil, err
}
if err = delivery.CallCreateWaybillPolicy(jxutils.StandardPrice2Int(result.Fee), maxDeliveryFee, order, model.VendorIDDada); err != nil {
@@ -395,7 +364,7 @@ func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, reson
}
func (c *DeliveryHandler) GetWaybillTip(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (tipFee int64, err error) {
order, err := api.DadaAPI.QueryOrderInfo2(vendorOrderID)
order, err := api.DadaAPI.QueryOrderInfo(vendorOrderID)
if err == nil {
tipFee = jxutils.StandardPrice2Int(order.Tips)
}
@@ -410,7 +379,7 @@ func (c *DeliveryHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode
}
func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (lng, lat float64, err error) {
order, err := api.DadaAPI.QueryOrderInfo2(vendorOrderID)
order, err := api.DadaAPI.QueryOrderInfo(vendorOrderID)
if err == nil {
lng = utils.Str2Float64WithDefault(order.TransporterLng, 0)
lat = utils.Str2Float64WithDefault(order.TransporterLat, 0)