aa
This commit is contained in:
@@ -554,6 +554,11 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//if !model.IsWaybillPlatformOwn(bill) {
|
||||||
|
// if storeDetail, err2 := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, ""); err2 == nil {
|
||||||
|
// s.updateBrandAccount(storeDetail, bill)
|
||||||
|
// }
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
flag2Clear := model.WaybillVendorID2Mask(bill.WaybillVendorID)
|
flag2Clear := model.WaybillVendorID2Mask(bill.WaybillVendorID)
|
||||||
if order.DeliveryFlag&flag2Clear != 0 {
|
if order.DeliveryFlag&flag2Clear != 0 {
|
||||||
@@ -1371,7 +1376,33 @@ func (s *DefScheduler) updateStoreAccount(order *model.GoodsOrder, bill *model.W
|
|||||||
|
|
||||||
func (s *DefScheduler) updateBrandAccount(store *dao.StoreDetail, bill *model.Waybill) {
|
func (s *DefScheduler) updateBrandAccount(store *dao.StoreDetail, bill *model.Waybill) {
|
||||||
globals.SugarLogger.Debugf("updateBrandAccount bill: %v", utils.Format4Output(bill, true))
|
globals.SugarLogger.Debugf("updateBrandAccount bill: %v", utils.Format4Output(bill, true))
|
||||||
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, int(bill.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, bill.VendorOrderID)
|
brandBills, _ := dao.GetBrandBill(dao.GetDB(), store.BrandID, bill.VendorOrderID, model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery)
|
||||||
|
if len(brandBills) == 0 {
|
||||||
|
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, int(bill.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, bill.VendorOrderID)
|
||||||
|
} else {
|
||||||
|
//可能有对冲的
|
||||||
|
sum := 0
|
||||||
|
for _, v := range brandBills {
|
||||||
|
sum += v.Price
|
||||||
|
}
|
||||||
|
if sum == 0 {
|
||||||
|
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, int(bill.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, bill.VendorOrderID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DefScheduler) reverseBrandAccount(store *dao.StoreDetail, bill *model.Waybill) {
|
||||||
|
globals.SugarLogger.Debugf("reverseBrandAccount bill: %v", utils.Format4Output(bill, true))
|
||||||
|
brandBills, _ := dao.GetBrandBill(dao.GetDB(), store.BrandID, bill.VendorOrderID, model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery)
|
||||||
|
if len(brandBills) > 0 {
|
||||||
|
sum := 0
|
||||||
|
for _, v := range brandBills {
|
||||||
|
sum += v.Price
|
||||||
|
}
|
||||||
|
if sum > 0 {
|
||||||
|
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, int(bill.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, bill.VendorOrderID)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DefScheduler) updateBillsInfo(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (isBillExist bool) {
|
func (s *DefScheduler) updateBillsInfo(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (isBillExist bool) {
|
||||||
@@ -1539,6 +1570,10 @@ func (s *DefScheduler) ProxyCancelWaybill(order *model.GoodsOrder, bill *model.W
|
|||||||
if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
||||||
if err = s.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
|
if err = s.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
|
||||||
partner.CurOrderManager.OnOrderMsg(order, "取消三方运单失败", err.Error())
|
partner.CurOrderManager.OnOrderMsg(order, "取消三方运单失败", err.Error())
|
||||||
|
} else {
|
||||||
|
if storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode); storeDetail != nil {
|
||||||
|
s.reverseBrandAccount(storeDetail, bill)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1369,3 +1369,30 @@ func GetBrandBalance(db *DaoDB, brandID int) (result int, err error) {
|
|||||||
err = GetRow(db, &balance, sql, sqlParams)
|
err = GetRow(db, &balance, sql, sqlParams)
|
||||||
return balance.Balance, err
|
return balance.Balance, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetBrandBill(db *DaoDB, brandID int, vendorOrderID string, billType, feeType int) (result []*model.BrandBill, err error) {
|
||||||
|
sql := `
|
||||||
|
SELECT *
|
||||||
|
FROM brand_bill
|
||||||
|
WHERE 1 = 1
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{}
|
||||||
|
if brandID != 0 {
|
||||||
|
sql += " AND brand_id = ?"
|
||||||
|
sqlParams = append(sqlParams, brandID)
|
||||||
|
}
|
||||||
|
if billType != 0 {
|
||||||
|
sql += " AND bill_type = ?"
|
||||||
|
sqlParams = append(sqlParams, billType)
|
||||||
|
}
|
||||||
|
if feeType != 0 {
|
||||||
|
sql += " AND fee_type = ?"
|
||||||
|
sqlParams = append(sqlParams, feeType)
|
||||||
|
}
|
||||||
|
if vendorOrderID != "" {
|
||||||
|
sql += " AND vendor_order_id = ?"
|
||||||
|
sqlParams = append(sqlParams, vendorOrderID)
|
||||||
|
}
|
||||||
|
err = GetRows(db, &result, sql, sqlParams)
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -77,6 +77,10 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
|
|||||||
case dadaapi.OrderStatusAccepted:
|
case dadaapi.OrderStatusAccepted:
|
||||||
order.Status = model.WaybillStatusAccepted
|
order.Status = model.WaybillStatusAccepted
|
||||||
order.Remark = order.CourierName + "," + order.CourierMobile
|
order.Remark = order.CourierName + "," + order.CourierMobile
|
||||||
|
if dadaOrder, err := api.DadaAPI.QueryOrderInfo(msg.OrderID); err == nil {
|
||||||
|
order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee)
|
||||||
|
order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee)
|
||||||
|
}
|
||||||
case dadaapi.OrderStatusDelivering:
|
case dadaapi.OrderStatusDelivering:
|
||||||
order.Status = model.WaybillStatusDelivering
|
order.Status = model.WaybillStatusDelivering
|
||||||
case dadaapi.OrderStatusFinished:
|
case dadaapi.OrderStatusFinished:
|
||||||
|
|||||||
Reference in New Issue
Block a user