xuhy
7 天以前 18b2a0ca34e29adb583a745e704b600927b9fdac
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -171,7 +171,8 @@
    private IServerCarModelService serverCarModelService;
    @Autowired
    private IAppOpenInfoService appOpenInfoService;
    @Resource
    private UserInfoMapper userInfoMapper;
    @Value("${filePath}")
    private String filePath;
@@ -904,7 +905,10 @@
        if(null == orderPrivateCar){
            return ResultUtil.error("取消订单失败,订单信息有误");
        }
        if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
        if(orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0) && orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
            return ResultUtil.error("取消订单失败,当前状态无法取消");
        }
        if(orderPrivateCar.getPayMethod() == 1 && orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
            return ResultUtil.error("取消订单失败,不合法的操作");
        }
        if(null == orderPrivateCar.getDriverId()){//没有接单的情况
@@ -926,6 +930,26 @@
                integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
                orderPrivateCar.setState(10);
                this.updateById(orderPrivateCar);
                if (orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0)) {
                    // 退款
                    if (orderPrivateCar.getPayType() == 1 && orderPrivateCar.getOrderMoney() != 0) {//微信退款
                        // 微信退款
                        payMoneyUtil.wxRefund(orderPrivateCar.getTransactionId(), orderPrivateCar.getOrderNum(), String.valueOf(orderPrivateCar.getPaymentAdvanceMoney()), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())), "/base/transferWXNotify");
//                        orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue());
                    }
                    if (orderPrivateCar.getPayType() == 2 && orderPrivateCar.getOrderMoney() != 0) {//支付宝退款
                        // 支付宝退款
                        payMoneyUtil.aliRefund(orderPrivateCar.getTransactionId(), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()).multiply(new BigDecimal(100))));
//                        orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue());
                    }
                    if (orderPrivateCar.getPayType() == 3 && orderPrivateCar.getOrderMoney() != 0) {//余额支付
                        BigDecimal refundMoney = new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney());
                        // 余额退款
                        UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
                        userInfo.setBalance(new BigDecimal(userInfo.getBalance()).add(refundMoney).doubleValue());
                        userInfoMapper.updateById(userInfo);
                    }
                }
            }
        }else {
            CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, orderPrivateCar.getCompanyId());
@@ -939,6 +963,26 @@
                    orderPrivateCar.setState(10);
                    this.updateById(orderPrivateCar);
                    if (orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0)) {
                        // 退款
                        if (orderPrivateCar.getPayType() == 1 && orderPrivateCar.getOrderMoney() != 0) {//微信退款
                            // 微信退款
                            payMoneyUtil.wxRefund(orderPrivateCar.getTransactionId(), orderPrivateCar.getOrderNum(), String.valueOf(orderPrivateCar.getPaymentAdvanceMoney()), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())), "/base/transferWXNotify");
//                            orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue());
                        }
                        if (orderPrivateCar.getPayType() == 2 && orderPrivateCar.getOrderMoney() != 0) {//支付宝退款
                            // 支付宝退款
                            payMoneyUtil.aliRefund(orderPrivateCar.getTransactionId(), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()).multiply(new BigDecimal(100))));
//                            orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue());
                        }
                        if (orderPrivateCar.getPayType() == 3 && orderPrivateCar.getOrderMoney() != 0) {//余额支付
                            BigDecimal refundMoney = new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney());
                            // 余额退款
                            UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
                            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).add(refundMoney).doubleValue());
                            userInfoMapper.updateById(userInfo);
                        }
                    }
                }
                this.deleteTask(id);//删除定时任务
@@ -1126,7 +1170,7 @@
                    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);
                    incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getBalance());
                    incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getLaveBusinessMoney());
                    this.deleteTask(id);//删除定时任务
@@ -1187,11 +1231,10 @@
                            for(Driver driver : list){//开始进行推送
                                // 判断该司机是否有30分钟内预约单
                                long count = orderPrivateCars.stream().filter(orderPrivateCar1 -> driver.getId().equals(orderPrivateCar1.getDriverId())
                                        && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now())
                                        && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).isAfter(LocalDateTime.now())).count();
                                if(orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver.getId())){
                                    continue;
                                }
                                        && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now())).count();
//                                if(orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver.getId())){
//                                    continue;
//                                }
                                if(count > 0){
                                    continue;
                                }
@@ -1594,7 +1637,7 @@
                        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);
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney());
                        orderPrivateCar.setState(8);
                    }else {
                        if(orderPrivateCar.getOrderSource() == 2){
@@ -1646,7 +1689,7 @@
                        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);
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney());
                    }
@@ -1834,7 +1877,7 @@
            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);
            incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
            incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney());
            this.deleteTask(orderPrivateCar.getId());//删除定时任务
            // TODO: 2020/5/24 这里需要给司机和用户推送订单状态
@@ -1937,7 +1980,7 @@
                        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);
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney());
                    }else {
                        if(orderPrivateCar.getOrderSource() == 2){
                            orderPrivateCar.setState(2);
@@ -1975,7 +2018,7 @@
                        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);
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney());
                    }
                }
                // TODO: 2020/5/24 这里需要给司机和用户推送订单状态