Files
jx-callback/business/jxcallback/orderman/financial.go
2019-03-21 16:12:54 +08:00

65 lines
3.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}