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

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