升级单据,使用项目差额计算支付费用

This commit is contained in:
曹磊 2024-07-05 21:50:41 +08:00
parent 91df76ef95
commit 91a8c9264e
1 changed files with 7 additions and 13 deletions

View File

@ -1274,7 +1274,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
Artificer artificer = artificerService.getById(oldOrders.getArtificerId());
orders.setArtificerId(artificer.getArtificerId());
orders.setTechnicianType(artificer.getTechnicianType());
orders.setArtificerRate(oldOrders.getArtificerRate());
BigDecimal artificerVipRate = BigDecimal.ZERO;
VipDetails artificerVipDetails = vipDetailsDao.selectOne(new QueryWrapper<VipDetails>().eq("vip_name_type", artificer.getTechnicianType()));
@ -1283,18 +1282,19 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
orders.setTechnicianRate(artificerVipRate);
BigDecimal massagePrice = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)).add(price);//技师等级加成金额
BigDecimal chajia = orders.getMassagePrice().subtract(oldOrders.getMassagePrice());
BigDecimal massagePrice = chajia.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)).add(chajia);//技师等级加成金额
massagePrice = massagePrice.multiply(orders.getVipRate()).divide(new BigDecimal(100));//会员优惠后金额
orders.setMassageMoney(massagePrice);
BigDecimal chajia = orders.getMassageMoney().subtract(oldOrders.getMassageMoney());
// chajia = chajia.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)).add(price);//技师等级加成金额
// chajia = chajia.multiply(orders.getVipRate()).divide(new BigDecimal(100));
orders.setPayMoney(chajia);//差价
orders.setPayMoney(massagePrice);//差价
//计算技师项目提成金额
BigDecimal artificerPrice = chajia.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal artificerPrice = massagePrice.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP);
orders.setProjectBenefits(artificerPrice);
orders.setArtificerMoney(artificerPrice);
orders.setSumArtificerMoney(artificerPrice);
@ -4543,12 +4543,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
rate = rate.divide(new BigDecimal(100));
BigDecimal storageRate = BigDecimal.ONE.subtract(rate);
//钱包支付技师提成
BigDecimal taxiMoney = BigDecimal.ZERO;
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
taxiMoney = BigDecimal.ZERO;
}else{
taxiMoney = orders.getTaxiMoney();
}
BigDecimal taxiMoney = orders.getTaxiMoney();
if(taxiMoney==null){
taxiMoney = BigDecimal.ZERO;
}
@ -4573,7 +4568,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
} else {
//平台不扣费 出租车收益全由技师收取
artificerTaxiPrice = taxiMoney;
orders.setArtificerTaxiMoney(taxiMoney);
orders.setArtificerTaxiMoney(artificerTaxiPrice);
//设置出租车扣款为0
orders.setPingTaxiMoney(BigDecimal.ZERO);
}
@ -4632,7 +4627,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//用户收益加上通行费用
artificerPrice = artificerPrice.add(artificerTaxiPrice);
}
orders.setArtificerMoney(artificerPrice);
orders.setSumArtificerMoney(artificerPrice);