diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 679172eec..b93c7b53b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -2735,3 +2735,153 @@ func UpdateTaoSettleInfo() { } } } + +var storeList = []int64{ + //669053, + //103074, + //668985, + //103065, + //668960, + //668959, + //668953, + //103029, + //668949, + //103002, + //102999, + //668932, + //668931, + //668917, + //102969, + //102966, + //668909, + //668908, + //668905, + //668901, + //102946, + //102939, + //102938, + //668894, + //102934, + //102933, + //102930, + //668884, + //668878, + //102903, + //668757, + //102293, + //668622, + //668618, + //668592, + //100945, + //668583, + //100943, + //100935, + //100905, + //668498, + //668476, + //668462, + //100309, + 100299, + 100292, + 668276, + 668180, + 667320, + 667237, + 667036, + 668691, + 668673, + 668282, + 667447, + 667354, + 667335, + 667319, + 667316, + 667269, + 667268, + 667267, + 667260, + 667132, + 667030, + 666965, + 666714, + 666708, + 666705, + 103437, + 103349, + 103123, + 103121, + 103106, + 103038, + 103028, + 103019, + 102831, + 102751, + 102683, + 102542, + 102514, + 102382, + 102182, + 102178, + 102173, + 102098, + 102094, + 102080, + 102072, + 102069, + 101870, + 101869, + 101868, + 101867, + 101866, + 101865, + 100956, + 100930, + 100871, + 100786, + 100746, + 100744, + 100705, + 100400, + 100111, + 100108, + 100106, + 100104, + 100103, + 100102, + 100100, + 100097, + 100096, + 100095, + 100093, + 100092, + 100089, + 100087, + 100086, + 100085, + 100083, + 100082, + 100081, + 100079, + 100078, +} + +func UpdateTaoSkuUpdateOffShelf() { + // 标准模板店 + //skuCodeList := dao.GetStoreSkuBindList(dao.GetDB(), 100102) + + for _, storeId := range storeList { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "开始下架:", utils.Int64ToStr(storeId)) + storeSkuMap := dao.GetStoreSkuBindList(dao.GetDB(), storeId) + resultErr := tao.UpdateStoreSku(storeId, storeSkuMap) + if len(resultErr) > 0 { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "下架商品错误消息:", utils.Format4Output(resultErr, false)) + } + } + + //for _,storeId := range storeList { + // resultErr := tao.UpdateStoreSkuGrounding(storeId, skuCodeList) + // if len(resultErr) > 0 { + // ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "上架架商品错误消息:", utils.Format4Output(resultErr, false)) + // } + //} +} diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 0ac88c8a9..b4801a298 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -712,13 +712,6 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo globals.SugarLogger.Warnf("OnWaybillStatusChanged AcceptCanceled orderID:%s got multiple bill:%v, order details:%v", order.VendorOrderID, bill, order) } } - // case model.WaybillStatusCourierArrived: // do nothing - // s.resetTimer(savedOrderInfo, bill, isPending) - // if s.isBillCandidate(order, bill) { - // } else { - // // s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime) - // globals.SugarLogger.Infof("OnWaybillStatusChanged CourierArrived order(%d, %s) bill(%d, %s), bill:%v shouldn't get here", order.WaybillVendorID, order.VendorWaybillID, bill.WaybillVendorID, bill.VendorWaybillID, bill) - // } case model.WaybillStatusCanceled, model.WaybillStatusFailed: s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID) if s.isBillCandidate(order, bill) || order.WaybillVendorID == model.VendorIDUnknown { @@ -740,6 +733,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo } } } + if order.Status == model.OrderStatusDelivering && bill.Status == model.WaybillStatusCanceled { + order.Status = model.OrderStatusFinishedPickup + dao.UpdateEntity(dao.GetDB(), order, "Status") + } if err := orderman.ResetCreateWaybillFee(nil, order, bill); err != nil { globals.SugarLogger.Errorf("ResetCreateWaybillFee err : %v", err) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index bfb732c01..7524ed4fc 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -206,7 +206,14 @@ func Init() { ScheduleTimerFunc("UpdateTaoTotalMoney", func() { orderman.UpdateTaoSettleInfo() }, []string{ - "17:35:00", + "18:10:00", + }) + + // 下架所有北京上海门店商品 + ScheduleTimerFunc("UpdateTaoSkuUpdateOffShelf", func() { + orderman.UpdateTaoSkuUpdateOffShelf() + }, []string{ + "09:13:00", }) // 每分钟轮询一次,推送骑手信息 @@ -321,7 +328,7 @@ func Init() { //// 武汉 //668352, 103200, 102958, 100887, 100236, //// 广州 - 668871, 668602, 668575, 668262, 103425, 101755, 101176, 100557, 100369, 100361, 100351, 100350, + // 668871, 668602, 668575, 668262, 103425, 101755, 101176, 100557, 100369, 100361, 100351, 100350, //成都 669172, 669171, diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index cc223af68..0b88fb038 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -1697,6 +1697,20 @@ func GetDeletedStoreSkuBind(db *DaoDB, storeID, skuID int) (storeSkuBind *model. return storeSkuBind } +func GetStoreSkuBindList(db *DaoDB, storeId int64) []string { + storeSkuBind := make([]*model.StoreSkuBind, 0, 0) + sql := `SELECT * FROM store_sku_bind WHERE store_id = ` + fmt.Sprintf("%d", storeId) + ` AND status = 1 ` + GetRows(db, &storeSkuBind, sql) + + data := make([]string, 0) + for _, v := range storeSkuBind { + if v.TaoID != 0 { + data = append(data, utils.Int64ToStr(v.TaoID)) + } + } + return data +} + func GetStoreSkuBindByNameID(db *DaoDB, storeID, nameID, status int) (storeSkuBind []*model.StoreSkuBind, err error) { sql := ` SELECT c.* diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 02a04b01a..7606501d9 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -517,7 +517,6 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo isSelfDelivery = model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order) if !isSelfDelivery { if globals.EnableMtwmStoreWrite { - // err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID)) err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID)) } } diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 598630bfd..b9757e4db 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -10,6 +10,8 @@ import ( "git.rosy.net.cn/baseapi/platformapi/tao_vegetable" domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain" request3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/request" + domain587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/domain" + request587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request" domain591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/domain" request591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/request" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util" @@ -439,6 +441,9 @@ func (c *PurchaseHandler) callbackOrderMsg2Status(msg *tao_vegetable.CallbackOrd case tao_vegetable.OrderStatusSuccess: // 送达 orderStatus.Status = model.OrderStatusFinished orderStatus.Remark = "订单送达" + case tao_vegetable.OrderStatusRefundClose: // 订单取消 + orderStatus.Status = model.OrderStatusCanceled + orderStatus.Remark = "订单取消" } return orderStatus } @@ -840,6 +845,31 @@ func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64 return 0, nil } +// 下架 +func UpdateStoreSku(storeId int64, skuCode []string) []string { + api := getAPI("34402634", 0, "") + return api.StoreSkuUpdateOffShelfList(storeId, skuCode) +} + +// 上架 +func UpdateStoreSkuGrounding(storeId int64, skuCode []string) []string { + api := getAPI("34402634", 0, "") + + result := make([]string, 0, 0) + for _, v := range skuCode { + param := &request587.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{ + SkuCode: utils.String2Pointer(v), + StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeId)), + ChannelCode: utils.String2Pointer("31"), + OnlineSaleFlag: utils.Int64ToPointer(1), + }} + if err := api.StoreSkuUpdateOffShelf(param); err != nil { + result = append(result, fmt.Sprintf(" [storeId:%d,skuCode:%s]"+err.Error(), storeId, v)) + } + } + return result +} + // GetOrderTotalShopMoney 获取门店结算信息 func GetOrderTotalShopMoney(appOrgCode string, vendorStoreID string, start, end time.Time) (map[string]string, error) { if appOrgCode == "" || vendorStoreID == "" { diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index faa65173a..d3fcbf33c 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -302,7 +302,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal for _, v := range *detail.Orders { afs, _ := partner.CurOrderManager.LoadAfsOrder(utils.Int64ToStr(*v.OriginOrderId), model.VendorIDTaoVegetable) - if afs != nil { + if afs == nil { afsOrder = &model.AfsOrder{ VendorID: model.VendorIDTaoVegetable, AfsOrderID: utils.Int64ToStr(*v.OriginOrderId),