package auto_delivery import ( "crypto/rand" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" "math/big" "strings" ) // AutoSettingFakeDelivery 抖音自动设置骑手, 推送假订单 func AutoSettingFakeDelivery() { db := dao.GetDB() // 查询需要刷单的门店 configList, err := dao.QueryConfigs(db, "storeIdList", "AutoDelivery", "") if err != nil { globals.SugarLogger.Errorf("抖音自动刷单获取刷单门店列表错误:%v", err) return } if len(configList) != model.YES { globals.SugarLogger.Errorf("newConfig 刷单门店设置异常") return } // 获取刷单门店订单 orderList, err := dao.GetOrderListByStoreList(db, utils.StringSlice2Int64(strings.Split(configList[0].Value, ","))) if err != nil { globals.SugarLogger.Errorf("获取门店刷单记录错误") return } for _, v := range orderList { jxutils.CallMsgHandler(func() { // 1.根据订单客户地址获取骑手列表 randNumber, _ := rand.Int(rand.Reader, big.NewInt(200)) randTime := randNumber.Int64() riderInfo, err := dao.GetAddressRiderInfo(db, strings.Split(v.ConsigneeAddress, "市")[0], randTime) if err != nil { globals.SugarLogger.Errorf("自动获取骑手信息错误:[%v]", err) return } // 自动拣货 handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID) flag := model.IsOrderDeliveryByStore(v) || model.IsOrderDeliveryBySelf(v) if err := handler.PickupGoods(v, flag, jxcontext.AdminCtx.GetUserName()); err != nil { globals.SugarLogger.Errorf("自动拣货错误:[%v]", err) return } //自动发单 if err := defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(jxcontext.AdminCtx, v.VendorOrderID, v.VendorID, jxcontext.AdminCtx.GetUserName(), riderInfo.CourierName, riderInfo.CourierMobile); err != nil { globals.SugarLogger.Errorf("自动发货错误:[%v]", err) return } }, jxutils.ComposeUniversalOrderID(v.VendorOrderID, model.VendorIDDD)) } }