65 lines
3.1 KiB
Go
65 lines
3.1 KiB
Go
package orderman
|
||
|
||
import (
|
||
"git.rosy.net.cn/jx-callback/business/model"
|
||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||
"git.rosy.net.cn/jx-callback/globals"
|
||
)
|
||
|
||
const (
|
||
PublicWelfareDonation = 1 // 美团公益捐款金额现阶段是每单一分钱
|
||
TotalRate = 200 // 总费率(千分之200)= 第三方平台费+京西品牌费+京西服务费,现阶段都是合计200‰
|
||
)
|
||
|
||
// 处理正向订单结账信息
|
||
func SaveOrderFinancialInfo(order *model.OrderFinancial) (err error) {
|
||
if order.VendorID == model.VendorIDJD { //京东订单单独处理部分
|
||
}
|
||
if order.VendorID == model.VendorIDEBAI { //饿百订单单独处理部分
|
||
order.FreightDiscountMoney = order.TotalDiscountMoney - order.DiscountMoney
|
||
}
|
||
if order.VendorID == model.VendorIDMTWM { //美团订单单独处理部分
|
||
order.DonationMoney = PublicWelfareDonation
|
||
}
|
||
order.ShopMoneyByCal = order.SalePriceMoney - order.TotalDiscountMoney + order.VendorFreightDiscountMoney - order.DistanceFreightMoney - order.FreightTipsMoney - order.DonationMoney + order.SelfDeliveryDiscountMoney + order.PmSubsidyMoney + order.BoxMoney - order.PmMoney
|
||
order.PmMoneyFormJx = (order.ShopMoney+order.PmMoney)*TotalRate/1000 - order.PmMoney // 京西平台费 = 总金额*20%-第三方平台费
|
||
if order.PmMoneyFormJx < 0 { // 如果算出京西平台费为负数,则置0
|
||
order.PmMoneyFormJx = 0
|
||
}
|
||
order.ShopMoneyFromJx = order.ShopMoney - order.PmMoneyFormJx + order.SubsidyMoneyFromJx - order.FreightMoneyFromJxByShop
|
||
err = dao.CreateEntity(dao.GetDB(), order)
|
||
return err
|
||
}
|
||
|
||
// 处理售后订单结账信息
|
||
func SaveAfsOrderFinancialInfo(afsOrder *model.AfterSalesOrder) (err error) {
|
||
db := dao.GetDB()
|
||
dao.Begin(db)
|
||
defer dao.Rollback(db)
|
||
if afsOrder.VendorID == model.VendorIDJD { //京东订单单独处理部分
|
||
}
|
||
if afsOrder.VendorID == model.VendorIDEBAI { //饿百订单单独处理部分
|
||
}
|
||
if afsOrder.VendorID == model.VendorIDMTWM { //美团订单单独处理部分
|
||
}
|
||
globals.SugarLogger.Debug(afsOrder.Skus)
|
||
for _, orderSku := range afsOrder.Skus {
|
||
orderSku.SkuRefundMoneyByCal = orderSku.SkuUserMoney + orderSku.SkuVendorMoney + afsOrder.FreightUserMoney + afsOrder.AfsFreightMoney + afsOrder.BoxMoney + afsOrder.TongchengFreightMoney + afsOrder.MealBoxMoney
|
||
// orderSku.SkuTotalMoney+=orderSku.SkuJxMoney // 退款单京西补贴部分先不作计算
|
||
afsOrder.SkuUserMoney += orderSku.SkuUserMoney
|
||
afsOrder.PmSubsidyMoney += orderSku.SkuVendorMoney
|
||
// order.SkuJxMoney += orderSku.SkuJxMoney // 退款单京西补贴部分先不作计算
|
||
if err = dao.CreateEntity(db, orderSku); err != nil {
|
||
return err
|
||
}
|
||
}
|
||
afsOrder.RefundMoneyByCal = afsOrder.SkuUserMoney + afsOrder.PmSubsidyMoney + afsOrder.FreightUserMoney + afsOrder.AfsFreightMoney + afsOrder.BoxMoney + afsOrder.TongchengFreightMoney + afsOrder.MealBoxMoney
|
||
// order.TotalMoney += order.SkuJxMoney // 退款单京西补贴部分先不作计算
|
||
if err = dao.CreateEntity(db, afsOrder); err != nil {
|
||
globals.SugarLogger.Warnf("On SaveAfsOrderFinancialInfo err: SaveAfsOrder is err")
|
||
return err
|
||
}
|
||
dao.Commit(db)
|
||
return err
|
||
}
|