diff --git a/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java b/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java index 0aa6d04..6d8cda4 100644 --- a/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java +++ b/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java @@ -69,8 +69,6 @@ public class AppUserMoneyController { return userMoneyService.payUserMoneyArtificer(userId, artificerId, money); } - - @GetMapping("/selectMyMoney") @Login @ApiOperation("我的钱包余额") @@ -92,6 +90,7 @@ public class AppUserMoneyController { period.setStartFundData(periodDate.getStartFundData()); // period.setEndFundData(CurrentPeriod); period.setEndFundData(periodDate.getEndFundData()); + period.setFundType(2);//技师 List filteredPersons = userMoneyDetailsService.selectIncome(period); //进账 double incomeLong= filteredPersons.stream() diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java index efceacc..a9a2fa2 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java @@ -43,9 +43,9 @@ public class UserMoneyDetails implements Serializable { @ApiModelProperty("标题") private String title; /** - * 1注册 2购买 4提现 + * 1注册 2购买 3提现 4充值 5打赏 */ - @ApiModelProperty("1注册 2购买 3提现 7商家 8指定钱包") + @ApiModelProperty("1注册 2购买 3提现 4充值 5打赏") private Integer classify; /** * 类型 @@ -88,9 +88,8 @@ public class UserMoneyDetails implements Serializable { private Long artificerId; /** - * 所属角色 1用户 2技师 + * 所属角色 1用户 2技师 3商家 4经纪人 5分销商 6业务员 7代理 */ - private Integer blRole; /** diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java index 97d41f0..e132688 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java @@ -329,12 +329,44 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl selectIncome(Period period) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("user_id", period.getArtificerId()); + if(period.getFundType()!=null){ + switch (period.getDetailsType()){ + case 1: + queryWrapper.eq("bl_role", 1);//用户 + break; + case 2: + queryWrapper.eq("bl_role", 2);//技师 + break; + case 3: + queryWrapper.eq("bl_role", 3);//商家 + break; + case 4: + queryWrapper.eq("bl_role", 4);//经纪人 + break; + case 5: + queryWrapper.eq("bl_role", 5);//分销员 + break; + case 6: + queryWrapper.eq("bl_role", 6);//业务员 + break; + case 7: + queryWrapper.eq("bl_role", 7);//代理 + break; + } + } +// if(StringUtil.isNotEmpty(period.getStartFundData().toString())){ +// queryWrapper.between("create_time", period.getStartFundData(), period.getEndFundData()); +// } if(StringUtil.isNotEmpty(period.getStartFundData().toString())){ - queryWrapper.between("create_time", period.getStartFundData(), period.getEndFundData()); + queryWrapper.ge("create_time", period.getStartFundData()); + } + if(StringUtil.isNotEmpty(period.getEndFundData().toString())){ + queryWrapper.le("create_time", period.getEndFundData()); } if(period.getDetailsType()!= null){ //方便前端判断 传1则查询全部 2查询收入 3查询支出 diff --git a/src/main/java/com/sqx/modules/artificer/entity/Orders.java b/src/main/java/com/sqx/modules/artificer/entity/Orders.java index 58aed51..99185d0 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Orders.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Orders.java @@ -608,5 +608,18 @@ public class Orders implements Serializable { @TableField(exist = false) private String zxsc; + /** + * 经纪人分佣 + */ + private BigDecimal jjrMoney; + /** + * 经纪人ID + */ + private Long jjrUserId; + /** + * 经纪人姓名 + */ + private String jjrUserName; + public Orders() {} } diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/AppArtificerIntegralServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/AppArtificerIntegralServiceImpl.java index dc73e7c..5573555 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/AppArtificerIntegralServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/AppArtificerIntegralServiceImpl.java @@ -73,14 +73,14 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //当期收益 // String earnings = ordersDao.earnings(artificerId, endDate, startDate); BigDecimal earnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, endDate, startDate); - earnings = earnings.setScale(0,BigDecimal.ROUND_DOWN); + earnings = earnings.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setEarnings(earnings.toString()); //当日收益 String todayEndIncome = DateUtil.formatDateTime(DateUtil.endOfDay(new Date())); // String dailyEarnings = ordersDao.earnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date()))); BigDecimal dailyEarnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date()))); - dailyEarnings = dailyEarnings.setScale(0,BigDecimal.ROUND_DOWN); + dailyEarnings = dailyEarnings.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setDailyEarnings(dailyEarnings.toString()); //当月收益 @@ -89,7 +89,7 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ String endFundDataformat = DateUtil.formatDateTime(DateUtil.endOfMonth(new Date())); // String currentMonthsIncome = ordersDao.earnings(artificerId, endFundDataformat, startFundDataformat); BigDecimal currentMonthsIncome = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, endFundDataformat, startFundDataformat); - currentMonthsIncome = currentMonthsIncome.setScale(0,BigDecimal.ROUND_DOWN); + currentMonthsIncome = currentMonthsIncome.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setCurrentMonthsIncome(currentMonthsIncome.toString()); //当期结束日 @@ -130,13 +130,13 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //充值率 BigDecimal divide1 = null; if (currentPeriodOrdersSumBig.compareTo(new BigDecimal("0")) != 0) { - clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); orders.setCurrentPeriodAddBellsSum(clockRate.toString()); //当前周期充值率(本周期内充值订单数/本单数) String currentPeriodRechargeSum = ordersDao.selectOrdersCurrentPeriodRechargeSum(artificerId, endDate, startDate,1); BigDecimal c = new BigDecimal(currentPeriodRechargeSum); - divide1 = c.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + divide1 = c.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); orders.setCurrentPeriodRechargeSum(divide1.toString()); } else { clockRate = new BigDecimal("0"); @@ -295,7 +295,7 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //当前一周期业绩 BigDecimal currentPerformance = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, date, cycleTime); - currentPerformance = currentPerformance.setScale(0,BigDecimal.ROUND_DOWN); + currentPerformance = currentPerformance.setScale(2,BigDecimal.ROUND_HALF_UP); //当前一周期储值积分数 String storedValueIntegral = ordersDao.selectOrdersStoredValueIntegral(artificerId, date, cycleTime); @@ -320,11 +320,11 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //充值率 BigDecimal divide1 = null; if (currentPeriodOrdersSumBig.compareTo(new BigDecimal("0")) != 0) { - clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); //当前周期充值率(本周期内充值订单数/本单数) String currentPeriodRechargeSum = ordersDao.selectOrdersCurrentPeriodRechargeSum(artificerId, date, cycleTime,1); BigDecimal c = new BigDecimal(currentPeriodRechargeSum); - divide1 = c.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + divide1 = c.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); } else { clockRate = new BigDecimal("0"); divide1 = new BigDecimal("0"); @@ -405,7 +405,7 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //当前一周期业绩 BigDecimal currentPerformance = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, date, cycleTime); - currentPerformance = currentPerformance.setScale(0,BigDecimal.ROUND_DOWN); + currentPerformance = currentPerformance.setScale(2,BigDecimal.ROUND_HALF_UP); //当前一周期储值积分数 String storedValueIntegral = ordersDao.selectOrdersStoredValueIntegral(artificerId, date, cycleTime); @@ -430,11 +430,11 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ //充值率 BigDecimal divide1 = null; if (currentPeriodOrdersSumBig.compareTo(new BigDecimal("0")) != 0) { - clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + clockRate = currentPeriodAddBellsSumBig.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); //当前周期充值率(本周期内充值订单数/本单数) String currentPeriodRechargeSum = ordersDao.selectOrdersCurrentPeriodRechargeSum(artificerId, date, cycleTime,1); BigDecimal c = new BigDecimal(currentPeriodRechargeSum); - divide1 = c.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + divide1 = c.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); } else { clockRate = new BigDecimal("0"); divide1 = new BigDecimal("0"); diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java index 8c56700..88cca67 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java @@ -714,7 +714,7 @@ public class ArtificerServiceImpl extends ServiceImpl i // ordersIPage = ordersDao.getDangqiList(pages, userId,isSfwc,startTime,endTime); ordersIPage = ordersDao.selectDividedIntoDetails(pages, userId,startTime,endTime,null); BigDecimal yeji = ordersDao.selectOrdersArtificerIntegralEarnings(userId, endTime, startTime); - yeji = yeji.setScale(0,BigDecimal.ROUND_DOWN); + yeji = yeji.setScale(2,BigDecimal.ROUND_HALF_UP); earnings = yeji.toString(); }else if(orderType == 2){//2加钟 //查询列表 @@ -724,7 +724,7 @@ public class ArtificerServiceImpl extends ServiceImpl i String jzl = ordersDao.selectOrdersArtificerIntegraladdNum(userId, endTime, startTime); //加钟数 BigDecimal num = new BigDecimal(jzl); - BigDecimal clockRate = num.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + BigDecimal clockRate = num.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); clockRate = clockRate.multiply(cy100); earnings = clockRate.intValue()+"%"; System.out.println(currentPeriodOrdersSumBig+"=========="+num+"---"+clockRate); @@ -733,7 +733,7 @@ public class ArtificerServiceImpl extends ServiceImpl i //当前周期充值率(本周期内充值订单数/本单数) String currentPeriodRechargeSum = ordersDao.selectOrdersCurrentPeriodRechargeSum(userId, endTime, startTime,1); BigDecimal c = new BigDecimal(currentPeriodRechargeSum); - BigDecimal divide1 = c.divide(currentPeriodOrdersSumBig, 2, RoundingMode.HALF_UP); + BigDecimal divide1 = c.divide(currentPeriodOrdersSumBig, 2, BigDecimal.ROUND_HALF_UP); divide1 = divide1.multiply(cy100); earnings = divide1.intValue()+"%"; System.out.println(currentPeriodOrdersSumBig+"=========="+c+"---"+divide1); diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 25a98b8..159cd56 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -219,22 +219,22 @@ public class OrdersServiceImpl extends ServiceImpl implements int distancess = distances; //大于起步公里 distances = distances - i; - BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 0, BigDecimal.ROUND_UP); + BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 2, BigDecimal.ROUND_HALF_UP); double downd = Math.ceil(bigDecimal.doubleValue()); distances = new Double(downd).intValue(); BigDecimal xuMoney = BigDecimal.valueOf(distances).multiply(new BigDecimal(tripMoney)); taxiMoney = taxiMoney.add(xuMoney); distances = distancess; - bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 0, BigDecimal.ROUND_UP); + bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 2, BigDecimal.ROUND_HALF_UP); downd = Math.ceil(bigDecimal.doubleValue()); distances = new Double(downd).intValue(); } else { - BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 0, BigDecimal.ROUND_UP); + BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 2, BigDecimal.ROUND_HALF_UP); double downd = Math.ceil(bigDecimal.doubleValue()); distances = new Double(downd).intValue(); } } else { - BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 0, BigDecimal.ROUND_UP); + BigDecimal bigDecimal = BigDecimal.valueOf(distances).divide(BigDecimal.valueOf(1000), 2, BigDecimal.ROUND_HALF_UP); double downd = Math.ceil(bigDecimal.doubleValue()); distances = new Double(downd).intValue(); } @@ -735,7 +735,7 @@ public class OrdersServiceImpl extends ServiceImpl implements for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())); - price = price.setScale(0,BigDecimal.ROUND_UP); + price = price.setScale(2,BigDecimal.ROUND_HALF_UP); if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setAddTime(massageType.getDuration()); List parentList = baseMapper.getParentOrders(orders.getParentId()); @@ -762,17 +762,17 @@ public class OrdersServiceImpl extends ServiceImpl implements //技师加成金额 BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP); + technicianMoney = technicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setTechnicianMoney(technicianMoney); //技师加成后总额 BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP); + priceMarkup = priceMarkup.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setPriceMarkup(priceMarkup); //会员优惠后金额,及会员减免金额 BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP); + vipMoney = vipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); orders.setVipReductionMoney(vipReductionMoney); @@ -815,7 +815,7 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("暂不支持当前地址,请更换其他地址!"); } taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); - taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP); + taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setTaxiMoney(taxiMoney); orders.setKm(travelPriceVo.getKilometerNum()); orders.setUsualTravelMoney(travelPriceVo.getUsualTravelMoney()); @@ -833,19 +833,19 @@ public class OrdersServiceImpl extends ServiceImpl implements //加上车费 BigDecimal subtract = payMoney; payMoney = payMoney.add(taxiMoney); - payMoney = payMoney.setScale(0,BigDecimal.ROUND_UP); + payMoney = payMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setPayMoney(payMoney); //计算用户收益 !计算前先减去通行费用再计算技师抽成 - artificerPrice = subtract.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); + artificerPrice = subtract.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //查询是否计算出租车扣费 String taxi = commonInfoService.findOne(394).getValue(); //计算技师出租车收益(按照技师表收益计算) if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 - BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); + BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //计算出租车扣款 - BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(0,BigDecimal.ROUND_UP); + BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2,BigDecimal.ROUND_HALF_UP); //赋值技师出租收款 orders.setArtificerTaxiMoney(artificerTaxiMoney); //赋值出租车扣款 @@ -872,7 +872,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // BigDecimal projectBenefits = massageMoney; BigDecimal projectBenefits = subtract; //计算技师项目提成金额 - orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP)); + orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); orders.setOrdersNo(getGeneralOrder()); orders.setStatus(1); @@ -881,7 +881,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(sdf.format(new Date())); //留存订单生成时的技师分成比例 orders.setArtificerRate(artificer.getRate()); - orders.setSumMoney(orders.getPayMoney().setScale(0,BigDecimal.ROUND_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2,BigDecimal.ROUND_HALF_UP)); //保存订单 baseMapper.insert(orders); @@ -947,8 +947,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setDuration(userPackageDetail.getDuration()); for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = userPackageDetail.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(0,BigDecimal.ROUND_UP); - packagePrice = userPackageDetail.getPackagePrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(0,BigDecimal.ROUND_UP); + price = userPackageDetail.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); + packagePrice = userPackageDetail.getPackagePrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setAddTime(userPackageDetail.getDuration()); @@ -1033,19 +1033,19 @@ public class OrdersServiceImpl extends ServiceImpl implements //加上车费 BigDecimal subtract = payMoney; payMoney = payMoney.add(taxiMoney); - payMoney = payMoney.setScale(0,BigDecimal.ROUND_UP); + payMoney = payMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setPayMoney(payMoney); //计算用户收益 !计算前先减去通行费用再计算技师抽成 - artificerPrice = subtract.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); + artificerPrice = subtract.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //查询是否计算出租车扣费 String taxi = commonInfoService.findOne(394).getValue(); //计算技师出租车收益(按照技师表收益计算) if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 - BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); + BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //计算出租车扣款 - BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(0,BigDecimal.ROUND_UP); + BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2,BigDecimal.ROUND_HALF_UP); //赋值技师出租收款 orders.setArtificerTaxiMoney(artificerTaxiMoney); //赋值出租车扣款 @@ -1068,7 +1068,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // BigDecimal projectBenefits = orders.getMassageMoney(); BigDecimal projectBenefits = subtract; //计算技师项目提成金额 - orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP)); + orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); orders.setOrdersNo(getGeneralOrder()); orders.setStatus(1); @@ -1077,7 +1077,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(sdf.format(new Date())); //留存订单生成时的技师分成比例 orders.setArtificerRate(artificer.getRate()); - orders.setSumMoney(orders.getPayMoney().setScale(0,BigDecimal.ROUND_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2,BigDecimal.ROUND_HALF_UP)); //保存订单 baseMapper.insert(orders); @@ -1233,7 +1233,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); - taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP); + taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setTaxiMoney(taxiMoney); orders.setKm(travelPriceVo.getKilometerNum()); orders.setUsualTravelMoney(travelPriceVo.getUsualTravelMoney()); @@ -1243,7 +1243,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(DateUtils.format(new Date())); // Artificer artificer = artificerService.getById(orders.getArtificerId()); orders.setArtificerRate(artificer.getRate()); - orders.setSumMoney(orders.getPayMoney().setScale(0, BigDecimal.ROUND_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); orders.setIsSupplement(1); orders.setProjectBenefits(BigDecimal.ZERO); orders.setVipRate(oldOrders.getVipRate()); @@ -1287,7 +1287,7 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal subtract = oldOrders.getPayMoney(); //计算用户收益 BigDecimal artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); if(oldOrders.getPayWay().equals(5)){ BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); @@ -1297,7 +1297,7 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal valueStorageDeduction = artificerPrice; artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.subtract(artificerPrice); ordersOld.setValueStorageDeduction(valueStorageDeduction); @@ -1309,15 +1309,24 @@ public class OrdersServiceImpl extends ServiceImpl implements } UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - ordersOld.setOneArtificerUserId(oneArtificerUser.getUserId()); - ordersOld.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// ordersOld.setOneArtificerUserId(oneArtificerUser.getUserId()); +// ordersOld.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// ordersOld.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - ordersOld.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1328,7 +1337,7 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setShopUserId(consortiaUser.getUserId()); ordersOld.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } } } @@ -1340,10 +1349,11 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setOneUserId(oneUser.getUserId()); ordersOld.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } ordersOld.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); ordersOld.setArtificerMoney(artificerPrice); @@ -1353,7 +1363,8 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal pingMoney = oldOrders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); ordersOld.setPingMoney(pingMoney); @@ -1400,7 +1411,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(0,BigDecimal.ROUND_UP); + price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); } orders.setMassagePrice(price); @@ -1519,23 +1530,23 @@ public class OrdersServiceImpl extends ServiceImpl implements //技师加成金额 BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP); + technicianMoney = technicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setTechnicianMoney(technicianMoney); //技师加成后总额 BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP); + priceMarkup = priceMarkup.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setPriceMarkup(priceMarkup); //会员优惠后金额,及会员减免金额 BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP); + vipMoney = vipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); orders.setVipReductionMoney(vipReductionMoney); BigDecimal chajia = orders.getPriceMarkup().subtract(oldOrders.getPriceMarkup()); // BigDecimal chajiaTechnicianMoney = chajia.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); -// chajiaTechnicianMoney = chajiaTechnicianMoney.setScale(0,BigDecimal.ROUND_UP); +// chajiaTechnicianMoney = chajiaTechnicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); // orders.setTechnicianMoney(chajiaTechnicianMoney); // BigDecimal chajiaPriceMarkup = chajiaTechnicianMoney.add(chajia); @@ -1543,7 +1554,7 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal chajiaVipMoney = chajia.subtract(vipReductionMoney); // BigDecimal chajiaVipMoney = chajia.multiply(orders.getVipRate()).divide(new BigDecimal(100)); -// chajiaVipMoney = chajiaVipMoney.setScale(0,BigDecimal.ROUND_UP); +// chajiaVipMoney = chajiaVipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); // BigDecimal chajiaVipReductionMoney = chajia.subtract(chajiaVipMoney); // orders.setVipReductionMoney(chajiaVipReductionMoney); @@ -1553,7 +1564,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setPayMoney(massagePrice);//差价 //计算技师项目提成金额 - BigDecimal artificerPrice = massagePrice.multiply(artificer.getRate()).setScale(0, BigDecimal.ROUND_UP); + BigDecimal artificerPrice = massagePrice.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setProjectBenefits(artificerPrice); orders.setArtificerMoney(artificerPrice); orders.setSumArtificerMoney(artificerPrice); @@ -1610,7 +1621,7 @@ public class OrdersServiceImpl extends ServiceImpl implements for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(0,BigDecimal.ROUND_UP); + price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); } orders.setMassagePrice(price); orders.setPrice(price); @@ -1708,17 +1719,17 @@ public class OrdersServiceImpl extends ServiceImpl implements }else{ //技师加成金额 BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP); + technicianMoney = technicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setTechnicianMoney(technicianMoney); //技师加成后总额 BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP); + priceMarkup = priceMarkup.setScale(2,BigDecimal.ROUND_HALF_UP); orders.setPriceMarkup(priceMarkup); //会员优惠后金额,及会员减免金额 BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP); + vipMoney = vipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); orders.setVipReductionMoney(vipReductionMoney); @@ -1752,7 +1763,7 @@ public class OrdersServiceImpl extends ServiceImpl implements taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); BigDecimal usualTravelMoney = travelPriceVo.getUsualTravelMoney(); BigDecimal nightTravelMoney = travelPriceVo.getNightTravelMoney(); - taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP); + taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney(); BigDecimal oldUsualTravelMoney = oldOrders.getUsualTravelMoney(); BigDecimal oldNightTravelMoney = oldOrders.getNightTravelMoney(); @@ -1777,7 +1788,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setPayMoney(oldOrders.getPayMoney()); BigDecimal artificerPrice = orders.getPayMoney().subtract(taxiMoney); artificerPrice = artificerPrice.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); if(oldOrders.getPayWay().equals(5)){ BigDecimal valueStorageDeduction = artificerPrice; @@ -1785,7 +1796,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setWalletRate(rate); rate = rate.divide(new BigDecimal(100)); artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.subtract(artificerPrice); orders.setValueStorageDeduction(valueStorageDeduction); orders.setProjectBenefits(artificerPrice); @@ -1796,15 +1807,15 @@ public class OrdersServiceImpl extends ServiceImpl implements } UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1830,7 +1841,8 @@ public class OrdersServiceImpl extends ServiceImpl implements oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); orders.setArtificerMoney(artificerPrice); @@ -1840,7 +1852,8 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); orders.setStatus(9); @@ -1887,7 +1900,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = cxchajia.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = cxchajia.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -1904,7 +1917,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算项目收益 //计算技师项目提成金额 - artificerPrice = xmchajia.multiply(artificer.getRate()).setScale(0, BigDecimal.ROUND_UP); + artificerPrice = xmchajia.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setProjectBenefits(artificerPrice); artificerPrice = artificerPrice.add(artificerTaxiPrice); orders.setArtificerMoney(artificerPrice); @@ -1918,7 +1931,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setIsSupplement(4); } orders.setCreateTime(DateUtils.format(new Date())); - orders.setSumMoney(orders.getPayMoney().setScale(0, BigDecimal.ROUND_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); orders.setOldOrdersId(oldOrders.getOrdersId()); orders.setOldMassageMoney(oldOrders.getMassageMoney()); orders.setOldPayMoney(oldOrders.getPayMoney()); @@ -1972,7 +1985,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 BigDecimal artificerTaxiMoney = oldOrders.getTaxiMoney().multiply(artificer.getRate()); - artificerTaxiMoney = artificerTaxiMoney.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiMoney = artificerTaxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); //赋值技师出租收款 @@ -1988,14 +2001,14 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算用户收益 BigDecimal oldArtificerPrice = oldOrders.getPayMoney().subtract(oldOrders.getTaxiMoney()); oldArtificerPrice = oldArtificerPrice.multiply(artificer.getRate()); - oldArtificerPrice = oldArtificerPrice.setScale(0, BigDecimal.ROUND_UP); + oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); if(oldOrders.getPayWay().equals(5)){ BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); ordersOld.setWalletRate(rate); rate = rate.divide(new BigDecimal(100)); BigDecimal oldValueStorageDeduction = oldArtificerPrice; oldArtificerPrice = oldArtificerPrice.multiply(rate); - oldArtificerPrice = oldArtificerPrice.setScale(0, BigDecimal.ROUND_UP); + oldArtificerPrice = oldArtificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); oldValueStorageDeduction = oldValueStorageDeduction.subtract(oldArtificerPrice); ordersOld.setValueStorageDeduction(oldValueStorageDeduction); ordersOld.setProjectBenefits(oldArtificerPrice); @@ -2006,15 +2019,15 @@ public class OrdersServiceImpl extends ServiceImpl implements } UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - ordersOld.setOneArtificerUserId(oneArtificerUser.getUserId()); - ordersOld.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = oldArtificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - ordersOld.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2040,7 +2053,8 @@ public class OrdersServiceImpl extends ServiceImpl implements oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } ordersOld.setOneUserMoney(oneUserMoney); - oldArtificerPrice = oldArtificerPrice.subtract(oneArtificerMoney); +// oldArtificerPrice = oldArtificerPrice.subtract(oneArtificerMoney); + oldArtificerPrice = oldArtificerPrice.subtract(jjrMoney); oldArtificerPrice = oldArtificerPrice.subtract(shopMoney); oldArtificerPrice = oldArtificerPrice.subtract(oneUserMoney); ordersOld.setArtificerMoney(oldArtificerPrice); @@ -2050,7 +2064,8 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal pingMoney = oldOrders.getPayMoney(); pingMoney = pingMoney.subtract(oldArtificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); ordersOld.setPingMoney(pingMoney); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 @@ -2140,7 +2155,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(massageRate.compareTo(BigDecimal.ZERO) == 0){ massageMoneyDeduction = massageDeduction; }else{ - massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(0, BigDecimal.ROUND_UP); + massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(2, BigDecimal.ROUND_HALF_UP); } if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){ massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()); @@ -2150,7 +2165,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ taxiMoneyDeduction = trafficDeduction; }else{ - taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(0, BigDecimal.ROUND_UP); + taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ taxiMoneyDeduction = orders.getTaxiMoney(); @@ -2168,7 +2183,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ taxiMoneyDeduction = trafficDeduction; }else{ - taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(0, BigDecimal.ROUND_UP); + taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ taxiMoneyDeduction = orders.getTaxiMoney(); @@ -2297,7 +2312,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(massageRate.compareTo(BigDecimal.ZERO) == 0){ massageMoneyDeduction = massageDeduction; }else{ - massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(0, BigDecimal.ROUND_UP); + massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(2, BigDecimal.ROUND_HALF_UP); } if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){ massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()); @@ -2307,7 +2322,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ taxiMoneyDeduction = trafficDeduction; }else{ - taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(0, BigDecimal.ROUND_UP); + taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ taxiMoneyDeduction = orders.getTaxiMoney(); @@ -2384,29 +2399,29 @@ public class OrdersServiceImpl extends ServiceImpl implements Artificer artificer = artificerService.getById(orders.getArtificerId()); BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费 BigDecimal pingTaxiMoney = BigDecimal.ZERO; - BigDecimal artificerMoney = rate.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); //技师获得扣款提成 + BigDecimal artificerMoney = rate.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //技师获得扣款提成 orders.setProjectBenefits(artificerMoney); BigDecimal pingMoney = massageMoneyDeduction.subtract(artificerMoney);//平台获得项目扣款 String taxi = commonInfoService.findOne(394).getValue(); if ("是".equals(taxi)) { artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); - artificerTaxiMoney = artificerTaxiMoney.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiMoney = artificerTaxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); } orders.setArtificerTaxiMoney(artificerTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerMoney.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2432,7 +2447,8 @@ public class OrdersServiceImpl extends ServiceImpl implements oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerMoney = artificerMoney.subtract(oneArtificerMoney); +// artificerMoney = artificerMoney.subtract(oneArtificerMoney); + artificerMoney = artificerMoney.subtract(jjrMoney); artificerMoney = artificerMoney.subtract(shopMoney); artificerMoney = artificerMoney.subtract(oneUserMoney); @@ -2442,10 +2458,11 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 pingMoney = pingMoney.subtract(artificerMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneUserMoney); - pingMoney = pingMoney.setScale(0, BigDecimal.ROUND_UP); + pingMoney = pingMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPingMoney(pingMoney); //分账 @@ -2462,12 +2479,12 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2494,33 +2511,31 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(5); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlRole(5); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } } - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1 && orders.getOneArtificerMoney().compareTo(BigDecimal.ZERO)!=0) { - if(orders.getOneArtificerMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, oneArtificerUser.getUserId(), orders.getOneArtificerMoney().doubleValue()); + if (jjrUser != null && orders.getJjrMoney().compareTo(BigDecimal.ZERO)!=0) { + if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(oneArtificerUser.getUserId()); + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); //插入余额 userMoneyDetails.setBalance(userNowMoney4.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneArtificerMoney()); - userMoneyDetails.setUserId(oneArtificerUser.getUserId()); + userMoneyDetails.setMoney(orders.getJjrMoney()); + userMoneyDetails.setUserId(jjrUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getOneArtificerMoney()); + userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(6); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlRole(4); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } @@ -2542,7 +2557,6 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(7); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); userMoneyDetails.setBlRole(3); userMoneyDetails.setBlFlag(1); @@ -2634,6 +2648,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumArtificerMoney(BigDecimal.ZERO); orders.setOneUserMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); } UserEntity userEntity = userService.selectUserById(orders.getUserId()); @@ -2711,7 +2726,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ taxiMoneyDeduction = trafficDeduction; }else{ - taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(0,BigDecimal.ROUND_UP); + taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2,BigDecimal.ROUND_HALF_UP); } if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ taxiMoneyDeduction = orders.getTaxiMoney(); @@ -2778,6 +2793,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumArtificerMoney(BigDecimal.ZERO); orders.setOneUserMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); //按照比例 将扣除的钱进行分佣 BigDecimal taxiMoney = taxiMoneyDeduction; @@ -2787,21 +2803,22 @@ public class OrdersServiceImpl extends ServiceImpl implements String taxi = commonInfoService.findOne(394).getValue(); if ("是".equals(taxi)) { - artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(0,BigDecimal.ROUND_UP); + artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); } orders.setArtificerTaxiMoney(artificerTaxiMoney); orders.setPingTaxiMoney(pingTaxiMoney); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); - + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2848,12 +2865,12 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("用户取消订单,总扣除:" + sumMoney + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",车费:" + orders.getTaxiMoney() + ",平台扣除车费:" + orders.getPingTaxiMoney() + ",到账车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -2943,6 +2960,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumArtificerMoney(BigDecimal.ZERO); orders.setOneUserMoney(BigDecimal.ZERO); orders.setPingMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); } UserEntity userEntity = userService.selectUserById(orders.getUserId()); @@ -3158,7 +3176,7 @@ public class OrdersServiceImpl extends ServiceImpl implements String taxi = commonInfoService.findOne(394).getValue(); if ("是".equals(taxi)) { artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); - artificerTaxiMoney = artificerTaxiMoney.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiMoney = artificerTaxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); } orders.setArtificerTaxiMoney(artificerTaxiMoney); @@ -3575,7 +3593,7 @@ public class OrdersServiceImpl extends ServiceImpl implements String taxi = commonInfoService.findOne(394).getValue(); if ("是".equals(taxi)) { artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); - artificerTaxiMoney = artificerTaxiMoney.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiMoney = artificerTaxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); } orders.setArtificerTaxiMoney(artificerTaxiMoney); @@ -3944,6 +3962,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setPingMoney(BigDecimal.ZERO); orders.setArtificerTaxiMoney(BigDecimal.ZERO); orders.setPingTaxiMoney(BigDecimal.ZERO); + orders.setJjrMoney(BigDecimal.ZERO); orders.setStatus(4); baseMapper.updateById(orders); //删除技师占用时间表数据 @@ -4576,7 +4595,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -4602,13 +4621,13 @@ public class OrdersServiceImpl extends ServiceImpl implements } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice; //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.subtract(artificerPrice); orders.setValueStorageDeduction(valueStorageDeduction); @@ -4616,15 +4635,16 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); + BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -4635,7 +4655,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } } } @@ -4647,10 +4667,11 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); @@ -4665,7 +4686,8 @@ public class OrdersServiceImpl extends ServiceImpl implements //平台扣款 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(shopMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -4720,7 +4742,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -4963,7 +4986,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -4989,28 +5012,28 @@ public class OrdersServiceImpl extends ServiceImpl implements } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice; //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); valueStorageDeduction = valueStorageDeduction.subtract(artificerPrice); orders.setValueStorageDeduction(valueStorageDeduction); orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = artificerPrice.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -5036,7 +5059,8 @@ public class OrdersServiceImpl extends ServiceImpl implements oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); @@ -5052,7 +5076,8 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -5100,7 +5125,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -5409,12 +5435,12 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -5449,38 +5475,37 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("分销员收益:" + orders.getOneUserMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(5); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlRole(5); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } } UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - if(orders.getOneArtificerMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, oneArtificerUser.getUserId(), orders.getOneArtificerMoney().doubleValue()); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + if (jjrUser != null) { + if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(oneArtificerUser.getUserId()); + UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); //插入余额 userMoneyDetails.setBalance(userNowMoney12.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneArtificerMoney()); - userMoneyDetails.setUserId(oneArtificerUser.getUserId()); + userMoneyDetails.setMoney(orders.getJjrMoney()); + userMoneyDetails.setUserId(jjrUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getOneArtificerMoney()); + userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(6); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlRole(4); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } } + if (orders.getShopUserId() != null) { if(orders.getShopMoney().compareTo(BigDecimal.ZERO)>0) { userMoneyService.updateMoney(1, orders.getShopUserId(), orders.getShopMoney().doubleValue()); @@ -5497,7 +5522,6 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(7); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); userMoneyDetails.setBlRole(3); userMoneyDetails.setBlFlag(1); @@ -5667,12 +5691,12 @@ public class OrdersServiceImpl extends ServiceImpl implements String value = commonInfoService.findOne(394).getValue(); if (orders.getShopUserId() != null) { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",商家扣除:" + orders.getShopMoney() + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } else { userMoneyDetails.setContent("支付金额:" + orders.getSumMoney() + ",平台扣除:" + orders.getPingMoney() + - ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getOneArtificerMoney() + + ",分销员扣除:" + orders.getOneUserMoney() + ",经纪人扣除:" + orders.getJjrMoney() + ",打车费:" + orders.getTaxiMoney() + ",平台扣除打车费:" + orders.getPingTaxiMoney() + ",到账打车费:" + orders.getArtificerTaxiMoney() + ",到账总金额:" + orders.getSumArtificerMoney()); } @@ -5703,34 +5727,32 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(5); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlRole(5); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } } UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - if(orders.getOneArtificerMoney().compareTo(BigDecimal.ZERO)>0) { - userMoneyService.updateMoney(1, oneArtificerUser.getUserId(), orders.getOneArtificerMoney().doubleValue()); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + if (jjrUser != null) { + if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + userMoneyService.updateMoney(1, jjrUser.getUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(oneArtificerUser.getUserId()); + UserMoney userNowMoney12 = userMoneyService.selectUserMoneyByUserId(jjrUser.getUserId()); //插入余额 userMoneyDetails.setBalance(userNowMoney12.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getOneArtificerMoney()); - userMoneyDetails.setUserId(oneArtificerUser.getUserId()); + userMoneyDetails.setMoney(orders.getJjrMoney()); + userMoneyDetails.setUserId(jjrUser.getUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getOneArtificerMoney()); + userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(6); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlRole(4); userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); } @@ -5751,7 +5773,6 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); - userMoneyDetails.setClassify(7); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); userMoneyDetails.setBlRole(3); userMoneyDetails.setBlFlag(1); @@ -5989,20 +6010,20 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算评价比例 if (scoreCount != 0) { if (goodsScoreCount != null) { - goodsRate = BigDecimal.valueOf(goodsScoreCount).divide(BigDecimal.valueOf(scoreCount), 0, BigDecimal.ROUND_UP); + goodsRate = BigDecimal.valueOf(goodsScoreCount).divide(BigDecimal.valueOf(scoreCount), 2, BigDecimal.ROUND_HALF_UP); } if (loseScoreCount != null) { - loseRate = BigDecimal.valueOf(loseScoreCount).divide(BigDecimal.valueOf(scoreCount), 0, BigDecimal.ROUND_UP); + loseRate = BigDecimal.valueOf(loseScoreCount).divide(BigDecimal.valueOf(scoreCount), 2, BigDecimal.ROUND_HALF_UP); } } BigDecimal succeedRate = BigDecimal.ZERO; if (countOrderEnd != 0 && countOrder != 0) { - succeedRate = BigDecimal.valueOf(countOrderEnd + countOrderAppraise).divide(new BigDecimal(countOrder), 0, BigDecimal.ROUND_UP); + succeedRate = BigDecimal.valueOf(countOrderEnd + countOrderAppraise).divide(new BigDecimal(countOrder), 2, BigDecimal.ROUND_HALF_UP); } result.put("sumMoney", sumMoney); result.put("countOrderNum", countOrderNum); - result.put("countTakingByUserId", BigDecimal.valueOf(countTakingByUserId).setScale(0, BigDecimal.ROUND_UP)); + result.put("countTakingByUserId", BigDecimal.valueOf(countTakingByUserId).setScale(2, BigDecimal.ROUND_HALF_UP)); result.put("orderMoney", orderMoney); result.put("countOrder", countOrder); result.put("sumRefund", sumRefund); @@ -6521,12 +6542,12 @@ public class OrdersServiceImpl extends ServiceImpl implements // treeNode.putExtra("revenueAmount",object.getArtificerTaxiMoney().add(object.getProjectBenefits()).subtract(object.getChannelDeduction().add(object.getValueStorageDeduction())));//收益金额 })); //项目金额 - BigDecimal Price = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getPrice()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(0, BigDecimal.ROUND_UP).doubleValue()); + BigDecimal Price = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getPrice()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); BigDecimal couponMoney = new BigDecimal(trees.get(0).get("couponMoney").toString()); //实际项目金额 trees.get(0).put("allPrice",Price.subtract(couponMoney)); //项目收益 - BigDecimal projectBenefits = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getProjectBenefits()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(0, BigDecimal.ROUND_UP).doubleValue()); + BigDecimal projectBenefits = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getProjectBenefits()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); //实际项目收益 trees.get(0).put("actualProjectBenefits",projectBenefits); BigDecimal artificerTaxiMoney = new BigDecimal(trees.get(0).get("artificerTaxiMoney").toString()); diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/app/AppJjrController.java b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/app/AppJjrController.java index 64ae913..c65af8a 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/controller/app/AppJjrController.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/controller/app/AppJjrController.java @@ -1,14 +1,19 @@ package com.sqx.modules.bl.commission.jjr.controller.app; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.sqx.common.utils.Result; +import com.sqx.modules.app.annotation.Login; import com.sqx.modules.bl.commission.jjr.entity.JjrApply; +import com.sqx.modules.bl.commission.jjr.entity.JjrConfig; import com.sqx.modules.bl.commission.jjr.entity.JjrData; import com.sqx.modules.bl.commission.jjr.service.JjrApplyService; +import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; import com.sqx.modules.bl.commission.jjr.service.JjrDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -23,13 +28,78 @@ public class AppJjrController { @Autowired private JjrApplyService applyService; + @Autowired + private JjrDataService dataService; + + @Autowired + private JjrConfigService configService; + + @Login @GetMapping("/apply") @ApiOperation("申请经纪人") - public Result apply(JjrApply jjrApply){ + public Result apply(@RequestAttribute Long userId, String name, String phone, String remarks){ + JjrApply jjrApply = new JjrApply(); + jjrApply.setUserId(userId); + jjrApply.setName(name); + jjrApply.setPhone(phone); + jjrApply.setRemarks(remarks); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); jjrApply.setCreateTime(sdf.format(new Date())); applyService.add(jjrApply); return Result.success(); } + + /** + * 可提现、累计佣金、已提现、未入账、今日成交订单、累计成交订单、今日新增技师、累计入驻技师 + */ + @Login + @GetMapping("/myJjr") + @ApiOperation("我是经纪人") + public Result myJjr(@RequestAttribute Long userId){ + return dataService.myJjr(userId); + } + + /** + * 我的收益-收益明细 + */ + @Login + @GetMapping("/incomeDetail") + @ApiOperation("我的收益") + public Result incomeDetail(@RequestAttribute Long userId, Integer page, Integer limit){ + return dataService.incomeDetail(userId,page,limit); + } + + /** + * 提现记录-提现明细 + */ + @Login + @GetMapping("/withdrawalDetail") + @ApiOperation("我的提现") + public Result withdrawalDetail(@RequestAttribute Long userId, Integer page, Integer limit){ + return dataService.withdrawalDetail(userId,page,limit); + } + + /** + * 我的邀请-邀请技师明细 + */ + @Login + @GetMapping("/artificerDetail") + @ApiOperation("我邀请的技师") + public Result artificerDetail(@RequestAttribute Long userId, Integer page, Integer limit){ + JjrData jjrData = dataService.getByUserId(userId); + jjrData.setPage(page); + jjrData.setLimit(limit); + return dataService.invitationArtificerPage(jjrData); + } + + /** + * 邀请海报 + */ + @GetMapping("/poster") + @ApiOperation("经纪人邀请海报") + public Result poster(){ + JjrConfig entity = configService.getOne(new QueryWrapper()); + return Result.success().put("data",entity); + } } diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrDataDao.java b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrDataDao.java index aeb56ae..c2910e6 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrDataDao.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/dao/JjrDataDao.java @@ -19,4 +19,7 @@ public interface JjrDataDao extends BaseMapper { void cancelInvitation(JjrData jjrData); JjrData getByCode(String invitationCode); void modifyJjr(JjrData jjrData); + JjrData findJjr(JjrData jjrData); + JjrData getByUserId(Long userId); + } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrData.java b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrData.java index 8810578..924c164 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrData.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/entity/JjrData.java @@ -76,6 +76,11 @@ public class JjrData implements Serializable { */ @TableField(exist = false) private Integer status; + /** + *创建时间 + */ + @TableField(exist = false) + private String createTime; /** *累计邀请技师 */ @@ -86,6 +91,16 @@ public class JjrData implements Serializable { */ @TableField(exist = false) private Integer ordersCount; + /** + *累计邀请技师 + */ + @TableField(exist = false) + private Integer curArtificerCount; + /** + *累计成交订单数量 + */ + @TableField(exist = false) + private Integer curOrdersCount; /** *累计获得佣金 */ diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrDataService.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrDataService.java index 0a9cab6..ff5ceed 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrDataService.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/JjrDataService.java @@ -12,4 +12,9 @@ public interface JjrDataService extends IService { void cancelInvitation(JjrData jjrData); JjrData getByCode(String invitationCode); void modifyJjr(JjrData jjrData); + + Result myJjr(Long userId); + Result incomeDetail(Long userId,Integer page, Integer limit); + Result withdrawalDetail(Long userId,Integer page, Integer limit); + JjrData getByUserId(Long userId); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrDataServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrDataServiceImpl.java index c3cba31..387597a 100644 --- a/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrDataServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/commission/jjr/service/impl/JjrDataServiceImpl.java @@ -5,22 +5,33 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; +import com.sqx.modules.app.entity.UserMoneyDetails; +import com.sqx.modules.app.service.UserMoneyDetailsService; +import com.sqx.modules.artificer.entity.Orders; +import com.sqx.modules.artificer.entity.Period; import com.sqx.modules.bl.commission.jjr.dao.JjrDataDao; import com.sqx.modules.bl.commission.jjr.entity.JjrApply; import com.sqx.modules.bl.commission.jjr.entity.JjrConfig; import com.sqx.modules.bl.commission.jjr.entity.JjrData; import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; import com.sqx.modules.bl.commission.jjr.service.JjrDataService; +import com.sqx.modules.utils.PeriodUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Service public class JjrDataServiceImpl extends ServiceImpl implements JjrDataService { @Autowired private JjrConfigService configService; + @Autowired + private UserMoneyDetailsService userMoneyDetailsService; @Override public Result findPage(JjrData jjrData){ @@ -64,4 +75,106 @@ public class JjrDataServiceImpl extends ServiceImpl impleme jjrData.setRate(rate); baseMapper.modifyJjr(jjrData); } + + @Override + public Result myJjr(Long userId){ + Map result=new HashMap<>(); + //可提现 + Date CurrentPeriod = new Date();//获取当前时间 + //获取当前时间周期的上一个周期 + Period periodDate= PeriodUtil.previousIssue(CurrentPeriod); + Period period = new Period(); + period.setArtificerId(String.valueOf(userId)); + period.setDetailsType(1); + period.setEndFundData(periodDate.getEndFundData()); + period.setFundType(4);//经纪人 + List filteredPersons = userMoneyDetailsService.selectIncome(period); + //进账 + double incomeLong= filteredPersons.stream() + .filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + //出账 + double outgoingLong= filteredPersons.stream() + .filter(UserMoneyDetails -> UserMoneyDetails.getType() == 2) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2) + .filter(UserMoneyDetails -> !UserMoneyDetails.getContent().contains("管理端减少")) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + + BigDecimal incomeMoney= BigDecimal.valueOf(incomeLong).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal outgoingMoney = BigDecimal.valueOf(outgoingLong).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal withdrawableAmount = incomeMoney.subtract(outgoingMoney).setScale(2,BigDecimal.ROUND_HALF_UP); + result.put("withdrawableAmount",withdrawableAmount);//可提现金额 + //累计佣金 + Period period2 = new Period(); + period2.setArtificerId(String.valueOf(userId)); + period2.setDetailsType(1); + period2.setFundType(4);//经纪人 + List filteredPersons2 = userMoneyDetailsService.selectIncome(period2); + double income= filteredPersons2.stream() + .filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + result.put("income",income);//累计佣金 + //已提现金额 + double withdrawal= filteredPersons2.stream() + .filter(UserMoneyDetails -> UserMoneyDetails.getType() == 2) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2) + .filter(UserMoneyDetails -> UserMoneyDetails.getClassify() == 3) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + result.put("withdrawal",withdrawal);//已提现金额 + double notCredited = filteredPersons2.stream() + .filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 1) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + result.put("notCredited",notCredited);//未入账 + JjrData jjrData = new JjrData(); + jjrData.setUserId(userId); + jjrData = baseMapper.findJjr(jjrData); + result.put("curOrdersCount",jjrData.getCurOrdersCount());//今日成交订单 + result.put("ordersCount",jjrData.getOrdersCount());//累计成交订单 + result.put("curArtificerCount",jjrData.getCurArtificerCount());//今日新增技师 + result.put("artificerCount",jjrData.getArtificerCount());//累计入驻技师 + return Result.success().put("data",result); + } + + @Override + public Result incomeDetail(Long userId,Integer page, Integer limit){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", userId); + queryWrapper.eq("bl_role", 4);//经纪人 + queryWrapper.eq("type", 1); + queryWrapper.eq("state", 2); + queryWrapper.eq("manipulate_type", 2); + queryWrapper.orderByDesc("create_time"); + Page pages = new Page<>(page, limit); + PageUtils pageUtils = new PageUtils(userMoneyDetailsService.page(pages,queryWrapper)); + return Result.success().put("data", pageUtils); + } + + @Override + public Result withdrawalDetail(Long userId,Integer page, Integer limit){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", userId); + queryWrapper.eq("classify", 3); + queryWrapper.eq("type", 2); + queryWrapper.eq("state", 2); + queryWrapper.eq("bl_role", 4);//经纪人 + queryWrapper.eq("manipulate_type", 2); + queryWrapper.orderByDesc("create_time"); + Page pages = new Page<>(page, limit); + PageUtils pageUtils = new PageUtils(userMoneyDetailsService.page(pages,queryWrapper)); + return Result.success().put("data", pageUtils); + } + + @Override + public JjrData getByUserId(Long userId){ + return baseMapper.getByUserId(userId); + } + } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index e70e015..23caf54 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -590,7 +590,7 @@ public class AliPayController { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -613,15 +613,15 @@ public class AliPayController { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); + valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -629,15 +629,24 @@ public class AliPayController { orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -648,7 +657,7 @@ public class AliPayController { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } } } @@ -660,10 +669,11 @@ public class AliPayController { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ @@ -678,7 +688,8 @@ public class AliPayController { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -760,7 +771,8 @@ public class AliPayController { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -916,7 +928,7 @@ public class AliPayController { String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String[] couponIds = couponIssue.getCouponIds().split(","); UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); - userMoneyDetails.setClassify(1); + userMoneyDetails.setClassify(2); userMoneyDetails.setType(2); userMoneyDetails.setState(2); userMoneyDetails.setManipulateType(1); @@ -1032,7 +1044,7 @@ public class AliPayController { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //用户流水 UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(8); + userMoneyDetails.setClassify(5); userMoneyDetails.setManipulateType(1); userMoneyDetails.setUserId(payDetails.getUserId()); userMoneyDetails.setTitle("支付宝给技师打赏"); @@ -1054,7 +1066,7 @@ public class AliPayController { //插入余额 userMoneyDetails2.setBalance(userNowMoney.getMoney()); userMoneyDetails2.setManipulateType(2); - userMoneyDetails2.setClassify(8); + userMoneyDetails2.setClassify(5); userMoneyDetails2.setUserId(userEntity.getUserId()); userMoneyDetails2.setTitle("用户支付宝打赏"); userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money); @@ -1536,15 +1548,24 @@ public class AliPayController { orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1560,8 +1581,20 @@ public class AliPayController { } } orders.setShopMoney(shopMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney = BigDecimal.ZERO; + if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { + orders.setOneUserId(oneUser.getUserId()); + orders.setOneUserName(oneUser.getUserName()); + oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); + oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + } + orders.setOneUserMoney(oneUserMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); + artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -1574,18 +1607,8 @@ public class AliPayController { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); - - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); - BigDecimal oneUserMoney = BigDecimal.ZERO; - if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) { - orders.setOneUserId(oneUser.getUserId()); - orders.setOneUserName(oneUser.getUserName()); - oneUserMoney = pingMoney.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); - } - orders.setOneUserMoney(oneUserMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -1625,7 +1648,8 @@ public class AliPayController { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -1920,7 +1944,7 @@ public class AliPayController { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -1943,15 +1967,15 @@ public class AliPayController { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); + valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -1959,15 +1983,24 @@ public class AliPayController { orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1978,7 +2011,7 @@ public class AliPayController { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } } } @@ -1990,10 +2023,11 @@ public class AliPayController { orders.setOneUserId(oneUser.getUserId()); orders.setOneUserName(oneUser.getUserName()); oneUserMoney = artificerPrice.multiply(oneUser.getUserRate()); - oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ @@ -2008,7 +2042,8 @@ public class AliPayController { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -2090,7 +2125,8 @@ public class AliPayController { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -2248,7 +2284,7 @@ public class AliPayController { String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String[] couponIds = couponIssue.getCouponIds().split(","); UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); - userMoneyDetails.setClassify(1); + userMoneyDetails.setClassify(2); userMoneyDetails.setType(2); userMoneyDetails.setState(2); userMoneyDetails.setManipulateType(1); @@ -2364,7 +2400,7 @@ public class AliPayController { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //用户流水 UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(8); + userMoneyDetails.setClassify(5); userMoneyDetails.setManipulateType(1); userMoneyDetails.setUserId(payDetails.getUserId()); userMoneyDetails.setTitle("支付宝给技师打赏"); @@ -2386,7 +2422,7 @@ public class AliPayController { //插入余额 userMoneyDetails2.setBalance(userNowMoney.getMoney()); userMoneyDetails2.setManipulateType(2); - userMoneyDetails2.setClassify(8); + userMoneyDetails2.setClassify(5); userMoneyDetails2.setUserId(userEntity.getUserId()); userMoneyDetails2.setTitle("用户支付宝打赏"); userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money); diff --git a/src/main/java/com/sqx/modules/pay/entity/PayClassify.java b/src/main/java/com/sqx/modules/pay/entity/PayClassify.java index e214405..e4997f8 100644 --- a/src/main/java/com/sqx/modules/pay/entity/PayClassify.java +++ b/src/main/java/com/sqx/modules/pay/entity/PayClassify.java @@ -56,6 +56,11 @@ public class PayClassify implements Serializable { */ private String createTime; + private Integer dayNum; + private Integer dayMoney; + + + /** * 子表列表 */ diff --git a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java index 4927b46..4e7d5dc 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java @@ -798,7 +798,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -821,28 +821,37 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); + valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -853,7 +862,7 @@ public class WxServiceImpl implements WxService { orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); shopMoney = artificerPrice.multiply(consortia.getRate()); - shopMoney = shopMoney.setScale(0, BigDecimal.ROUND_HALF_UP); + shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } } } @@ -868,7 +877,8 @@ public class WxServiceImpl implements WxService { oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ @@ -883,7 +893,8 @@ public class WxServiceImpl implements WxService { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -923,7 +934,8 @@ public class WxServiceImpl implements WxService { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -1392,7 +1404,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -1415,15 +1427,15 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); + valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -1431,15 +1443,24 @@ public class WxServiceImpl implements WxService { orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -1465,7 +1486,8 @@ public class WxServiceImpl implements WxService { oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ @@ -1480,7 +1502,8 @@ public class WxServiceImpl implements WxService { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -1556,7 +1579,8 @@ public class WxServiceImpl implements WxService { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -1713,7 +1737,7 @@ public class WxServiceImpl implements WxService { String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String[] couponIds = couponIssue.getCouponIds().split(","); UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); - userMoneyDetails.setClassify(1); + userMoneyDetails.setClassify(2); userMoneyDetails.setType(2); userMoneyDetails.setState(2); userMoneyDetails.setManipulateType(1); @@ -1829,7 +1853,7 @@ public class WxServiceImpl implements WxService { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //用户流水 UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(8); + userMoneyDetails.setClassify(5); userMoneyDetails.setManipulateType(1); userMoneyDetails.setUserId(payDetails.getUserId()); userMoneyDetails.setTitle("微信给技师打赏"); @@ -1851,7 +1875,7 @@ public class WxServiceImpl implements WxService { //插入余额 userMoneyDetails2.setBalance(userNowMoney.getMoney()); userMoneyDetails2.setManipulateType(2); - userMoneyDetails2.setClassify(8); + userMoneyDetails2.setClassify(5); userMoneyDetails2.setUserId(userEntity.getUserId()); userMoneyDetails2.setTitle("用户微信打赏"); userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money); @@ -2148,7 +2172,7 @@ public class WxServiceImpl implements WxService { if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 artificerTaxiPrice = taxiMoney.multiply(artificer.getRate()); - artificerTaxiPrice = artificerTaxiPrice.setScale(0, BigDecimal.ROUND_UP); + artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice); //赋值技师出租收款 @@ -2171,15 +2195,15 @@ public class WxServiceImpl implements WxService { } //计算用户收益 !计算前先减去通行费用再计算技师抽成 artificerPrice = subtract.multiply(artificer.getRate()); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); //储值扣费 valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额 - valueStorageDeduction = valueStorageDeduction.setScale(0, BigDecimal.ROUND_UP); + valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setValueStorageDeduction(valueStorageDeduction); //用户收益不含交通费 artificerPrice = artificerPrice.multiply(rate); - artificerPrice = artificerPrice.setScale(0, BigDecimal.ROUND_UP); + artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); // BigDecimal projectBenefits = orders.getProjectBenefits().multiply(rate); // projectBenefits = projectBenefits.setScale(2, BigDecimal.ROUND_HALF_UP); @@ -2187,15 +2211,24 @@ public class WxServiceImpl implements WxService { orders.setProjectBenefits(artificerPrice); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); - BigDecimal oneArtificerMoney = BigDecimal.ZERO; - if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { - orders.setOneArtificerUserId(oneArtificerUser.getUserId()); - orders.setOneArtificerUserName(oneArtificerUser.getUserName()); - oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); - oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); +// BigDecimal oneArtificerMoney = BigDecimal.ZERO; +// if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) { +// orders.setOneArtificerUserId(oneArtificerUser.getUserId()); +// orders.setOneArtificerUserName(oneArtificerUser.getUserName()); +// oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate()); +// oneArtificerMoney = oneArtificerMoney.setScale(0, BigDecimal.ROUND_HALF_UP); +// } +// orders.setOneArtificerMoney(oneArtificerMoney); + UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); + BigDecimal jjrMoney = BigDecimal.ZERO; + if (jjrUser != null) { + orders.setJjrUserId(jjrUser.getUserId()); + orders.setJjrUserName(jjrUser.getUserName()); + jjrMoney = jjrMoney.multiply(jjrUser.getBlJjrRate()); + jjrMoney = jjrMoney.setScale(2, BigDecimal.ROUND_HALF_UP); } - orders.setOneArtificerMoney(oneArtificerMoney); + orders.setJjrMoney(jjrMoney); BigDecimal shopMoney = BigDecimal.ZERO; if (artificerUser.getConsortiaId() != null) { Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); @@ -2221,7 +2254,8 @@ public class WxServiceImpl implements WxService { oneUserMoney = oneUserMoney.setScale(0, BigDecimal.ROUND_HALF_UP); } orders.setOneUserMoney(oneUserMoney); - artificerPrice = artificerPrice.subtract(oneArtificerMoney); +// artificerPrice = artificerPrice.subtract(oneArtificerMoney); + artificerPrice = artificerPrice.subtract(jjrMoney); artificerPrice = artificerPrice.subtract(shopMoney); artificerPrice = artificerPrice.subtract(oneUserMoney); if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ @@ -2236,7 +2270,8 @@ public class WxServiceImpl implements WxService { BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); pingMoney = pingMoney.subtract(shopMoney); - pingMoney = pingMoney.subtract(oneArtificerMoney); +// pingMoney = pingMoney.subtract(oneArtificerMoney); + pingMoney = pingMoney.subtract(jjrMoney); pingMoney = pingMoney.subtract(oneUserMoney); orders.setPingMoney(pingMoney); @@ -2312,7 +2347,8 @@ public class WxServiceImpl implements WxService { orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); - orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); +// orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney())); + orders1.setJjrMoney(orders1.getJjrMoney().add(orders.getJjrMoney())); orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney())); orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney())); orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); @@ -2469,7 +2505,7 @@ public class WxServiceImpl implements WxService { String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String[] couponIds = couponIssue.getCouponIds().split(","); UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); - userMoneyDetails.setClassify(1); + userMoneyDetails.setClassify(2); userMoneyDetails.setType(2); userMoneyDetails.setState(2); userMoneyDetails.setManipulateType(1); @@ -2585,7 +2621,7 @@ public class WxServiceImpl implements WxService { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //用户流水 UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(8); + userMoneyDetails.setClassify(5); userMoneyDetails.setManipulateType(1); userMoneyDetails.setUserId(payDetails.getUserId()); userMoneyDetails.setTitle("微信给技师打赏"); @@ -2607,7 +2643,7 @@ public class WxServiceImpl implements WxService { //插入余额 userMoneyDetails2.setBalance(userNowMoney.getMoney()); userMoneyDetails2.setManipulateType(2); - userMoneyDetails2.setClassify(8); + userMoneyDetails2.setClassify(5); userMoneyDetails2.setUserId(userEntity.getUserId()); userMoneyDetails2.setTitle("用户微信打赏"); userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money); diff --git a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java index a34030a..83a61ef 100644 --- a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java +++ b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java @@ -277,25 +277,25 @@ public class TravelConfServiceImpl extends ServiceImpl免费公里数:公里数-免费公里数<起步公里数时,车费=夜间出行费+起步价 if(kilometers.compareTo(startKilometers)<0){ - startingPrice = startingPrice.setScale(0,BigDecimal.ROUND_UP); + startingPrice = startingPrice.setScale(2,BigDecimal.ROUND_HALF_UP); }else{ //公里数>免费公里数:公里数-免费公里数>起步公里数时,车费=夜间出行费+起步价+(公里数-免费公里数-起步公里数)*每公里价格 startingPrice = startingPrice.add(kilometers.subtract(startKilometers).multiply(pricePerKilometer)); - startingPrice = startingPrice.setScale(0,BigDecimal.ROUND_UP); + startingPrice = startingPrice.setScale(2,BigDecimal.ROUND_HALF_UP); } vo.setUsualTravelMoney(startingPrice); vo.setNightTravelMoney(nightTravelMoney); travelPrice = nightTravelMoney.add(startingPrice); - travelPrice = travelPrice.setScale(0,BigDecimal.ROUND_UP); + travelPrice = travelPrice.setScale(2,BigDecimal.ROUND_HALF_UP); vo.setTravelPrice(travelPrice.toString()); } } diff --git a/src/main/resources/mapper/app/UserMoneyDetailsDao.xml b/src/main/resources/mapper/app/UserMoneyDetailsDao.xml index 3df5716..192a794 100644 --- a/src/main/resources/mapper/app/UserMoneyDetailsDao.xml +++ b/src/main/resources/mapper/app/UserMoneyDetailsDao.xml @@ -3,10 +3,10 @@ select x.id,x.user_id,y.avatar,y.user_name,x.name,x.phone,x.remarks,x.create_time,x.status,x.opinion,y.invitation_code,x.approve_time, - (select count(*) from tb_user ac where ac.bl_jjr_code = y.invitation_code) as artificerCount, + ifnull(select count(*) from tb_user ac inner join artificer aa on a.user_id = aa.user_id where ac.bl_jjr_code = y.invitation_code,0) as artificerCount, ifnull(t1.ordersCount,0) as ordersCount, - ifnull(t2.money,0) as money + ifnull(t3.money,0) as money from bl_jjr_apply x inner join tb_user y on x.user_id = y.user_id left join ( @@ -47,7 +47,7 @@ where state = 2 and type = 1 group by user_id - ) t2 on t2.user_id = x.user_id + ) t3 on t3.user_id = x.user_id where x.status= 1 and x.name like concat('%',#{params.name},'%') @@ -131,4 +131,94 @@ where user_id=#{artificerUserId} + + + + \ No newline at end of file