This commit is contained in:
邹宗楠
2023-02-23 14:27:06 +08:00
parent fcebf15b62
commit 7b18452932
12 changed files with 118 additions and 27 deletions

View File

@@ -209,6 +209,15 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
}
}
}
// 目前存在当订单为平台自配送时,本地储存新订单的结算信息是包含了配送费的!所以结算信息不对!
// 修改为订单完成时更新订单的结算信息
settlementAmount, err3 := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrderSettleAccounts(order)
if err3 == nil && settlementAmount != model.NO {
order.TotalShopMoney = settlementAmount
dao.UpdateEntity(db, order, "TotalShopMoney")
}
//更新订单new_earning_price
if order.EarningType == model.EarningTypePoints {
waybill, _ := c.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
@@ -2508,7 +2517,20 @@ func UpdateTiktokShopTotalMoney() {
}
nextStartIndex = next
v.TotalShopMoney = totalShopMoney
if _, err := dao.UpdateEntity(db, v, "TotalShopMoney"); err != nil {
if v.EarningType == model.EarningTypePoints {
waybill, _ := partner.CurOrderManager.LoadWaybill(v.VendorWaybillID, v.WaybillVendorID)
// store, _ := c.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order), order.VendorID)
if waybill == nil {
if (v.NewEarningPrice == 0 || v.NewEarningPrice != v.TotalShopMoney*int64(100-v.OrderPayPercentage/2)/int64(100)) && v.OrderPayPercentage <= 50 {
v.NewEarningPrice = v.TotalShopMoney * int64(100-v.OrderPayPercentage/2) / int64(100)
}
} else {
if (v.NewEarningPrice == 0 || v.NewEarningPrice != (v.TotalShopMoney-waybill.DesiredFee)*int64(100-v.OrderPayPercentage/2)/int64(100)) && v.OrderPayPercentage <= 50 {
v.NewEarningPrice = v.TotalShopMoney*int64(100-v.OrderPayPercentage/2)/int64(100) - waybill.DesiredFee
}
}
}
if _, err := dao.UpdateEntity(db, v, "TotalShopMoney", "NewEarningPrice"); err != nil {
globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err)
continue
}

View File

@@ -89,6 +89,9 @@ type IPurchasePlatformOrderHandler interface {
ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error)
//推送订单骑手信息
GetOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) (err error)
// 获取各个平台订单的结算信息
GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error)
}
type IAddWaybillTip interface {

View File

@@ -786,3 +786,14 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
orderInfo, err := api.EbaiAPI.OrderGet(order.VendorOrderID)
if err != nil {
return 0, err
}
orderMap := orderInfo["order"].(map[string]interface{})
return utils.ForceInterface2Int64(orderMap["shop_fee"]), nil
}

View File

@@ -344,3 +344,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}

View File

@@ -660,3 +660,12 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(goods *model.GoodsOrder) (int64, error) {
settlement, err := getAPI(goods.VendorOrgCode).OrderShoudSettlementService2(goods.VendorOrderID)
if err != nil {
return 0, err
}
return settlement.SettlementAmount, nil
}

View File

@@ -328,3 +328,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}

View File

@@ -155,3 +155,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}

View File

@@ -849,3 +849,20 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
oderDetail, err := getAPI(order.VendorOrgCode, 0, order.VendorStoreID).OrderGetOrderDetail(utils.Str2Int64(order.VendorOrderID), true)
if err != nil {
return 0, err
}
if poiReceiveDetailStr := utils.Interface2String(oderDetail["poi_receive_detail"]); poiReceiveDetailStr != "" {
var poiReceiveDetail *mtwmapi.PoiReceiveDetailInfo
utils.UnmarshalUseNumber([]byte(poiReceiveDetailStr), &poiReceiveDetail)
if poiReceiveDetail != nil {
return poiReceiveDetail.WmPoiReceiveCent, nil
}
}
return 0, nil
}

View File

@@ -2,9 +2,6 @@ package mtwm
import (
"encoding/json"
"regexp"
"strings"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -15,6 +12,8 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/putils"
"git.rosy.net.cn/jx-callback/globals"
"regexp"
"strings"
)
const (
@@ -163,29 +162,29 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in
storeCat.CatSyncStatus |= model.SyncFlagNewMask
err = p.CreateStoreCategory(ctx, storeID, vendorStoreID, storeCat)
}
if err != nil && strings.Contains(err.Error(), "门店内存在重复的分类:") {
globals.SugarLogger.Debugf("==========err %s", err.Error())
storeCategoryList, err2 := api.RetailCatList(vendorStoreID)
globals.SugarLogger.Debugf("==========err2 %v", err2)
globals.SugarLogger.Debugf("==========err %s", utils.Format4Output(storeCategoryList, false))
if err2 != nil {
err = err2
} else {
for _, v := range storeCategoryList {
globals.SugarLogger.Debugf("storeCategoryList==========err %s", err.Error())
if len(v.Children) > 0 {
for _, c := range v.Children {
if strings.Contains(c.Name, err.Error()) {
api.RetailCatDelete(vendorStoreID, "", c.Name)
}
}
}
if strings.Contains(v.Name, err.Error()) {
api.RetailCatDelete(vendorStoreID, "", v.Name)
}
}
}
}
//if err != nil && strings.Contains(err.Error(), "门店内存在重复的分类:") {
// globals.SugarLogger.Debugf("==========err %s", err.Error())
// storeCategoryList, err2 := api.RetailCatList(vendorStoreID)
// globals.SugarLogger.Debugf("==========err2 %v", err2)
// globals.SugarLogger.Debugf("==========err %s", utils.Format4Output(storeCategoryList, false))
// if err2 != nil {
// err = err2
// } else {
// for _, v := range storeCategoryList {
// globals.SugarLogger.Debugf("storeCategoryList==========err %s", err.Error())
// if len(v.Children) > 0 {
// for _, c := range v.Children {
// if strings.Contains(c.Name, err.Error()) {
// api.RetailCatDelete(vendorStoreID, "", c.Name)
// }
// }
// }
// if strings.Contains(v.Name, err.Error()) {
// api.RetailCatDelete(vendorStoreID, "", v.Name)
// }
// }
// }
//}
}
if err == nil {
// storeCat.VendorCatID = utils.FilterEmoji(storeCat.Name)

View File

@@ -1029,3 +1029,8 @@ func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex s
func GetOrderDetail(appOrgCode, vendorOrderID string) (*order_orderDetail_response.ShopOrderDetail, error) {
return getAPI(appOrgCode, 0, "").GetTiktokOrderDetail(vendorOrderID)
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}

View File

@@ -313,3 +313,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}

View File

@@ -106,3 +106,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderSettleAccounts 获取订单结算信息
func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64, error) {
return 0, nil
}