作者 tangxvhui

更新

@@ -158,10 +158,16 @@ func (order *OrderBase) Compute() error { @@ -158,10 +158,16 @@ func (order *OrderBase) Compute() error {
158 if hasUseOrderAmount { 158 if hasUseOrderAmount {
159 order.OrderCompute.UseOrderAmount, _ = useOrderAmount.Round(2).Float64() 159 order.OrderCompute.UseOrderAmount, _ = useOrderAmount.Round(2).Float64()
160 //计算业务员的抽成 160 //计算业务员的抽成
161 - order.OrderCompute.SalesmanBonus, _ = useOrderAmount.Mul(decimal.NewFromFloat(order.SalesmanBonusPercent)).Round(2).Float64() 161 + order.OrderCompute.SalesmanBonus, _ = useOrderAmount.
  162 + Mul(decimal.NewFromFloat(order.SalesmanBonusPercent)).
  163 + Div(decimal.NewFromInt(100)).
  164 + Round(2).Float64()
162 } else { 165 } else {
163 order.OrderCompute.UseOrderAmount = -1 166 order.OrderCompute.UseOrderAmount = -1
164 - order.OrderCompute.SalesmanBonus, _ = planOrderAmount.Mul(decimal.NewFromFloat(order.SalesmanBonusPercent)).Round(2).Float64() 167 + order.OrderCompute.SalesmanBonus, _ = planOrderAmount.
  168 + Mul(decimal.NewFromFloat(order.SalesmanBonusPercent)).
  169 + Div(decimal.NewFromInt(100)).
  170 + Round(2).Float64()
165 } 171 }
166 if HasUseOrderCount { 172 if HasUseOrderCount {
167 order.OrderCompute.UseOrderCount = useOrderCount 173 order.OrderCompute.UseOrderCount = useOrderCount
@@ -150,7 +150,7 @@ func (good *OrderGood) Compute() error { @@ -150,7 +150,7 @@ func (good *OrderGood) Compute() error {
150 price := decimal.NewFromFloat(good.Price) 150 price := decimal.NewFromFloat(good.Price)
151 planamount := price.Mul(decimal.NewFromInt(int64(good.PlanGoodNumber))) //price*planGoodNumber 151 planamount := price.Mul(decimal.NewFromInt(int64(good.PlanGoodNumber))) //price*planGoodNumber
152 //price*useGoodNumber 152 //price*useGoodNumber
153 - planPartnerBonus := planamount.Mul(decimal.NewFromFloat(good.PartnerBonusPercent)) //price*planGoodNumber*PartnerBonusPercent 153 + planPartnerBonus := planamount.Mul(decimal.NewFromFloat(good.PartnerBonusPercent)).Div(decimal.NewFromInt(100)) //price*planGoodNumber*PartnerBonusPercent
154 good.GoodCompute.PlanAmount, _ = planamount.Round(2).Float64() 154 good.GoodCompute.PlanAmount, _ = planamount.Round(2).Float64()
155 good.GoodCompute.PlanPartnerBonus, _ = planPartnerBonus.Round(2).Float64() 155 good.GoodCompute.PlanPartnerBonus, _ = planPartnerBonus.Round(2).Float64()
156 if good.UseGoodNumber < 0 { 156 if good.UseGoodNumber < 0 {
@@ -160,8 +160,8 @@ func (good *OrderGood) Compute() error { @@ -160,8 +160,8 @@ func (good *OrderGood) Compute() error {
160 } else { 160 } else {
161 //计算调整后的货品总值 161 //计算调整后的货品总值
162 //计算调整后的合伙人分红 162 //计算调整后的合伙人分红
163 - useamount := price.Mul(decimal.NewFromInt(int64(good.UseGoodNumber))) //price*useGoodNumber/price*useGoodNumber  
164 - usePartnerBonus := useamount.Mul(decimal.NewFromFloat(good.PartnerBonusPercent)) //price*useGoodNumber*PartnerBonusPercent 163 + useamount := price.Mul(decimal.NewFromInt(int64(good.UseGoodNumber))) //price*useGoodNumber/price*useGoodNumber
  164 + usePartnerBonus := useamount.Mul(decimal.NewFromFloat(good.PartnerBonusPercent)).Div(decimal.NewFromInt(100)) //price*useGoodNumber*PartnerBonusPercent
165 good.GoodCompute.UsePartnerBonus, _ = usePartnerBonus.Round(2).Float64() 165 good.GoodCompute.UsePartnerBonus, _ = usePartnerBonus.Round(2).Float64()
166 good.GoodCompute.UseAmount, _ = useamount.Round(2).Float64() 166 good.GoodCompute.UseAmount, _ = useamount.Round(2).Float64()
167 } 167 }