正在显示
1 个修改的文件
包含
20 行增加
和
3 行删除
| @@ -198,16 +198,25 @@ func (order *OrderBase) Compute() error { | @@ -198,16 +198,25 @@ func (order *OrderBase) Compute() error { | ||
| 198 | planPartnerBonus := decimal.NewFromFloat(0) | 198 | planPartnerBonus := decimal.NewFromFloat(0) |
| 199 | planOrderAmount := decimal.NewFromFloat(0) | 199 | planOrderAmount := decimal.NewFromFloat(0) |
| 200 | var ( | 200 | var ( |
| 201 | - planOrderCount int = 0 | ||
| 202 | - useOrderCount int = 0 | 201 | + //预计的货品总数,不包含调整后的值 |
| 202 | + planOrderCount int = 0 | ||
| 203 | + //调整后的货品总数,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
| 204 | + useOrderCount int = 0 | ||
| 205 | + //订单的货品列表中是否存在调整货品数量 | ||
| 203 | HasUseOrderCount bool = false | 206 | HasUseOrderCount bool = false |
| 204 | ) | 207 | ) |
| 208 | + //调整后的合伙人分红,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
| 205 | usePartnerBonus := decimal.NewFromFloat(0) | 209 | usePartnerBonus := decimal.NewFromFloat(0) |
| 210 | + //订单的货品列表中是否存在调整的合伙人分红 | ||
| 206 | var hasUsePartnerBonus bool = false | 211 | var hasUsePartnerBonus bool = false |
| 212 | + //调整后的订单总额,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
| 207 | useOrderAmount := decimal.NewFromFloat(0) | 213 | useOrderAmount := decimal.NewFromFloat(0) |
| 208 | var hasUseOrderAmount bool = false | 214 | var hasUseOrderAmount bool = false |
| 215 | + //已支付分红 | ||
| 209 | partnerBonusHas := decimal.NewFromFloat(0) | 216 | partnerBonusHas := decimal.NewFromFloat(0) |
| 217 | + //未支付分红 | ||
| 210 | partnerBonusNot := decimal.NewFromFloat(0) | 218 | partnerBonusNot := decimal.NewFromFloat(0) |
| 219 | + //分红支出 | ||
| 211 | partnerBonusExpense := decimal.NewFromFloat(0) | 220 | partnerBonusExpense := decimal.NewFromFloat(0) |
| 212 | //初始订单的支付状态 | 221 | //初始订单的支付状态 |
| 213 | order.BonusStatus = OrderGoodWaitPay | 222 | order.BonusStatus = OrderGoodWaitPay |
| @@ -215,14 +224,20 @@ func (order *OrderBase) Compute() error { | @@ -215,14 +224,20 @@ func (order *OrderBase) Compute() error { | ||
| 215 | for i := range order.Goods { | 224 | for i := range order.Goods { |
| 216 | if order.Goods[i].BonusStatus == OrderGoodHasPay { | 225 | if order.Goods[i].BonusStatus == OrderGoodHasPay { |
| 217 | //确定订单的支付状态 | 226 | //确定订单的支付状态 |
| 227 | + //订单的货品列表中“存在”支付状态的为已支付,则整体订单设定为已支付状态 | ||
| 218 | order.BonusStatus = OrderGoodHasPay | 228 | order.BonusStatus = OrderGoodHasPay |
| 219 | } | 229 | } |
| 230 | + //计算预计的合伙人分红,不含调整的值 | ||
| 220 | planPartnerBonus = planPartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) | 231 | planPartnerBonus = planPartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) |
| 232 | + //计算预计的订单总金额,不含调整的值 | ||
| 221 | planOrderAmount = planOrderAmount.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanAmount)) | 233 | planOrderAmount = planOrderAmount.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanAmount)) |
| 234 | + //计算预计的订单中货品总数,不含调整的值 | ||
| 222 | planOrderCount += order.Goods[i].PlanGoodNumber | 235 | planOrderCount += order.Goods[i].PlanGoodNumber |
| 236 | + //获取调整货品调整后(数量)的总金额, | ||
| 223 | goodUseAmount := decimal.NewFromFloat(order.Goods[i].GoodCompute.UseAmount) | 237 | goodUseAmount := decimal.NewFromFloat(order.Goods[i].GoodCompute.UseAmount) |
| 238 | + | ||
| 224 | if goodUseAmount.GreaterThanOrEqual(decimal.NewFromFloat(0)) { | 239 | if goodUseAmount.GreaterThanOrEqual(decimal.NewFromFloat(0)) { |
| 225 | - //调整值非负值得情况 | 240 | + //调整后货品总金额,非负值(大于等于0)的情况 |
| 226 | hasUseOrderAmount = true | 241 | hasUseOrderAmount = true |
| 227 | useOrderAmount = useOrderAmount.Add(goodUseAmount) | 242 | useOrderAmount = useOrderAmount.Add(goodUseAmount) |
| 228 | } else { | 243 | } else { |
| @@ -230,12 +245,14 @@ func (order *OrderBase) Compute() error { | @@ -230,12 +245,14 @@ func (order *OrderBase) Compute() error { | ||
| 230 | } | 245 | } |
| 231 | goodUsePartnerBonus := decimal.NewFromFloat(order.Goods[i].GoodCompute.UsePartnerBonus) | 246 | goodUsePartnerBonus := decimal.NewFromFloat(order.Goods[i].GoodCompute.UsePartnerBonus) |
| 232 | if goodUsePartnerBonus.GreaterThanOrEqual(decimal.NewFromFloat(0)) { | 247 | if goodUsePartnerBonus.GreaterThanOrEqual(decimal.NewFromFloat(0)) { |
| 248 | + //货品中存在调整后的合伙人分红,即调整大于等于0 | ||
| 233 | hasUsePartnerBonus = true | 249 | hasUsePartnerBonus = true |
| 234 | usePartnerBonus = usePartnerBonus.Add(goodUsePartnerBonus) | 250 | usePartnerBonus = usePartnerBonus.Add(goodUsePartnerBonus) |
| 235 | } else { | 251 | } else { |
| 236 | usePartnerBonus = usePartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) | 252 | usePartnerBonus = usePartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) |
| 237 | } | 253 | } |
| 238 | if order.Goods[i].UseGoodNumber >= 0 { | 254 | if order.Goods[i].UseGoodNumber >= 0 { |
| 255 | + //货品中存在调整后的数量,调整值大于等于0 | ||
| 239 | HasUseOrderCount = true | 256 | HasUseOrderCount = true |
| 240 | useOrderCount += order.Goods[i].UseGoodNumber | 257 | useOrderCount += order.Goods[i].UseGoodNumber |
| 241 | } else { | 258 | } else { |
-
请 注册 或 登录 后发表评论