无关风月
2024-08-10 0001861cc63fc670646a103284b9eaefb193e91f
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -100,6 +100,9 @@
    
    @Autowired
    private ISettlementRecordService settlementRecordService;
    @Resource
    private IBalanceUsageRecordService balanceUsageRecordService;
@@ -130,7 +133,7 @@
//        List<Map<String, Object>> list2 = orderCrossCityService.queryOrderList(state, uid);
//        datas.addAll(list2);
        //小件物流
        List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid, language);
        List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(state, uid, language);
        datas.addAll(list3);
        //分页
@@ -170,7 +173,7 @@
            List<Map<String, Object>> list2 = orderCrossCityService.queryOrderList(language, state, uid);
            datas.addAll(list2);
        }else{//小件物流
            List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(uid, language);
            List<Map<String, Object>> list3 = orderLogisticsService.queryOrderList(state, uid, language);
            datas.addAll(list3);
        }
@@ -208,11 +211,11 @@
        List<Map<String, Object>> list1 = orderPrivateCarService.queryMyAllOrder(state, uid, language);
        for (Map<String, Object> map : list1) {
            Integer id = Integer.valueOf(map.get("id").toString());
            map.put("settleAccounts", 1);
            map.put("settleAccounts", 0);
            SettlementDetail settlementDetail = settlementDetailService.selectOne(new EntityWrapper<SettlementDetail>().eq("orderId", id).eq("orderType", 1));
            if(null != settlementDetail){
                SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
                map.put("settleAccounts", settlementRecord.getPaymentStatus() == 1 ? 0 : 1);
                map.put("settleAccounts", null == settlementRecord || settlementRecord.getPaymentStatus() == 1 ? 0 : 1);
            }
        }
        datas.addAll(list1);
@@ -223,11 +226,11 @@
        List<Map<String, Object>> list3 = orderLogisticsService.queryMyAllOrder(state, uid, language);
        for (Map<String, Object> map : list3) {
            Integer id = Integer.valueOf(map.get("id").toString());
            map.put("settleAccounts", 1);
            map.put("settleAccounts", 0);
            SettlementDetail settlementDetail = settlementDetailService.selectOne(new EntityWrapper<SettlementDetail>().eq("orderId", id).eq("orderType", 4));
            if(null != settlementDetail){
                SettlementRecord settlementRecord = settlementRecordService.selectById(settlementDetail.getSettlementRecordId());
                map.put("settleAccounts", settlementRecord.getPaymentStatus() == 1 ? 0 : 1);
                map.put("settleAccounts", null == settlementRecord || settlementRecord.getPaymentStatus() == 1 ? 0 : 1);
            }
        }
        datas.addAll(list3);
@@ -518,13 +521,6 @@
        if(null != map.get("telX")){
            map.put("phone", map.get("telX"));
        }
        Integer companyId = 1;
        if(null != map.get("driverId")){
            companyId = Integer.valueOf(String.valueOf(map.get("companyId")));
        }
        CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", companyId));
        JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent());
        map.put("timeOutCancel", jsonObject.getIntValue("driverTimeout"));
        return map;
    }
@@ -579,13 +575,13 @@
        String address = reverseGeocode.getAddress();
        switch (orderType){
            case 1://专车
                return orderPrivateCarService.process(orderId, state, lon, lat, address, phone, language);
                return orderPrivateCarService.process(orderId, state, lon, lat, address, phone, language, uid);
            case 2://出租
//                return orderTaxiService.process(orderId, state, lon, lat, address);
            case 3://城际
//                return orderCrossCityService.process(orderId, state, lon, lat, address);
            case 4://同城小件
                return orderLogisticsService.process(orderId, state, lon, lat, address, pickUpCode, language);
                return orderLogisticsService.process(orderId, state, lon, lat, address, pickUpCode, language, uid);
            case 5://跨城小件
//                return orderLogisticsService.process(orderId, state, lon, lat, address);
            case 6:
@@ -607,16 +603,17 @@
     * @throws Exception
     */
    @Override
    public ResultUtil confirmFees(Integer language, Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee) throws Exception {
    public ResultUtil confirmFees(Integer language, Integer orderId, Integer orderType, Integer type, Double travelFee,
                                  Double parkingFee, Double crossingFee, Integer uid) throws Exception {
        switch (orderType){
            case 1://专车
                return orderPrivateCarService.confirmFees(language, orderId, type, parkingFee, crossingFee);
                return orderPrivateCarService.confirmFees(language, orderId, type, parkingFee, crossingFee, uid);
            case 2://出租
                return orderTaxiService.confirmFees(orderId, type, travelFee, parkingFee, crossingFee);
            case 3://城际(没有此流程)
                break;
            case 4://
                return orderLogisticsService.confirmFees(language, orderId, type, parkingFee, crossingFee);
                return orderLogisticsService.confirmFees(language, orderId, type, parkingFee, crossingFee, uid);
            case 5:
                break;
            case 6:
@@ -732,7 +729,7 @@
            case 3://城际
                return orderCrossCityService.calculateMileage(orderPosition);
            case 4://
                break;
                return orderLogisticsService.calculateMileage(orderPosition.getOrderId(), orderPosition.getLon(), orderPosition.getLat());
            case 5:
                break;
            case 6:
@@ -1041,8 +1038,8 @@
        new Thread(new Runnable() {
            @Override
            public void run() {
                pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState);
                pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState);
                pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState, 0, "");
                pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState, 0, "");
            }
        }).start();
        return ResultUtil.success();
@@ -1088,7 +1085,7 @@
        for(OrderPrivateCar order : orderList){
            if(order.getSmsTime()==null ){
                if(order.getGetoffTime().getTime()+24*60*60*1000L<day.getTime()){
                if(null != order.getGetoffTime() && order.getGetoffTime().getTime()+24*60*60*1000L<day.getTime()){
                    order.setSmsNumber(order.getSmsNumber()+1);
                    order.setSmsTime(day);
                    //发送短信
@@ -1207,14 +1204,18 @@
            }
            if(payType == 3){//余额支付
                driver.setBalance(driver.getBalance() - money);
                if(driver.getLaveBusinessMoney().compareTo(money) < 0){
                    double b = money - driver.getLaveBusinessMoney();
                Double laveBusinessMoney = driver.getLaveBusinessMoney();
                if(laveBusinessMoney.compareTo(money) < 0){
                    double b = money - laveBusinessMoney;
                    driver.setLaveBusinessMoney(0D);
                    driver.setLaveActivityMoney(driver.getLaveActivityMoney() - b);
                    driverService.updateById(driver);
                    balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, b, orderType == 1 ? 1 : 2);
                    balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, laveBusinessMoney, orderType == 1 ? 1 : 2);
                }else{
                    driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - money);
                    driverService.updateById(driver);
                    balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, orderType == 1 ? 1 : 2);
                }
                if(orderType == 1){//专车