puzhibing
2023-07-09 d9c4252c54adc1684de9b56ad810465945e442a8
更新支付相关功能及多语言
37个文件已修改
1个文件已删除
1600 ■■■■■ 已修改文件
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/BankCardController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 143 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/OrderCrossCityController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/BankCardMapper.xml 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/WithdrawalMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/BankCard.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IBankCardService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverOrdersService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IReassignService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/BankCardServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOrdersServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java 186 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderPositionServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java 609 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/BankCardController.java
@@ -41,21 +41,21 @@
     */
    @ResponseBody
    @PostMapping("/saveBankCard")
    @ApiOperation(value = "保存银行卡信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiOperation(value = "保存银行卡信息【1.1】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "银行名称", name = "bank", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户人姓名", name = "name", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户行名称", name = "bankName", required = false, dataType = "String"),
            @ApiImplicitParam(value = "开户人姓", name = "lastName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户人名", name = "firstName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil saveBankCard(String bank, String name, String code,String bankName,  HttpServletRequest request){
    public ResultUtil saveBankCard(String bank, String lastName,String firstName, String code, Integer language,  HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return bankCardService.saveBankCard(bank, name, code, driverId,bankName);
            return bankCardService.saveBankCard(bank, lastName, firstName, code, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -64,22 +64,22 @@
    @ResponseBody
    @PostMapping("/updateBankCard")
    @ApiOperation(value = "保存银行卡信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiOperation(value = "保存银行卡信息【1.1】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "银行卡id", name = "id", required = true, dataType = "int"),
            @ApiImplicitParam(value = "银行名称", name = "bank", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户人姓名", name = "name", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户行名称", name = "bankName", required = false, dataType = "String"),
            @ApiImplicitParam(value = "开户人姓", name = "lastName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "开户人名", name = "firstName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updateBankCard(Integer id, String bank, String name, String code,String bankName,  HttpServletRequest request){
    public ResultUtil updateBankCard(Integer id, String bank, String lastName,String firstName, String code, Integer language,  HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return bankCardService.updateBankCard(id,bank, name, code, driverId,bankName);
            return bankCardService.updateBankCard(id, bank, lastName, firstName, code, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -99,13 +99,13 @@
            @ApiImplicitParam(value = "银行卡id", name = "id", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil delBankCard(Integer id, HttpServletRequest request){
    public ResultUtil delBankCard(Integer id, Integer language, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return bankCardService.delBankCard(id, driverId);
            return bankCardService.delBankCard(id, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
@@ -117,14 +117,14 @@
    })
    public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto,
                             String drivingLicenseEndTime, String carPhoto, String insurancePhoto, String commercialInsuranceTime,
                             String peopleAndCarsPhone, HttpServletRequest request,Integer id){
                             String peopleAndCarsPhone, HttpServletRequest request,Integer id, Integer language){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto
                    , commercialInsuranceTime, uid,id, peopleAndCarsPhone);
                    , commercialInsuranceTime, uid,id, peopleAndCarsPhone, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -134,6 +134,13 @@
    })
    public ResultUtil queryCaptcha(String phone, Integer type, Integer language){
        if(ToolUtil.isNotEmpty(phone)){
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            try {
                return driverService.queryCaptcha(phone, type, language);
            }catch (Exception e){
@@ -179,10 +186,10 @@
            @ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "String"),
            @ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String")
    })
    public ResultUtil checkCaptcha(String email, String code){
    public ResultUtil checkCaptcha(String email, String code, Integer language){
        try {
            boolean b = driverService.checkCaptcha(email, code);
            return b ? ResultUtil.success() : ResultUtil.error("验证码无效");
            return b ? ResultUtil.success() : ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -195,8 +202,9 @@
     */
    @ResponseBody
    @PostMapping("/base/driver/registeredDriver")
    @ApiOperation(value = "司机提交注册申请", tags = {"分享专用"}, notes = "")
    @ApiOperation(value = "司机提交注册申请【1.1】", tags = {"分享专用"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
            @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String"),
@@ -204,9 +212,16 @@
            @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
    })
    public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
    public ResultUtil registeredDriver(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
        try {
            return driverService.registeredDriver(phone, code, password, uid, type, userType, language);
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            return driverService.registeredDriver(phoneOperator, phone, code, password, uid, type, userType, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -223,8 +238,9 @@
     */
    @ResponseBody
    @PostMapping("/base/driver/registeredDriver_")
    @ApiOperation(value = "司机提交注册申请", tags = {"司机端-注册"}, notes = "")
    @ApiOperation(value = "司机提交注册申请【1.1】", tags = {"司机端-注册"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
            @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String"),
@@ -232,9 +248,16 @@
            @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
    })
    public ResultUtil<LoginWarpper> registeredDriver_(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
    public ResultUtil<LoginWarpper> registeredDriver_(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
        try {
            return driverService.registeredDriver(phone, code, password, uid, type, userType, language);
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            return driverService.registeredDriver(phoneOperator, phone, code, password, uid, type, userType, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -269,7 +292,7 @@
     */
    @ResponseBody
    @PostMapping("/base/driver/updateDriver")
    @ApiOperation(value = "司机注册后完善个人信息【1.0】", tags = {"司机端-注册"}, notes = "")
    @ApiOperation(value = "司机注册后完善个人信息【1.1】", tags = {"司机端-注册"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int")
    })
@@ -331,9 +354,9 @@
            @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int")
    })
    public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone){
                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone, Integer language){
        try {
            return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone);
            return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -401,6 +424,13 @@
    })
    public ResultUtil resetPassword(String phone, String code, String password, Integer language){
        try {
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            return driverService.resetPassword(phone, code, password, language);
        }catch (Exception e){
            e.printStackTrace();
@@ -444,9 +474,16 @@
            @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "String")
    })
    public ResultUtil<LoginWarpper> driverLogin(String phone, String password){
    public ResultUtil<LoginWarpper> driverLogin(String phone, String password, Integer language){
        try {
            return driverService.driverLogin(phone, password);
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            return driverService.driverLogin(phone, password, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -493,13 +530,13 @@
            @ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil work(String type, HttpServletRequest request){
    public ResultUtil work(String type, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return driverService.work(uid, type);
            return driverService.work(uid, type, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -568,13 +605,13 @@
            @ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil work2(String type, HttpServletRequest request){
    public ResultUtil work2(String type, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return driverService.work2(uid, type);
            return driverService.work2(uid, type, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -717,19 +754,27 @@
     */
    @ResponseBody
    @PostMapping("/api/driver/updatePhone")
    @ApiOperation(value = "修改手机号码", tags = {"司机端-个人中心"}, notes = "")
    @ApiOperation(value = "修改手机号码【1.1】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "手机号码运营商", name = "phoneOperator", required = true, dataType = "String"),
            @ApiImplicitParam(value = "新电话号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updatePhone(String phone, String code, HttpServletRequest request){
    public ResultUtil updatePhone(String phoneOperator, String phone, String code, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return driverService.updatePhone(phone, code, uid);
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
                phone = "233" + phone.substring(1);
            }
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            return driverService.updatePhone(phoneOperator, phone, code, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -838,13 +883,13 @@
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updateOrders(Integer type, HttpServletRequest request){
    public ResultUtil updateOrders(Integer type, Integer language, HttpServletRequest request){
        try{
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return driverOrdersService.updateOrders(uid, type);
            return driverOrdersService.updateOrders(uid, type, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -891,13 +936,13 @@
            @ApiImplicitParam(value = "车辆id", name = "carId", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil replaceCar(Integer carId, HttpServletRequest request){
    public ResultUtil replaceCar(Integer carId, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return driverService.replaceCar(carId, uid);
            return driverService.replaceCar(carId, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1205,9 +1250,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "工号", name = "jobNum", required = true, dataType = "String"),
    })
    public ResultUtil loginByJobNumber(String jobNum){
    public ResultUtil loginByJobNumber(String jobNum, Integer language){
        try {
            return driverService.loginByJobNumber(jobNum);
            return driverService.loginByJobNumber(jobNum, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1226,9 +1271,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "身份证号码", name = "identification", required = true, dataType = "String"),
    })
    public ResultUtil loginByIdentification(String identification){
    public ResultUtil loginByIdentification(String identification, Integer language){
        try {
            return driverService.loginByIdentification(identification);
            return driverService.loginByIdentification(identification, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1248,9 +1293,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "出租车资格证号", name = "taxiAptitudeCard", required = true, dataType = "String"),
    })
    public ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard){
    public ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard, Integer language){
        try {
            return driverService.loginByTaxiAptitudeCard(taxiAptitudeCard);
            return driverService.loginByTaxiAptitudeCard(taxiAptitudeCard, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1270,13 +1315,13 @@
            @ApiImplicitParam(value = "登录密码", name = "password", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil verificationPassword(String password, HttpServletRequest request){
    public ResultUtil verificationPassword(String password, Integer language, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverService.verificationPassword(password, driverId);
            return driverService.verificationPassword(password, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1297,13 +1342,13 @@
            @ApiImplicitParam(value = "提现密码", name = "withdrawPassword", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil setWithdrawPassword(String withdrawPassword, HttpServletRequest request){
    public ResultUtil setWithdrawPassword(String withdrawPassword, Integer language, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverService.setWithdrawPassword(withdrawPassword, driverId);
            return driverService.setWithdrawPassword(withdrawPassword, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1325,13 +1370,13 @@
            @ApiImplicitParam(value = "提现密码", name = "withdrawPassword", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil verificationWithdrawPassword(String withdrawPassword, HttpServletRequest request){
    public ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer language, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverService.verificationWithdrawPassword(withdrawPassword, driverId);
            return driverService.verificationWithdrawPassword(withdrawPassword, driverId, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -1405,4 +1450,30 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/driver/updateName")
    @ApiOperation(value = "修改姓名【1.1】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "姓", name = "lastName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "名", name = "firstName", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updateName(String lastName, String firstName, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            Driver driver = driverService.selectById(uid);
            driver.setLastName(lastName);
            driver.setFirstName(firstName);
            driverService.updateById(driver);
            return ResultUtil.success();
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java
@@ -43,13 +43,13 @@
            @ApiImplicitParam(value = "反馈内容", name = "content", required = true, dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil feedback(String content, HttpServletRequest request){
    public ResultUtil feedback(String content, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(uid == null){
                return ResultUtil.tokenErr();
            }
            return feedbackService.feedback(content, uid);
            return feedbackService.feedback(content, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -215,13 +215,13 @@
            @ApiImplicitParam(value = "订单类型(1=专车,4=小件物流-同城)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil grabOrder(Integer orderId, Integer orderType, HttpServletRequest request){
    public ResultUtil grabOrder(Integer orderId, Integer orderType, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return orderService.grabOrder(orderId, orderType, uid);
            return orderService.grabOrder(orderId, orderType, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -317,13 +317,13 @@
            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil reassign(Reassign reassign, HttpServletRequest request){
    public ResultUtil reassign(Reassign reassign, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return reassignService.saveData(reassign, uid, null);
            return reassignService.saveData(reassign, uid, null, language);
        }catch (SystemException s){
            return ResultUtil.error(s.getMsg());
        } catch (Exception e){
@@ -355,13 +355,13 @@
            @ApiImplicitParam(value = "当前纬度", name = "lat", required = true, dataType = "double"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Double lon, Double lat,String phone, HttpServletRequest request){
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Double lon, Double lat,String phone, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return orderService.process(orderId, orderType, state, uid, lon, lat,phone);
            return orderService.process(orderId, orderType, state, uid, lon, lat, phone, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -529,9 +529,9 @@
            @ApiImplicitParam(value = "改派原因", name = "reason", required = true, dataType = "string"),
            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
    })
    public String reassign_(Reassign reassign, Integer uid){
    public String reassign_(Reassign reassign, Integer uid, Integer language){
        try {
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3);
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3, language);
            return JSON.toJSONString(resultUtil);
        }catch (SystemException s){
            return JSON.toJSONString(ResultUtil.error(s.getMsg()));
@@ -635,9 +635,9 @@
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil completeOrder(Integer orderId, Integer orderType){
    public ResultUtil completeOrder(Integer orderId, Integer orderType, Integer language){
        try {
            return orderService.completeOrder(orderId, orderType);
            return orderService.completeOrder(orderId, orderType, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -672,9 +672,9 @@
            @ApiImplicitParam(value = "取件码", name = "pickUpCode", required = true, dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode){
    public ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode, Integer language){
        try {
            return orderLogisticsService.fillInPickUpCode(orderId, pickUpCode);
            return orderLogisticsService.fillInPickUpCode(orderId, pickUpCode, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -689,9 +689,9 @@
            @ApiImplicitParam(value = "差价金额", name = "difference", required = true, dataType = "double"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil makeUpTheDifference(Integer orderId, Double difference){
    public ResultUtil makeUpTheDifference(Integer orderId, Double difference, Integer language){
        try {
            return orderLogisticsService.makeUpTheDifference(orderId, difference);
            return orderLogisticsService.makeUpTheDifference(orderId, difference, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -36,30 +36,24 @@
    /**
     * 账户余额提现操作
     * @param money
     * @param code
     * @param name
     * @param request
     * @return
     */
    @ResponseBody
    @PostMapping("/api/withdrawal/withdrawal")
    @ApiOperation(value = "账户余额提现", tags = {"司机端-个人中心"}, notes = "")
    @ApiOperation(value = "账户余额提现【1.1】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"),
            @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "string"),
            @ApiImplicitParam(value = "银行卡持有人姓名", name = "name", required = true, dataType = "string"),
            @ApiImplicitParam(value = "开户行名称", name = "bankName", required = false, dataType = "string"),
            @ApiImplicitParam(value = "提现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil withdrawal(Double money, String code, String name, Integer type,String bankName, HttpServletRequest request){
    public ResultUtil withdrawal(Double mone, Integer type, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return withdrawalService.withdrawal(money, code, name, uid, type,bankName);
            return withdrawalService.withdrawal(mone, uid, type, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -75,9 +69,9 @@
     */
    @ResponseBody
    @PostMapping("/base/withdrawal/withdrawalAudit")
    public ResultUtil withdrawalAudit(Integer id, Integer state){
    public ResultUtil withdrawalAudit(Integer id, Integer state, Integer language){
        try {
            return withdrawalService.withdrawalAudit(id, state);
            return withdrawalService.withdrawalAudit(id, state, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/OrderCrossCityController.java
@@ -86,13 +86,13 @@
            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil reassignOrderCrossCityReassign(Reassign reassign, String orderIds, HttpServletRequest request){
    public ResultUtil reassignOrderCrossCityReassign(Reassign reassign, String orderIds, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return reassignService.saveData_(reassign, orderIds, uid, null);
            return reassignService.saveData_(reassign, orderIds, uid, null, language);
        }catch (SystemException s){
            return ResultUtil.error(s.getMsg());
        } catch (Exception e){
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
@@ -28,7 +28,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception;
    ResultUtil grabOrder(Integer orderId, Integer uid, Integer language) throws Exception;
@@ -49,7 +49,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception;
    ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address, Integer language) throws Exception;
    /**
@@ -59,7 +59,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode) throws Exception;
    ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode, Integer language) throws Exception;
    /**
@@ -69,7 +69,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil makeUpTheDifference(Integer orderId, Double difference) throws Exception;
    ResultUtil makeUpTheDifference(Integer orderId, Double difference, Integer language) throws Exception;
@@ -100,7 +100,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil grabOrder_(Integer orderId, Integer uid) throws Exception;
    ResultUtil grabOrder_(Integer orderId, Integer uid, Integer language) throws Exception;
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -108,13 +108,13 @@
     * @throws Exception
     */
    @Override
    public synchronized ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception {
    public synchronized ResultUtil grabOrder(Integer orderId, Integer uid, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(orderLogistics.getState() == 10){
            return ResultUtil.error("订单已取消");
            return ResultUtil.error(language == 1 ? "订单已取消" : language == 2 ? "Order cancelled" : "Commande annulée");
        }
        if(orderLogistics.getState() != 1){
            return ResultUtil.error("手速有点慢哦,订单已被抢啦!");
            return ResultUtil.error(language == 1 ? "手速有点慢哦,订单已被抢啦" : language == 2 ? "A little slow. The order's been taken" : "La main est un peu lente oh l’ordre a été volé");
        }
        Driver driver = driverService.selectById(uid);
        orderLogistics.setDriverId(uid);
@@ -180,7 +180,7 @@
        }).start();
        systemNoticeService.addSystemNotice(2, "您已成功抢得小件物流订单,请及时联系客户!", orderLogistics.getDriverId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderLogistics.getUserId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getLastName().substring(0, 1) + "师傅,请保持电话畅通!", orderLogistics.getUserId());
        return ResultUtil.success();
    }
@@ -209,18 +209,18 @@
     * @throws Exception
     */
    @Override
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception {
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        switch (state){
            case 3://出发前往预约点
                orderLogistics.setState(3);
                orderLogistics.setSetOutTime(new Date());
                systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderLogistics.getUserId());
                systemNoticeService.addSystemNotice(1, language == 1 ? "司机已出发,请耐心等待" : language == 2 ? "The driver has left, please wait patiently" : "Le chauffeur est parti, soyez patient", orderLogistics.getUserId());
                break;
            case 4://到达预约点,等待客户上车
                orderLogistics.setState(4);
                orderLogistics.setArriveTime(new Date());
                systemNoticeService.addSystemNotice(1, "司机已到达您设置的预约地点。", orderLogistics.getUserId());
                systemNoticeService.addSystemNotice(1, language == 1 ? "司机已到达您设置的预约地点。" : language == 2 ? "The driver has arrived at the reservation you set" : "e chauffeur est arrivé au lieu de rendez-vous que vous avez défini", orderLogistics.getUserId());
                break;
            case 5://开始服务
                orderLogistics.setBoardingLon(lon);
@@ -263,10 +263,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode) throws Exception {
    public ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(!"1246".equals(pickUpCode) && !orderLogistics.getPickUpCode().equals(pickUpCode)){
            return ResultUtil.error("验证失败");
            return ResultUtil.error(language == 1 ? "验证失败" : language == 2 ? "Verification failure" : "Échec de vérification");
        }
        orderLogistics.setState(9);
        this.updateById(orderLogistics);
@@ -282,11 +282,11 @@
     * @throws Exception
     */
    @Override
    public ResultUtil makeUpTheDifference(Integer orderId, Double difference) throws Exception {
    public ResultUtil makeUpTheDifference(Integer orderId, Double difference, Integer language) throws Exception {
        OrderLogisticsSpread query = orderLogisticsSpreadService.query(orderId);
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(orderLogistics.getState() != 4 && orderLogistics.getState() != 8){
            return ResultUtil.error("不允许设置差价");
            return ResultUtil.error(language == 1 ? "不允许设置差价" : language == 2 ? "Price difference is not allowed" : "Les spreads ne sont pas autorisés");
        }
        if(query != null){
            query.setPrice(difference);
@@ -335,13 +335,13 @@
     * @throws Exception
     */
    @Override
    public synchronized ResultUtil grabOrder_(Integer orderId, Integer uid) throws Exception {
    public synchronized ResultUtil grabOrder_(Integer orderId, Integer uid, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(orderLogistics.getState() == 10){
            return ResultUtil.error("订单已取消");
            return ResultUtil.error(language == 1 ? "订单已取消" : language == 2 ? "Order cancelled" : "Commande annulée");
        }
        if(orderLogistics.getState() != 1){
            return ResultUtil.error("手速有点慢哦,订单已被抢啦!");
            return ResultUtil.error(language == 1 ? "手速有点慢哦,订单已被抢啦!" : language == 2 ? "Hand speed is a little slow oh, the order has been robbed!" : "La main est un peu lente oh, l’ordre a été volé!");
        }
        Driver driver = driverService.selectById(uid);
        orderLogistics.setDriverId(uid);
@@ -398,7 +398,7 @@
        }).start();
        systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderLogistics.getDriverId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderLogistics.getUserId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getLastName().substring(0, 1) + "师傅,请保持电话畅通!", orderLogistics.getUserId());
        return ResultUtil.success();
    }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
@@ -54,7 +54,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception;
    ResultUtil grabOrder(Integer orderId, Integer uid, Integer language) throws Exception;
    /**
@@ -74,7 +74,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone) throws Exception;
    ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -133,7 +133,7 @@
     * @throws Exception
     */
    @Override
    public synchronized ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception {
    public synchronized ResultUtil grabOrder(Integer orderId, Integer uid, Integer language) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
        //处理摆渡车的情况
        if(orderPrivateCar.getType() == 2){
@@ -155,15 +155,15 @@
                            .eq("place", orderPrivateCar.getPlace())
            );
            if(list.size() > 0 || list1.size() > 0){
                return ResultUtil.error("手速有点慢哦,订单已被抢啦!");
                return ResultUtil.error(language == 1 ? "手速有点慢哦,订单已被抢啦" : language == 2 ? "A little slow. The order's been taken" : "La main est un peu lente oh l’ordre a été volé");
            }
        }
        if(orderPrivateCar.getState() == 9){
            return ResultUtil.error("订单已取消");
            return ResultUtil.error(language == 1 ? "订单已取消" : language == 2 ? "Order cancelled" : "Commande annulée");
        }
        if(orderPrivateCar.getState() != 1){
            return ResultUtil.error("手速有点慢哦,订单已被抢啦!");
            return ResultUtil.error(language == 1 ? "手速有点慢哦,订单已被抢啦" : language == 2 ? "A little slow. The order's been taken" : "La main est un peu lente oh l’ordre a été volé");
        }
        Driver driver = driverService.selectById(uid);
        orderPrivateCar.setDriverId(uid);
@@ -216,7 +216,7 @@
        }).start();
        systemNoticeService.addSystemNotice(2, "您已成功抢得专车订单,请及时联系客户!", orderPrivateCar.getDriverId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderPrivateCar.getUserId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getLastName().substring(0, 1) + "师傅,请保持电话畅通!", orderPrivateCar.getUserId());
        return ResultUtil.success();
    }
@@ -243,7 +243,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone) throws Exception {
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone, Integer language) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
//        if(state==5){
//            UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
@@ -252,10 +252,10 @@
//            }
//        }
        if(state==3 && orderPrivateCar.getState()!=2){
            return ResultUtil.error("当前订单不能触发前往预约地点");
            return ResultUtil.error(language == 1 ? "当前订单不能触发前往预约地点" : language == 2 ? "The current order cannot trigger travel to the reservation" : "La commande en cours ne peut pas déclencher une visite au lieu de rendez-vous");
        }
        if(state==4 && orderPrivateCar.getState()!=3){
            return ResultUtil.error("当前订单不能到达预约地点");
            return ResultUtil.error(language == 1 ? "当前订单不能到达预约地点" : language == 2 ? "The current order cannot arrive at the reservation" : "La commande en cours ne peut pas atteindre le rendez-vous");
        }
        /*if(state==5 && orderPrivateCar.getState()!=4){
            return ResultUtil.error("当前订单不能开始服务");
@@ -264,12 +264,12 @@
            case 3://出发前往预约点
                orderPrivateCar.setState(3);
                orderPrivateCar.setSetOutTime(new Date());
                systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderPrivateCar.getUserId());
                systemNoticeService.addSystemNotice(1, language == 1 ? "司机已出发,请耐心等待" : language == 2 ? "he driver has left, please wait patiently" : "Le chauffeur est parti, soyez patient", orderPrivateCar.getUserId());
                break;
            case 4://到达预约点,等待客户上车
                orderPrivateCar.setState(4);
                orderPrivateCar.setArriveTime(new Date());
                systemNoticeService.addSystemNotice(1, "司机已到达您设置的预约地点,请及时上车", orderPrivateCar.getUserId());
                systemNoticeService.addSystemNotice(1, language == 1 ? "司机已到达您设置的预约地点,请及时上车" : language == 2 ? "The driver has arrived at the reservation place you set, please get on the bus in time" : "Le chauffeur est arrivé au lieu de rendez-vous que vous avez fixé, s’il vous plaît embarquez à temps", orderPrivateCar.getUserId());
                break;
            case 5://开始服务
                orderPrivateCar.setBoardingLon(lon);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/BankCardMapper.xml
@@ -5,36 +5,23 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.BankCard">
        <id column="id" property="id"/>
        <result column="bank" property="bank"/>
        <result column="name" property="name"/>
        <result column="bank" property="bank" />
        <result column="lastName" property="lastName" />
        <result column="firstName" property="firstName" />
        <result column="code" property="code"/>
        <result column="driverId" property="driverId"/>
        <result column="userType" property="userType"/>
        <result column="userId" property="userId"/>
        <result column="insertTime" property="insertTime"/>
    </resultMap>
    <select id="query" resultType="BankCard">
        select
        id as id,
        bank as bank,
        `name` as `name`,
        `code` as `code`,
        driverId as driverId,
        insertTime as insertTime
        from t_bank_card where driverId = #{driverId} and `code` = #{code}
        select * from t_bank_card where userType = 2 and userId = #{driverId} and `code` = #{code}
    </select>
    <select id="queryBankCard" resultType="BankCard">
        select
        id as id,
        bank as bank,
        `name` as `name`,
        bankName as bankName,
        `code` as `code`,
        driverId as driverId,
        insertTime as insertTime
        from t_bank_card where driverId = #{driverId} order by insertTime limit #{pageNum}, #{size}
        select * from t_bank_card where userType = 2 and userId = #{driverId} order by insertTime limit #{pageNum}, #{size}
    </select>
</mapper>
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -8,9 +8,11 @@
        <result column="account" property="account" />
        <result column="jobNumber" property="jobNumber" />
        <result column="phone" property="phone" />
        <result column="phoneOperator" property="phoneOperator"/>
        <result column="password" property="password" />
        <result column="withdrawPassword" property="withdrawPassword"/>
        <result column="name" property="name" />
        <result column="lastName" property="lastName" />
        <result column="firstName" property="firstName"/>
        <result column="sex" property="sex" />
        <result column="idCard" property="idCard" />
        <result column="companyId" property="companyId" />
@@ -89,9 +91,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -162,9 +166,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -237,9 +243,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -342,7 +350,9 @@
        a.id as id,
        a.headImgUrl as avatar,
        a.sex as sex,
        a.`name` as `name`,
        a.lastName as lastName,
        a.firstName as firstName,
        a.phoneOperator as phoneOperator,
        a.phone as phone,
        DATE_FORMAT(a.birthday, '%Y-%m-%d') as birthday,
        a.email,
@@ -395,9 +405,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -469,9 +481,11 @@
        a.id as id,
        a.account as account,
        a.jobNumber as jobNumber,
        a.phoneOperator as phoneOperator,
        a.phone as phone,
        a.password as password,
        a.name as name,
        a.firstName as firstName,
        a.lastName as lastName,
        a.sex as sex,
        a.idCard as idCard,
        a.companyId as companyId,
@@ -550,9 +564,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -632,9 +648,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -707,9 +725,11 @@
        id as id,
        account as account,
        jobNumber as jobNumber,
        phoneOperator as phoneOperator,
        phone as phone,
        password as password,
        name as name,
        firstName as firstName,
        lastName as lastName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -777,8 +797,9 @@
    <select id="queryMyInviteDriverList" resultType="map">
        select
            id as id,
            phoneOperator as phoneOperator,
            phone as phone,
            name as name,
            CONCAT(firstName, " ", lastName) as name,
            headImgUrl as avatar,
            DATE_FORMAT(insertTime,'%Y/%m/%d %H:%i') as insertTime
        from
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/WithdrawalMapper.xml
@@ -27,7 +27,7 @@
        id as id,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as insertTime,
        money as money,
        ('银行卡提现') as name,
        ('手机提现') as name,
        remark as remark,
        state as state,
        withdrawalType as withdrawalType,
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/BankCard.java
@@ -16,49 +16,43 @@
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @TableField("id")
    private Integer id;
    /**
     * 银行全称
     * 所属银行
     */
    @TableField("bank")
    private String bank;
    /**
     * 开户人姓名
     * 姓氏
     */
    @TableField("name")
    private String name;
    @TableField("lastName")
    private String lastName;
    /**
     * 名
     */
    @TableField("firstName")
    private String firstName;
    /**
     * 银行卡号
     */
    @TableField("code")
    private String code;
    /**
     * 司机id
     * @return
     * 用户类型(1=用户,2=司机
     */
    @TableField("driverId")
    private Integer driverId;
    @TableField("userType")
    private Integer userType;
    /**
     * 用户id
     */
    @TableField("userId")
    private Integer userId;
    /**
     * 添加时间
     * @return
     */
    @TableField("insertTime")
    private Date insertTime;
    /**
     * 开户行名称
     */
    @TableField("bankName")
    private String bankName    ;
    public String getBankName() {
        return bankName;
    }
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }
    public Integer getId() {
        return id;
@@ -76,12 +70,20 @@
        this.bank = bank;
    }
    public String getName() {
        return name;
    public String getLastName() {
        return lastName;
    }
    public void setName(String name) {
        this.name = name;
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getCode() {
@@ -92,12 +94,20 @@
        this.code = code;
    }
    public Integer getDriverId() {
        return driverId;
    public Integer getUserType() {
        return userType;
    }
    public void setDriverId(Integer driverId) {
        this.driverId = driverId;
    public void setUserType(Integer userType) {
        this.userType = userType;
    }
    public Integer getUserId() {
        return userId;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public Date getInsertTime() {
@@ -106,17 +116,5 @@
    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }
    @Override
    public String toString() {
        return "BankCard{" +
                "id=" + id +
                ", bank='" + bank + '\'' +
                ", name='" + name + '\'' +
                ", code='" + code + '\'' +
                ", driverId=" + driverId +
                ", insertTime=" + insertTime +
                '}';
    }
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
@@ -27,6 +27,11 @@
    @TableField("phone")
    private String phone;
    /**
     * 手机号运营商
     */
    @TableField("phoneOperator")
    private String phoneOperator;
    /**
     * 登录密码
     */
    @TableField("password")
@@ -37,10 +42,15 @@
    @TableField("withdrawPassword")
    private String withdrawPassword;
    /**
     * 姓名
     * 姓
     */
    @TableField("name")
    private String name;
    @TableField("lastName")
    private String lastName;
    /**
     * 名
     */
    @TableField("firstName")
    private String firstName;
    /**
     * 性别(1=男,2=女)
     */
@@ -427,6 +437,14 @@
        this.phone = phone;
    }
    public String getPhoneOperator() {
        return phoneOperator;
    }
    public void setPhoneOperator(String phoneOperator) {
        this.phoneOperator = phoneOperator;
    }
    public String getPassword() {
        return password;
    }
@@ -435,12 +453,20 @@
        this.password = password;
    }
    public String getName() {
        return name;
    public String getLastName() {
        return lastName;
    }
    public void setName(String name) {
        this.name = name;
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public Integer getSex() {
@@ -947,7 +973,6 @@
                ", phone='" + phone + '\'' +
                ", password='" + password + '\'' +
                ", withdrawPassword='" + withdrawPassword + '\'' +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", idCard='" + idCard + '\'' +
                ", companyId=" + companyId +
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java
@@ -64,7 +64,7 @@
    @TableField("userType")
    private Integer userType;
    /**
     * 提现类型(1=活动收入提现,2=业务收入提现)
     * 提现类型(1=活动收入体现,2=业务收入体现)
     */
    @TableField("type")
    private Integer type;
@@ -90,21 +90,12 @@
     */
    @TableField("serialNo")
    private String serialNo;
    /**
     * 开户行名称
     */
    @TableField("bankName")
    private String bankName    ;
    private String bankName;
    public String getBankName() {
        return bankName;
    }
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }
    public Integer getId() {
        return id;
@@ -186,14 +177,6 @@
        this.userType = userType;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public Date getInsertTime() {
        return insertTime;
    }
@@ -226,24 +209,19 @@
        this.serialNo = serialNo;
    }
    @Override
    public String toString() {
        return "Withdrawal{" +
                "id=" + id +
                ", userId=" + userId +
                ", handleTime=" + handleTime +
                ", balance=" + balance +
                ", money=" + money +
                ", state=" + state +
                ", remark='" + remark + '\'' +
                ", code='" + code + '\'' +
                ", name='" + name + '\'' +
                ", userType=" + userType +
                ", type=" + type +
                ", insertTime=" + insertTime +
                ", flag=" + flag +
                ", withdrawalType=" + withdrawalType +
                ", serialNo='" + serialNo + '\'' +
                '}';
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public String getBankName() {
        return bankName;
    }
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IBankCardService.java
@@ -18,9 +18,9 @@
     * @return
     * @throws Exception
     */
    ResultUtil saveBankCard(String bank, String name, String code, Integer driverId,String bankName) throws Exception;
    ResultUtil saveBankCard(String bank, String lastName,String firstName, String code, Integer driverId, Integer language) throws Exception;
    ResultUtil updateBankCard(Integer id, String bank, String name, String code, Integer driverId,String bankName) throws Exception;
    ResultUtil updateBankCard(Integer id, String bank, String lastName,String firstName, String code, Integer driverId, Integer language) throws Exception;
    /**
     * 删除银行卡号
@@ -29,7 +29,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil delBankCard(Integer id, Integer driverId) throws Exception;
    ResultUtil delBankCard(Integer id, Integer driverId, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
@@ -61,5 +61,5 @@
     * @throws Exception
     */
    ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
                      String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception;
                      String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone, Integer language) throws Exception;
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverOrdersService.java
@@ -14,7 +14,7 @@
     * @param type
     * @throws Exception
     */
    ResultUtil updateOrders(Integer uid, Integer type) throws Exception;
    ResultUtil updateOrders(Integer uid, Integer type, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java
@@ -44,7 +44,7 @@
     * 司机提交注册申请
     * @throws Exception
     */
    ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception;
    ResultUtil registeredDriver(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception;
    /**
@@ -57,7 +57,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil<LoginWarpper> registeredDriver(String phone, String code, String password,Integer uid,Integer uType) throws Exception;
    ResultUtil<LoginWarpper> registeredDriver(String phoneOperator, String phone, String code, String password,Integer uid,Integer uType, Integer language) throws Exception;
    /**
@@ -106,7 +106,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil<LoginWarpper> driverLogin(String phone, String password) throws Exception;
    ResultUtil<LoginWarpper> driverLogin(String phone, String password, Integer language) throws Exception;
    /**
@@ -133,7 +133,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil work(Integer uid, String type) throws Exception;
    ResultUtil work(Integer uid, String type, Integer language) throws Exception;
@@ -143,7 +143,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil work2(Integer uid, String type) throws Exception;
    ResultUtil work2(Integer uid, String type, Integer language) throws Exception;
    /**
@@ -181,7 +181,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil updatePhone(String phone, String code, Integer uid) throws Exception;
    ResultUtil updatePhone(String phoneOperator, String phone, String code, Integer uid, Integer language) throws Exception;
    /**
@@ -218,7 +218,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil replaceCar(Integer carId, Integer uid) throws Exception;
    ResultUtil replaceCar(Integer carId, Integer uid, Integer language) throws Exception;
    /**
@@ -300,7 +300,7 @@
     * @param jobNum
     * @return
     */
    ResultUtil loginByJobNumber(String jobNum);
    ResultUtil loginByJobNumber(String jobNum, Integer language);
    /**
@@ -317,7 +317,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil loginByIdentification(String identification) throws Exception;
    ResultUtil loginByIdentification(String identification, Integer language) throws Exception;
    /**
@@ -326,7 +326,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard) throws Exception;
    ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard, Integer language) throws Exception;
    /**
@@ -343,7 +343,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil verificationPassword(String password, Integer driverId) throws Exception;
    ResultUtil verificationPassword(String password, Integer driverId, Integer language) throws Exception;
    /**
@@ -353,7 +353,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil setWithdrawPassword(String withdrawPassword, Integer driverId) throws Exception;
    ResultUtil setWithdrawPassword(String withdrawPassword, Integer driverId, Integer language) throws Exception;
    /**
@@ -363,7 +363,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer driverId) throws Exception;
    ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer driverId, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java
@@ -13,5 +13,5 @@
     * @param uid
     * @throws Exception
     */
    ResultUtil feedback(String content, Integer uid) throws Exception;
    ResultUtil feedback(String content, Integer uid, Integer language) throws Exception;
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
@@ -58,7 +58,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid) throws Exception;
    ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid, Integer language) throws Exception;
@@ -101,7 +101,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone) throws Exception;
    ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone, Integer language) throws Exception;
    /**
@@ -219,7 +219,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil completeOrder(Integer orderId, Integer orderType) throws Exception;
    ResultUtil completeOrder(Integer orderId, Integer orderType, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IReassignService.java
@@ -16,7 +16,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception;
    ResultUtil saveData(Reassign reassign, Integer uid, Integer type, Integer language) throws Exception;
@@ -26,7 +26,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil saveData_(Reassign reassign, String orderIds, Integer uid, Integer type) throws Exception;
    ResultUtil saveData_(Reassign reassign, String orderIds, Integer uid, Integer type, Integer language) throws Exception;
    /**
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
@@ -13,12 +13,10 @@
    /**
     * 提现操作
     * @param money
     * @param code
     * @param name
     * @param uid
     * @throws Exception
     */
    ResultUtil withdrawal(Double money, String code, String name, Integer uid, Integer type,String bankName) throws Exception;
    ResultUtil withdrawal(Double money, Integer uid, Integer type, Integer language) throws Exception;
    /**
@@ -37,5 +35,5 @@
     * @return
     * @throws Exception
     */
    ResultUtil withdrawalAudit(Integer id, Integer state) throws Exception;
    ResultUtil withdrawalAudit(Integer id, Integer state, Integer language) throws Exception;
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/BankCardServiceImpl.java
@@ -21,40 +21,41 @@
    /**
     * 保存银行卡号
     * @param bank
     * @param name
     * @param code
     * @param driverId
     * @return
     * @throws Exception
     */
    @Override
    public ResultUtil saveBankCard(String bank, String name, String code, Integer driverId,String bankName) throws Exception {
    public ResultUtil saveBankCard(String bank, String lastName,String firstName, String code, Integer driverId, Integer language) throws Exception {
        BankCard query = bankCardMapper.query(driverId, code);
        if(null != query){
            return ResultUtil.error("银行卡号已存在");
            return ResultUtil.error(language == 1 ? "银行卡号已存在" : language == 2 ? "The bank card number already exists" : "Le numéro de carte bancaire existe déjà");
        }
        BankCard bankCard = new BankCard();
        bankCard.setBank(bank);
        bankCard.setName(name);
        bankCard.setLastName(lastName);
        bankCard.setCode(code);
        bankCard.setBankName(bankName);
        bankCard.setDriverId(driverId);
        bankCard.setFirstName(firstName);
        bankCard.setUserType(2);
        bankCard.setUserId(driverId);
        bankCard.setInsertTime(new Date());
        this.insert(bankCard);
        return ResultUtil.success();
    }
    @Override
    public ResultUtil updateBankCard(Integer id,String bank, String name, String code, Integer driverId,String bankName) throws Exception {
    public ResultUtil updateBankCard(Integer id, String bank, String lastName,String firstName, String code, Integer driverId, Integer language) throws Exception {
        BankCard query = bankCardMapper.query(driverId, code);
        if(null != query && !id.equals(query.getId())){
            return ResultUtil.error("银行卡号已存在");
            return ResultUtil.error(language == 1 ? "银行卡号已存在" : language == 2 ? "The bank card number already exists" : "Le numéro de carte bancaire existe déjà");
        }
        BankCard bankCard = query;
        bankCard.setBank(bank);
        bankCard.setName(name);
        bankCard.setLastName(lastName);
        bankCard.setCode(code);
        bankCard.setBankName(bankName);
        bankCard.setDriverId(driverId);
        bankCard.setFirstName(firstName);
        bankCard.setUserType(2);
        bankCard.setUserId(driverId);
        this.updateById(bankCard);
        return ResultUtil.success();
    }
@@ -67,10 +68,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil delBankCard(Integer id, Integer driverId) throws Exception {
    public ResultUtil delBankCard(Integer id, Integer driverId, Integer language) throws Exception {
        BankCard bankCard = this.selectById(id);
        if(bankCard.getDriverId().compareTo(driverId) != 0){
            return ResultUtil.error("你无权删除此卡号");
        if(bankCard.getUserId().compareTo(driverId) != 0){
            return ResultUtil.error(language == 1 ? "你无权删除此卡号" : language == 2 ? "You have no right to delete this card number" : "Vous n’êtes pas autorisé à supprimer ce numéro de carte");
        }
        this.deleteById(id);
        return ResultUtil.success();
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -127,16 +127,16 @@
     */
    @Override
    public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception {
                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone, Integer language) throws Exception {
        Car query = carMapper.query(licensePlate);
        if(id==null){
            if(null != query){
                return ResultUtil.error("车牌号已经使用");
                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "License plate number has been used" : "Plaque d’immatriculation déjà utilisée");
            }
        }else{
            if(null != query && !id.equals(query.getId())){
                return ResultUtil.error("车牌号已经使用");
                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "License plate number has been used" : "Plaque d’immatriculation déjà utilisée");
            }
        }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOrdersServiceImpl.java
@@ -41,14 +41,14 @@
     * @throws Exception
     */
    @Override
    public ResultUtil updateOrders(Integer uid, Integer type) throws Exception {
    public ResultUtil updateOrders(Integer uid, Integer type, Integer language) throws Exception {
        DriverOrders query = driverOrdersMapper.query(uid, type);
        if(null == query){
            if(type == 3){
                Driver driver = driverService.selectById(uid);
                CarService query1 = carServiceMapper.query(3, driver.getCarId());
                if(query1 == null){
                    return ResultUtil.error("车辆未添加跨城服务");
                    return ResultUtil.error(language == 1 ? "车辆未添加跨城服务" : language == 2 ? "No cross-city service is added to the vehicle" : "Véhicule non ajouté pour le service cross city");
                }
            }
            query = new DriverOrders();
@@ -59,7 +59,7 @@
            //判断当前业务是否已经出车
            DriverWork driverWork = driverWorkMapper.queryNewWork(uid, type, 1);
            if(null != driverWork){
                return ResultUtil.error("该业务已经出车,无法取消设置");
                return ResultUtil.error(language == 1 ? "该业务已经出车,无法取消设置" : language == 2 ? "This service has been deployed and cannot be canceled" : "Cette entreprise est déjà hors du véhicule et ne peut pas être désactivée");
            }
            this.deleteById(query.getId());
        }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -172,7 +172,7 @@
        //发送验证码短信
        redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
        SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+233" + phone, "[\"" + authCode + "\"]");
        SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+" + phone, "[\"" + authCode + "\"]");
        System.out.println(sms);
        return ResultUtil.success();
    }
@@ -277,8 +277,8 @@
     * @throws Exception
     */
    @Override
    public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
        ResultUtil<LoginWarpper> result = this.registeredDriver(phone, code, password,uid,type);
    public ResultUtil registeredDriver(String phoneOperator, String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
        ResultUtil<LoginWarpper> result = this.registeredDriver(phoneOperator, phone, code, password,uid,type, language);
        if(result.getCode() == 200 && null != uid){
            if(type == 2){
                Driver driver = driverMapper.selectById(uid);
@@ -312,7 +312,7 @@
                        document.getElementById("carAudit").attr("style", "display: none;");
                        Element invite_user = document.getElementById("invite_user");
                        invite_user.text("您好 " + driver.getName() + ",");
                        invite_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                        Element invite_content = document.getElementById("invite_content");
                        invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收");
                    }
@@ -330,7 +330,7 @@
                        document.getElementById("carAudit1").attr("style", "display: none;");
                        Element invite1_user = document.getElementById("invite1_user");
                        invite1_user.text("Hello " + driver.getName() + ",");
                        invite1_user.text("Hello " + driver.getFirstName() + "" + driver.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 " + bigDecimal.doubleValue() + " bonus, please check your balance.");
                    }
@@ -348,7 +348,7 @@
                        document.getElementById("carAudit2").attr("style", "display: none;");
                        Element invite2_user = document.getElementById("invite2_user");
                        invite2_user.text("Bonjour " + driver.getName() + ",");
                        invite2_user.text("Bonjour " + driver.getFirstName() + "" + driver.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 " + bigDecimal.doubleValue() + ". Veuillez vérifier");
                    }
@@ -398,10 +398,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil<LoginWarpper> registeredDriver(String phone, String code, String password,Integer uid,Integer uType) throws Exception {
    public ResultUtil<LoginWarpper> registeredDriver(String phoneOperator, String phone, String code, String password,Integer uid,Integer uType, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error("验证码无效");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
        }
        Driver driver1 = driverMapper.queryByPhone_(phone, 4);//获取审核不通过的数据
@@ -423,6 +423,7 @@
        Driver driver = new Driver();
        driver.setAccount(phone);
        driver.setJobNumber(getCode());
        driver.setPhoneOperator(phoneOperator);
        driver.setPhone(phone);
        driver.setPassword(ShiroKit.md5(password, salt));
        driver.setAuthState(1);
@@ -465,7 +466,8 @@
    @Override
    public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language) throws Exception {
        Driver driver = this.selectById(uid);
        driver.setName(registeredWarpper.getName());
        driver.setLastName(registeredWarpper.getLastName());
        driver.setFirstName(registeredWarpper.getFirstName());
        driver.setSex(registeredWarpper.getSex());
        driver.setIdCard(registeredWarpper.getIdCard());
        driver.setBirthday(registeredWarpper.getBirthday());
@@ -474,7 +476,7 @@
        String[] city = new String[]{city1.getEnglishName()};
        Company query = companyCityService.query(city);
        if(null == query){
            return ResultUtil.error("选择从业地暂未开通业务");
            return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "" : "选择从业地暂未开通业务");
        }
        if(null != query){
            switch (query.getType()){
@@ -548,7 +550,7 @@
                document1.getElementById("carAudit").attr("style", "display: none;");
                Element settle_user = document1.getElementById("settle_user");
                settle_user.text("您好 " + driver.getName() + ",");
                settle_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(2 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -564,7 +566,7 @@
                document1.getElementById("carAudit1").attr("style", "display: none;");
                Element settle1_user = document1.getElementById("settle1_user");
                settle1_user.text("Hello " + driver.getName() + ",");
                settle1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(3 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -580,7 +582,7 @@
                document1.getElementById("carAudit2").attr("style", "display: none;");
                Element settle2_user = document1.getElementById("settle2_user");
                settle2_user.text("Bonjour " + driver.getName() + ",");
                settle2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription",  document1.html());
        }
@@ -601,11 +603,11 @@
    public ResultUtil resetPassword(String phone, String code, String password, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error("验证码无效");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
        }
        Driver driver = driverMapper.queryByPhone(phone);
        if(null == driver){
            return ResultUtil.error("电话号码未注册");
            return ResultUtil.error(language == 1 ? "电话号码未注册" : language == 2 ? "The phone number is not registered" : "Numéro de téléphone non enregistré");
        }
        driver.setPassword(ShiroKit.md5(password, salt));
        driverMapper.updateById(driver);
@@ -627,7 +629,7 @@
                document1.getElementById("carAudit").attr("style", "display: none;");
                Element pass_user = document1.getElementById("pass_user");
                pass_user.text("您好 " + driver.getName() + ",");
                pass_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(2 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -643,7 +645,7 @@
                document1.getElementById("carAudit1").attr("style", "display: none;");
                Element pass1_user = document1.getElementById("pass1_user");
                pass1_user.text("Hello " + driver.getName() + ",");
                pass1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(3 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -659,7 +661,7 @@
                document1.getElementById("carAudit2").attr("style", "display: none;");
                Element pass2_user = document1.getElementById("pass2_user");
                pass2_user.text("Bonjour " + driver.getName() + ",");
                pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  document1.html());
        }
@@ -706,24 +708,24 @@
     * @throws Exception
     */
    @Override
    public ResultUtil<LoginWarpper> driverLogin(String phone, String password) throws Exception {
    public ResultUtil<LoginWarpper> driverLogin(String phone, String password, Integer language) throws Exception {
        Driver driver = driverMapper.queryByPhone(phone);
        if(null == driver){
            return ResultUtil.error("账号未注册");
            return ResultUtil.error(language == 1 ? "账号未注册" : language == 2 ? "Account not registered" : "Compte non enregistré");
        }
        if(driver.getAuthState() == 1){
            return ResultUtil.error("账号正在审核中,请耐心等待");
            return ResultUtil.error(language == 1 ? "账号正在审核中,请耐心等待" : language == 2 ? "The account is under review, please wait patiently" : "Le compte est en cours d’examen, veuillez patienter");
        }
        if(driver.getAuthState() == 3){
            return ResultUtil.error("账号已被冻结,请联系管理员");
            return ResultUtil.error(language == 1 ? "账号已被冻结,请联系管理员" : language == 2 ? "The account has been frozen. Please contact the administrator" : "Le compte a été bloqué, veuillez contacter l’administrateur");
        }
        if(!driver.getPassword().equals(ShiroKit.md5(password, salt))){
            return ResultUtil.error("密码错误");
            return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Password error" : "Mot de passe incorrect");
        }
        String value = redisUtil.getValue("DEVICE_" + driver.getId());
        if(ToolUtil.isNotEmpty(value)){
            return ResultUtil.error("当前账户正在车载端登录");
            return ResultUtil.error(language == 1 ? "当前账户正在车载端登录" : language == 2 ? "The current account is logging in to the vehicle terminal" : "Le compte actuel est connecté côté voiture");
        }
        //调用单点登录逻辑
@@ -734,11 +736,6 @@
        loginWarpper.setId(driver.getId());
        loginWarpper.setToken(token);
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        //创建高德猎鹰的终端数据
        String tid = gdFalconUtil.createTerminal(phone);
        loginWarpper.setServerId(gdFalconUtil.getServerId());
        loginWarpper.setTerminalId(tid);
        if(driver.getCompanyId()==null){
            loginWarpper.setJumpCode("100000");
        }else{
@@ -816,14 +813,14 @@
     * @throws Exception
     */
    @Override
    public ResultUtil work(Integer uid, String type) throws Exception {
    public ResultUtil work(Integer uid, String type, Integer language) throws Exception {
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        Driver driver = this.selectById(uid);
        if(null != driverWork){//作下班操作
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
            if(list.size() > 0){
                return ResultUtil.error("还有未完成的订单,不能进行下班操作");
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
            }
            driverWork.setEndTime(new Date());
            driverWork.setState(2);
@@ -842,20 +839,20 @@
            }
            //判断是否存在审核中的资料
            if(driver.getAuthState()==1){
                return ResultUtil.error("资料审核中,不能出车");
                return ResultUtil.error(language == 1 ? "资料审核中,不能出车" : language == 2 ? "Data review, can't get out of the car" : "Données en cours de vérification, pas de voiture disponible");
            }
            if(driver.getAuthState()==4){
                return ResultUtil.error("请完善资料后再出车");
                return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete the information before leaving the car" : "Veuillez compléter vos données avant de sortir");
            }
            Car car = carService.selectById(driver.getCarId());
            if(car==null){
                return ResultUtil.error("请完善资料后再出车");
                return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete the information before leaving the car" : "Veuillez compléter vos données avant de sortir");
            }
            if(car.getAuthState()==1){
                return ResultUtil.error("资料审核中,不能出车");
                return ResultUtil.error(language == 1 ? "资料审核中,不能出车" : language == 2 ? "Data review, can't get out of the car" : "Données en cours de vérification, pas de voiture disponible");
            }
            if(car.getAuthState()==4){
                return ResultUtil.error("请完善资料后再出车");
                return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete the information before leaving the car" : "Veuillez compléter vos données avant de sortir");
            }
            driverWork = new DriverWork();
            driverWork.setState(1);
@@ -873,12 +870,12 @@
    @Override
    public ResultUtil work2(Integer uid, String type) throws Exception {
    public ResultUtil work2(Integer uid, String type, Integer language) throws Exception {
        //判断是否已经上班,如果已经上班则先下班操作
        DriverWork driverWork1 = driverWorkMapper.queryNewWork(uid, null, 1);
        if(null != driverWork1){
            if(!driverWork1.getType().equals("2")){
                return ResultUtil.error("请先将其他业务下班后再进行上班操作");
                return ResultUtil.error(language == 1 ? "请先将其他业务下班后再进行上班操作" : language == 2 ? "Please do other business after work first" : "S’il vous plaît faire d’autres affaires après les heures de travail avant de travailler");
            }
        }
@@ -888,7 +885,7 @@
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
            if(list.size() > 0){
                return ResultUtil.error("还有未完成的订单,不能进行下班操作");
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
            }
            driverWork.setEndTime(new Date());
            driverWork.setState(2);
@@ -920,7 +917,7 @@
                if(Integer.valueOf(t) == 3){
                    CarService query1 = carServiceMapper.query(3, driver.getCarId());
                    if(query1 == null){
                        return ResultUtil.error("车辆未添加跨城服务");
                        return ResultUtil.error(language == 1 ? "车辆未添加跨城服务" : language == 2 ? "No cross-city service is added to the vehicle" : "Véhicule non ajouté pour le service cross city");
                    }
                }
                DriverOrders query = driverOrdersMapper.query(uid, Integer.valueOf(t));
@@ -1032,17 +1029,18 @@
     * @throws Exception
     */
    @Override
    public ResultUtil updatePhone(String phone, String code, Integer uid) throws Exception {
    public ResultUtil updatePhone(String phoneOperator, String phone, String code, Integer uid, Integer language) throws Exception {
        Driver driver = driverMapper.queryByPhone(phone);
        if(null != driver){
            return ResultUtil.error("电话号码已被注册");
            return ResultUtil.error(language == 1 ? "电话号码已被注册" : language == 2 ? "he phone number is registered" : "Le numéro de téléphone a été enregistré");
        }
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error("验证码无效");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
        }
        Driver driver1 = this.selectById(uid);
        driver1.setAccount(phone);
        driver1.setPhoneOperator(phoneOperator);
        driver1.setPhone(phone);
        this.updateById(driver1);
@@ -1098,7 +1096,7 @@
                document1.getElementById("carAudit").attr("style", "display: none;");
                Element pass_user = document1.getElementById("pass_user");
                pass_user.text("您好 " + driver.getName() + ",");
                pass_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(2 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -1114,7 +1112,7 @@
                document1.getElementById("carAudit1").attr("style", "display: none;");
                Element pass1_user = document1.getElementById("pass1_user");
                pass1_user.text("Hello " + driver.getName() + ",");
                pass1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            if(2 == language){
                document1.getElementById("chinese").attr("style", "display: none;");
@@ -1130,7 +1128,7 @@
                document1.getElementById("carAudit2").attr("style", "display: none;");
                Element pass2_user = document1.getElementById("pass2_user");
                pass2_user.text("Bonjour " + driver.getName() + ",");
                pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  document1.html());
        }
@@ -1145,24 +1143,24 @@
     * @throws Exception
     */
    @Override
    public ResultUtil replaceCar(Integer carId, Integer uid) throws Exception {
    public ResultUtil replaceCar(Integer carId, Integer uid, Integer language) throws Exception {
        Driver driver = this.selectById(uid);
        if(driver.getState() == 3){
            return ResultUtil.error("还在服务中,不能更换");
            return ResultUtil.error(language == 1 ? "还在服务中,不能更换" : language == 2 ? "It is still in service and cannot be replaced" : "Toujours en service, non échangeable");
        }
        Car car = carService.selectById(carId);
        if(null == car){
            return ResultUtil.error("车辆无效");
            return ResultUtil.error(language == 1 ? "车辆无效" : language == 2 ? "Invalid vehicle" : "Véhicule non valide");
        }
        if(car.getAuthState() == 1){
            return ResultUtil.error("车辆正在审核中");
            return ResultUtil.error(language == 1 ? "车辆正在审核中" : language == 2 ? "The vehicle is under review" : "Véhicule en révision");
        }
        if(car.getAuthState() == 3){
            return ResultUtil.error("车辆已冻结");
            return ResultUtil.error(language == 1 ? "车辆已冻结" : language == 2 ? "Vehicle frozen" : "Le véhicule a été gelé");
        }
        boolean idle = carService.idle(carId);
        if(!idle){
            return ResultUtil.error("车辆已被绑定了");
            return ResultUtil.error(language == 1 ? "车辆已被绑定了" : language == 2 ? "The vehicle has been bound" : "e véhicule a été lié");
        }
        driver.setCarId(carId);
        this.updateById(driver);
@@ -1394,7 +1392,7 @@
                            document1.getElementById("carAudit").attr("style", "display: none;");
                            Element rewardToday_user = document1.getElementById("rewardToday_user");
                            rewardToday_user.text("您好 " + driver.getName() + ",");
                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday_award = document1.getElementById("rewardToday_award");
                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
                            Element rewardToday_content = document1.getElementById("rewardToday_content");
@@ -1414,7 +1412,7 @@
                            document1.getElementById("carAudit1").attr("style", "display: none;");
                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
                            rewardToday1_user.text("Hello " + driver.getName() + ",");
                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
@@ -1434,7 +1432,7 @@
                            document1.getElementById("carAudit2").attr("style", "display: none;");
                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
                            rewardToday2_user.text("Bonjour " + driver.getName() + ",");
                            rewardToday2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
@@ -1475,7 +1473,7 @@
                            document1.getElementById("carAudit").attr("style", "display: none;");
                            Element rewardToday_user = document1.getElementById("rewardToday_user");
                            rewardToday_user.text("您好 " + driver.getName() + ",");
                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday_award = document1.getElementById("rewardToday_award");
                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
                            Element rewardToday_content = document1.getElementById("rewardToday_content");
@@ -1495,7 +1493,7 @@
                            document1.getElementById("carAudit1").attr("style", "display: none;");
                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
                            rewardToday1_user.text("Hello " + driver.getName() + ",");
                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
@@ -1515,7 +1513,7 @@
                            document1.getElementById("carAudit2").attr("style", "display: none;");
                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
                            rewardToday2_user.text("Bonjour " + driver.getName() + ",");
                            rewardToday2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
@@ -1557,7 +1555,7 @@
                            document1.getElementById("carAudit").attr("style", "display: none;");
                            Element rewardToday_user = document1.getElementById("rewardToday_user");
                            rewardToday_user.text("您好 " + driver.getName() + ",");
                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday_award = document1.getElementById("rewardToday_award");
                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
                            Element rewardToday_content = document1.getElementById("rewardToday_content");
@@ -1577,7 +1575,7 @@
                            document1.getElementById("carAudit1").attr("style", "display: none;");
                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
                            rewardToday1_user.text("Hello " + driver.getName() + ",");
                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
@@ -1597,7 +1595,7 @@
                            document1.getElementById("carAudit2").attr("style", "display: none;");
                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
                            rewardToday2_user.text("Bonjour " + driver.getName() + ",");
                            rewardToday2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
@@ -1639,7 +1637,7 @@
                            document1.getElementById("carAudit").attr("style", "display: none;");
                            Element rewardToday_user = document1.getElementById("rewardToday_user");
                            rewardToday_user.text("您好 " + driver.getName() + ",");
                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday_award = document1.getElementById("rewardToday_award");
                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
                            Element rewardToday_content = document1.getElementById("rewardToday_content");
@@ -1659,7 +1657,7 @@
                            document1.getElementById("carAudit1").attr("style", "display: none;");
                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
                            rewardToday1_user.text("Hello " + driver.getName() + ",");
                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
@@ -1679,7 +1677,7 @@
                            document1.getElementById("carAudit2").attr("style", "display: none;");
                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
                            rewardToday2_user.text("Bonjour " + driver.getName() + ",");
                            rewardToday2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
@@ -1743,7 +1741,7 @@
                            document1.getElementById("carAudit").attr("style", "display: none;");
                            Element reward_user = document1.getElementById("reward_user");
                            reward_user.text("您好 " + driver.getName() + ",");
                            reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element reward_content = document1.getElementById("reward_content");
                            reward_content.text("今日累计在线 " + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收");
                        }
@@ -1761,7 +1759,7 @@
                            document1.getElementById("carAudit1").attr("style", "display: none;");
                            Element reward1_user = document1.getElementById("reward1_user");
                            reward1_user.text("Hello " + driver.getName() + ",");
                            reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element reward1_content = document1.getElementById("reward1_content");
                            reward1_content.text("accumulated online for " + dao.getOnline() + " hour today, get reward GHS" + dah.getMoney() + ", please check");
                        }
@@ -1779,7 +1777,7 @@
                            document1.getElementById("carAudit2").attr("style", "display: none;");
                            Element reward2_user = document1.getElementById("reward2_user");
                            reward2_user.text("Bonjour " + driver.getName() + ",");
                            reward2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                            Element reward2_content = document1.getElementById("reward2_content");
                            reward2_content.text("Accumulé en ligne pendant " + dao.getOnline() + " heure aujourd’hui, obtenez la récompense GHS " + dah.getMoney() + ", s’il vous plaît vérifier");
                        }
@@ -1827,7 +1825,7 @@
                        document1.getElementById("carAudit").attr("style", "display: none;");
                        Element reward_user = document1.getElementById("reward_user");
                        reward_user.text("您好 " + driver.getName() + ",");
                        reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
                        Element reward_content = document1.getElementById("reward_content");
                        reward_content.text("今日累计接单 " + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收");
                    }
@@ -1845,7 +1843,7 @@
                        document1.getElementById("carAudit1").attr("style", "display: none;");
                        Element reward1_user = document1.getElementById("reward1_user");
                        reward1_user.text("Hello " + driver.getName() + ",");
                        reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
                        Element reward1_content = document1.getElementById("reward1_content");
                        reward1_content.text("A total of " + dao.getOrderNum() + " orders have been received today, and the reward GHS" + dah.getMoney() + " will be awarded, please check");
                    }
@@ -1863,7 +1861,7 @@
                        document1.getElementById("carAudit2").attr("style", "display: none;");
                        Element reward2_user = document1.getElementById("reward2_user");
                        reward2_user.text("Bonjour " + driver.getName() + ",");
                        reward2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
                        Element reward2_content = document1.getElementById("reward2_content");
                        reward2_content.text("Un total de " + dao.getOrderNum() + " commandes ont été reçues aujourd’hui, et la récompense GHS " + dah.getMoney() + " sera décernée, s’il vous plaît vérifier");
                    }
@@ -1879,16 +1877,16 @@
     * @return
     */
    @Override
    public ResultUtil loginByJobNumber(String jobNum) {
    public ResultUtil loginByJobNumber(String jobNum, Integer language) {
        Driver driver = driverMapper.queryByJobNum(jobNum);
        if(null == driver){
            return ResultUtil.error("账号未注册,请先注册账号");
            return ResultUtil.error(language == 1 ? "账号未注册,请先注册账号" : language == 2 ? "Account is not registered, please register an account first" : "Le compte n’est pas enregistré. Veuillez d’abord créer un compte");
        }
        if(driver.getAuthState() == 1){
            return ResultUtil.error("账号正在审核中,请耐心等待");
            return ResultUtil.error(language == 1 ? "账号正在审核中,请耐心等待" : language == 2 ? "The account is under review, please wait patiently" : "Le compte est en cours d’examen, veuillez patienter");
        }
        if(driver.getAuthState() == 3){
            return ResultUtil.error("账号已被冻结,请联系管理员");
            return ResultUtil.error(language == 1 ? "账号已被冻结,请联系管理员" : language == 2 ? "The account has been frozen. Please contact the administrator" : "Le compte a été bloqué, veuillez contacter l’administrateur");
        }
        List<DriverService> list = driverServiceMapper.queryMyBusiness(driver.getId());
        boolean b = true;
@@ -1899,7 +1897,7 @@
            }
        }
        if(b){
            return ResultUtil.error("没有出租车业务权限");
            return ResultUtil.error(language == 1 ? "没有出租车业务权限" : language == 2 ? "No taxi service authority" : "Pas d’accès aux affaires de taxi");
        }
        //开始自动设置接单类型,出车类型,上班状态
@@ -1977,16 +1975,16 @@
     * @throws Exception
     */
    @Override
    public ResultUtil loginByIdentification(String identification) throws Exception {
    public ResultUtil loginByIdentification(String identification, Integer language) throws Exception {
        Driver driver = driverMapper.queryByIdentification(identification);
        if(null == driver){
            return ResultUtil.error("账号未注册,请先注册账号");
            return ResultUtil.error(language == 1 ? "账号未注册,请先注册账号" : language == 2 ? "Account is not registered, please register an account first" : "Le compte n’est pas enregistré. Veuillez d’abord créer un compte");
        }
        if(driver.getAuthState() == 1){
            return ResultUtil.error("账号正在审核中,请耐心等待");
            return ResultUtil.error(language == 1 ? "账号正在审核中,请耐心等待" : language == 2 ? "The account is under review, please wait patiently" : "Le compte est en cours d’examen, veuillez patienter");
        }
        if(driver.getAuthState() == 3){
            return ResultUtil.error("账号已被冻结,请联系管理员");
            return ResultUtil.error(language == 1 ? "账号已被冻结,请联系管理员" : language == 2 ? "The account has been frozen. Please contact the administrator" : "Le compte a été bloqué, veuillez contacter l’administrateur");
        }
        List<DriverService> list = driverServiceMapper.queryMyBusiness(driver.getId());
        boolean b = true;
@@ -1997,7 +1995,7 @@
            }
        }
        if(b){
            return ResultUtil.error("没有出租车业务权限");
            return ResultUtil.error(language == 1 ? "没有出租车业务权限" : language == 2 ? "No taxi service authority" : "Pas d’accès aux affaires de taxi");
        }
        //开始自动设置接单类型,出车类型,上班状态
@@ -2063,16 +2061,16 @@
     * @throws Exception
     */
    @Override
    public ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard) throws Exception {
    public ResultUtil loginByTaxiAptitudeCard(String taxiAptitudeCard, Integer language) throws Exception {
        Driver driver = driverMapper.queryByTaxiAptitudeCard(taxiAptitudeCard);
        if(null == driver){
            return ResultUtil.error("账号未注册,请先注册账号");
            return ResultUtil.error(language == 1 ? "账号未注册,请先注册账号" : language == 2 ? "Account is not registered, please register an account first" : "Le compte n’est pas enregistré. Veuillez d’abord créer un compte");
        }
        if(driver.getAuthState() == 1){
            return ResultUtil.error("账号正在审核中,请耐心等待");
            return ResultUtil.error(language == 1 ? "账号正在审核中,请耐心等待" : language == 2 ? "The account is under review, please wait patiently" : "Le compte est en cours d’examen, veuillez patienter");
        }
        if(driver.getAuthState() == 3){
            return ResultUtil.error("账号已被冻结,请联系管理员");
            return ResultUtil.error(language == 1 ? "账号已被冻结,请联系管理员" : language == 2 ? "The account has been frozen. Please contact the administrator" : "Le compte a été bloqué, veuillez contacter l’administrateur");
        }
        List<DriverService> list = driverServiceMapper.queryMyBusiness(driver.getId());
        boolean b = true;
@@ -2083,7 +2081,7 @@
            }
        }
        if(b){
            return ResultUtil.error("没有出租车业务权限");
            return ResultUtil.error(language == 1 ? "没有出租车业务权限" : language == 2 ? "No taxi service authority" : "Pas d’accès aux affaires de taxi");
        }
        //开始自动设置接单类型,出车类型,上班状态
@@ -2169,13 +2167,13 @@
     * @throws Exception
     */
    @Override
    public ResultUtil verificationPassword(String password, Integer driverId) throws Exception {
    public ResultUtil verificationPassword(String password, Integer driverId, Integer language) throws Exception {
        Driver driver = this.selectById(driverId);
        if(null == driver){
            return ResultUtil.error("账户无效,请重新登录");
            return ResultUtil.error(language == 1 ? "账户无效,请重新登录" : language == 2 ? "Account is invalid, please login again" : "Compte invalide, veuillez vous reconnecter");
        }
        if(!driver.getPassword().equals(ShiroKit.md5(password, salt))){
            return ResultUtil.error("密码错误");
            return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Password error" : "Mot de passe incorrect");
        }
        return ResultUtil.success();
    }
@@ -2188,10 +2186,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil setWithdrawPassword(String withdrawPassword, Integer driverId) throws Exception {
    public ResultUtil setWithdrawPassword(String withdrawPassword, Integer driverId, Integer language) throws Exception {
        Driver driver = this.selectById(driverId);
        if(null == driver){
            return ResultUtil.error("账户无效,请重新登录");
            return ResultUtil.error(language == 1 ? "账户无效,请重新登录" : language == 2 ? "Account is invalid, please login again" : "Compte invalide, veuillez vous reconnecter");
        }
        driver.setWithdrawPassword(ShiroKit.md5(withdrawPassword, salt));
        this.updateById(driver);
@@ -2207,16 +2205,16 @@
     * @throws Exception
     */
    @Override
    public ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer driverId) throws Exception {
    public ResultUtil verificationWithdrawPassword(String withdrawPassword, Integer driverId, Integer language) throws Exception {
        Driver driver = this.selectById(driverId);
        if(null == driver){
            return ResultUtil.error("账户无效,请重新登录");
            return ResultUtil.error(language == 1 ? "账户无效,请重新登录" : language == 2 ? "Account is invalid, please login again" : "Compte invalide, veuillez vous reconnecter");
        }
        if(null == driver.getWithdrawPassword()){
            return ResultUtil.error("请先设置提现密码");
            return ResultUtil.error(language == 1 ? "请先设置提现密码" : language == 2 ? "Please set the withdrawal password first" : "Veuillez d’abord définir un mot de passe de retrait");
        }
        if(!driver.getWithdrawPassword().equals(ShiroKit.md5(withdrawPassword, salt))){
            return ResultUtil.error("密码错误");
            return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Password error" : "Mot de passe incorrect");
        }
        return ResultUtil.success();
    }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
@@ -29,10 +29,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil feedback(String content, Integer uid) throws Exception {
    public ResultUtil feedback(String content, Integer uid, Integer language) throws Exception {
        if(ToolUtil.isNotEmpty(content)){
            if(content.length() > 200){
                return ResultUtil.error("反馈内容过长");
                return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "The feedback is too long" : "Le contenu des commentaires est trop long");
            }
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            for(SensitiveWords s : sensitiveWords){
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderPositionServiceImpl.java
@@ -8,9 +8,6 @@
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.service.IOrderPositionService;
import com.stylefeng.guns.modular.system.service.IOrderService;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -20,7 +17,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -402,16 +402,16 @@
     * @throws Exception
     */
    @Override
    public synchronized ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid) throws Exception {
    public synchronized ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid, Integer language) throws Exception {
        switch (orderType){
            case 1://专车
                return orderPrivateCarService.grabOrder(orderId, uid);
                return orderPrivateCarService.grabOrder(orderId, uid, language);
            case 2://出租
//                return orderTaxiService.grabOrder(orderId, uid);
            case 3://城际
                return ResultUtil.success();//不作任何操作,跨城默认选择的司机
            case 4://同城小件
                return orderLogisticsService.grabOrder(orderId, uid);
                return orderLogisticsService.grabOrder(orderId, uid, language);
            case 5://跨城小件
//                return orderLogisticsService.grabOrder(orderId, uid);
            case 6:
@@ -439,9 +439,9 @@
            case 3://城际
                break;
            case 4://同城小件
                return orderLogisticsService.grabOrder_(orderId, uid);
//                return orderLogisticsService.grabOrder_(orderId, uid);
            case 5://跨城小件
                return orderLogisticsService.grabOrder_(orderId, uid);
//                return orderLogisticsService.grabOrder_(orderId, uid);
            case 6:
                break;
        }
@@ -528,21 +528,21 @@
     * @throws Exception
     */
    @Override
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone) throws Exception {
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone, Integer language) throws Exception {
        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon);
        if(null == reverseGeocode){
            return ResultUtil.error("无效的经纬度");
            return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid latitude and longitude" : "Latitude et longitude invalides");
        }
        String address = reverseGeocode.getAddress();
        switch (orderType){
            case 1://专车
                return orderPrivateCarService.process(orderId, state, lon, lat, address,phone);
                return orderPrivateCarService.process(orderId, state, lon, lat, address, phone, language);
            case 2://出租
//                return orderTaxiService.process(orderId, state, lon, lat, address);
            case 3://城际
//                return orderCrossCityService.process(orderId, state, lon, lat, address);
            case 4://同城小件
                return orderLogisticsService.process(orderId, state, lon, lat, address);
                return orderLogisticsService.process(orderId, state, lon, lat, address, language);
            case 5://跨城小件
//                return orderLogisticsService.process(orderId, state, lon, lat, address);
            case 6:
@@ -910,7 +910,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil completeOrder(Integer orderId, Integer orderType) throws Exception {
    public ResultUtil completeOrder(Integer orderId, Integer orderType, Integer language) throws Exception {
        Integer userId = 0;
        Integer driverId = 0;
        Integer state = 0;
@@ -918,10 +918,10 @@
            case 1:
                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){
                    return ResultUtil.error("订单已完成支付,不允许重复支付");
                    return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, no double payment is allowed" : "La commande a été payée, aucun paiement en double n’est autorisé");
                }
                if(orderPrivateCar.getState() != 7){
                    return ResultUtil.error("订单不在待支付,无法完成订单");
                    return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "Order is not pending payment, order cannot be completed" : "La commande n’est pas en attente de paiement, la commande ne peut pas être complétée");
                }
                orderPrivateCar.setPayManner(2);//其他方式支付
                orderPrivateCar.setRedPacketMoney(0D);
@@ -939,10 +939,10 @@
            case 2:
                OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                if(orderTaxi.getState() == 8 || orderTaxi.getState() == 9){
                    return ResultUtil.error("订单已完成支付,不允许重复支付");
                    return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, no double payment is allowed" : "La commande a été payée, aucun paiement en double n’est autorisé");
                }
                if(orderTaxi.getState() != 7){
                    return ResultUtil.error("订单不在待支付,无法完成订单");
                    return ResultUtil.error(language == 1 ? "订单不在待支付,无法完成订单" : language == 2 ? "Order is not pending payment, order cannot be completed" : "La commande n’est pas en attente de paiement, la commande ne peut pas être complétée");
                }
                orderTaxi.setPayManner(2);//其他方式支付
                orderTaxi.setRedPacketMoney(0D);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -93,7 +93,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception {
    public ResultUtil saveData(Reassign reassign, Integer uid, Integer type, Integer language) throws Exception {
        String content = reassign.getRemark();
        if(ToolUtil.isNotEmpty(content)){
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
@@ -110,7 +110,7 @@
        }
        query = reassignMapper.query(uid, null, reassign.getOrderId(), reassign.getOrderType(), 2);
        if(null != query){
            return ResultUtil.error("您提交的申请正在处理中");
            return ResultUtil.error(language == 1 ? "您提交的申请正在处理中" : language == 2 ? "our application is being processed" : "Votre demande est en cours de traitement");
        }
        //获取支付金额
@@ -151,17 +151,7 @@
                orderLogisticsService.updateById(orderLogistics1);
                break;
        }
        //开始推送调度单
        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);
        for(Dispatch dispatch : dispatches){
            jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId());
        }
        systemNoticeService.addSystemNotice(2, "您的改派申请已成功提交,我们会尽快为你处理!", uid);
        systemNoticeService.addSystemNotice(2, language == 1 ? "您的改派申请已成功提交,我们会尽快为你处理!" : language == 2 ? "Your reassignment application has been successfully submitted, we will process it for you as soon as possible!" : "Votre demande de réaffectation a été soumise avec succès. Nous la traiterons pour vous dès que possible!", uid);
        return resultUtil;
    }
@@ -176,7 +166,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil saveData_(Reassign reassign, String orderIds, Integer uid, Integer type) throws Exception {
    public ResultUtil saveData_(Reassign reassign, String orderIds, Integer uid, Integer type, Integer language) throws Exception {
        type = null == type ? 2 : type;//现目前微信只支持小程序支付
        String content = reassign.getRemark();
        if(ToolUtil.isNotEmpty(content)){
@@ -205,7 +195,7 @@
            }
            query = reassignMapper.query(uid, null, Integer.valueOf(id), 3, 2);
            if(null != query){
                return ResultUtil.error("您提交的申请正在处理中");
                return ResultUtil.error(language == 1 ? "您提交的申请正在处理中" : language == 2 ? "Your application is being processed" : "Votre demande est en cours de traitement");
            }
            reassign.setMoney(aDouble);
@@ -219,7 +209,7 @@
            ids += reassign.getId() + ",";
        }
        ids = ids.substring(0, ids.length() - 1);
        systemNoticeService.addSystemNotice(2, "您的改派申请已成功提交,我们会尽快为你处理!", uid);
        systemNoticeService.addSystemNotice(2, language == 1 ? "您的改派申请已成功提交,我们会尽快为你处理!" : language == 2 ? "Your reassignment application has been successfully submitted, we will process it for you as soon as possible!" : "Votre demande de réaffectation a été soumise avec succès. Nous la traiterons pour vous dès que possible!", uid);
        //开始支付
        if(null != reassign.getPayType()){
@@ -233,7 +223,7 @@
                    }
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
                    resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Échec à obtenir les informations de paiement", "");
                }
            }
            if(reassign.getPayType() == 2){//支付宝
@@ -246,7 +236,7 @@
                    }
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
                    resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Échec à obtenir les informations de paiement", "");
                }
            }
            if(reassign.getPayType() == 3){//余额
@@ -256,11 +246,11 @@
                    query.setPayTime(new Date());
                    reassignMapper.updateById(query);
                    //添加交易明细
                    transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id));
                    transactionDetailsService.saveData(uid, language == 1 ? "司机改派支付" : language == 2 ? "The driver was reassigned to pay" : "Paiement de réaffectation du conducteur", aDouble, 2, 1, 2, 3, Integer.valueOf(id));
                }
                Double balance = driver.getBalance();
                if(null == balance || balance < totalMoney){
                    throw new SystemException("账户余额不足");
                    throw new SystemException(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde insuffisant du compte");
                }
                driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(totalMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driverService.updateById(driver);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -51,20 +51,18 @@
    /**
     * 提现操作
     * @param money
     * @param code
     * @param name
     * @param uid
     * @throws Exception
     */
    @Override
    public ResultUtil withdrawal(Double money, String code, String name, Integer uid, Integer type,String bankName) throws Exception {
    public ResultUtil withdrawal(Double money, Integer uid, Integer type, Integer language) throws Exception {
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error("提现金额必须大于0");
            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "The withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0");
        }
        Driver driver = driverService.selectById(uid);
        Integer withdrawalRule = driverService.getWithdrawalRule();
        if(withdrawalRule==null){
            return ResultUtil.error("暂未设置提现时间,请联系平台");
            return ResultUtil.error(language == 1 ? "暂未设置提现时间,请联系平台" : language == 2 ? "No withdrawal time has been set, please contact the platform" : "Aucune heure de retrait n’a été définie pour le moment. Veuillez contacter la plateforme");
        }
        String week =withdrawalRule==1?"星期一":
                withdrawalRule==2?"星期二":
@@ -74,12 +72,13 @@
                                            withdrawalRule==6?"星期六":"星期日";
        String weeks = DateUtil.getAfterDayWeek("0");
        if(!weeks.equals(week)){
            return ResultUtil.error(" 每周"+(withdrawalRule==1?"一":
                    withdrawalRule==2?"二":
                            withdrawalRule==3?"三":
                                    withdrawalRule==4?"四":
                                            withdrawalRule==5?"五":
                                                    withdrawalRule==6?"六":"日")+"统一申请提现,平台统一处理。");
            return ResultUtil.error((language == 1 ? "每周" : language == 2 ? "Every" : "Chaque") +(withdrawalRule==1? (language == 1 ? "一" : language == 2 ? "Monday" : "lundi") :
                    withdrawalRule==2?(language == 1 ? "二" : language == 2 ? "Tuesday" : "mardi"):
                            withdrawalRule==3?(language == 1 ? "三" : language == 2 ? "Wednesday" : "mercredi"):
                                    withdrawalRule==4?(language == 1 ? "四" : language == 2 ? "Thursday" : "jeudi"):
                                            withdrawalRule==5?(language == 1 ? "五" : language == 2 ? "Friday" : "vendredi"):
                                                    withdrawalRule==6?(language == 1 ? "六" : language == 2 ? "Saturday" : "samedi"):(language == 1 ? "日" : language == 2 ? "Sunday" : "dimanche")) +
                    (language == 1 ? "统一申请提现,平台统一处理。" : language == 2 ? "nified application for withdrawal, platform unified processing" : "Demande de retrait unifiée et traitement unifié sur la plateforme"));
        }
        if(null == type){
            type = 1;
@@ -88,36 +87,36 @@
        Withdrawal withdrawal = new Withdrawal();
        if(type == 1){
            if(null == driver.getLaveActivityMoney()){
                return ResultUtil.error("账户没有余额,不能提现");
                return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "There is no balance in the account, no cash can be withdrawn" : "Le compte n’a pas de solde et ne peut pas être retiré");
            }
            if(driver.getLaveActivityMoney().compareTo(money) < 0){
                return ResultUtil.error("提现金额必须小于账户余额");
                return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "The withdrawal amount must be less than the account balance" : "Le montant du retrait doit être inférieur au solde du compte");
            }
            withdrawal.setBalance(driver.getLaveActivityMoney());
        }
        if(type == 2){
            if(null == driver.getLaveBusinessMoney()){
                return ResultUtil.error("账户没有余额,不能提现");
                return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "There is no balance in the account, no cash can be withdrawn" : "Le compte n’a pas de solde et ne peut pas être retiré");
            }
            Double money1 = driverService.getThisWeekMoney(uid);
            Double laveBusinessMoney =driver.getLaveBusinessMoney()-(money1==null?0d:money1);
            if(laveBusinessMoney.compareTo(money) < 0){
                return ResultUtil.error("提现金额必须小于账户余额");
                return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "The withdrawal amount must be less than the account balance" : "Le montant du retrait doit être inférieur au solde du compte");
            }
            withdrawal.setBalance(driver.getLaveBusinessMoney()-(money1==null?0d:money1));
        }
        withdrawal.setCode(code);
        withdrawal.setCode(driver.getPhone());// TODO: 2023/7/5 第三方支支持手机号提现
        withdrawal.setBankName(driver.getPhoneOperator());
        withdrawal.setFlag(1);
        withdrawal.setInsertTime(new Date());
        withdrawal.setMoney(money);
        withdrawal.setName(name);
        withdrawal.setName(driver.getFirstName() + " " + driver.getLastName());
        withdrawal.setState(1);
        withdrawal.setUserId(uid);
        withdrawal.setUserType(2);
        withdrawal.setBankName(bankName);
        withdrawal.setType(type);
        withdrawal.setWithdrawalType(1);//线上
        this.insert(withdrawal);
        if(type == 1){
            double v = new BigDecimal(driver.getLaveActivityMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
@@ -158,13 +157,13 @@
     * @throws Exception
     */
    @Override
    public ResultUtil withdrawalAudit(Integer id, Integer state) throws Exception {
    public ResultUtil withdrawalAudit(Integer id, Integer state, Integer language) throws Exception {
        Withdrawal withdrawal = this.selectById(id);
        if(withdrawal.getState() == 2){
            return ResultUtil.error("申请已审核通过,不能重复提交");
            return ResultUtil.error(language == 1 ? "申请已审核通过,不能重复提交" : language == 2 ? "The application has been approved and cannot be submitted again" : "La demande a été examinée et approuvée et ne peut pas être soumise en double");
        }
        if(withdrawal.getState() == 3){
            return ResultUtil.error("申请已审核拒绝,不能重复提交");
            return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "The application has been rejected and cannot be submitted again" : "La demande a été examinée et rejetée, ne peut pas être soumise en double");
        }
        if(withdrawal.getUserType() == 1){//用户
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
File was deleted
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java
@@ -11,8 +11,12 @@
    private Integer id;
    @ApiModelProperty("头像")
    private String avatar;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("姓")
    private String lastName;
    @ApiModelProperty("名")
    private String firstName;
    @ApiModelProperty("手机号码运营商")
    private String phoneOperator;
    @ApiModelProperty("电话")
    private String phone;
    @ApiModelProperty("邮箱")
@@ -111,12 +115,28 @@
        this.avatar = avatar;
    }
    public String getName() {
        return name;
    public String getLastName() {
        return lastName;
    }
    public void setName(String name) {
        this.name = name;
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getPhoneOperator() {
        return phoneOperator;
    }
    public void setPhoneOperator(String phoneOperator) {
        this.phoneOperator = phoneOperator;
    }
    public String getPhone() {
@@ -435,7 +455,9 @@
            driverInfoWarpper.setAvatar(null != map.get("avatar") ? String.valueOf(map.get("avatar")) : "");
            driverInfoWarpper.setQrCode(null != map.get("qrCode") ? String.valueOf(map.get("qrCode")) : "");
            driverInfoWarpper.setQrCodeIsOpen(null != map.get("qrCodeIsOpen") ? Boolean.valueOf(map.get("qrCodeIsOpen").toString()) : false);
            driverInfoWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")) : "");
            driverInfoWarpper.setLastName(null != map.get("lastName") ? String.valueOf(map.get("lastName")) : "");
            driverInfoWarpper.setFirstName(null != map.get("firstName") ? String.valueOf(map.get("firstName")) : "");
            driverInfoWarpper.setPhoneOperator(null != map.get("phoneOperator") ? String.valueOf(map.get("phoneOperator")) : "");
            driverInfoWarpper.setPhone(null != map.get("phone") ? String.valueOf(map.get("phone")) : "");
            driverInfoWarpper.setEmail(null != map.get("email") ? String.valueOf(map.get("email")) : "");
            driverInfoWarpper.setSex(null != map.get("sex") ? Integer.valueOf(String.valueOf(map.get("sex"))) : 0);
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/RegisteredWarpper.java
@@ -11,8 +11,10 @@
    private String phone;
    @ApiModelProperty("密码")
    private String password;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("姓")
    private String lastName;
    @ApiModelProperty("名")
    private String firstName;
    @ApiModelProperty("性别(1=男,2=女)")
    private Integer sex;
    @ApiModelProperty("生日")
@@ -59,12 +61,20 @@
        this.password = password;
    }
    public String getName() {
        return name;
    public String getLastName() {
        return lastName;
    }
    public void setName(String name) {
        this.name = name;
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public Integer getSex() {
@@ -184,7 +194,6 @@
        return "RegisteredWarpper{" +
                "phone='" + phone + '\'' +
                ", password='" + password + '\'' +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", driverContactAddress='" + driverContactAddress + '\'' +
                ", driverContactAddress_='" + driverContactAddress_ + '\'' +
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -219,7 +219,7 @@
        }).start();
        systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getLastName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId());
        return ResultUtil.success();
    }
@@ -304,7 +304,7 @@
        }).start();
        systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId());
        systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getLastName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId());
        return ResultUtil.success();
    }