修改假运单配送

This commit is contained in:
邹宗楠
2024-01-11 14:26:53 +08:00
parent bfae3ae9d2
commit 6ffbb71106
8 changed files with 55 additions and 46 deletions

View File

@@ -198,7 +198,7 @@ func GetPlaces(ctx *jxcontext.Context, keyword string, includeDisabled bool, par
}
sql += " ORDER BY t1.level, t1.name"
places := []*model.Place{}
return places, dao.GetRows(nil, &places, sql, sqlParams)
return places, dao.GetRows(nil, &places, sql, sqlParams...)
}
func UpdatePlaces(ctx *jxcontext.Context, places []map[string]interface{}, userName string) (num int64, err error) {

View File

@@ -6690,3 +6690,18 @@ func BatchSetRestockingPrice(ctx *jxcontext.Context, preData map[string][]mtwmap
}
return nil
}
// BatchSetMTBoxPrice 批量修改美团包装费为0
//func BatchSetMTBoxPrice(jxStoreId []int64) error {
// utils.CallFuncAsync(func() {
// for _, v := range jxStoreId {
// storeSkuList, err := dao.GetStoresSkusInfo(dao.GetDB(), []int{int(v)}, nil)
// if err != nil {
// return
// }
//
//
// }
// })
// return nil
//}

View File

@@ -90,7 +90,7 @@ func GetNearSupplyGoodsStoreByStoreID(ctx *jxcontext.Context, storeID int) (stor
utils.DefaultTimeValue, utils.DefaultTimeValue,
model.VendorIDJX, model.YES, model.StoreStatusOpened,
}
err = dao.GetRows(db, &stores, sql, sqlParams)
err = dao.GetRows(db, &stores, sql, sqlParams...)
if len(stores) > 0 {
realDistance := float64(0)
for _, v := range stores {

View File

@@ -214,7 +214,7 @@ func Init() {
delivery.UpdateFakeWayBillToTiktok()
}, 10*time.Second, 2*time.Minute)
// 每五分钟轮询一次推送骑手信息坐标给美团/抖音
// 每五分钟轮询一次推送骑手信息坐标给美团/抖音(真订单,真自送)
ScheduleTimerFuncByInterval(func() {
delivery.GetOrderRiderInfoToPlatform("", 0)
}, 10*time.Second, 4*time.Minute)

View File

@@ -1501,7 +1501,7 @@ func GetWaybills(db *DaoDB, vendorOrderID string, vendors []int64) (waybills []*
}
sql += ` ORDER BY waybill_created_at asc`
err = GetRows(db, &waybills, sql, sqlParams)
err = GetRows(db, &waybills, sql, sqlParams...)
return waybills, err
}
@@ -1521,10 +1521,10 @@ func GetWayBillFakeOrder() (waybills []*model.Waybill, err error) {
sql := `
SELECT *
FROM waybill
WHERE waybill_created_at >= ? AND waybill_created_at < ? AND waybill_vendor_id IN (` + GenQuestionMarks(2) + `) AND status < ? AND status <> ?
WHERE waybill_created_at >= ? AND waybill_created_at < ? AND waybill_vendor_id = ? AND status < ? AND status <> ?
`
sqlParams := []interface{}{time.Now().Add(-120 * 24 * time.Hour), time.Now(), model.VendorJXFakeWL, model.VendorIDUnknown, model.WaybillStatusFailed, model.WaybillStatusCanceled}
sqlParams := []interface{}{time.Now().Add(-120 * 24 * time.Hour), time.Now(), model.VendorJXFakeWL, model.WaybillStatusFailed, model.WaybillStatusCanceled}
err = GetRows(GetDB(), &waybills, sql, sqlParams)
return waybills, err
}

View File

@@ -125,29 +125,22 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
}
}
} else {
fakeWayBill, err := dao.GetWaybills(db, v.VendorOrderID, []int64{model.VendorJXFakeWL, model.VendorIDUnknown})
fakeWayBill, err := dao.GetWaybills(db, v.VendorOrderID, []int64{model.VendorIDUnknown})
if err != nil || len(fakeWayBill) != model.YES {
continue
}
riderInfo = &utils.RiderInfo{
OrderId: fakeWayBill[0].VendorOrderID,
ThirdCarrierOrderId: fakeWayBill[0].VendorWaybillID,
CourierName: fakeWayBill[0].CourierName,
CourierPhone: fakeWayBill[0].CourierMobile,
OrderId: fakeWayBill[0].VendorOrderID,
ThirdCarrierOrderId: fakeWayBill[0].VendorWaybillID,
//CourierName: fakeWayBill[0].CourierName,
//CourierPhone: fakeWayBill[0].CourierMobile,
LogisticsProviderCode: "10002",
LogisticsStatus: fakeWayBill[0].Status,
}
makeRiderInfo(fakeWayBill[0], riderInfo)
}
if wayBillStatus == model.OrderStatusNew || wayBillStatus == model.OrderStatusCanceled || (v.WaybillVendorID == -1 && v.DeliveryType == "store") { // 真商家自送
riderInfo.OrderId = v.VendorOrderID
riderInfo.CourierName = "门店老板"
riderInfo.LogisticsProviderCode = "10015"
riderInfo.LogisticsStatus = v.Status
}
taoDeliveryStatus := ""
switch v.Status {
case 5: // 呼叫骑手
@@ -212,7 +205,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
if err == nil {
riderInfo.CourierPhone = storeDetail.Tel1
}
riderInfo.CourierName = "老板"
riderInfo.CourierName = "老板3"
}
if riderInfo.Longitude == "" && riderInfo.LogisticsStatus != 105 {
@@ -224,11 +217,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
riderInfo.Latitude = utils.Float64ToStr(utils.Int2Float64(v.ConsigneeLat) / 1000000)
}
if riderInfo.CourierPhone == "" {
riderInfo.CourierName = model.DefaultName
riderInfo.CourierPhone = model.DefaultPhone
}
if riderInfo.OrderId == "" {
riderInfo.OrderId = v.VendorOrderID
// 10001-顺丰, 10002-达达, 10003-闪送, 10004-蜂鸟, 10005 UU跑腿,10006 快跑者, 10007 极客快送,10008-点我达,10009 同达, 10010-生活半径,10011 邻趣,10012 趣送, 10013 快服务 10014 菜鸟新配盟 10015 商家自建配送 10016 风先生,10017-其他,10032-美团跑腿。
@@ -459,9 +447,9 @@ func UpdateFakeWayBillToTiktok() {
for i := 0; i < len(fakeWayBill); i++ {
// 判断当前订单是否可以推送,UpdatedAt > 当前时间 就跳过
if fakeWayBill[i].StatusTime.After(time.Now()) {
continue
}
//if fakeWayBill[i].StatusTime.After(time.Now()) {
// continue
//}
riderInfo := &utils.RiderInfo{
OrderId: fakeWayBill[i].VendorOrderID,
@@ -482,10 +470,10 @@ func UpdateFakeWayBillToTiktok() {
riderInfo.CourierName = fakeWayBill[i].CourierName
riderInfo.CourierPhone = fakeWayBill[i].CourierMobile
}
if riderInfo.CourierName == "" && fakeWayBill[i].CourierName == "" {
riderInfo.CourierName = model.DefaultName
riderInfo.CourierPhone = model.DefaultPhone
}
//if riderInfo.CourierName == "" && fakeWayBill[i].CourierName == "" {
// riderInfo.CourierName = model.DefaultName
// riderInfo.CourierPhone = model.DefaultPhone
//}
if riderInfo.LogisticsContext != model.RiderGetOrderDeliverFailed && riderInfo.LogisticsContext != model.RiderGetOrderDeliverOther && riderInfo.LogisticsContext != model.RiderWaitRider {
riderInfo.LogisticsContext = fmt.Sprintf(riderInfo.LogisticsContext, riderInfo.CourierName, riderInfo.CourierPhone)
}
@@ -496,13 +484,17 @@ func UpdateFakeWayBillToTiktok() {
// 推送骑手信息
paramsMap := utils.Struct2Map(riderInfo, "", true)
handler := partner.GetPurchaseOrderHandlerFromVendorID(fakeWayBill[i].OrderVendorID)
order, _ := partner.CurOrderManager.LoadOrder(fakeWayBill[i].VendorOrderID, fakeWayBill[i].OrderVendorID)
if handler != nil {
order, _ := partner.CurOrderManager.LoadOrder(fakeWayBill[i].VendorOrderID, fakeWayBill[i].OrderVendorID)
if err := handler.GetOrderRider(order.VendorOrgCode, order.VendorStoreID, paramsMap); err != nil {
partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDelivery, fmt.Sprintf("Fake Pull Rider Info Err :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err))
} else {
partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDelivery, "订单配送中")
}
// 还没到下一状态时间
if fakeWayBill[i].StatusTime.After(time.Now()) {
continue
}
}
randNumber, _ := rand.Int(rand.Reader, big.NewInt(900))
@@ -510,11 +502,12 @@ func UpdateFakeWayBillToTiktok() {
if randTime < 480 {
randTime += 480
}
// 推送完成时加多加十分钟,相当于是配送中状态多存货十分钟
if fakeWayBill[i].Status == model.WaybillStatusDelivered {
randTime += 480
if fakeWayBill[i].Status == model.WaybillStatusDelivered && order.ExpectedDeliveredTime.Unix()-time.Now().Unix() <= 120 {
fakeWayBill[i].StatusTime = time.Now()
} else {
fakeWayBill[i].StatusTime = time.Now().Add(time.Duration(randTime) * time.Second).Local()
}
fakeWayBill[i].StatusTime = time.Now().Add(time.Duration(randTime) * time.Second).Local()
fakeWayBill[i].WaybillFinishedAt = time.Now()
// 更新假运单
if _, err := dao.UpdateEntity(dao.GetDB(), fakeWayBill[i], "Status", "VendorStatus", "StatusTime", "WaybillFinishedAt"); err != nil {

View File

@@ -627,7 +627,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
waybills, _ := dao.GetWaybills(db, order.VendorOrderID, nil)
if len(waybills) == model.NO {
store, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode)
riderInfo.CourierName = "老板"
riderInfo.CourierName = "老板1"
riderInfo.CourierPhone = store.Tel1
riderInfo.ThirdCarrierOrderId = order.VendorOrderID
} else {
@@ -641,7 +641,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
}
}
if riderInfo.CourierName == "" || riderInfo.CourierPhone == "" {
riderInfo.CourierName = "老板"
riderInfo.CourierName = "老板2"
riderInfo.CourierPhone = "18048531223"
}
if riderInfo.ThirdCarrierOrderId == "" {

View File

@@ -428,14 +428,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
if storeSku.Upc != "" {
skus[0]["upc"] = storeSku.Upc
}
skus[0]["ladder_box_num"] = storeSku.LadderBoxNum
boxPirce := 0
if storeSku.MtLadderBoxPrice != 0 {
boxPirce = storeSku.MtLadderBoxPrice
} else {
boxPirce = storeSku.LadderBoxPrice
}
skus[0]["ladder_box_price"] = jxutils.IntPrice2Standard(int64(boxPirce))
// 暂时取消打包费
//skus[0]["ladder_box_num"] = storeSku.LadderBoxNum
//boxPirce := 0
//if storeSku.MtLadderBoxPrice != 0 {
// boxPirce = storeSku.MtLadderBoxPrice
//} else {
// boxPirce = storeSku.LadderBoxPrice
//}
//skus[0]["ladder_box_price"] = jxutils.IntPrice2Standard(int64(boxPirce))
if foodData["tag_id"] != nil {
skus[0]["weight"] = storeSku.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
}