65 lines
2.3 KiB
Go
65 lines
2.3 KiB
Go
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))
|
|
}
|
|
|
|
}
|