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)
|
||||
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) {
|
||||
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) {
|
||||
@@ -1539,6 +1570,10 @@ func (s *DefScheduler) ProxyCancelWaybill(order *model.GoodsOrder, bill *model.W
|
||||
if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
||||
if err = s.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
@@ -1369,3 +1369,30 @@ func GetBrandBalance(db *DaoDB, brandID int) (result int, err error) {
|
||||
err = GetRow(db, &balance, sql, sqlParams)
|
||||
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:
|
||||
order.Status = model.WaybillStatusAccepted
|
||||
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:
|
||||
order.Status = model.WaybillStatusDelivering
|
||||
case dadaapi.OrderStatusFinished:
|
||||
|
||||
Reference in New Issue
Block a user