Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -2,22 +2,86 @@ package auto_delivery
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
|
"encoding/json"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch"
|
"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"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"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"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"math/big"
|
"math/big"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var riderListInfo = make(map[string][]map[string]string, 0)
|
||||||
|
|
||||||
|
func Init() {
|
||||||
|
db := dao.GetDB()
|
||||||
|
// 骑手列表
|
||||||
|
configRiderList, err := dao.QueryConfigs(db, "riderList", "Sys", "")
|
||||||
|
if err != nil {
|
||||||
|
globals.SugarLogger.Errorf("抖音自动刷单获取骑手列表错误:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
list := make(map[string][]map[string]string, 0)
|
||||||
|
if len(configRiderList[0].Value) > 0 {
|
||||||
|
if err := json.Unmarshal([]byte(configRiderList[0].Value), &list); err != nil {
|
||||||
|
globals.SugarLogger.Errorf("抖音自动刷单获取骑手列表错误:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取刷单地址
|
||||||
|
addressList, err := dao.QueryConfigs(db, "refundAddress", "Sys", "")
|
||||||
|
if err != nil {
|
||||||
|
globals.SugarLogger.Errorf("抖音自动刷单获取刷单地址列表错误:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range strings.Split(addressList[0].Value, ",") {
|
||||||
|
if _, ok := list[v]; ok && len(list[v]) >= 200 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
riderList, err := dao.GetAddressRiderInfo(db, v)
|
||||||
|
if err != nil {
|
||||||
|
globals.SugarLogger.Errorf("初始化各省份骑手信息错误:[%v]", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
addressRiderList := make([]map[string]string, 0)
|
||||||
|
for i := 0; i < len(riderList); i++ {
|
||||||
|
if len(riderList[i].CourierMobile) == 11 {
|
||||||
|
riderMap := make(map[string]string, 1)
|
||||||
|
riderMap[riderList[i].CourierName] = riderList[i].CourierMobile
|
||||||
|
addressRiderList = append(addressRiderList, riderMap)
|
||||||
|
}
|
||||||
|
if len(addressRiderList) >= 200 {
|
||||||
|
list[v] = addressRiderList
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
listStr, err := json.Marshal(list)
|
||||||
|
if err != nil {
|
||||||
|
globals.SugarLogger.Errorf("Marshal 骑手信息错误:[%v]", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := dao.UpdateOperatorConfig(string(listStr), "Sys", "riderList"); err != nil {
|
||||||
|
globals.SugarLogger.Errorf("UpdateOperatorConfig 骑手配置信息错误:[%v]", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
riderListInfo = list
|
||||||
|
}
|
||||||
|
|
||||||
// AutoSettingFakeDelivery 抖音自动设置骑手, 推送假订单
|
// AutoSettingFakeDelivery 抖音自动设置骑手, 推送假订单
|
||||||
func AutoSettingFakeDelivery() {
|
func AutoSettingFakeDelivery() {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
|
|
||||||
// 查询需要刷单的门店
|
// 查询需要刷单的门店
|
||||||
configList, err := dao.QueryConfigs(db, "storeIdList", "AutoDelivery", "")
|
configList, err := dao.QueryConfigs(db, "storeIdList", "Sys", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Errorf("抖音自动刷单获取刷单门店列表错误:%v", err)
|
globals.SugarLogger.Errorf("抖音自动刷单获取刷单门店列表错误:%v", err)
|
||||||
return
|
return
|
||||||
@@ -33,23 +97,59 @@ func AutoSettingFakeDelivery() {
|
|||||||
globals.SugarLogger.Errorf("获取门店刷单记录错误")
|
globals.SugarLogger.Errorf("获取门店刷单记录错误")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if len(orderList) == model.NO {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
for _, v := range orderList {
|
for _, v := range orderList {
|
||||||
jxutils.CallMsgHandler(func() {
|
jxutils.CallMsgHandler(func() {
|
||||||
// 1.根据订单客户地址获取骑手列表
|
// 1.根据订单客户地址获取骑手列表
|
||||||
randNumber, _ := rand.Int(rand.Reader, big.NewInt(200))
|
riderKey := ""
|
||||||
|
if strings.Contains(v.ConsigneeAddress, "重庆") || strings.Contains(v.ConsigneeAddress, "上海") || strings.Contains(v.ConsigneeAddress, "北京") {
|
||||||
|
riderKey = strings.Split(v.ConsigneeAddress, "市")[0]
|
||||||
|
} else {
|
||||||
|
riderKey = strings.Split(v.ConsigneeAddress, "省")[0]
|
||||||
|
}
|
||||||
|
if len(riderListInfo[riderKey]) == model.NO {
|
||||||
|
// 骑手列表
|
||||||
|
configRiderList, err := dao.QueryConfigs(db, "riderList", "Sys", "")
|
||||||
|
if err != nil {
|
||||||
|
globals.SugarLogger.Errorf("抖音自动刷单获取骑手列表错误:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := json.Unmarshal([]byte(configRiderList[0].Value), &riderListInfo); err != nil {
|
||||||
|
globals.SugarLogger.Errorf("抖音自动刷单获取骑手列表错误:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
randNumber, _ := rand.Int(rand.Reader, big.NewInt(int64(len(riderListInfo[riderKey]))))
|
||||||
randTime := randNumber.Int64()
|
randTime := randNumber.Int64()
|
||||||
riderInfo, err := dao.GetAddressRiderInfo(db, strings.Split(v.ConsigneeAddress, "市")[0], randTime)
|
if randTime < 0 {
|
||||||
if err != nil {
|
randTime = 1
|
||||||
globals.SugarLogger.Errorf("自动获取骑手信息错误:[%v]", err)
|
}
|
||||||
|
if randTime >= int64(len(riderListInfo[riderKey])) {
|
||||||
|
randTime = int64(len(riderListInfo[riderKey])) - 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// 自动拣货
|
||||||
|
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
|
return
|
||||||
}
|
}
|
||||||
//自动发单
|
//自动发单
|
||||||
if err := defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(jxcontext.AdminCtx, v.VendorOrderID, v.VendorID, jxcontext.AdminCtx.GetUserName(), riderInfo.CourierName, riderInfo.CourierMobile); err != nil {
|
if len(riderListInfo[riderKey]) == 0 {
|
||||||
globals.SugarLogger.Errorf("自动发货错误:[%v]", err)
|
globals.SugarLogger.Errorf("riderListInfo[riderKey][randTime] :%s,%s,%d", riderListInfo[riderKey][randTime], riderKey, randTime)
|
||||||
return
|
}
|
||||||
|
for riderName, riderPhone := range riderListInfo[riderKey][randTime] {
|
||||||
|
globals.SugarLogger.Debugf("SelfDeliveringAndUpdateStatus : %s", v.VendorOrderID)
|
||||||
|
if err := defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(jxcontext.AdminCtx, v.VendorOrderID, v.VendorID, jxcontext.AdminCtx.GetUserName(), riderName, riderPhone); err != nil {
|
||||||
|
globals.SugarLogger.Errorf("自动发货错误:[%v]", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, jxutils.ComposeUniversalOrderID(v.VendorOrderID, model.VendorIDDD))
|
}, jxutils.ComposeUniversalOrderID(v.VendorOrderID, model.VendorIDDD))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -339,6 +339,9 @@ func (c *BaseScheduler) CheckStoreBalanceWithTip(ctx *jxcontext.Context, order *
|
|||||||
if tipFee > int64(storeAcct.AccountBalance) {
|
if tipFee > int64(storeAcct.AccountBalance) {
|
||||||
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("门店账户余额不足,不能加小费!")
|
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("门店账户余额不足,不能加小费!")
|
||||||
}
|
}
|
||||||
|
if tipFee >= 1000 {
|
||||||
|
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("小费单次加价金额大于十元")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return errCode, err
|
return errCode, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ func UpdateStoreOperatorConfig() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := dao.UpdateOperatorConfig(string(byteData)); err != nil {
|
if err := dao.UpdateOperatorConfig(string(byteData), "Sys", "FZR"); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ func Init() {
|
|||||||
// 每五分钟轮询一次推送骑手信息坐标给美团
|
// 每五分钟轮询一次推送骑手信息坐标给美团
|
||||||
ScheduleTimerFuncByInterval(func() {
|
ScheduleTimerFuncByInterval(func() {
|
||||||
delivery.GetOrderRiderInfoToPlatform("", 0)
|
delivery.GetOrderRiderInfoToPlatform("", 0)
|
||||||
}, 10*time.Second, 5*time.Minute)
|
}, 10*time.Second, 4*time.Minute)
|
||||||
|
|
||||||
//每天晚上23:00更新抖店 审核状态
|
//每天晚上23:00更新抖店 审核状态
|
||||||
ScheduleTimerFunc("UpdateStorePoiStatus", func() {
|
ScheduleTimerFunc("UpdateStorePoiStatus", func() {
|
||||||
@@ -209,7 +209,7 @@ func Init() {
|
|||||||
// 抖音自动刷单
|
// 抖音自动刷单
|
||||||
ScheduleTimerFuncByInterval(func() {
|
ScheduleTimerFuncByInterval(func() {
|
||||||
auto_delivery.AutoSettingFakeDelivery()
|
auto_delivery.AutoSettingFakeDelivery()
|
||||||
}, 10*time.Second, 5*time.Second)
|
}, 10*time.Second, 3*time.Minute)
|
||||||
|
|
||||||
// 定时任务更新负责人信息
|
// 定时任务更新负责人信息
|
||||||
ScheduleTimerFunc("RefreshStoreOperator", func() {
|
ScheduleTimerFunc("RefreshStoreOperator", func() {
|
||||||
@@ -597,33 +597,7 @@ func syncStoreSkuTiktok() {
|
|||||||
if beego.BConfig.RunMode != "jxgy" {
|
if beego.BConfig.RunMode != "jxgy" {
|
||||||
errList.AddErr(cms.DeleteSkuNameExPrefixOverdue(db))
|
errList.AddErr(cms.DeleteSkuNameExPrefixOverdue(db))
|
||||||
errList.AddErr(cms.SetMultiStoreSkuSyncModifyStatus(db, partner.GetMultiStoreVendorIDs()))
|
errList.AddErr(cms.SetMultiStoreSkuSyncModifyStatus(db, partner.GetMultiStoreVendorIDs()))
|
||||||
var storeList2GD = []int{
|
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDDD}, nil, false, nil, nil, syncFlag, true, true)
|
||||||
102533,
|
|
||||||
668619,
|
|
||||||
100336,
|
|
||||||
102014,
|
|
||||||
103089,
|
|
||||||
667212,
|
|
||||||
667510,
|
|
||||||
100328,
|
|
||||||
100524,
|
|
||||||
102046,
|
|
||||||
103190,
|
|
||||||
667149,
|
|
||||||
100334,
|
|
||||||
101995,
|
|
||||||
102563,
|
|
||||||
102039,
|
|
||||||
100329,
|
|
||||||
102465,
|
|
||||||
102417,
|
|
||||||
100517,
|
|
||||||
102377,
|
|
||||||
666761,
|
|
||||||
102592,
|
|
||||||
102057,
|
|
||||||
}
|
|
||||||
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDDD}, storeList2GD, false, nil, nil, syncFlag, true, true)
|
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
|
|||||||
@@ -1821,8 +1821,8 @@ func GetOrderStoreIDs(db *DaoDB, beginAt, endAt time.Time, vendorID int) (storeI
|
|||||||
|
|
||||||
// GetOrderListByStoreList 根据门店id获取正在刷单的门店商品
|
// GetOrderListByStoreList 根据门店id获取正在刷单的门店商品
|
||||||
func GetOrderListByStoreList(db *DaoDB, storeId []int64) (order []*model.GoodsOrder, err error) {
|
func GetOrderListByStoreList(db *DaoDB, storeId []int64) (order []*model.GoodsOrder, err error) {
|
||||||
sql := `SELECT * FROM goods_order g WHERE g.order_created_at >= ? AND g.order_created_at <= ? g.vendor_store_id IN (` + GenQuestionMarks(len(storeId)) + `)` + `AND g.vendor_id = ? AND g.status < ?`
|
sql := `SELECT * FROM goods_order g WHERE g.order_created_at >= ? AND g.order_created_at <= ? AND g.jx_store_id IN (` + GenQuestionMarks(len(storeId)) + `)` + `AND g.vendor_id = ? AND g.status < ?`
|
||||||
sqlParam := []interface{}{time.Now().AddDate(0, 0, -7), time.Now(), storeId, model.VendorIDDD, model.OrderStatusDelivering}
|
sqlParam := []interface{}{time.Now().AddDate(0, 0, -5), time.Now().AddDate(0, 0, 1), storeId, model.VendorIDDD, model.OrderStatusDelivering}
|
||||||
|
|
||||||
if err := GetRows(db, &order, sql, sqlParam...); err != nil {
|
if err := GetRows(db, &order, sql, sqlParam...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -1836,27 +1836,18 @@ type CourierInfo struct {
|
|||||||
CourierMobile string `json:"courier_mobile"`
|
CourierMobile string `json:"courier_mobile"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取同区域的骑手信息
|
// GetAddressRiderInfo 获取同区域的骑手信息
|
||||||
func GetAddressRiderInfo(db *DaoDB, address string, randNumber int64) (*CourierInfo, error) {
|
func GetAddressRiderInfo(db *DaoDB, address string) ([]*CourierInfo, error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT w.courier_name,w.courier_mobile FROM goods_order s
|
SELECT DISTINCT w.courier_mobile,w.courier_name 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 <>""
|
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 ?
|
WHERE s.order_created_at >= ? AND s.consignee_address LIKE ? `
|
||||||
LIMIT ?,? `
|
param := []interface{}{time.Now().AddDate(-2, 0, 0), "%" + fmt.Sprintf("%s", address) + "%"}
|
||||||
param := []interface{}{time.Now().AddDate(0, -3, 0), model.OrderStatusFinished, model.OrderDeliveryTypePlatform, "%" + fmt.Sprintf("%s", address) + "%", randNumber, 1}
|
|
||||||
|
|
||||||
courier := &CourierInfo{}
|
var courier []*CourierInfo
|
||||||
if err := GetRow(db, courier, sql, param); err != nil {
|
if err := GetRows(db, &courier, sql, param); err != nil {
|
||||||
return nil, err
|
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
|
return courier, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ func GetSysConfigAsInt64(db *DaoDB, key string) (value int64, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 修改配置
|
// 修改配置
|
||||||
func UpdateOperatorConfig(param string) error {
|
func UpdateOperatorConfig(param string, types, key string) error {
|
||||||
sql := `UPDATE new_config c SET c.value = ?,c.updated_at = ? WHERE c.type = ? AND c.key = ?`
|
sql := `UPDATE new_config c SET c.value = ?,c.updated_at = ? WHERE c.type = ? AND c.key = ?`
|
||||||
_, err := ExecuteSQL(GetDB(), sql, []interface{}{param, time.Now(), "Sys", "FZR"})
|
_, err := ExecuteSQL(GetDB(), sql, []interface{}{param, time.Now(), types, key})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -226,10 +225,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackRespon
|
|||||||
dao.GetRow(dao.GetDB(), &good, sql, sqlParams)
|
dao.GetRow(dao.GetDB(), &good, sql, sqlParams)
|
||||||
order.OrderVendorID = good.VendorID
|
order.OrderVendorID = good.VendorID
|
||||||
|
|
||||||
orderStatus, err := strconv.Atoi(order.VendorStatus)
|
orderStatus := utils.Str2Int64(order.VendorStatus)
|
||||||
if err != nil {
|
|
||||||
return fnpsapi.Err2CallbackResponse(err, "")
|
|
||||||
}
|
|
||||||
switch orderStatus {
|
switch orderStatus {
|
||||||
case fnpsapi.OrderStatusAcceptCreate, fnpsapi.OrderStatusAccept: // 0 创建订单
|
case fnpsapi.OrderStatusAcceptCreate, fnpsapi.OrderStatusAccept: // 0 创建订单
|
||||||
order.DesiredFee = GetDesiredFee(order.VendorOrderID)
|
order.DesiredFee = GetDesiredFee(order.VendorOrderID)
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
}
|
}
|
||||||
// 目前只推送美团骑手信息
|
// 目前只推送美团骑手信息
|
||||||
switch v.VendorID {
|
switch v.VendorID {
|
||||||
case model.VendorIDMTWM: // 美团发单
|
case model.VendorIDMTWM: // 美团订单
|
||||||
paramsMap := utils.Struct2Map(riderInfo, "", true)
|
paramsMap := utils.Struct2Map(riderInfo, "", true)
|
||||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
|
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
|
||||||
if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, paramsMap); err != nil {
|
if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, paramsMap); err != nil {
|
||||||
@@ -136,16 +136,24 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case model.VendorIDELM: // 饿了么
|
case model.VendorIDELM: // 饿了么
|
||||||
|
continue
|
||||||
case model.VendorIDEBAI: // 饿百发单
|
case model.VendorIDEBAI: // 饿百发单
|
||||||
|
continue
|
||||||
case model.VendorIDJD: // 京东发单
|
case model.VendorIDJD: // 京东发单
|
||||||
|
continue
|
||||||
case model.VendorIDGD: // 美团发单
|
case model.VendorIDGD: // 美团发单
|
||||||
|
continue
|
||||||
case model.VendorIDYB: // 银豹发单
|
case model.VendorIDYB: // 银豹发单
|
||||||
|
continue
|
||||||
case model.VendorIDJDShop: // 京东商城
|
case model.VendorIDJDShop: // 京东商城
|
||||||
|
continue
|
||||||
case model.VendorIDWSC: // 微盟微商城
|
case model.VendorIDWSC: // 微盟微商城
|
||||||
|
continue
|
||||||
case model.VendorIDDD: // 抖店小时达
|
case model.VendorIDDD: // 抖店小时达
|
||||||
|
continue
|
||||||
default:
|
default:
|
||||||
globals.SugarLogger.Errorf("Order source error, non system order")
|
globals.SugarLogger.Errorf("Order source error, non system order")
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -291,11 +291,9 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
|
|||||||
sql := `SELECT * FROM goods_order WHERE vendor_order_id = ? ORDER BY order_created_at DESC LIMIT 1 OFFSET 0`
|
sql := `SELECT * FROM goods_order WHERE vendor_order_id = ? ORDER BY order_created_at DESC LIMIT 1 OFFSET 0`
|
||||||
sqlParams := []interface{}{req.OriginID}
|
sqlParams := []interface{}{req.OriginID}
|
||||||
dao.GetRow(dao.GetDB(), &good, sql, sqlParams)
|
dao.GetRow(dao.GetDB(), &good, sql, sqlParams)
|
||||||
globals.SugarLogger.Debugf("uupt OnWaybillMsg good=====%s ", utils.Format4Output(good, false))
|
|
||||||
param.OrderVendorID = good.VendorID
|
param.OrderVendorID = good.VendorID
|
||||||
//查询运单价格
|
//查询运单价格
|
||||||
if uuPrice, err := api.UuAPI.GetOrderDetail(req.OrderCode); err != nil {
|
if uuPrice, err := api.UuAPI.GetOrderDetail(req.OrderCode); err != nil {
|
||||||
globals.SugarLogger.Debugf("uuGetPrice err====%v", err)
|
|
||||||
reallyPrice = 0
|
reallyPrice = 0
|
||||||
} else {
|
} else {
|
||||||
reallyPrice = int64((utils.Str2Float64(uuPrice.OrderPrice) - utils.Str2Float64(uuPrice.PriceOff)) * 100)
|
reallyPrice = int64((utils.Str2Float64(uuPrice.OrderPrice) - utils.Str2Float64(uuPrice.PriceOff)) * 100)
|
||||||
@@ -325,7 +323,6 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
|
|||||||
default:
|
default:
|
||||||
globals.SugarLogger.Warnf("onWaybillMsg unknown State:%v", req.State)
|
globals.SugarLogger.Warnf("onWaybillMsg unknown State:%v", req.State)
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("UUPT onWaybillMsg param=====%s", utils.Format4Output(param, false))
|
|
||||||
if err := partner.CurOrderManager.OnWaybillStatusChanged(param); err != nil {
|
if err := partner.CurOrderManager.OnWaybillStatusChanged(param); err != nil {
|
||||||
return uuptapi.Err2CallbackResponse(err)
|
return uuptapi.Err2CallbackResponse(err)
|
||||||
}
|
}
|
||||||
|
|||||||
8
main.go
8
main.go
@@ -4,6 +4,7 @@ import (
|
|||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/jx-callback/business/enterprise"
|
"git.rosy.net.cn/jx-callback/business/enterprise"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxcallback/auto_delivery"
|
||||||
"net/http"
|
"net/http"
|
||||||
_ "net/http/pprof"
|
_ "net/http/pprof"
|
||||||
"os"
|
"os"
|
||||||
@@ -46,6 +47,8 @@ import (
|
|||||||
_ "git.rosy.net.cn/jx-callback/business/auth2/authprovider/password"
|
_ "git.rosy.net.cn/jx-callback/business/auth2/authprovider/password"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
|
_ "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/enterprise"
|
_ "git.rosy.net.cn/jx-callback/business/enterprise"
|
||||||
|
_ "git.rosy.net.cn/jx-callback/business/jxcallback/auto_delivery"
|
||||||
|
_ "git.rosy.net.cn/jx-callback/business/jxstore/act"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/model/dao"
|
_ "git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/ebai"
|
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/ebai"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
|
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
|
||||||
@@ -53,8 +56,6 @@ import (
|
|||||||
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/weimob/wsc"
|
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/weimob/wsc"
|
||||||
|
|
||||||
_ "git.rosy.net.cn/jx-callback/business/jxstore/act"
|
|
||||||
|
|
||||||
_ "git.rosy.net.cn/jx-callback/routers"
|
_ "git.rosy.net.cn/jx-callback/routers"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -87,7 +88,8 @@ func Init() {
|
|||||||
jdshop.CurPurchaseHandler.StartRefreshComment()
|
jdshop.CurPurchaseHandler.StartRefreshComment()
|
||||||
}
|
}
|
||||||
misc.Init()
|
misc.Init()
|
||||||
enterprise.Init() // 初始化enterprise key
|
enterprise.Init() // 初始化enterprise key
|
||||||
|
auto_delivery.Init() // 初始化骑手列表
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回true表示非运行服务
|
// 返回true表示非运行服务
|
||||||
|
|||||||
Reference in New Issue
Block a user