From 6ffbb711068c3cf550f12ff711da285fdec1cb91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 11 Jan 2024 14:26:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=81=87=E8=BF=90=E5=8D=95?= =?UTF-8?q?=E9=85=8D=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/cms.go | 2 +- business/jxstore/cms/store_sku.go | 15 ++++++ business/jxstore/common/common.go | 2 +- business/jxstore/misc/misc.go | 2 +- business/model/dao/dao_order.go | 6 +-- business/partner/delivery/rider.go | 53 +++++++++----------- business/partner/purchase/mtwm/order.go | 4 +- business/partner/purchase/mtwm/store_sku2.go | 17 ++++--- 8 files changed, 55 insertions(+), 46 deletions(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index d8a47d3b8..9365bee46 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -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) { diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 19ecd8e22..b22cdd0e9 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -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 +//} diff --git a/business/jxstore/common/common.go b/business/jxstore/common/common.go index 12b9136e7..0f1f87f1c 100644 --- a/business/jxstore/common/common.go +++ b/business/jxstore/common/common.go @@ -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 { diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index de5d3719c..99177d0f3 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -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) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index f9751d934..1ee9c63cd 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -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 } diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 8799a48da..837f14ff2 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -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 { diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 5e80b35bd..994752818 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -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 == "" { diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index ee21ba5c6..399e348d2 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -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字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用 }