Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -3,6 +3,11 @@ package delivery
|
||||
import (
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
||||
"math/big"
|
||||
"time"
|
||||
|
||||
@@ -35,7 +40,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
||||
params["isIncludeFake"] = true
|
||||
params["mustInvoice"] = false
|
||||
params["adjustCount"] = 0
|
||||
params["waybillVendorIDs"] = `[101,102,103,105]`
|
||||
//params["waybillVendorIDs"] = `[101,102,103,105]`
|
||||
if orderId != "" { // 订单id会忽略其他参数
|
||||
params["keyword"] = orderId
|
||||
} else {
|
||||
@@ -84,9 +89,14 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
||||
|
||||
if riderInfo == nil || wayBillStatus == model.OrderStatusNew || wayBillStatus == model.OrderStatusCanceled || (riderInfo.CourierName == "" && v.WaybillVendorID == -1 && v.DeliveryType == "store") { // 真商家自送
|
||||
riderInfo.OrderId = v.VendorOrderID
|
||||
riderInfo.CourierName = "石锋"
|
||||
riderInfo.CourierName = "门店老板"
|
||||
riderInfo.CourierPhone = "18048531223"
|
||||
riderInfo.LogisticsProviderCode = "10017"
|
||||
riderInfo.LogisticsStatus = v.Status
|
||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), v.JxStoreID, 0, "")
|
||||
if err != nil {
|
||||
riderInfo.CourierPhone = storeDetail.Tel1
|
||||
}
|
||||
}
|
||||
|
||||
switch riderInfo.LogisticsStatus {
|
||||
@@ -208,7 +218,7 @@ func PullTiktokRiderInfo(riderInfo *mtpsapi.RiderInfo) {
|
||||
}
|
||||
}
|
||||
|
||||
//将以过期订单状态为配送中的订单修改为完成状态
|
||||
// UpdateOrder2Complete 将以过期订单状态为配送中的订单修改为完成状态
|
||||
func UpdateOrder2Complete() {
|
||||
sql := `UPDATE goods_order g SET g.status=110 WHERE g.status=20 AND g.order_created_at < ?`
|
||||
sqlParams := []interface{}{
|
||||
@@ -352,3 +362,66 @@ func UpdateFakeWayBillToTiktok() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// LoadingStoreOrderSettleAmount 获取平台门店的结算信息(订单的配送费和准时保险费)
|
||||
func LoadingStoreOrderSettleAmount(startTime, endTime int64, jxStoreId []int) error {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
now = time.Now()
|
||||
from = time.Date(now.Year(), now.Month(), now.Day()-2, 0, 0, 0, 0, time.Local).Unix()
|
||||
to = time.Date(now.Year(), now.Month(), now.Day()-1, 23, 59, 59, 59, time.Local).Unix()
|
||||
)
|
||||
|
||||
if startTime != 0 && endTime != 0 {
|
||||
from = startTime
|
||||
to = endTime
|
||||
}
|
||||
storeMapList, err := dao.GetStoresMapList(db, []int{model.VendorIDMTWM}, jxStoreId, []int{model.StoreStatusClosed, model.StoreStatusHaveRest, model.StoreStatusOpened}, model.StoreStatusAll, 0, "", "", "")
|
||||
if err != nil || len(storeMapList) == model.NO {
|
||||
globals.SugarLogger.Errorf("获取美团门店列表异常: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeListValue := batchItemList[0].([]*model.StoreMap)
|
||||
for _, v := range storeListValue {
|
||||
storeOrder, err := mtwm.GetAPI(v.VendorOrgCode, v.StoreID, v.VendorStoreID).GetStoreBillList(&mtwmapi.Bill{
|
||||
AppPoiCode: v.VendorStoreID,
|
||||
StartDate: from,
|
||||
EndDate: to,
|
||||
Offset: 0,
|
||||
Limit: 200,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, so := range storeOrder {
|
||||
// 更新订单的结算信息
|
||||
if so.PlatformSettlement > 0 {
|
||||
goodsOrderSql := `UPDATE goods_order g SET g.total_shop_money = ? WHERE g.vendor_order_id = ? `
|
||||
if _, err := dao.ExecuteSQL(db, goodsOrderSql, []interface{}{so.PlatformSettlement + so.TimingFee + so.DeliveryFee, so.OrderId}...); err != nil {
|
||||
globals.SugarLogger.Debugf("更新订单结算信息错误: %v", err)
|
||||
}
|
||||
}
|
||||
// 更新订单的配送信息
|
||||
if so.TimingFee != 0 || so.DeliveryFee != 0 {
|
||||
wayBillSql := `UPDATE waybill w SET w.desired_fee = ?,w.punctual_fee = ? WHERE g.vendor_order_id = ? AND g.vendor_waybill_id = ? `
|
||||
if _, err := dao.ExecuteSQL(db, wayBillSql, []interface{}{so.DeliveryFee * -1, so.TimingFee * -1, so.OrderId, so.OrderId}...); err != nil {
|
||||
globals.SugarLogger.Debugf("更新订单物流结算信息错误: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return retVal, err
|
||||
}
|
||||
task := tasksch.NewParallelTask("更新美团订单配送费/保险费/结算信息", tasksch.NewParallelConfig().SetParallelCount(4), jxcontext.AdminCtx, taskFunc, storeMapList)
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
if _, err = task.GetResult(0); err != nil {
|
||||
baseapi.SugarLogger.Debugf("LoadingStoreOrderSettleAmount :%v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user