Pu Zhibing
2 天以前 b1f2f102034b4433201225b67a9fc78c08e532f0
修改bug和管理后台报表
69个文件已修改
2个文件已删除
2667 ■■■■ 已修改文件
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DispatchMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java 231 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ICBCPayUtil.java 658 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java 111 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDispatchMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderEvaluateMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReassignMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/driverWork.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/driverWorkDetail.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_detail.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/driverWork.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/driverWorkDetail.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/userActivity/userActivity.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 217 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ICBCPayUtil.java 659 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/resources/application-produce.yml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZuulIGOTravel/src/main/resources/application.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java
@@ -102,7 +102,7 @@
    @Bean
    public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
        CookieRememberMeManager manager = new CookieRememberMeManager();
        manager.setCipherKey(Base64.decode("Z3VucwAAAAAAAAAAAAAAAA=="));
        manager.setCipherKey(Base64.decode("1IuXNg73B4lqGJsB"));
        manager.setCookie(rememberMeCookie);
        return manager;
    }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -553,7 +553,7 @@
        try {
            Map<String, Object> map = orderService.queryOrderInfo(language, orderId, orderType);
            //更新小号绑定关系
            orderService.RebindMidAxbBindSend(orderId, orderType);
//            orderService.RebindMidAxbBindSend(orderId, orderType);
            pushUtil.pushOrderReassign(Integer.valueOf(String.valueOf(map.get("driverId"))), 2,Integer.valueOf(String.valueOf(map.get("orderId"))), orderType, "");
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -474,13 +474,13 @@
        orderCrossCity.setTrackId(track);
        //调用移动的小号接口
        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
        Region region = regionMapper.query(geocode.get("districtCode"));
        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
        if(String.valueOf(map.get("code")).equals("200")){
            orderCrossCity.setTelX(map.get("telX"));
            orderCrossCity.setBindId(map.get("bindId"));
        }
//        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
//        Region region = regionMapper.query(geocode.get("districtCode"));
//        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//        if(String.valueOf(map.get("code")).equals("200")){
//            orderCrossCity.setTelX(map.get("telX"));
//            orderCrossCity.setBindId(map.get("bindId"));
//        }
        if(orderCrossCityWarpper.getTravelMode() == 2){//包车
            orderCrossCity.setSeatNumber(lineShiftDriver.getLaveSeatNumber());
            orderCrossCity.setPeopleNumber(lineShiftDriver.getLaveSeat());
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -178,8 +178,7 @@
        Driver driver = driverService.selectById(uid);
        orderLogistics.setDriverId(uid);
        orderLogistics.setCarId(driver.getCarId());
        orderLogistics.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        orderLogistics.setCompanyId(driver.getCompanyId());
        orderLogistics.setState(2);
        orderLogistics.setSnatchOrderTime(new Date());
        if(!StringUtils.hasLength(orderLogistics.getTripId())){
@@ -437,6 +436,9 @@
                tripStatus = "ENROUTE_TO_DROPOFF";
                break;
            case 6://结束服务
                if(null == lon || null == lat){
                    return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides");
                }
                orderLogistics.setGetoffLon(lon);
                orderLogistics.setGetoffLat(lat);
                orderLogistics.setGetoffAddress(address);
@@ -568,8 +570,7 @@
        Driver driver = driverService.selectById(uid);
        orderLogistics.setDriverId(uid);
        orderLogistics.setCarId(driver.getCarId());
        orderLogistics.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        orderLogistics.setCompanyId(driver.getCompanyId());
        orderLogistics.setState(2);
        Date date = new Date();
        orderLogistics.setSnatchOrderTime(date);
@@ -1073,7 +1074,27 @@
        if(orderLogistics.getArriveTime()==null){
            orderLogistics.setArriveTime(orderLogistics.getStartServiceTime());
        }
        //使用原始里程计算费用
        orderLogistics = this.setMoney(orderLogistics, 0D, 0D);//计算费用
        Double mileage = orderLogistics.getMileage();
        Double orderMoney1 = orderLogistics.getOrderMoney();
        //使用预估里程计算费用
        Double startLat = orderLogistics.getStartLat();
        Double startLon = orderLogistics.getStartLon();
        Double getoffLon = orderLogistics.getGetoffLon();
        Double getoffLat = orderLogistics.getGetoffLat();
        DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(startLat, startLon, getoffLat, getoffLon, orderLogistics.getTripId());
        orderLogistics.setMileage(distancematrix.getDistance().doubleValue());
        orderLogistics = this.setMoney(orderLogistics, 0D, 0D);
        Double orderMoney2 = orderLogistics.getOrderMoney();
        //如果原始金额小于预估金额,且比例小于95%,则使用预估金额
        if(orderMoney1.compareTo(orderMoney2) >= 0 || orderMoney1 / orderMoney2 >= 0.95){
            //原始金额大于预估金额或者比例大于0.95,则使用原始里程重新计算费用
            orderLogistics.setMileage(mileage);
            orderLogistics = this.setMoney(orderLogistics, 0D, 0D);//计算费用
        }
        orderLogistics.setPayManner(type);
        orderLogistics.setParkMoney(null == parkingFee ? 0D : parkingFee);
        orderLogistics.setRoadTollMoney(null == crossingFee ? 0D : crossingFee);
@@ -1123,11 +1144,11 @@
            orderLogistics.setState(7);
        }
        
        Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderLogistics.getBindId(),orderLogistics.getTelX());
        if(String.valueOf(map.get("code")).equals("200")){
            orderLogistics.setTelX("");
            orderLogistics.setBindId("");
        }
//        Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderLogistics.getBindId(),orderLogistics.getTelX());
//        if(String.valueOf(map.get("code")).equals("200")){
//            orderLogistics.setTelX("");
//            orderLogistics.setBindId("");
//        }
        this.updateById(orderLogistics);
        //修改行程数据
        Car car = carService.selectById(orderLogistics.getCarId());
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -232,8 +232,7 @@
        Driver driver = driverService.selectById(uid);
        orderPrivateCar.setDriverId(uid);
        orderPrivateCar.setCarId(driver.getCarId());
        orderPrivateCar.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        orderPrivateCar.setCompanyId(driver.getCompanyId());
        orderPrivateCar.setState(2);
        orderPrivateCar.setSnatchOrderTime(new Date());
        if(!StringUtils.hasLength(orderPrivateCar.getTripId())){
@@ -596,6 +595,9 @@
                }
                break;
            case 6://结束服务(专车可以返回继续服务)不修改状态
                if(null == lon || null == lat){
                    return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides");
                }
                orderPrivateCar.setState(6);
                orderPrivateCar.setGetoffLon(lon);
                orderPrivateCar.setGetoffLat(lat);
@@ -674,7 +676,26 @@
            orderPrivateCar.setArriveTime(orderPrivateCar.getStartServiceTime());
        }
        
        //使用原始里程计算费用
        orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
        Double mileage = orderPrivateCar.getMileage();
        Double orderMoney1 = orderPrivateCar.getOrderMoney();
        //使用预估里程计算费用
        Double startLat = orderPrivateCar.getStartLat();
        Double startLon = orderPrivateCar.getStartLon();
        Double getoffLon = orderPrivateCar.getGetoffLon();
        Double getoffLat = orderPrivateCar.getGetoffLat();
        DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(startLat, startLon, getoffLat, getoffLon, orderPrivateCar.getTripId());
        orderPrivateCar.setMileage(distancematrix.getDistance().doubleValue());
        orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);
        Double orderMoney2 = orderPrivateCar.getOrderMoney();
        //如果原始金额小于预估金额,且比例小于95%,则使用预估金额
        if(orderMoney1.compareTo(orderMoney2) >= 0 || orderMoney1 / orderMoney2 >= 0.95){
            //原始金额大于预估金额或者比例大于0.95,则使用原始里程重新计算费用
            orderPrivateCar.setMileage(mileage);
            orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
        }
        orderPrivateCar.setPayManner(type);
        orderPrivateCar.setParkMoney(null == parkingFee ? 0D : parkingFee);
        orderPrivateCar.setRoadTollMoney(null == crossingFee ? 0D : crossingFee);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -37,7 +37,7 @@
        where a.state = 1
        <choose>
            <when test="companyId != 1">
                and  a.companyId = #{companyId} or a.franchiseeId = #{companyId}
                and  a.companyId = #{companyId}
            </when>
            <otherwise>
                and a.isPlatCar = 1
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DispatchMapper.xml
@@ -50,7 +50,7 @@
        pushOrder as pushOrder
        from t_dispatch where state != 3
        <if test="null != companyId">
            and if(franchiseeId is null or franchiseeId = 0, companyId = #{companyId}, franchiseeId = #{companyId})
            and companyId = #{companyId}
        </if>
        <if test="null != pushOrder">
            and pushOrder = #{pushOrder}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -173,7 +173,7 @@
        a.networkCarlssueImg as networkCarlssueImg,
        a.placeOfEmployment as placeOfEmployment,
        (select id from t_city where chineseName = a.placeOfPractice or englishName = a.placeOfPractice or frenchName = a.placeOfPractice)placeOfPracticeId,
        (select `name` from t_company where 1 = 1 and if(a.companyId is null or a.companyId = 0, id = 1, if(a.franchiseeId is null or a.franchiseeId = 0, id = a.companyId, id = a.franchiseeId))) as company,
        (select `name` from t_company where 1 = 1 and if(a.companyId is null or a.companyId = 0, id = 1, id = a.companyId)) as company,
        b.carLicensePlate as licensePlate,
        b.carColor as carColor,
        b.vehicleId,
@@ -218,10 +218,10 @@
        from t_driver where flag != 3 and authState = 2
        <choose>
            <when test="companyId == 1">
                and (companyId = 1 or companyId is null or companyId = 0) and (franchiseeId = 0 or franchiseeId is null)
                and (companyId = 1 or companyId is null or companyId = 0)
            </when>
            <otherwise>
                and companyId = #{companyId} or franchiseeId = #{companyId}
                and companyId = #{companyId}
            </otherwise>
        </choose>
    </select>
@@ -318,10 +318,10 @@
        <if test="null != companyId">
            <choose>
                <when test="companyId != 1">
                    and companyId = #{companyId} or franchiseeId = #{companyId}
                    and companyId = #{companyId}
                </when>
                <otherwise>
                    and companyId is null or companyId = 0 or companyId = 1 or franchiseeId is null or franchiseeId = 0
                    and companyId is null or companyId = 0 or companyId = 1
                </otherwise>
            </choose>
        
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -79,8 +79,7 @@
    @Override
    public boolean idle(Integer id) throws Exception {
        Car car = this.selectById(id);
        List<Map<String, Object>> list = carMapper.queryIdleData(car.getFranchiseeId() != null && car.getFranchiseeId() != 0 ? car.getFranchiseeId() : (
                car.getCompanyId() != null && car.getCompanyId() != 0 ? car.getCompanyId() : 1));
        List<Map<String, Object>> list = carMapper.queryIdleData(car.getCompanyId());
        for(Map<String, Object> map : list){
            Integer carId = Integer.valueOf(String.valueOf(map.get("id")));
            if(carId.compareTo(id) == 0){
@@ -203,16 +202,13 @@
        }
        Driver driver = driverService.selectById(uid);
        car.setCompanyId(driver.getCompanyId());
        car.setFranchiseeId(driver.getFranchiseeId());
        car.setInsertTime(new Date());
        car.setState(1);
        car.setAuthState(1);
        car.setAddType(1);
        car.setDriverId(uid);
        car.setAddObjectId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        car.setAddObjectId(driver.getCompanyId());
        Company company = companyMapper.selectById(driver.getCompanyId());
        car.setIsPlatCar(company.getType() == 1 ? 1 : 2);
        this.insertOrUpdate(car);
        //判断司机是否已经关联车辆,未关联车辆默认关联当前车辆
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -531,117 +531,118 @@
                    driverActivityHistory.setCompletionTime(new Date());
                    driverActivityHistoryMapper.updateById(driverActivityHistory);
                }
                driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driverMapper.updateById(driver);
                if(list.size() > 0 && ToolUtil.isNotEmpty(driver.getEmail())){
                    Driver finalDriver = driver;
                    BigDecimal finalBigDecimal = bigDecimal;
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                String path = templatePath + "driver/index.html";
                                Document document = Jsoup.parse(new File(path), "UTF-8");
                                if(1 == language){
                                    document.getElementById("english").remove();
                                    document.getElementById("french").remove();
                                    document.getElementById("user").remove();
                                    document.getElementById("settle").remove();
                                    document.getElementById("pass").remove();
                                    document.getElementById("email").remove();
                                    document.getElementById("bill").remove();
                                    document.getElementById("reward").remove();
                                    document.getElementById("rewardToday").remove();
                                    document.getElementById("driverAudit").remove();
                                    document.getElementById("carAudit").remove();
                                    document.getElementsByTag("title").get(0).text("司机奖励通知");
                                    Element invite_user = document.getElementById("invite_user");
                                    invite_user.text("您好 " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                    Element invite_content = document.getElementById("invite_content");
                                    invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                                }
                                if(2 == language){
                                    document.getElementById("chinese").remove();
                                    document.getElementById("french").remove();
                                    document.getElementById("user1").remove();
                                    document.getElementById("settle1").remove();
                                    document.getElementById("pass1").remove();
                                    document.getElementById("email1").remove();
                                    document.getElementById("bill1").remove();
                                    document.getElementById("reward1").remove();
                                    document.getElementById("rewardToday1").remove();
                                    document.getElementById("driverAudit1").remove();
                                    document.getElementById("carAudit1").remove();
                                    document.getElementsByTag("title").get(0).text("Reward-driver notice");
                                    Element invite1_user = document.getElementById("invite1_user");
                                    invite1_user.text("Hello " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                    Element invite1_content = document.getElementById("invite1_content");
                                    invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                }
                                if(3 == language){
                                    document.getElementById("chinese").remove();
                                    document.getElementById("english").remove();
                                    document.getElementById("user2").remove();
                                    document.getElementById("settle2").remove();
                                    document.getElementById("pass2").remove();
                                    document.getElementById("email2").remove();
                                    document.getElementById("bill2").remove();
                                    document.getElementById("reward2").remove();
                                    document.getElementById("rewardToday2").remove();
                                    document.getElementById("driverAudit2").remove();
                                    document.getElementById("carAudit2").remove();
                                    document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                    Element invite2_user = document.getElementById("invite2_user");
                                    invite2_user.text("Bonjour " + finalDriver.getFirstName() + " " + finalDriver.getLastName() + ",");
                                    Element invite2_content = document.getElementById("invite2_content");
                                    invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                }
                                EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                                String randomString = ToolUtil.getRandomString(10);
                                //开始生成pdf收据和html收据
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
                                FileWriter fileWriter = new FileWriter(file);
                                fileWriter.write(document.html());
                                fileWriter.flush();
                                fileWriter.close();
                if(bigDecimal.compareTo(BigDecimal.ZERO) > 0){
                    driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driverMapper.updateById(driver);
    
                                String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(finalDriver.getId());
                                tEmail.setType(2);
                                tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                tEmail.setCreateTime(new Date());
                                int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                String week = EmailUtil.getWeek(language, i);
                                tEmail.setWeek(week);
                                boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                if(am){
                                    tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                }else {
                                    tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                    if(ToolUtil.isNotEmpty(driver.getEmail())){
                        Driver finalDriver = driver;
                        BigDecimal finalBigDecimal = bigDecimal;
                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    String path = templatePath + "driver/index.html";
                                    Document document = Jsoup.parse(new File(path), "UTF-8");
                                    if(1 == language){
                                        document.getElementById("english").remove();
                                        document.getElementById("french").remove();
                                        document.getElementById("user").remove();
                                        document.getElementById("settle").remove();
                                        document.getElementById("pass").remove();
                                        document.getElementById("email").remove();
                                        document.getElementById("bill").remove();
                                        document.getElementById("reward").remove();
                                        document.getElementById("rewardToday").remove();
                                        document.getElementById("driverAudit").remove();
                                        document.getElementById("carAudit").remove();
                                        document.getElementsByTag("title").get(0).text("司机奖励通知");
                                        Element invite_user = document.getElementById("invite_user");
                                        invite_user.text("您好 " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                        Element invite_content = document.getElementById("invite_content");
                                        invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                                    }
                                    if(2 == language){
                                        document.getElementById("chinese").remove();
                                        document.getElementById("french").remove();
                                        document.getElementById("user1").remove();
                                        document.getElementById("settle1").remove();
                                        document.getElementById("pass1").remove();
                                        document.getElementById("email1").remove();
                                        document.getElementById("bill1").remove();
                                        document.getElementById("reward1").remove();
                                        document.getElementById("rewardToday1").remove();
                                        document.getElementById("driverAudit1").remove();
                                        document.getElementById("carAudit1").remove();
                                        document.getElementsByTag("title").get(0).text("Reward-driver notice");
                                        Element invite1_user = document.getElementById("invite1_user");
                                        invite1_user.text("Hello " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                        Element invite1_content = document.getElementById("invite1_content");
                                        invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                    }
                                    if(3 == language){
                                        document.getElementById("chinese").remove();
                                        document.getElementById("english").remove();
                                        document.getElementById("user2").remove();
                                        document.getElementById("settle2").remove();
                                        document.getElementById("pass2").remove();
                                        document.getElementById("email2").remove();
                                        document.getElementById("bill2").remove();
                                        document.getElementById("reward2").remove();
                                        document.getElementById("rewardToday2").remove();
                                        document.getElementById("driverAudit2").remove();
                                        document.getElementById("carAudit2").remove();
                                        document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                        Element invite2_user = document.getElementById("invite2_user");
                                        invite2_user.text("Bonjour " + finalDriver.getFirstName() + " " + finalDriver.getLastName() + ",");
                                        Element invite2_content = document.getElementById("invite2_content");
                                        invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                    }
                                    EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                                    String randomString = ToolUtil.getRandomString(10);
                                    //开始生成pdf收据和html收据
                                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                                    if(!file.exists()){
                                        file.mkdirs();
                                    }
                                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                    if(!file.exists()){
                                        file.createNewFile();
                                    }
                                    FileWriter fileWriter = new FileWriter(file);
                                    fileWriter.write(document.html());
                                    fileWriter.flush();
                                    fileWriter.close();
                                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                    TEmail tEmail = new TEmail();
                                    tEmail.setLink(link);
                                    tEmail.setUserId(finalDriver.getId());
                                    tEmail.setType(2);
                                    tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                    tEmail.setCreateTime(new Date());
                                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                    String week = EmailUtil.getWeek(language, i);
                                    tEmail.setWeek(week);
                                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                    if(am){
                                        tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                    }else {
                                        tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                                    }
                                    emailService.insert(tEmail);
                                }catch (Exception e){
                                    e.printStackTrace();
                                }
                                emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }
                    }).start();
                        }).start();
                    }
                }
            }
            if(type == 1){//用户分享
                UserInfo userInfo = userInfoMapper.selectById(uid);
@@ -765,18 +766,7 @@
            return ResultUtil.error(language == 1 ? "选择从业地暂未开通业务" : language == 2 ? "Not yet to commence business at the workplace selected." : "N’a pas encore commencé ses activités sur le lieu de travail sélectionné.");
        }
        if(null != query){
            switch (query.getType()){
                case 1://平台
                    driver.setCompanyId(query.getId());
                    break;
                case 2://分公司
                    driver.setCompanyId(query.getId());
                    break;
                case 3://加盟商
                    driver.setCompanyId(query.getSuperiorId());
                    driver.setFranchiseeId(query.getId());
                    break;
            }
            driver.setCompanyId(query.getId());
        }
        driver.setHeadImgUrl(registeredWarpper.getHeadImgUrl());
        driver.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1());
@@ -1742,8 +1732,7 @@
    @Override
    public Map<String, Object> queryPhone(Integer uid) throws Exception {
        Driver driver = this.selectById(uid);
        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        Company company = companyMapper.selectById(driver.getCompanyId());
        Map<String, Object> map = new HashMap<>();
        if(company.getType() == 3){//加盟商
            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -799,31 +799,31 @@
     */
    @Override
    public void taskMidAxbUnBindSend() throws Exception {
        List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend();
        for(OrderTaxi orderTaxi : list){
            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
            if(!String.valueOf(map.get("code")).equals("200")){
                System.err.println(String.valueOf(map.get("msg")));
            }
            orderTaxi.setTelX("");
            orderTaxi.setBindId("");
        }
        if(list.size() > 0){
            orderTaxiService.updateBatchById(list);
        }
        List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend();
        for(OrderPrivateCar orderPrivateCar : list1){
            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
            if(!String.valueOf(map.get("code")).equals("200")){
                System.err.println(String.valueOf(map.get("msg")));
            }
            orderPrivateCar.setTelX("");
            orderPrivateCar.setBindId("");
        }
        if(list1.size() > 0){
            orderPrivateCarService.updateBatchById(list1);
        }
//        List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend();
//        for(OrderTaxi orderTaxi : list){
//            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
//            if(!String.valueOf(map.get("code")).equals("200")){
//                System.err.println(String.valueOf(map.get("msg")));
//            }
//            orderTaxi.setTelX("");
//            orderTaxi.setBindId("");
//        }
//        if(list.size() > 0){
//            orderTaxiService.updateBatchById(list);
//        }
//
//        List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend();
//        for(OrderPrivateCar orderPrivateCar : list1){
//            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
//            if(!String.valueOf(map.get("code")).equals("200")){
//                System.err.println(String.valueOf(map.get("msg")));
//            }
//            orderPrivateCar.setTelX("");
//            orderPrivateCar.setBindId("");
//        }
//        if(list1.size() > 0){
//            orderPrivateCarService.updateBatchById(list1);
//        }
    }
@@ -839,57 +839,57 @@
            case 1:
                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                if(ToolUtil.isNotEmpty(orderPrivateCar.getBindId())){
                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
                    if(!String.valueOf(map1.get("code")).equals("200")){
                        System.err.println(String.valueOf(map1.get("msg")));
                    }
//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
//                    if(!String.valueOf(map1.get("code")).equals("200")){
//                        System.err.println(String.valueOf(map1.get("msg")));
//                    }
                    //调用移动的小号接口
                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
                    Region region = regionMapper.query(geocode.get("districtCode"));
                    Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
                    if(String.valueOf(map.get("code")).equals("200")){
                        orderPrivateCar.setTelX(map.get("telX"));
                        orderPrivateCar.setBindId(map.get("bindId"));
                    }
//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
//                    Region region = regionMapper.query(geocode.get("districtCode"));
//                    Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//                    if(String.valueOf(map.get("code")).equals("200")){
//                        orderPrivateCar.setTelX(map.get("telX"));
//                        orderPrivateCar.setBindId(map.get("bindId"));
//                    }
                    orderPrivateCarService.updateById(orderPrivateCar);
                }
                break;
            case 2:
                OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                if(ToolUtil.isNotEmpty(orderTaxi.getBindId())){
                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
                    if(!String.valueOf(map1.get("code")).equals("200")){
                        System.err.println(String.valueOf(map1.get("msg")));
                    }
//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
//                    if(!String.valueOf(map1.get("code")).equals("200")){
//                        System.err.println(String.valueOf(map1.get("msg")));
//                    }
                    //调用移动的小号接口
                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
                    Region region = regionMapper.query(geocode.get("districtCode"));
                    Driver driver = driverService.selectById(orderTaxi.getDriverId());
                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
                    if(String.valueOf(map.get("code")).equals("200")){
                        orderTaxi.setTelX(map.get("telX"));
                        orderTaxi.setBindId(map.get("bindId"));
                    }
//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
//                    Region region = regionMapper.query(geocode.get("districtCode"));
//                    Driver driver = driverService.selectById(orderTaxi.getDriverId());
//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//                    if(String.valueOf(map.get("code")).equals("200")){
//                        orderTaxi.setTelX(map.get("telX"));
//                        orderTaxi.setBindId(map.get("bindId"));
//                    }
                    orderTaxiService.updateById(orderTaxi);
                }
                break;
            case 3:
                OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
                if(ToolUtil.isNotEmpty(orderCrossCity.getBindId())){
                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
                    if(!String.valueOf(map1.get("code")).equals("200")){
                        System.err.println(String.valueOf(map1.get("msg")));
                    }
//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
//                    if(!String.valueOf(map1.get("code")).equals("200")){
//                        System.err.println(String.valueOf(map1.get("msg")));
//                    }
                    //调用移动的小号接口
                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
                    Region region = regionMapper.query(geocode.get("districtCode"));
                    Driver driver = driverService.selectById(orderCrossCity.getDriverId());
                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
                    if(String.valueOf(map.get("code")).equals("200")){
                        orderCrossCity.setTelX(map.get("telX"));
                        orderCrossCity.setBindId(map.get("bindId"));
                    }
//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
//                    Region region = regionMapper.query(geocode.get("districtCode"));
//                    Driver driver = driverService.selectById(orderCrossCity.getDriverId());
//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//                    if(String.valueOf(map.get("code")).equals("200")){
//                        orderCrossCity.setTelX(map.get("telX"));
//                        orderCrossCity.setBindId(map.get("bindId"));
//                    }
                    orderCrossCityService.updateById(orderCrossCity);
                }
                break;
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -328,8 +328,7 @@
                    
                        orderPrivateCar.setDriverId(driver1.getId());
                        orderPrivateCar.setCarId(driver1.getCarId());
                        orderPrivateCar.setCompanyId(driver1.getFranchiseeId() != null && driver1.getFranchiseeId() != 0 ? driver1.getFranchiseeId() : (
                                driver1.getCompanyId() != null && driver1.getCompanyId() != 0 ? driver1.getCompanyId() : 1));
                        orderPrivateCar.setCompanyId(driver1.getCompanyId());
                        orderPrivateCar.setSnatchOrderTime(new Date());
                        orderPrivateCar.setState(orderPrivateCar.getOldState());
                        orderPrivateCar.setOldState(null);
@@ -677,8 +676,7 @@
                    
                        orderLogistics.setDriverId(driver1.getId());
                        orderLogistics.setCarId(driver1.getCarId());
                        orderLogistics.setCompanyId(driver1.getFranchiseeId() != null && driver1.getFranchiseeId() != 0 ? driver1.getFranchiseeId() : (
                                driver1.getCompanyId() != null && driver1.getCompanyId() != 0 ? driver1.getCompanyId() : 1));
                        orderLogistics.setCompanyId(driver1.getCompanyId());
                        orderLogistics.setState(orderLogistics.getOldState());
                        orderLogistics.setOldState(null);
                        orderLogistics.setSnatchOrderTime(new Date());
@@ -965,7 +963,7 @@
                Map<String, String> map = new HashMap<>();
                map.put("orderId", reassign.getOrderId().toString());
                map.put("orderType", reassign.getOrderType().toString());
                List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getFranchiseeId() == null ? driver.getCompanyId() : driver.getFranchiseeId(), 1);
                List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getCompanyId(), 1);
                for(Dispatch dispatch : dispatches){
                    jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId());
                }
@@ -1027,7 +1025,7 @@
                        Map<String, String> map = new HashMap<>();
                        map.put("orderId", reassign.getOrderId().toString());
                        map.put("orderType", reassign.getOrderType().toString());
                        List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getFranchiseeId() == null ? driver.getCompanyId() : driver.getFranchiseeId(), 1);
                        List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getCompanyId(), 1);
                        for(Dispatch dispatch : dispatches){
                            jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId());
                        }
@@ -1119,7 +1117,7 @@
                Map<String, String> map = new HashMap<>();
                map.put("orderId", reassign.getOrderId().toString());
                map.put("orderType", reassign.getOrderType().toString());
                List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getFranchiseeId() == null ? driver.getCompanyId() : driver.getFranchiseeId(), 1);
                List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getCompanyId(), 1);
                for(Dispatch dispatch : dispatches){
                    jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId());
                }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -53,8 +53,8 @@
        gmailssl(props);
    
        final String displayName = "I-GO";//昵称
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "wpwfkrlvridoayyh";// Google应用专用密码
        final String username = "noreply@i-go.group";// gmail 邮箱
        final String password = "fggipafjlcqxjmef";// Google应用专用密码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ICBCPayUtil.java
File was deleted
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -63,8 +63,8 @@
            driverService.taskMinute();
            //处于预约单
            orderService.reservationOrder();
            //处理结束订单后30分钟解绑小号功能
            orderService.taskMidAxbUnBindSend();
//            //处理结束订单后30分钟解绑小号功能
//            orderService.taskMidAxbUnBindSend();
            //处理司机连续不接单的情况
            driverOnlineService.deductionDuration1();
            //处理google订单状态
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -189,8 +189,7 @@
        Driver driver = driverService.selectById(uid);
        orderTaxi.setDriverId(uid);
        orderTaxi.setCarId(driver.getCarId());
        orderTaxi.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        orderTaxi.setCompanyId(driver.getCompanyId());
        orderTaxi.setState(2);
        orderTaxi.setSnatchOrderTime(new Date());
@@ -200,13 +199,13 @@
        orderTaxi.setTrackId(track);
        //调用移动的小号接口
        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
        Region region = regionMapper.query(geocode.get("districtCode"));
        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
        if(String.valueOf(map.get("code")).equals("200")){
            orderTaxi.setTelX(map.get("telX"));
            orderTaxi.setBindId(map.get("bindId"));
        }
//        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
//        Region region = regionMapper.query(geocode.get("districtCode"));
//        Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
//        if(String.valueOf(map.get("code")).equals("200")){
//            orderTaxi.setTelX(map.get("telX"));
//            orderTaxi.setBindId(map.get("bindId"));
//        }
        this.updateById(orderTaxi);
@@ -258,8 +257,7 @@
        Driver driver = driverService.selectById(uid);
        orderTaxi.setDriverId(uid);
        orderTaxi.setCarId(driver.getCarId());
        orderTaxi.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        orderTaxi.setCompanyId(driver.getCompanyId());
        orderTaxi.setState(2);
        Date date = new Date();
        orderTaxi.setSnatchOrderTime(date);
DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -27,6 +27,7 @@
    multipart:
      max-request-size: 100MB
      max-file-size: 100MB
      file-size-threshold: 100MB
  redis:
    database: 0
    host: 127.0.0.1
@@ -115,17 +116,6 @@
spring:
  mail:
    host: smtp.gmail.com # 配置 smtp 服务器地址
    port: 465 # smtp 服务器的端口
    username: i-gotech@i-go.group # 配置邮箱用户名(你的邮箱地址)
    password: mhizkqkhuknbitps # 配置申请到的授权码(刚让复制的授权码)
    default-encoding: UTF-8 # 配置邮件编码
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂
        debug: true
    from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改
    template-path: /home/igotechgh/nginx/html/mailbox/
---
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java
@@ -51,6 +51,14 @@
    }
    /**
     * 项目自定义的Realm
     */
    @Bean
    public ShiroDbRealm shiroDbRealm() {
        return new ShiroDbRealm();
    }
    /**
     * spring session管理器(多机环境)
     */
    @Bean
@@ -89,20 +97,12 @@
    }
    /**
     * 项目自定义的Realm
     */
    @Bean
    public ShiroDbRealm shiroDbRealm() {
        return new ShiroDbRealm();
    }
    /**
     * rememberMe管理器, cipherKey生成见{@code Base64Test.java}
     */
    @Bean
    public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
        CookieRememberMeManager manager = new CookieRememberMeManager();
        manager.setCipherKey(Base64.decode("Z3VucwAAAAAAAAAAAAAAAA=="));
        manager.setCipherKey(Base64.decode("1IuXNg73B4lqGJsB"));
        manager.setCookie(rememberMeCookie);
        return manager;
    }
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
@@ -63,6 +63,9 @@
    private ITUserService appUserService;
    @Autowired
    private IOrderCancelService orderCancelService;
    @Autowired
    private ITCompanyService companyService;
    public static void main(String[] args) {
        // 获取今天的日期
@@ -99,6 +102,8 @@
     */
    @RequestMapping("/commission")
    public String index( Model model) {
        List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
        model.addAttribute("company", tCompanies);
        return PREFIX + "commission.html";
    }
@@ -117,7 +122,7 @@
     */
    @RequestMapping(value = "/commission/getCount")
    @ResponseBody
    public Object getCount(Integer time,String insertTime,Integer state) {
    public Object getCount(Integer time,String insertTime,Integer state, Integer company) {
        if (time == null){
            time =1;
        }
@@ -246,7 +251,9 @@
                    if (tOrderPrivateCar==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderPrivateCar.getCompanyId())){
                        continue;
                    }
                    platformVO.setMoney(new BigDecimal(income.getMoney()));
                    if (tOrderPrivateCar.getState()!=10 && tOrderPrivateCar.getPayType() == null){
                        continue;
@@ -268,7 +275,9 @@
                    if (tOrderLogistics==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderLogistics.getCompanyId())){
                        continue;
                    }
                    platformVO.setMoney(new BigDecimal(income.getMoney()));
                    if (tOrderLogistics.getState()!=10 && tOrderLogistics.getPayType() == null){
@@ -289,6 +298,9 @@
                    TOrderPrivateCar tOrderPrivateCar = orderPrivateCarMap.get(settlementDetail.getOrderId());
                    if (tOrderPrivateCar==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderPrivateCar.getCompanyId())){
                        continue;
                    }
                    platformVO.setCode(tOrderPrivateCar.getOrderNum());
@@ -329,6 +341,9 @@
                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(settlementDetail.getOrderId());
                    if (tOrderLogistics==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderLogistics.getCompanyId())){
                        continue;
                    }
                    String string1 = settlementDetail.getPrice().toString();
@@ -1716,7 +1731,7 @@
     */
    @RequestMapping(value = "/commission/list")
    @ResponseBody
    public Object list(Integer time,String insertTime,Integer state) {
    public Object list(Integer time,String insertTime,Integer state, Integer company) {
        if (time == null){
            time =1;
@@ -1873,6 +1888,9 @@
                    if (tOrderPrivateCar==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderPrivateCar.getCompanyId())){
                        continue;
                    }
                    platformVO.setCode(tOrderPrivateCar.getOrderNum());
                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                    if (tDriver != null){
@@ -1941,6 +1959,9 @@
                    TOrderLogistics tOrderLogistics = orderLogisticsRecordMap.get(income.getIncomeId());
                    if (tOrderLogistics==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderLogistics.getCompanyId())){
                        continue;
                    }
                    platformVO.setCode(tOrderLogistics.getOrderNum());
@@ -2012,6 +2033,10 @@
                    if (tOrderPrivateCar==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderPrivateCar.getCompanyId())){
                        continue;
                    }
                    platformVO.setCode(tOrderPrivateCar.getOrderNum());
                    TDriver tDriver = driverMap.get(tOrderPrivateCar.getDriverId());
                    if (tDriver!=null){
@@ -2058,6 +2083,10 @@
                    if (tOrderLogistics==null){
                        continue;
                    }
                    if(null != company && !company.equals(tOrderLogistics.getCompanyId())){
                        continue;
                    }
                    platformVO.setCode(tOrderLogistics.getOrderNum());
                    TDriver tDriver1 = driverMap.get(tOrderLogistics.getDriverId());
                    if (tDriver1!=null){
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java
@@ -4,20 +4,17 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.core.util.ExcelExportUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.model.Income;
import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.service.IIncomeService;
import com.stylefeng.guns.modular.system.service.ITCompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -40,6 +37,9 @@
    @Autowired
    private IIncomeService tIncomeService;
    @Autowired
    private ITCompanyService companyService;
    /**
     * 跳转到首页
@@ -52,30 +52,33 @@
    @RequestMapping("driverWork")
    public String driverWork(Model model) {
        List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
        model.addAttribute("company", tCompanies);
        return PREFIX + "driverWork.html";
    }
    @RequestMapping(value = "/driverWorkList")
    @ResponseBody
    public Object driverWorkList() {
    public Object driverWorkList(Integer company) {
        Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
        List<Map<String,Object>> list = tIncomeService.getList1(page);
        List<Map<String,Object>> list = tIncomeService.getList1(page, company);
        page.setRecords(list);
        return super.packForBT(page);
    }
    @RequestMapping("driverWorkDetail")
    public String driverWorkDetail(String times, Model model) {
    public String driverWorkDetail(String times, Integer company, Model model) {
        model.addAttribute("times", times);
        model.addAttribute("company", company);
        return PREFIX + "driverWorkDetail.html";
    }
    @RequestMapping(value = "/driverWorkDetailList")
    @ResponseBody
    public Object driverWorkDetailList(String times) {
    public Object driverWorkDetailList(String times, Integer company) {
        Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
        times = times.split(" ")[0];
        page.setRecords(tIncomeService.getList2(page,times));
        page.setRecords(tIncomeService.getList2(page,times,company));
        return super.packForBT(page);
    }
    /**
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -1,6 +1,5 @@
package com.stylefeng.guns.modular.system.controller;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.stylefeng.guns.core.base.controller.BaseController;
@@ -18,7 +17,6 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
@@ -81,25 +79,25 @@
    private IUserActivityDiscount1Service userActivityDiscount1Service;
    @Autowired
    private ISysRedPacketRecordService sysRedPacketRecordService;
    @Autowired
    private ITCompanyService companyService;
    @Autowired
    private IDriverActivityService driverActivityService;
    public static void main(String[] args) {
        String temp = "[{\"money\":14.46,\"id\":91},{\"money\":1,\"id\":90}]";
        JSONArray objects = JSONArray.parseArray(temp);
        BigDecimal temp1 = new BigDecimal(BigInteger.ZERO);
        for (int i = 0; i < objects.size(); i++) {
            String string = objects.getJSONObject(i).getString("money");
            temp1 = temp1.add(new BigDecimal(string));
        }
        System.err.println(temp1);
    }
    
    @RequestMapping("/grant")
    public String index(Model model) {
        List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
        model.addAttribute("company", tCompanies);
        return PREFIX + "grant.html";
    }
    
    @RequestMapping("/use")
    public String watter(Model model) {
        List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
        model.addAttribute("company", tCompanies);
        return PREFIX + "use.html";
    }
    
@@ -108,7 +106,7 @@
     */
    @RequestMapping(value = "/use/list")
    @ResponseBody
    public Object list1(Integer time, String insertTime, Integer type) {
    public Object list1(Integer time, String insertTime, Integer type, Integer company) {
        if (time == null) {
            time = 1;
        }
@@ -199,51 +197,65 @@
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
        List<Integer> collect = new ArrayList<>();
        if(null != company){
            List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
            collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
            collect.add(0);
        }
        if (time == 5 && !StringUtils.hasLength(insertTime)) {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
            ;
            
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("type", 1)
                    .ne("purpose", 6)
                    .in(!collect.isEmpty(), "driverId", collect)
            ;
            
            // 司机提现
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("type", 1)
                    .in(!collect.isEmpty(), "userId", collect)
                    .eq("userType", 2)
            ;
            
@@ -253,39 +265,47 @@
                    .eq("state", 2)
                    .eq("type", 1)
                    .eq("userType", 2)
                    .in(!collect.isEmpty(), "userId", collect)
                    .between("insertTime", start, end);
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .eq("type", 1)
                    .in(!collect.isEmpty(), "driverId", collect)
                    .between("createTime", start, end);
            
            
@@ -540,7 +560,7 @@
    
    @RequestMapping(value = "/use/getCount")
    @ResponseBody
    public Object getCount1(Integer time, String insertTime, Integer type) {
    public Object getCount1(Integer time, String insertTime, Integer type, Integer company) {
        if (time == null) {
            time = 1;
        }
@@ -631,11 +651,18 @@
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
        List<Integer> collect = new ArrayList<>();
        if(null != company){
            List<TDriver> driverActivities = driverService.selectList(new EntityWrapper<TDriver>().eq("companyId", company));
            collect = driverActivities.stream().map(TDriver::getId).collect(Collectors.toList());
            collect.add(0);
        }
        if (time == 5 && !StringUtils.hasLength(insertTime)) {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
@@ -643,6 +670,7 @@
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
@@ -650,12 +678,14 @@
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
@@ -663,12 +693,14 @@
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
//                    .between("insertTime", start, end)
            ;
            
@@ -676,6 +708,7 @@
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("type", 1)
                    .ne("purpose", 6)
                    .in(!collect.isEmpty(), "driverId", collect)
//                    .between("createTime", start, end)
            ;
            
@@ -684,6 +717,7 @@
                    .eq("state", 2)
                    .eq("type", 1)
                    .eq("userType", 2)
                    .in(!collect.isEmpty(), "userId", collect)
//                    .between("insertTime", start, end)
            ;
            
@@ -692,39 +726,47 @@
                    .eq("state", 2)
                    .eq("type", 1)
                    .eq("userType", 2)
                    .in(!collect.isEmpty(), "userId", collect)
                    .between("insertTime", start, end);
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .eq("type", 1)
                    .in(!collect.isEmpty(), "driverId", collect)
                    .between("createTime", start, end);
            
            
@@ -957,7 +999,7 @@
     */
    @RequestMapping(value = "/grant/list")
    @ResponseBody
    public Object list(Integer time, String insertTime, Integer type) {
    public Object list(Integer time, String insertTime, Integer type, Integer company) {
        if (time == null) {
            time = 1;
        }
@@ -1041,53 +1083,66 @@
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
        List<Integer> collect = new ArrayList<>();
        if(null != company){
            List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
            collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
            collect.add(0);
        }
        if (time == 5 && !StringUtils.hasLength(insertTime)) {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .isNotNull("discountMoney").eq(null != company, "companyId", company)
            
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    
                    .isNotNull("discountMoney")
                    .isNotNull("discountMoney").eq(null != company, "companyId", company)
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .eq(null != company, "companyId", company)
            ;
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .ne("state", 0)
                    .eq(null != company, "companyId", company)
            ;
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .in(!collect.isEmpty(), "activityId", collect)
            ;
        } else {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .isNotNull("discountMoney").eq(null != company, "companyId", company)
                    .between("insertTime", start, end)
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .between("insertTime", start, end)
                    .between("insertTime", start, end).eq(null != company, "companyId", company)
                    .isNotNull("discountMoney")
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .ne("state", 0)
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .in(!collect.isEmpty(), "activityId", collect)
                    .between("insertTime", start, end);
        }
        
@@ -1291,7 +1346,7 @@
    
    @RequestMapping(value = "/grant/getCount")
    @ResponseBody
    public Object getCount(Integer time, String insertTime, Integer type) {
    public Object getCount(Integer time, String insertTime, Integer type, Integer company) {
        GrantMoneyVO result = new GrantMoneyVO();
        if (time == null) {
            time = 1;
@@ -1376,53 +1431,69 @@
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
        List<Integer> collect = new ArrayList<>();
        if(null != company){
            List<DriverActivity> driverActivities = driverActivityService.selectList(new EntityWrapper<DriverActivity>().eq("companyId", company).eq("status", 3));
            collect = driverActivities.stream().map(DriverActivity::getId).collect(Collectors.toList());
            collect.add(0);
        }
        if (time == 5 && !StringUtils.hasLength(insertTime)) {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
            
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .eq(null != company, "companyId", company)
            ;
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .ne("state", 0)
                    .eq(null != company, "companyId", company)
            ;
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .in(!collect.isEmpty(), "activityId", collect)
            ;
        } else {
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end)
                    .eq(null != company, "companyId", company)
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .between("insertTime", start, end)
                    .isNotNull("discountMoney")
                    .eq(null != company, "companyId", company)
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .ne("state", 0)
                    .eq(null != company, "companyId", company)
                    .between("insertTime", start, end);
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .in(!collect.isEmpty(), "activityId", collect)
                    .between("insertTime", start, end);
        }
        
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java
@@ -164,7 +164,7 @@
        Wrapper<TDriver> ne1 = new EntityWrapper<TDriver>().ne("state", 1).eq("authState", 2).ne("flag", 3);
        if(companyId != null){
            ne1.eq("companyId", companyId).or().eq("franchiseeId", companyId);
            ne1.eq("companyId", companyId);
        }
        List<TDriver> tDrivers = tDriverService.selectList(ne1);
        String keys = "";
@@ -225,14 +225,14 @@
        Wrapper<TDriver> ne4 = new EntityWrapper<TDriver>().eq("authState", 2).ne("flag", 3);
        if(companyId != null){
            ne4.eq("companyId", companyId).or().eq("franchiseeId", companyId);
            ne4.eq("companyId", companyId);
        }
        int i2 = tDriverService.selectCount(ne4);
        map1.put("netcarDriverSum", i2);  //总司机
        Wrapper<TCar> state3 = new EntityWrapper<TCar>().eq("state", 1);
        if(companyId != null){
            state3.eq("companyId", companyId).or().eq("franchiseeId", companyId);
            state3.eq("companyId", companyId);
        }
        int state1 = tCarService.selectCount(state3);
        map1.put("netCarSum", state1);  //总车辆
@@ -257,7 +257,7 @@
        Wrapper<TDriver> ne3 = new EntityWrapper<TDriver>().between("insertTime", calendar3.getTime(), calendar4.getTime()).eq("authState", 2).ne("flag", 3);
        if(companyId != null){
            ne3.eq("companyId", companyId).or().eq("franchiseeId", companyId);
            ne3.eq("companyId", companyId);
        }
        int i5 = tDriverService.selectCount(ne3);
        map1.put("netcarDriverSum", i5);
@@ -414,7 +414,7 @@
        Integer[] driverStates = new Integer[]{2,3};
        Wrapper<TDriver> ne = new EntityWrapper<TDriver>().eq("authState", 2).in("state", driverStates).ne("flag", 3);
        if(companyId != null){
            ne.eq("companyId", companyId).or().eq("franchiseeId", companyId);
            ne.eq("companyId", companyId);
        }
        if(state!=null){
            ne.eq("state",state);
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -5,6 +5,7 @@
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.base.tips.ErrorTip;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.*;
import com.stylefeng.guns.modular.system.dao.CarInsuranceMapper;
@@ -20,12 +21,11 @@
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.ui.Model;
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -185,7 +185,7 @@
        //查询平台ID
        TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
        //判断是平台司机还是加盟司机
        if ((SinataUtil.isEmpty(tCar.getCompanyId()) || tCar.getCompanyId() == 0 || tCar.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tCar.getFranchiseeId()) || tCar.getFranchiseeId() == 0)){
        if (tCar.getCompanyId() == 1){
            model.addAttribute("companyType",1);
        }else{
            model.addAttribute("companyType",2);
@@ -472,12 +472,11 @@
                    tCar.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                    tCar.setFranchiseeId(twoId);
                    tCar.setCompanyId(twoId);
                }
            }else if (1 == companyType.intValue()){
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tCar.setCompanyId(company.getId());
                tCar.setFranchiseeId(0);
            }
            tCar.setAddType(2);
            tCar.setIsPlatCar(1);
@@ -486,7 +485,7 @@
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
                tCar.setFranchiseeId(franchiseeId);
                tCar.setCompanyId(franchiseeId);
            }
            tCar.setIsPlatCar(2);
            tCar.setAddType(3);
@@ -497,7 +496,7 @@
                tCar.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setFranchiseeId(ShiroKit.getUser().getObjectId());
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            tCar.setIsPlatCar(2);
            tCar.setAddType(4);
@@ -560,19 +559,18 @@
                    tCar.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                    tCar.setFranchiseeId(twoId);
                    tCar.setCompanyId(twoId);
                }
            }else if (1 == companyType.intValue()){
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tCar.setCompanyId(company.getId());
                tCar.setFranchiseeId(0);
            }
        }else if (2 == roleType){  //分公司
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
                tCar.setFranchiseeId(franchiseeId);
                tCar.setCompanyId(franchiseeId);
            }
        }else if (3 == roleType){  //加盟商
            TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId());
@@ -580,7 +578,7 @@
                tCar.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tCar.setFranchiseeId(ShiroKit.getUser().getObjectId());
                tCar.setCompanyId(ShiroKit.getUser().getObjectId());
            }
        }
@@ -988,8 +986,7 @@
                    }else if ("加盟车辆".equals(zero)){
                        car.setIsPlatCar(2);
                    }
                    car.setCompanyId(companyId);
                    car.setFranchiseeId(franchiseeId);
                    car.setCompanyId(0 == franchiseeId ? franchiseeId : companyId);
                    car.setCarColor(eleven);
                    car.setCarBrandId(carBrandId);
                    car.setCarModelId(carModelId);
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -7,20 +7,18 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.Date;
@@ -299,6 +297,7 @@
        }
        tCompany.setType(2);  //2:分公司
        tCompany.setState(0); //0:正常
        tCompany.setSuperiorId(1);
        tCompany.setInsertTime(new Date());
        tCompanyService.insert(tCompany);
@@ -352,9 +351,6 @@
            return "error";
        }
        tCompany.setType(3);  //2:分公司
        if (ShiroKit.getUser().getRoleType() == 2){
            tCompany.setSuperiorId(ShiroKit.getUser().getObjectId());
        }
        tCompany.setState(0); //0:正常
        tCompany.setInsertTime(new Date());
        tCompanyService.insert(tCompany);
@@ -410,6 +406,7 @@
            user.setSalt(ShiroKit.getRandomSalt(5));
            user.setPassword(ShiroKit.md5(password, user.getSalt()));
        }
        tCompany.setSuperiorId(1);
        tCompanyService.updateById(tCompany);
        user.setName(tCompany.getName());
        userService.updateById(user);
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -210,7 +210,7 @@
        //查询平台ID
        TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1).eq("state", 0).ne("flag", 3));
        //判断是平台司机还是加盟司机
        if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){
        if (1 == tDriver.getCompanyId()){
            model.addAttribute("companyType",1);
        }else{
            model.addAttribute("companyType",2);
@@ -654,12 +654,11 @@
                    tDriver.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                    tDriver.setFranchiseeId(twoId);
                    tDriver.setCompanyId(twoId);
                }
            }else if (1 == companyType.intValue()){
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tDriver.setCompanyId(company.getId());
                tDriver.setFranchiseeId(franchiseeId);
            }
            tDriver.setAddType(2);
            tDriver.setIsPlatCar(1);
@@ -669,7 +668,7 @@
                tDriver.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
                tDriver.setFranchiseeId(franchiseeId);
                tDriver.setCompanyId(franchiseeId);
            }
            tDriver.setAddType(3);
            tDriver.setIsPlatCar(2);
@@ -681,7 +680,7 @@
                tDriver.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId());
                tDriver.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            tDriver.setAddType(4);
            tDriver.setIsPlatCar(2);
@@ -804,19 +803,18 @@
                    tDriver.setCompanyId(oneId);
                }
                if (SinataUtil.isNotEmpty(twoId)){
                    tDriver.setFranchiseeId(twoId);
                    tDriver.setCompanyId(twoId);
                }
            }else if (1 == companyType.intValue()){
                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
                tDriver.setCompanyId(company.getId());
                tDriver.setFranchiseeId(franchiseeId);
            }
        }else if (2 == roleType){  //分公司
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tDriver.setCompanyId(ShiroKit.getUser().getObjectId());
            }
            if (SinataUtil.isNotEmpty(franchiseeId)){
                tDriver.setFranchiseeId(franchiseeId);
                tDriver.setCompanyId(franchiseeId);
            }
        }else if (3 == roleType){  //加盟商
            TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId());
@@ -824,7 +822,7 @@
                tDriver.setCompanyId(tCompany.getSuperiorId());
            }
            if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){
                tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId());
                tDriver.setCompanyId(ShiroKit.getUser().getObjectId());
            }
        }
        tDriver.setUpdateTime(new Date());
@@ -1204,8 +1202,7 @@
                        }else if ("加盟司机".equals(one)){
                            driver.setIsPlatCar(2);
                        }
                        driver.setCompanyId(companyId);
                        driver.setFranchiseeId(franchiseeId);
                        driver.setCompanyId(0 != franchiseeId ? franchiseeId : companyId);
                        driver.setState(2);
                        driver.setAuthState(2);
                        driver.setFlag("1");
@@ -1464,8 +1461,7 @@
                        driver.setDriveCard(three);
                        driver.setTaxiAptitudeCard(seven);
                        driver.setIsPlatCar(2);
                        driver.setCompanyId(companyId);
                        driver.setFranchiseeId(franchiseeId);
                        driver.setCompanyId(0 != franchiseeId ? franchiseeId : companyId);
                        driver.setState(1);
                        driver.setAuthState(1);
                        driver.setFlag("1");
@@ -1718,8 +1714,7 @@
                        driver.setDriveCard(two);
                        driver.setTaxiAptitudeCard(six);
                        driver.setIsPlatCar(2);
                        driver.setCompanyId(companyId);
                        driver.setFranchiseeId(franchiseeId);
                        driver.setCompanyId(0 != franchiseeId ? franchiseeId : companyId);
                        driver.setState(1);
                        driver.setAuthState(1);
                        driver.setFlag("1");
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -707,7 +707,7 @@
        shellList.add("订单编号");
        shellList.add("订单来源");
        shellList.add("乘车时间");
        shellList.add("下单用户昵称");
        shellList.add("下单用户姓名");
        shellList.add("下单用户手机");
        shellList.add("乘车用户姓名");
        shellList.add("乘车用户手机");
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
@@ -689,8 +689,7 @@
    
            orderPrivateCar.setDriverId(driver1.getId());
            orderPrivateCar.setCarId(driver1.getCarId());
            orderPrivateCar.setCompanyId(driver1.getFranchiseeId() != null && driver1.getFranchiseeId() != 0 ? driver1.getFranchiseeId() : (
                    driver1.getCompanyId() != null && driver1.getCompanyId() != 0 ? driver1.getCompanyId() : 1));
            orderPrivateCar.setCompanyId(driver1.getCompanyId());
            orderPrivateCar.setSnatchOrderTime(new Date());
            orderPrivateCar.setState(orderPrivateCar.getOldState());
            orderPrivateCar.setOldState(null);
@@ -1116,8 +1115,7 @@
    
            orderLogistics.setDriverId(driver1.getId());
            orderLogistics.setCarId(driver1.getCarId());
            orderLogistics.setCompanyId(driver1.getFranchiseeId() != null && driver1.getFranchiseeId() != 0 ? driver1.getFranchiseeId() : (
                    driver1.getCompanyId() != null && driver1.getCompanyId() != 0 ? driver1.getCompanyId() : 1));
            orderLogistics.setCompanyId(driver1.getCompanyId());
            orderLogistics.setState(orderLogistics.getOldState());
            orderLogistics.setOldState(null);
            orderLogistics.setSnatchOrderTime(new Date());
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/IncomeMapper.java
@@ -5,7 +5,6 @@
import com.stylefeng.guns.modular.system.model.Income;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -16,10 +15,10 @@
    List<Map<String,Object>> getExcelList(
                                     @Param("id") Integer id);
    List<Map<String,Object>> getList1(@Param("page") Page<Map<String, Object>> page);
    List<Map<String,Object>> getList1(@Param("page") Page<Map<String, Object>> page, @Param("company") Integer company);
    List<Map<String,Object>> getList2(@Param("page") Page<Map<String, Object>> page,
                                      @Param("times") String times);
                                      @Param("times") String times, @Param("company") Integer company);
    List<Map<String,Object>> getTotal(@Param("times") String times);
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml
@@ -58,11 +58,19 @@
    <select  id="getList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
            select aa.startTime as times, aa.driverNum, bb.duration as timeNumber from (
                select a.startTime, count(a.driverId) as driverNum from (
                    select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, driverId from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d'), driverId
                    select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, driverId from t_driver_work where 1 = 1
                    <if test="null != company">
                        and driverId in (select id from t_driver where companyId = #{company})
                    </if>
                    group by DATE_FORMAT(startTime, '%Y-%m-%d'), driverId
                ) as a group by a.startTime
            ) as aa
            left join (
                select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, sum(if(endTime is null, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(endTime)) - UNIX_TIMESTAMP(startTime)) as duration from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d')
                select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, sum(if(endTime is null, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(endTime)) - UNIX_TIMESTAMP(startTime)) as duration from t_driver_work where 1 = 1
                <if test="null != company">
                    and driverId in (select id from t_driver where companyId = #{company})
                </if>
                group by DATE_FORMAT(startTime, '%Y-%m-%d')
            ) as bb on (aa.startTime = bb.startTime)
            ORDER BY aa.startTime DESC
    </select>
@@ -72,7 +80,7 @@
        a.duration as timeNumber
        from (select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, driverId, sum(if(endTime is null, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(endTime)) - UNIX_TIMESTAMP(startTime)) as duration from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d'), driverId) as a
        left join t_driver b on (a.driverId = b.id)
        where a.startTime = #{times}
        where a.startTime = #{times} and b.companyId = #{company}
    </select>
    <select  id="getTotal" resultType="map">
      SELECT COUNT(o.driverId) driverNum,SUM(o.timeNumber) timeNumber from (SELECT
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
@@ -59,7 +59,7 @@
        LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId
        LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.companyId
        LEFT JOIN (
        SELECT
        GROUP_CONCAT(case when type = 1 then '专车'
@@ -99,10 +99,10 @@
                and o.franchiseeName  LIKE CONCAT('%',#{franchiseeName},'%')
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
@@ -112,7 +112,7 @@
        LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId
        LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.companyId
        LEFT JOIN (
        SELECT
        GROUP_CONCAT(case when type = 1 then '专车'
@@ -154,10 +154,10 @@
                and o.franchiseeName  LIKE CONCAT('%',#{franchiseeName},'%')
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
@@ -169,7 +169,7 @@
        LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId
        LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = cc.companyId
        LEFT JOIN (
        SELECT
        GROUP_CONCAT(case when type = 1 then '专车'
@@ -179,10 +179,10 @@
        <where>
            o.state = 1
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml
@@ -120,8 +120,8 @@
        cc.* FROM t_company as cc
        LEFT JOIN (SELECT * FROM sys_user where roleType = 3) as ui on ui.objectId = cc.id
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as ci on ci.id = cc.superiorId
        LEFT JOIN (SELECT COUNT(id) as num,franchiseeId FROM t_car where state = 1 GROUP BY franchiseeId) as ca on ca.franchiseeId = cc.id
        LEFT JOIN (SELECT COUNT(id) as num,franchiseeId FROM t_driver where flag != 3 GROUP BY franchiseeId) as di on di.franchiseeId = cc.id) as o
        LEFT JOIN (SELECT COUNT(id) as num,companyId FROM t_car where state = 1 GROUP BY companyId) as ca on ca.companyId = cc.id
        LEFT JOIN (SELECT COUNT(id) as num,companyId FROM t_driver where flag != 3 GROUP BY companyId) as di on di.companyId = cc.id) as o
        <where>
            o.type = 3 and o.flag != 3
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
@@ -190,7 +190,7 @@
            left join t_driver b on (a.driverId = b.id)
            where 1 = 1
            <if test="null != companyId">
                and if(b.franchiseeId is null or b.franchiseeId = 0, b.companyId = #{companyId}, b.franchiseeId = #{companyId})
                and b.companyId = #{companyId}
            </if>
            <if test="null != start and '' != start and null != end and '' != end">
                and DATE_FORMAT(a.startTime, '%Y-%m-%d') between #{start} and #{end}
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml
@@ -48,10 +48,10 @@
                and o.isHandle = 1
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and o.companyId = #{nowUserId} and (o.franchiseeId = 0 or o.franchiseeId is null)
                and o.companyId = #{nowUserId}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDispatchMapper.xml
@@ -26,7 +26,7 @@
    <select id="getDispatchList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT * FROM (SELECT c1.name as companyName,c2.name as franchiseeName,dd.* FROM t_dispatch as dd
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = dd.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = dd.franchiseeId) as o
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as c2 on c2.id = dd.companyId) as o
        <where>
            o.state != 3
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
@@ -48,10 +48,10 @@
                and o.state = #{state}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
@@ -83,7 +83,7 @@
    <select id="getAuthDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ds.serverStr,dd.* from t_driver as dd
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.companyId
        LEFT JOIN (
        SELECT
        GROUP_CONCAT(case when type = 1 then '专车'
@@ -145,7 +145,7 @@
        from t_driver as dd
        LEFT JOIN t_driver_team tdt on dd.teamId=tdt.id and tdt.state!=3
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.companyId
        LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId
        LEFT JOIN (
        SELECT
@@ -188,10 +188,10 @@
                and o.authState = #{authState}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
            <if test="state != null and state != ''">
                and o.state = #{state}
@@ -242,10 +242,10 @@
                and o.serverStr  LIKE CONCAT('%',#{serverStr},'%')
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where type = 3 and superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where type = 3 and superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
@@ -257,7 +257,7 @@
        <set>
            <if test="authState != null"> authState = #{authState} </if>
        </set>
        where companyId = #{companyId} and (franchiseeId = 0 or franchiseeId is null)
        where companyId = #{companyId}
    </update>
    <!--修改加盟商司机的状态-->
@@ -266,7 +266,7 @@
        <set>
            <if test="authState != null"> authState = #{authState} </if>
        </set>
        where franchiseeId = #{franchiseeId}
        where companyId = #{franchiseeId}
    </update>
    <!--根据审核通过的司机列表无分页-->
@@ -274,7 +274,7 @@
        SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ci.carLicensePlate,ds.serverStr,IFNULL(oe.evaluateNum,0) as evaluateNum,
        (IFNULL(ot1.taxiNum, 0) + IFNULL(ot3.num, 0) + IFNULL(ot5.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0)) as historyMoney,dd.* from t_driver as dd
        LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
        LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.companyId
        LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId
        LEFT JOIN (
        SELECT
@@ -295,10 +295,10 @@
                and FIND_IN_SET(o.authState,'2,3')
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderEvaluateMapper.xml
@@ -48,10 +48,10 @@
                and o.orderType = #{orderType}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and o.companyId = #{nowUserId} and (o.franchiseeId = 0 or o.franchiseeId is null)
                and o.companyId = #{nowUserId}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.franchiseeId = #{nowUserId}
                and o.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml
@@ -141,10 +141,10 @@
    <select id="getCanSelectTaxiDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT dd.*,c1.name as companyName,c2.name as franchiseeName from t_driver AS dd
        LEFT JOIN t_company as c1 on c1.id = dd.companyId
        LEFT JOIN t_company as c2 on c2.id = dd.franchiseeId
        LEFT JOIN t_company as c2 on c2.id = dd.companyId
        LEFT JOIN (SELECT * from t_driver_service where type = 2) as ds on ds.driverId = dd.id
        <where>
            (dd.companyId = #{companyId} or dd.franchiseeId = #{companyId}) and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null)
            dd.companyId = #{companyId} and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null)
            <if test="name != null and name != ''">
                and CONCAT(dd.firstName, ' ', dd.lastName) LIKE CONCAT('%',#{name},'%')
            </if>
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReassignMapper.xml
@@ -87,7 +87,7 @@
    <select id="getCanSelectPrivateCarDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT dd.*,c1.name as companyName,c2.name as franchiseeName from t_driver AS dd
        LEFT JOIN t_company as c1 on c1.id = dd.companyId
        LEFT JOIN t_company as c2 on c2.id = dd.franchiseeId
        LEFT JOIN t_company as c2 on c2.id = dd.companyId
        <where>
            dd.id != #{driverId} and dd.authState = 2 and dd.state = 2
            and dd.id in
@@ -115,7 +115,7 @@
    <select id="getCanSelectSmallDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT dd.*,c1.name as companyName,c2.name as franchiseeName from t_driver AS dd
        LEFT JOIN t_company as c1 on c1.id = dd.companyId
        LEFT JOIN t_company as c2 on c2.id = dd.franchiseeId
        LEFT JOIN t_company as c2 on c2.id = dd.companyId
        <where>
            dd.id != #{driverId} and dd.authState = 2 and dd.state = 2
            and dd.id in
@@ -264,8 +264,8 @@
        left join t_driver_line f on (a.id = f.driverId)
        left join t_line_shift g on (f.lineId = g.lineId)
        left join t_company as h on (h.id = a.companyId)
        left join t_company as i on (i.id = a.franchiseeId)
        where a.authState = 2 and a.state != 1 and a.flag != 3 and if(a.franchiseeId is null or a.franchiseeId = 0, a.companyId = #{companyId}, a.franchiseeId = #{companyId})
        left join t_company as i on (i.id = a.companyId)
        where a.authState = 2 and a.state != 1 and a.flag != 3 and a.companyId = #{companyId}
        and a.id in (select driverId from t_driver_work where state = 1 and type like '%3%')
        and b.type = 3 and c.type = 3 and e.type = 3 and e.serverCarModelId = #{serverCarModelId} and f.lineId = #{lineId} and g.id = #{lineShiftId}
        and a.id in (select driverId from t_line_shift_driver where lineShiftId = #{lineShiftId} and DATE_FORMAT(`day`, '%Y-%m-%d') = DATE_FORMAT(#{time}, '%Y-%m-%d') and laveSeat >= #{num})
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java
@@ -5,7 +5,6 @@
import com.stylefeng.guns.modular.system.model.Income;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -29,10 +28,10 @@
    List<Map<String,Object>> getExcelList(
                                     @Param("id") Integer id);
    List<Map<String,Object>> getList1(@Param("page") Page<Map<String, Object>> page);
    List<Map<String,Object>> getList1(@Param("page") Page<Map<String, Object>> page, Integer company);
    List<Map<String,Object>> getList2(@Param("page") Page<Map<String, Object>> page,
                                      @Param("times") String times);
                                      @Param("times") String times, Integer company);
    List<Map<String,Object>> getTotal(
                                      @Param("times") String times);
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java
@@ -7,7 +7,6 @@
import com.stylefeng.guns.modular.system.service.IIncomeService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -49,13 +48,13 @@
    }
    @Override
    public List<Map<String, Object>> getList1(Page<Map<String, Object>> page) {
        return this.baseMapper.getList1(page);
    public List<Map<String, Object>> getList1(Page<Map<String, Object>> page, Integer company) {
        return this.baseMapper.getList1(page, company);
    }
    @Override
    public List<Map<String, Object>> getList2(Page<Map<String, Object>> page, String times) {
        return this.baseMapper.getList2(page,times);
    public List<Map<String, Object>> getList2(Page<Map<String, Object>> page, String times, Integer company) {
        return this.baseMapper.getList2(page,times, company);
    }
    @Override
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -22,6 +22,11 @@
        props.put("mail.smtp.port", "587");
    }
    
    public static void main(String[] args) throws Exception {
        send("liuarchy32@gmail.com", "测试", "测试");
    }
    /**
     * 创建邮件内容
     *
@@ -36,10 +41,13 @@
        Properties props = new Properties();
        //选择ssl方式
        gmailssl(props);
//        qqmailtls(props);
        
        final String displayName = "I-GO";//昵称
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "wpwfkrlvridoayyh";// Google应用专用密码
        final String username = "noreply@i-go.group";// gmail 邮箱
        final String password = "fggipafjlcqxjmef";// Google应用专用密码
//        final String username = "1019712155@qq.com";// qq 邮箱
//        final String password = "ctuaexczdrembcfd";// 授权码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
@@ -90,6 +98,13 @@
        props.put("mail.smtp.auth", "true");
    }
    
    private static void qqmailtls(Properties props) {
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.qq.com");
        props.put("mail.smtp.port", "587");
    }
    public static String getWeek(int language, int i) {
        String week = "";
        if (language == 1) {
ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml
@@ -7,8 +7,8 @@
  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
#  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
#  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
  #  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
  #  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
@@ -49,9 +49,9 @@
spring:
  datasource:
    url: jdbc:mysql://34.35.60.126:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
    username: xiwang
    password: HjKbXilb9zajmXbl
    url: jdbc:mysql://34.35.67.173:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
    username: root
    password: _6)S]<vpfvj?N#t2
    db-name: igotravel #用来搜集数据库的所有表
    filters: wall,mergeStat
@@ -89,10 +89,10 @@
            clusterCheckinInterval: 10000
            useProperties: false
          threadPool:
              class: org.quartz.simpl.SimpleThreadPool
              threadCount: 10
              threadPriority: 5
              threadsInheritContextClassLoaderOfInitializingThread: true
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true
      job-store-type: jdbc
---
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/platform/commission.html
@@ -83,6 +83,14 @@
                                    <option value="2">未结算</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="company" name="运营商" >
                                    <option value="">全部</option>
                                    @for(c in company!){
                                    <option value="${c.id}">${c.name}</option>
                                    @}
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#button name="查询" icon="fa-search" clickFun="TUser.search()"/>
                                <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/grant.html
@@ -85,6 +85,14 @@
                                    <option value="4">折扣</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="company" name="运营商" >
                                    <option value="">全部</option>
                                    @for(c in company!){
                                    <option value="${c.id}">${c.name}</option>
                                    @}
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#button name="查询" icon="fa-search" clickFun="TUser.search()"/>
                                <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/subsidy/use.html
@@ -89,15 +89,23 @@
                            <div class="col-sm-3">
                                <#TimeCon id="insertTime" name="时间" isTime="false"/>
                            </div>
                        <div class="col-sm-3">
                            <#SelectCon id="type" name="补贴类型" >
                            <option value="">全部</option>
                            <option value="1">红包</option>
                            <option value="2">优惠券</option>
                            <option value="3">司机奖励</option>
                            <option value="4">折扣</option>
                        </#SelectCon>
                    </div>
                            <div class="col-sm-3">
                                <#SelectCon id="type" name="补贴类型" >
                                    <option value="">全部</option>
                                    <option value="1">红包</option>
                                    <option value="2">优惠券</option>
                                    <option value="3">司机奖励</option>
                                    <option value="4">折扣</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="company" name="运营商" >
                                    <option value="">全部</option>
                                    @for(c in company!){
                                    <option value="${c.id}">${c.name}</option>
                                    @}
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#button name="查询" icon="fa-search" clickFun="TUser.search()"/>
                                <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/driverWork.html
@@ -3,11 +3,25 @@
    <div class="col-sm-12">
        <div class="ibox float-e-margins">
            <div class="ibox-title">
                <h5>管理</h5>
                <h5>在线时长统计</h5>
            </div>
            <div class="ibox-content">
                <div class="row row-lg">
                    <div class="col-sm-12">
                        <div class="row">
                            <div class="col-sm-3">
                                <#SelectCon id="company" name="运营商" >
                                    <option value="">全部</option>
                                    @for(c in company!){
                                    <option value="${c.id}">${c.name}</option>
                                    @}
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#button name="搜索" icon="fa-search" clickFun="TIncome.search()"/>
                                <#button name="重置" icon="fa-search" clickFun="TIncome.resetSearch()"/>
                            </div>
                        </div>
                        <div class="hidden-xs" id="TIncomeTableToolbar" role="group">
                                <#button name="详情" icon="fa-plus" clickFun="TIncome.detail()"/>
                        </div>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/driverWorkDetail.html
@@ -9,7 +9,8 @@
                <div class="row row-lg">
                    <div class="col-sm-12">
                        <div class="row">
                            <input type="hidden" id="times" value="${times}">
                            <input id="times" type="hidden" value="${times}">
                            <input id="company" type="hidden" value="${company}">
                        </div>
                        <#table id="TIncomeTable"/>
                    </div>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html
@@ -26,7 +26,7 @@
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userName" name="下单用户昵称" />
                                <#NameCon id="userName" name="下单用户姓名" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userPhone" name="下单用户手机" />
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
@@ -17,7 +17,7 @@
<div class="ibox float-e-margins">
    <div class="ibox-content">
        <div class="form-horizontal">
            <input type="hidden" id="id" name="id" value="${item.id}">
            <input id="id" name="id" type="hidden" value="${item.id}">
            <div class="row" style="margin-top: 30px;">
                <div class="col-sm-4">
                    <h2 class="h3Class" style="font-weight: 700;">订单详情</h2>
@@ -27,8 +27,8 @@
                <div class="col-sm-6 b-r">
                    <#label id="insertTimeStr" name="下单时间" value="${item.insertTimeStr}"/>
                    <#label id="orderSourceStr" name="订单来源" value="${item.orderSourceStr}"/>
                    <#label id="userName" name="下单用户昵称" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户昵称" value="${item.passengers}"/>
                    <#label id="userName" name="下单用户姓名" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户姓名" value="${item.passengers}"/>
                    <#label id="placementAddress" name="起点" value="${item.startAddress}"/>
                    <#label id="driver" name="接单司机" value="${item.driver}"/>
                    <#label id="car" name="接单车辆" value="${item.car}"/>
@@ -85,10 +85,10 @@
                    <div class="input-card" style="margin-left: 50px;">
                        <h4>轨迹回放控制</h4>
                        <div class="input-item">
                            <input type="button" class="btn" value="开始动画" id="start" onclick="startAnimation()"/>
                            <input type="button" class="btn" value="暂停动画" id="pause" onclick="pauseAnimation()"/>
                            <input type="button" class="btn" value="继续动画" id="resume" onclick="resumeAnimation()"/>
                            <input type="button" class="btn" value="停止动画" id="stop" onclick="stopAnimation()"/>
                            <input class="btn" id="start" onclick="startAnimation()" type="button" value="开始动画"/>
                            <input class="btn" id="pause" onclick="pauseAnimation()" type="button" value="暂停动画"/>
                            <input class="btn" id="resume" onclick="resumeAnimation()" type="button" value="继续动画"/>
                            <input class="btn" id="stop" onclick="stopAnimation()" type="button" value="停止动画"/>
                        </div>
                        <div class="input-item">
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics.html
@@ -32,7 +32,7 @@
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userName" name="下单用户昵称" />
                                <#NameCon id="userName" name="下单用户姓名" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userPhone" name="下单用户手机" />
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_detail.html
@@ -11,8 +11,8 @@
                <div class="col-sm-6 b-r">
                    <#label id="insertTimeStr" name="下单时间" value="${item.insertTimeStr}"/>
                    <#label id="orderSourceStr" name="订单来源" value="${item.orderSourceStr}"/>
                    <#label id="userName" name="下单用户昵称" value="${item.userName}"/>
                    <#label id="recipient" name="收货人昵称" value="${item.recipient}"/>
                    <#label id="userName" name="下单用户姓名" value="${item.userName}"/>
                    <#label id="recipient" name="收货人姓名" value="${item.recipient}"/>
                    <#label id="startAddress" name="起点" value="${item.startAddress}"/>
                    <#label id="driver" name="接单司机" value="${item.driver}"/>
                    <#label id="companyName" name="订单所属机构" value="${item.companyName}"/>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html
@@ -28,7 +28,7 @@
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userName" name="下单用户昵称" />
                                <#NameCon id="userName" name="下单用户姓名" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userPhone" name="下单用户手机" />
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
@@ -17,7 +17,7 @@
<div class="ibox float-e-margins">
    <div class="ibox-content">
        <div class="form-horizontal">
            <input type="hidden" id="id" name="id" value="${item.id}">
            <input id="id" name="id" type="hidden" value="${item.id}">
            <div class="row" style="margin-top: 30px;">
                <div class="col-sm-4">
                    <h2 class="h3Class" style="font-weight: 700;">订单详情</h2>
@@ -27,8 +27,8 @@
                <div class="col-sm-6 b-r">
                    <#label id="insertTimeStr" name="下单时间" value="${item.insertTimeStr}"/>
                    <!--<#label id="orderSourceStr" name="订单来源" value="${item.orderSourceStr}"/>-->
                    <#label id="userName" name="下单用户昵称" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户昵称" value="${item.passengers}"/>
                    <#label id="userName" name="下单用户姓名" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户姓名" value="${item.passengers}"/>
                    <#label id="placementAddress" name="起点" value="${item.startAddress}"/>
                    <#label id="serverCarModel" name="选择车型" value="${item.serverCarModel}"/>
                    <#label id="car" name="接单车辆" value="${item.car}"/>
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi.html
@@ -26,7 +26,7 @@
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userName" name="下单用户昵称" />
                                <#NameCon id="userName" name="下单用户姓名" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userPhone" name="下单用户手机" />
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
@@ -17,7 +17,7 @@
<div class="ibox float-e-margins">
    <div class="ibox-content">
        <div class="form-horizontal">
            <input type="hidden" id="id" name="id" value="${item.id}">
            <input id="id" name="id" type="hidden" value="${item.id}">
            <div class="row" style="margin-top: 30px;">
                <div class="col-sm-4">
                    <h2 class="h3Class" style="font-weight: 700;">订单详情</h2>
@@ -27,8 +27,8 @@
                <div class="col-sm-6 b-r">
                    <#label id="insertTimeStr" name="下单时间" value="${item.insertTimeStr}"/>
                    <#label id="orderSourceStr" name="订单来源" value="${item.orderSourceStr}"/>
                    <#label id="userName" name="下单用户昵称" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户昵称" value="${item.passengers}"/>
                    <#label id="userName" name="下单用户姓名" value="${item.userName}"/>
                    <#label id="passengers" name="乘车用户姓名" value="${item.passengers}"/>
                    <#label id="placementAddress" name="起点" value="${item.startAddress}"/>
                    <#label id="driver" name="接单司机" value="${item.driver}"/>
                    <#label id="car" name="接单车辆" value="${item.car}"/>
@@ -85,10 +85,10 @@
                    <div class="input-card" style="margin-left: 50px;">
                        <h4>轨迹回放控制</h4>
                        <div class="input-item">
                            <input type="button" class="btn" value="开始动画" id="start" onclick="startAnimation()"/>
                            <input type="button" class="btn" value="暂停动画" id="pause" onclick="pauseAnimation()"/>
                            <input type="button" class="btn" value="继续动画" id="resume" onclick="resumeAnimation()"/>
                            <input type="button" class="btn" value="停止动画" id="stop" onclick="stopAnimation()"/>
                            <input class="btn" id="start" onclick="startAnimation()" type="button" value="开始动画"/>
                            <input class="btn" id="pause" onclick="pauseAnimation()" type="button" value="暂停动画"/>
                            <input class="btn" id="resume" onclick="resumeAnimation()" type="button" value="继续动画"/>
                            <input class="btn" id="stop" onclick="stopAnimation()" type="button" value="停止动画"/>
                        </div>
                        <div class="input-item">
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/platform/platform.js
@@ -204,6 +204,7 @@
    ajax.set("time",1);
    ajax.set("insertTime",null);
    ajax.set("state",null);
    ajax.set('company', null);
    ajax.start();
}
// 点击搜索
@@ -222,6 +223,7 @@
    ajax.set("time",$("#time").val());
    ajax.set("insertTime",$("#insertTime").val());
    ajax.set("state",$("#state").val());
    ajax.set('company', $("#company").val());
    ajax.start();
}
/**
@@ -232,6 +234,7 @@
    queryData['time'] = $("#time").val();
    queryData['insertTime'] = $("#insertTime").val();
    queryData['state'] = $("#state").val();
    queryData['company'] = $("#company").val();
    TUser.table.refresh({query: queryData});
    TUser.getCount();
};
@@ -239,6 +242,7 @@
    $("#time").val("1");
    $("#insertTime").val("");
    $("#state").val("");
    $("#company").val("");
    TUser.search();
};
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/grant.js
@@ -180,6 +180,7 @@
    ajax.set("time",1);
    ajax.set("insertTime",null);
    ajax.set("type",null);
    ajax.set('company', null);
    ajax.start();
}
// 点击搜索
@@ -198,6 +199,7 @@
    ajax.set("time",$("#time").val());
    ajax.set("insertTime",$("#insertTime").val());
    ajax.set("type",$("#type").val());
    ajax.set('company', $("#company").val());
    ajax.start();
}
/**
@@ -208,6 +210,7 @@
    queryData['time'] = $("#time").val();
    queryData['insertTime'] = $("#insertTime").val();
    queryData['type'] = $("#type").val();
    queryData['company'] = $("#company").val();
    TUser.table.refresh({query: queryData});
    TUser.getCount();
};
@@ -215,6 +218,7 @@
    $("#time").val("1");
    $("#insertTime").val("");
    $("#type").val("");
    $("#company").val("");
    TUser.search();
    TUser.getCount1();
};
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/subsidy/use.js
@@ -182,6 +182,7 @@
    ajax.set("time",1);
    ajax.set("insertTime",null);
    ajax.set("type",null);
    ajax.set('company', null);
    ajax.start();
}
// 点击搜索
@@ -202,6 +203,7 @@
    ajax.set("time",$("#time").val());
    ajax.set("insertTime",$("#insertTime").val());
    ajax.set("type",$("#type").val());
    ajax.set('company', $("#company").val());
    ajax.start();
}
/**
@@ -212,6 +214,7 @@
    queryData['time'] = $("#time").val();
    queryData['insertTime'] = $("#insertTime").val();
    queryData['type'] = $("#type").val();
    queryData['company'] = $("#company").val();
    TUser.table.refresh({query: queryData});
    TUser.getCount();
};
@@ -219,6 +222,7 @@
    $("#time").val("1");
    $("#insertTime").val("");
    $("#type").val("");
    $("#company").val("");
    TUser.search();
};
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/driverWork.js
@@ -60,7 +60,7 @@
            area: ['800px', '420px'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/tIncome/driverWorkDetail?times=' + TIncome.seItem.times
            content: Feng.ctxPath + '/tIncome/driverWorkDetail?times=' + TIncome.seItem.times + "&company=" + $("#company").val()
        });
        this.layerIndex = index;
    }
@@ -90,10 +90,15 @@
 */
TIncome.search = function () {
    var queryData = {};
    queryData['id'] = $("#id").val();
    queryData['company'] = $("#company").val();
    TIncome.table.refresh({query: queryData});
};
TIncome.resetSearch = function () {
    $("#company").val("");
    TIncome.search();
};
$(function () {
    var defaultColunms = TIncome.initColumn();
    var table = new BSTable(TIncome.id, "/tIncome/driverWorkList", defaultColunms);
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/driverWorkDetail.js
@@ -99,6 +99,7 @@
    table.setPaginationType("server");
    var queryData = {};
    queryData['times'] = $("#times").val();
    queryData['company'] = $("#company").val();
    table.setQueryParams(queryData);
    TIncome.table = table.init();
});
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/userActivity/userActivity.js
@@ -73,7 +73,7 @@
        } else if (type == 1 && selected[0].status != 1) {
            Feng.info("当前状态不能审核!");
            return false;
        } else if (type == 2 && ((selected[0].status != 1 && selected[0].status != 2) || new Date() >= new Date(selected[0].startTime.replace(/-/g, "/")))) {
        } else if (type == 2 && ((selected[0].status != 1 && selected[0].status != 2 && selected[0].status != 5 && selected[0].status != 7) || new Date() >= new Date(selected[0].startTime.replace(/-/g, "/")))) {
            Feng.info("当前状态不能编辑!");
            return false;
        }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/ShiroConfig.java
@@ -102,7 +102,7 @@
    @Bean
    public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
        CookieRememberMeManager manager = new CookieRememberMeManager();
        manager.setCipherKey(Base64.decode("Z3VucwAAAAAAAAAAAAAAAA=="));
        manager.setCipherKey(Base64.decode("1IuXNg73B4lqGJsB"));
        manager.setCookie(rememberMeCookie);
        return manager;
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -757,8 +757,7 @@
            }
    
            orderLogistics.setDriverId(driverId);
            orderLogistics.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                    driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
            orderLogistics.setCompanyId(driver.getCompanyId());
            orderLogistics.setState(2);
            orderLogistics.setCarId(driver.getCarId());
            CarService query1 = carServiceMapper.query(1, driver.getCarId());
@@ -969,8 +968,7 @@
                            .eq("state", 1).like("type", "4"));
                    if(driver1.getState() == 2 || null != driverWork){
                        orderLogistics.setDriverId(dr.getId());
                        orderLogistics.setCompanyId(dr.getFranchiseeId() != null && dr.getFranchiseeId() != 0 ? dr.getFranchiseeId() : (
                                dr.getCompanyId() != null && dr.getCompanyId() != 0 ? dr.getCompanyId() : 1));
                        orderLogistics.setCompanyId(dr.getCompanyId());
                        orderLogistics.setState(2);
                        orderLogistics.setCarId(dr.getCarId());
                        CarService query1 = carServiceMapper.query(4, dr.getCarId());
@@ -1133,7 +1131,7 @@
            if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(new BigDecimal(userCouponRecord.getFullMoney())) < 0){
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
            }
            orderMoney = orderMoney.subtract(new BigDecimal(userCouponRecord.getMoney())).setScale(2, RoundingMode.HALF_EVEN);
            orderMoney = orderMoney.subtract(new BigDecimal(userCouponRecord.getMoney()));
            orderLogistics.setCouponMoney(userCouponRecord.getMoney());
            orderLogistics.setCouponId(couponId);
        }
@@ -1149,7 +1147,7 @@
                BigDecimal multiply1 = orderMoney.multiply(deductionRatio.divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN);
                if(total > 0 && multiply1.doubleValue() > 0 && total.compareTo(multiply1.doubleValue()) >= 0){
                    orderLogistics.setRedPacketMoney(multiply1.doubleValue());
                    orderMoney = orderMoney.subtract(multiply1).setScale(2, RoundingMode.HALF_EVEN);
                    orderMoney = orderMoney.subtract(multiply1);
                
                    //获取红包id
                    JSONArray jsonArray = new JSONArray();
@@ -1180,7 +1178,7 @@
                    orderLogistics.setRedPacketId(jsonArray.toJSONString());
                }else if(total > 0 && total.compareTo(multiply1.doubleValue()) < 0){
                    orderLogistics.setRedPacketMoney(total);
                    orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN);
                    orderMoney = orderMoney.subtract(new BigDecimal(total));
                    //获取红包id
                    JSONArray jsonArray = new JSONArray();
                    for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) {
@@ -1359,7 +1357,7 @@
                            }
    
                            Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            if(1 == finalLanguage1){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
@@ -2004,7 +2002,7 @@
                                aDouble = orderEvaluateService.queryDriverScore(orderLogistics.getDriverId());
                            }
                            Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            if(1 == finalLanguage){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
@@ -2660,7 +2658,7 @@
                    aDouble = orderEvaluateService.queryDriverScore(orderLogistics.getDriverId());
                }
                Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                if(1 == language){
                    document.getElementById("english").remove();
                    document.getElementById("french").remove();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -351,8 +351,7 @@
            }
            orderPrivateCar.setDriverId(driverId);
            orderPrivateCar.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                    driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
            orderPrivateCar.setCompanyId(driver.getCompanyId());
            orderPrivateCar.setState(2);
            orderPrivateCar.setCarId(driver.getCarId());
            CarService query1 = carServiceMapper.query(1, driver.getCarId());
@@ -568,8 +567,7 @@
                            .eq("state", 1).like("type", "1"));
                    if(driver.getState() == 2 && null != driverWork){
                        orderPrivateCar.setDriverId(dr.getId());
                        orderPrivateCar.setCompanyId(dr.getFranchiseeId() != null && dr.getFranchiseeId() != 0 ? dr.getFranchiseeId() : (
                                dr.getCompanyId() != null && dr.getCompanyId() != 0 ? dr.getCompanyId() : 1));
                        orderPrivateCar.setCompanyId(dr.getCompanyId());
                        orderPrivateCar.setState(2);
                        orderPrivateCar.setCarId(dr.getCarId());
                        CarService query1 = carServiceMapper.query(1, dr.getCarId());
@@ -1345,7 +1343,7 @@
            if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(new BigDecimal(userCouponRecord.getFullMoney())) < 0){
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
            }
            orderMoney = orderMoney.subtract(new BigDecimal(userCouponRecord.getMoney())).setScale(2, RoundingMode.HALF_EVEN);
            orderMoney = orderMoney.subtract(new BigDecimal(userCouponRecord.getMoney()));
            orderPrivateCar.setCouponMoney(userCouponRecord.getMoney());
            orderPrivateCar.setCouponId(couponId);
        }
@@ -1361,7 +1359,7 @@
                BigDecimal multiply1 = orderMoney.multiply(deductionRatio.divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN);
                if(total > 0 && multiply1.doubleValue() > 0 && total.compareTo(multiply1.doubleValue()) >= 0){
                    orderPrivateCar.setRedPacketMoney(multiply1.doubleValue());
                    orderMoney = orderMoney.subtract(multiply1).setScale(2, RoundingMode.HALF_EVEN);
                    orderMoney = orderMoney.subtract(multiply1);
                
                    //获取红包id
                    JSONArray jsonArray = new JSONArray();
@@ -1391,7 +1389,7 @@
                    orderPrivateCar.setRedPacketId(jsonArray.toJSONString());
                }else if(total > 0 && total.compareTo(multiply1.doubleValue()) < 0){
                    orderPrivateCar.setRedPacketMoney(total);
                    orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN);
                    orderMoney = orderMoney.subtract(new BigDecimal(total));
                    //获取红包id
                    JSONArray jsonArray = new JSONArray();
                    for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) {
@@ -1530,7 +1528,7 @@
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
@@ -2121,7 +2119,7 @@
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                            if(1 == language){
                                document.getElementById("english").remove();
@@ -2854,7 +2852,7 @@
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            Long serviceTime = new BigDecimal(orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()).divide(new BigDecimal(60000), 0, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.HALF_EVEN).longValue();
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -36,7 +36,7 @@
        where a.state = 1
        <choose>
            <when test="companyId != 1">
                and  a.companyId = #{companyId} or a.franchiseeId = #{companyId}
                and  a.companyId = #{companyId}
            </when>
            <otherwise>
                and a.isPlatCar = 1
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -90,10 +90,10 @@
        <if test="null != companyId">
            <choose>
                <when test="companyId != 1">
                    and companyId = #{companyId} or franchiseeId = #{companyId}
                    and companyId = #{companyId}
                </when>
                <otherwise>
                    and companyId is null or companyId = 0 or companyId = 1 or franchiseeId is null or franchiseeId = 0
                    and companyId is null or companyId = 0 or companyId = 1
                </otherwise>
            </choose>
@@ -117,10 +117,10 @@
        <if test="null != companyId">
            <choose>
                <when test="companyId != 1">
                    and companyId = #{companyId} or franchiseeId = #{companyId}
                    and companyId = #{companyId}
                </when>
                <otherwise>
                    and companyId is null or companyId = 0 or companyId = 1 or franchiseeId is null or franchiseeId = 0
                    and companyId is null or companyId = 0 or companyId = 1
                </otherwise>
            </choose>
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -673,104 +673,106 @@
                        driverActivityHistory.setCompletionTime(new Date());
                        driverActivityHistoryMapper.updateById(driverActivityHistory);
                    }
                    driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driverMapper.updateById(driver);
                    if(ToolUtil.isNotEmpty(driver.getEmail())){
                        BigDecimal finalBigDecimal = bigDecimal;
                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    String path1 = templatePath + "driver/index.html";
                                    Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                                    if(1 == language){
                                        document1.getElementById("english").remove();
                                        document1.getElementById("french").remove();
                                        document1.getElementById("invite").remove();
                                        document1.getElementById("settle").remove();
                                        document1.getElementById("pass").remove();
                                        document1.getElementById("bill").remove();
                                        document1.getElementById("reward").remove();
                                        document1.getElementById("rewardToday").remove();
                                        document1.getElementsByTag("title").get(0).text("司机奖励通知");
                                        Element user_user = document1.getElementById("user_user");
                                        user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                        Element user_content = document1.getElementById("user_content");
                                        user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                    if(bigDecimal.compareTo(BigDecimal.ZERO) > 0){
                        driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                        driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                        driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                        driverMapper.updateById(driver);
                        if(ToolUtil.isNotEmpty(driver.getEmail())){
                            BigDecimal finalBigDecimal = bigDecimal;
                            new Thread(new Runnable() {
                                @Override
                                public void run() {
                                    try {
                                        String path1 = templatePath + "driver/index.html";
                                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                                        if(1 == language){
                                            document1.getElementById("english").remove();
                                            document1.getElementById("french").remove();
                                            document1.getElementById("invite").remove();
                                            document1.getElementById("settle").remove();
                                            document1.getElementById("pass").remove();
                                            document1.getElementById("bill").remove();
                                            document1.getElementById("reward").remove();
                                            document1.getElementById("rewardToday").remove();
                                            document1.getElementsByTag("title").get(0).text("司机奖励通知");
                                            Element user_user = document1.getElementById("user_user");
                                            user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                            Element user_content = document1.getElementById("user_content");
                                            user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                                        }
                                        if(2 == language){
                                            document1.getElementById("chinese").remove();
                                            document1.getElementById("french").remove();
                                            document1.getElementById("invite1").remove();
                                            document1.getElementById("settle1").remove();
                                            document1.getElementById("pass1").remove();
                                            document1.getElementById("bill1").remove();
                                            document1.getElementById("reward1").remove();
                                            document1.getElementById("rewardToday1").remove();
                                            document1.getElementsByTag("title").get(0).text("Reward-driver notice");
                                            Element user1_user = document1.getElementById("user1_user");
                                            user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                            Element user1_content = document1.getElementById("user1_content");
                                            user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                        }
                                        if(3 == language){
                                            document1.getElementById("chinese").remove();
                                            document1.getElementById("english").remove();
                                            document1.getElementById("invite1").remove();
                                            document1.getElementById("settle1").remove();
                                            document1.getElementById("pass1").remove();
                                            document1.getElementById("bill1").remove();
                                            document1.getElementById("reward1").remove();
                                            document1.getElementById("rewardToday1").remove();
                                            document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                            Element user2_user = document1.getElementById("user2_user");
                                            user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                            Element user2_content = document1.getElementById("user2_content");
                                            user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                        }
                                        EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document1.html());
                                        //开始生成pdf收据和html收据
                                        File file = new File("/home/igotechgh/nginx/html/files/html/");
                                        if(!file.exists()){
                                            file.mkdirs();
                                        }
                                        String randomString = ToolUtil.getRandomString(10);
                                        file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                        if(!file.exists()){
                                            file.createNewFile();
                                        }
                                        FileWriter fileWriter = new FileWriter(file);
                                        fileWriter.write(document1.html());
                                        fileWriter.flush();
                                        fileWriter.close();
                                        String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                        TEmail tEmail = new TEmail();
                                        tEmail.setLink(link);
                                        tEmail.setUserId(driver.getId());
                                        tEmail.setType(2);
                                        tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                        tEmail.setCreateTime(new Date());
                                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                        tEmail.setWeek(EmailUtil.getWeek(language,i));
                                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                        if(am){
                                            tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                        }else {
                                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                                        }
                                        emailService.insert(tEmail);
                                    }catch (Exception e){
                                        e.printStackTrace();
                                    }
                                    if(2 == language){
                                        document1.getElementById("chinese").remove();
                                        document1.getElementById("french").remove();
                                        document1.getElementById("invite1").remove();
                                        document1.getElementById("settle1").remove();
                                        document1.getElementById("pass1").remove();
                                        document1.getElementById("bill1").remove();
                                        document1.getElementById("reward1").remove();
                                        document1.getElementById("rewardToday1").remove();
                                        document1.getElementsByTag("title").get(0).text("Reward-driver notice");
                                        Element user1_user = document1.getElementById("user1_user");
                                        user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                        Element user1_content = document1.getElementById("user1_content");
                                        user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                    }
                                    if(3 == language){
                                        document1.getElementById("chinese").remove();
                                        document1.getElementById("english").remove();
                                        document1.getElementById("invite1").remove();
                                        document1.getElementById("settle1").remove();
                                        document1.getElementById("pass1").remove();
                                        document1.getElementById("bill1").remove();
                                        document1.getElementById("reward1").remove();
                                        document1.getElementById("rewardToday1").remove();
                                        document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                        Element user2_user = document1.getElementById("user2_user");
                                        user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
                                        Element user2_content = document1.getElementById("user2_content");
                                        user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                    }
                                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document1.html());
                                    //开始生成pdf收据和html收据
                                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                                    if(!file.exists()){
                                        file.mkdirs();
                                    }
                                    String randomString = ToolUtil.getRandomString(10);
                                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                    if(!file.exists()){
                                        file.createNewFile();
                                    }
                                    FileWriter fileWriter = new FileWriter(file);
                                    fileWriter.write(document1.html());
                                    fileWriter.flush();
                                    fileWriter.close();
                                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                    TEmail tEmail = new TEmail();
                                    tEmail.setLink(link);
                                    tEmail.setUserId(driver.getId());
                                    tEmail.setType(2);
                                    tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                    tEmail.setCreateTime(new Date());
                                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                    tEmail.setWeek(EmailUtil.getWeek(language,i));
                                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                    if(am){
                                        tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                    }else {
                                        tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                                    }
                                    emailService.insert(tEmail);
                                }catch (Exception e){
                                    e.printStackTrace();
                                }
                            }
                        }).start();
                            }).start();
                        }
                    }
                }
@@ -1002,15 +1004,32 @@
                    phone=json.getString("phoneNumber");
                }
            }
            if(null!=userInfo && !openid.equals(userInfo.getAppletsOpenId())){
            if(null != userInfo && ToolUtil.isEmpty(userInfo.getPhone())){
                String result= weChatUtil.decrypt1(encryptedData,map.get("sessionKey"),iv);
                JSONObject json=JSONObject.parseObject(result);
                if (!ToolUtil.isEmpty(result) && result.length()>0) {
                    UserInfo userInfo1 = userInfoMapper.queryByPhone(json.getString("phoneNumber"));
                    phone=json.getString("phoneNumber");
                    //删除新注册的数据,将小程序标识合并到就数据上
                    if(null != userInfo1){
                        userInfo.setFlag(2);
                        userInfoMapper.updateById(userInfo);
                        userInfo = userInfo1;
                    }
                }
            }
            if(null != userInfo && ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
                userInfo.setAppletsOpenId(openid);
                userInfo.setUnionid(unionid);
                userInfo.setNickName(ToolUtil.isNotEmpty(nickName) ? nickName : this.getDefaultName());
                userInfo.setAvatar(avatar);
                userInfoMapper.updateById(userInfo);
            }
            if(null != userInfo && ToolUtil.isNotEmpty(userInfo.getAppletsOpenId()) && !openid.equals(userInfo.getAppletsOpenId())){
                return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The mobile phone number has been registered" : "Le numéro de téléphone portable a été enregistré");
            }
        }else{//APP
            userInfo = userInfoMapper.queryByOpenid(openid);
        }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -53,8 +53,8 @@
        gmailssl(props);
    
        final String displayName = "I-GO";//昵称
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "wpwfkrlvridoayyh";// Google应用专用密码
        final String username = "noreply@i-go.group";// gmail 邮箱
        final String password = "fggipafjlcqxjmef";// Google应用专用密码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ICBCPayUtil.java
File was deleted
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -265,8 +265,7 @@
                return ResultUtil.error("该司机不能服务此业务");
            }
            orderTaxi.setCompanyId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                    driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
            orderTaxi.setCompanyId(driver.getCompanyId());
            orderTaxi.setCarId(driver.getCarId());
            orderTaxi.setState(2);//待出发
            orderTaxi.setSnatchOrderTime(new Date());
UserIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -23,6 +23,10 @@
      enabled: false
      additional-paths: src/main/java
      exclude: static/**,WEB-INF/view/**
  servlet:
    multipart:
      max-request-size: 100MB
      max-file-size: 100MB
  redis:
    database: 0
    host: 127.0.0.1
@@ -120,17 +124,6 @@
spring:
  mail:
    host: smtp.gmail.com # 配置 smtp 服务器地址
    port: 465 # smtp 服务器的端口
    username: i-gotech@i-go.group # 配置邮箱用户名(你的邮箱地址)
    password: mhizkqkhuknbitps # 配置申请到的授权码(刚让复制的授权码)
    default-encoding: UTF-8 # 配置邮件编码
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂
        debug: true
    from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改
    template-path: /home/igotechgh/nginx/html/mailbox/
---
ZuulIGOTravel/src/main/resources/application.yml
@@ -9,13 +9,12 @@
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB
      file-size-threshold: 100MB
  redis:
    database: 0
    host: 127.0.0.1
    port: 16379
    password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5
#    port: 6379
#    password: 123456
eureka:
  client: