自动退单
This commit is contained in:
@@ -205,6 +205,11 @@ func Init() {
|
||||
delivery.UpdateFakeWayBillToTiktok()
|
||||
}, 10*time.Second, 5*time.Second)
|
||||
|
||||
// 抖音自动刷单
|
||||
ScheduleTimerFuncByInterval(func() {
|
||||
delivery.AutoSettingFakeDelivery()
|
||||
}, 10*time.Second, 5*time.Second)
|
||||
|
||||
// 定时任务更新负责人信息
|
||||
ScheduleTimerFunc("RefreshStoreOperator", func() {
|
||||
cms.UpdateStoreOperatorConfig()
|
||||
|
||||
@@ -1830,3 +1830,33 @@ func GetOrderListByStoreList(db *DaoDB, storeId []int64) (order []*model.GoodsOr
|
||||
|
||||
return order, nil
|
||||
}
|
||||
|
||||
type CourierInfo struct {
|
||||
CourierName string `json:"courier_name"`
|
||||
CourierMobile string `json:"courier_mobile"`
|
||||
}
|
||||
|
||||
// 获取同区域的骑手信息
|
||||
func GetAddressRiderInfo(db *DaoDB, address string, randNumber int64) (*CourierInfo, error) {
|
||||
sql := `
|
||||
SELECT w.courier_name,w.courier_mobile FROM goods_order s
|
||||
LEFT JOIN waybill w ON s.vendor_order_id = w.vendor_order_id AND w.courier_name <>"" AND w.courier_mobile <>""
|
||||
WHERE s.order_created_at >= ? AND s.status = ? AND s.delivery_type = ? AND s.consignee_address LIKE ?
|
||||
LIMIT ?,? `
|
||||
param := []interface{}{time.Now().AddDate(0, -3, 0), model.OrderStatusFinished, model.OrderDeliveryTypePlatform, "%" + fmt.Sprintf("%s", address) + "%", randNumber, 1}
|
||||
|
||||
courier := &CourierInfo{}
|
||||
if err := GetRow(db, courier, sql, param); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if courier.CourierName == "" || courier.CourierMobile == "" {
|
||||
info, err := GetAddressRiderInfo(db, address, randNumber+1)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return info, err
|
||||
}
|
||||
|
||||
return courier, nil
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ func GetThingToTiktokMapList(db *DaoDB, vendorId int, thingId int64, vendorOrgCo
|
||||
|
||||
// DeleteThingToTiktokMapList 删除同步关联关系
|
||||
func DeleteThingToTiktokMapList(vendorId int, vendorThingId string, skuId int) error {
|
||||
sql := ` DELETE FROM thing_map t1 WHERE t1.vendor_thing_id = ? AND t1.vendor_id = ? AND t1.thing_id = ? `
|
||||
sql := ` DELETE FROM thing_map WHERE vendor_thing_id = ? AND vendor_id = ? AND thing_id = ? `
|
||||
param := []interface{}{vendorThingId, vendorId, skuId}
|
||||
_, err := ExecuteSQL(GetDB(), sql, param...)
|
||||
return err
|
||||
|
||||
@@ -3,7 +3,11 @@ package delivery
|
||||
import (
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"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"
|
||||
"math/big"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||
@@ -323,35 +327,43 @@ func UpdateFakeWayBillToTiktok() {
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
//// 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() {
|
||||
// // 获取骑手信息
|
||||
//
|
||||
// // 自动发单
|
||||
// err = defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(params.Ctx, params.VendorOrderID, params.VendorID, params.Ctx.GetUserName(), params.CourierName, params.CourierMobile)
|
||||
// }, jxutils.ComposeUniversalOrderID(v.VendorOrderID, model.VendorIDDD))
|
||||
// }
|
||||
//
|
||||
//}
|
||||
// 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
|
||||
}
|
||||
// 自动发单
|
||||
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))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user