UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
@@ -282,7 +282,7 @@ }) public ResultUtil toWe(){ try { String urlLink = weChatUtil.getUrlLink(null, null); String urlLink = weChatUtil.getUrlLink("pages/home/home", null); return ResultUtil.success(urlLink); }catch (Exception e){ e.printStackTrace(); UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -355,28 +355,6 @@ userRedPacketRecordService.updateById(query); } //添加已收入明细 Line line = lineService.selectById(orderCrossCity.getLineId()); Driver driver = driverService.selectById(orderCrossCity.getDriverId()); Double speMoney = driver.getIntercityCommission(); BigDecimal d = null;//企业收入 BigDecimal c = null;//司机收入 if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderCrossCity.getOrderMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(price).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue()); incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 new Thread(new Runnable() { @Override @@ -445,14 +423,20 @@ Double speMoney = driver.getIntercityCommission(); BigDecimal d = null;//企业收入 BigDecimal c = null;//司机收入 if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderCrossCity.getOrderMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(price).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); if(null == speMoney){ speMoney = Double.valueOf(line.getRakeRate()); d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入 c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入 }else{ if(driver.getIntercityCommissionType() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(driver.getIntercityCommissionType() == 1){//比例 Double price = orderCrossCity.getOrderMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(price).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } } incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue()); incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue()); UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -41,6 +41,7 @@ import java.math.MathContext; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @Service @@ -841,6 +842,7 @@ } List<Driver> drivers = driverMapper.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), query.getId()); drivers = drivers.stream().filter(s->s.getBalance() > -100).collect(Collectors.toList()); System.err.println("当前获取的司机:"+ JSON.toJSONString(drivers)); //找出距离最近且评分最高的司机 @@ -1062,14 +1064,27 @@ BigDecimal c = null;//司机收入 Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Double speMoney = driver.getSpecialCarCommission(); if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机 } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); if(null == speMoney){ speMoney = company.getSpeMoney(); if(company.getIsSpeFixedOrProportional() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(company.getIsSpeFixedOrProportional() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } }else{ if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); @@ -1277,15 +1292,30 @@ BigDecimal c = null;//司机收入 Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Double taxi = driver.getSpecialCarCommission(); if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(taxi); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); if(null == taxi){ taxi = company.getSpeMoney(); if(company.getIsSpeFixedOrProportional() == 2){//固定 d = new BigDecimal(taxi); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(company.getIsSpeFixedOrProportional() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } }else{ if(driver.getSpecialCarCommissionType() == 2){//固定 d = new BigDecimal(taxi); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } } if(driver.getSpecialCarCommissionType() == 1){//比例 Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); d = new BigDecimal(price).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -144,17 +144,6 @@ updateUser as updateUser from t_driver where flag != 3 and state = 2 and authState = 2 <if test="null != companyId"> <choose> <when test="companyId != 1"> and companyId = #{companyId} or franchiseeId = #{companyId} </when> <otherwise> and companyId is null or companyId = 0 or companyId = 1 or franchiseeId is null or franchiseeId = 0 </otherwise> </choose> </if> and id in ( select driverId from t_driver_work where startTime < now() and state = 1 and `type` like CONCAT('%', #{type}, '%') @@ -231,16 +220,6 @@ updateUser as updateUser from t_driver where flag != 3 and state = 2 and authState = 2 and failCount = 0 <if test="null != companyId"> <choose> <when test="companyId != 1"> and companyId = #{companyId} or franchiseeId = #{companyId} </when> <otherwise> and companyId is null or companyId = 0 or companyId = 1 or franchiseeId is null or franchiseeId = 0 </otherwise> </choose> </if> and id in ( select driverId from t_driver_work UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
@@ -70,7 +70,7 @@ @Override public ResultUtil delMyCoupon(Integer id, Integer uid) throws Exception { UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id); if(userCouponRecord.getUserId() != uid){ if(!userCouponRecord.getUserId().equals(uid)){ return ResultUtil.error("您不能删除此优惠券"); } userCouponRecordMapper.deleteById(id); UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
@@ -179,7 +179,7 @@ param.put("expire_interval", 1); param.put("path", path); param.put("query", query); param.put("env_version", "trial"); param.put("env_version", "release"); HttpHeaders httpHeaders = new HttpHeaders(); MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8"); httpHeaders.setContentType(type);