puzhibing
2023-12-01 dae4651a80ac06f432a2ff448a199afb6dc0d2b3
更新
40个文件已修改
1121 ■■■■ 已修改文件
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/IOrderCharteredCarService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 269 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityBalanceMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityInviteMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityRegisteredMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderCancelService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderEvaluateService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserActivityBalanceService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserActivityRegisteredService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderCancelServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderEvaluateServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityBalanceServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityRegisteredServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/IOrderCharteredCarService.java
@@ -38,7 +38,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception;
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
@@ -50,7 +50,6 @@
    /**
     * 保存数据
     * @param traveltime
     * @param carTime
     * @param modelUse
     * @param peopleNumber
@@ -67,7 +66,7 @@
        orderCharteredCar.setUserId(uid);
        Company query = companyCityService.query1(placeLonLat.split(",")[0], placeLonLat.split(",")[1]);
        if(null == query){
            return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No corporate services are available at this location" : "Aucun service d’entreprise n’est disponible pour cet emplacement");
            return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone");
        }
        orderCharteredCar.setCompanyId(query.getId());
        orderCharteredCar.setOrderNumber(this.getOrderNum());
@@ -94,9 +93,15 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> maps = orderCharteredCarMapper.queryMyOrderList(uid, pageNum, size);
        for (Map<String, Object> map : maps) {
            String orderTime = map.get("orderTime").toString();
            map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return maps;
    }
@@ -114,10 +119,10 @@
        OrderCharteredCar orderCharteredCar = this.selectById(id);
        if(null == orderCharteredCar){
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Cancel order failed, order information is incorrect" : "Annulation échouée, informations de commande incorrectes");
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande.");
        }
        if(orderCharteredCar.getState() != 1){
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Cancel order failed, illegal operation" : "Annulation de la commande échouée, opération illégale");
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Failed to cancel order, illegal operation." : "Échec de l’annulation de la commande, opération illégale.");
        }
        OrderCancel orderCancel = new OrderCancel();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java
@@ -51,13 +51,13 @@
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<List<CouponWarpper>> queryMyCoupons(Integer state, Integer pageNum, Integer size, HttpServletRequest request){
    public ResultUtil<List<CouponWarpper>> queryMyCoupons(Integer language, Integer state, Integer pageNum, Integer size, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
               return ResultUtil.tokenErr();
            }
            List<Map<String, Object>> list = userCouponRecordService.queryMyCoupons(state, pageNum, size, uid);
            List<Map<String, Object>> list = userCouponRecordService.queryMyCoupons(language, state, pageNum, size, uid);
            return ResultUtil.success(CouponWarpper.getCouponWarppers(list));
        }catch (Exception e){
            e.printStackTrace();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -108,9 +108,9 @@
            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<List<OrderEvaluateWarpper>> queryOrderEvaluate(Integer id, Integer pageNum, Integer size){
    public ResultUtil<List<OrderEvaluateWarpper>> queryOrderEvaluate(Integer language, Integer id, Integer pageNum, Integer size){
        try {
            List<Map<String, Object>> list = orderEvaluateService.queryOrderEvaluate(id, pageNum, size);
            List<Map<String, Object>> list = orderEvaluateService.queryOrderEvaluate(language, id, pageNum, size);
            return ResultUtil.success(OrderEvaluateWarpper.getOrderEvaluateWarpper(list));
        }catch (Exception e){
            e.printStackTrace();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -193,19 +193,19 @@
            List<Map<String, Object>> list = null;
            switch (type){
                case 1:
                    list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
                    list = orderPrivateCarService.queryMyOrderList(language, uid, pageNum, size);
                    break;
                case 2:
                    list = orderTaxiService.queryMyOrderList(uid, pageNum, size);
                    list = orderTaxiService.queryMyOrderList(language, uid, pageNum, size);
                    break;
                case 3:
                    list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
                    list = orderCrossCityService.queryMyOrderList(language, uid, pageNum, size);
                    break;
                case 4:
                    list = orderLogisticsService.queryMyOrderList(uid, pageNum, size, language);
                    break;
                case 5:
                    list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
                    list = orderCharteredCarService.queryMyOrderList(language, uid, pageNum, size);
                    break;
            }
            return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
@@ -238,7 +238,7 @@
            }
            String name = language == 1 ? "打车" : language == 2 ? "Ride" : "Course";
            pageNum = (pageNum - 1) * size;
            List<Map<String, Object>> maps = orderCancelService.queryCancel(uid, 2);
            List<Map<String, Object>> maps = orderCancelService.queryCancel(language, uid, 2);
            for (Map<String, Object> map : maps) {
                Integer orderType = Integer.valueOf(map.get("orderType").toString());
                if(1 == orderType){
@@ -248,12 +248,12 @@
                    map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Parcel order cancellation" : "Annulation de commande de colis");
                }
            }
            List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(uid);//专车
            List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(language, uid);//专车
            for (Map<String, Object> map : list) {
                map.put("name", name);
            }
            name = language == 1 ? "包裹" : language == 2 ? "Package" : "Livraison";
            List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(uid);//小件物流
            List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(language, uid);//小件物流
            for (Map<String, Object> map : list3) {
                map.put("name", name);
            }
@@ -264,7 +264,7 @@
            for(TransactionDetails transactionDetails1 : transactionDetails){
                Map<String, Object> map = new HashMap<>();
                map.put("money", transactionDetails1.getMoney());
                map.put("time", sdf.format(transactionDetails1.getInsertTime()));
                map.put("time", DateUtil.conversionFormat(language, sdf.format(transactionDetails1.getInsertTime())));
                map.put("name", "跨城订单取消退款");
                map.put("insertTime", Double.valueOf(transactionDetails1.getInsertTime().getTime() / 1000).intValue());
                list4.add(map);
@@ -320,7 +320,7 @@
            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
    public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer language, Integer type, Integer orderType, Date startTime,
                                                            Date endTime, Double startMoney, Double endMoney,
                                                            Integer pageNum, Integer size, HttpServletRequest request){
        pageNum = (pageNum - 1) * size;
@@ -333,7 +333,7 @@
            if(null != orderType){
                switch (orderType){
                    case 1://专车
                        list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
                        list = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
                        break;
//                    case 2://出租车
//                        list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
@@ -342,7 +342,7 @@
//                        list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
//                        break;
                    case 4://同城小件物流
                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
                        list = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
                        break;
//                    case 5://跨城小件物流
//                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
@@ -350,7 +350,7 @@
                }
            }else{
                //专车
                List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
                List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid);
                list.addAll(maps);
//                //出租车
//                List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
@@ -359,7 +359,7 @@
//                List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
//                list.addAll(list2);
                //同城小件物流
                List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
                List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(language, type, startTime, endTime, startMoney, endMoney, uid, orderType);
                list.addAll(list3);
//                //跨城小件物流
//                List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
@@ -439,19 +439,19 @@
            Map<String, Object> map = null;
            switch (orderType){
                case 1://专车
                    map = orderPrivateCarService.queryOrderInfo(orderId);
                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
                    break;
                case 2://出租车
                    map = orderTaxiService.queryOrderInfo(orderId);
                    map = orderTaxiService.queryOrderInfo(language, orderId);
                    break;
                case 3://跨城
                    map = orderCrossCityService.queryOrderInfo(orderId);
                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                    break;
                case 4://同城小件
                    map = orderLogisticsService.queryOrderInfo(orderId);
                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                    break;
                case 5://跨城小件
                    map = orderLogisticsService.queryOrderInfo(orderId);
                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                    break;
            }
            if(map.get("telX") != null){
@@ -507,19 +507,19 @@
            Map<String, Object> map = null;
            switch (orderType){
                case 1://专车
                    map = orderPrivateCarService.queryOrderInfo(orderId);
                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
                    break;
                case 2://出租车
                    map = orderTaxiService.queryOrderInfo(orderId);
                    map = orderTaxiService.queryOrderInfo(language, orderId);
                    break;
                case 3://跨城
                    map = orderCrossCityService.queryOrderInfo(orderId);
                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                    break;
                case 4://同城小件
                    map = orderLogisticsService.queryOrderInfo(orderId);
                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                    break;
                case 5://跨城小件
                    map = orderLogisticsService.queryOrderInfo(orderId);
                    map = orderLogisticsService.queryOrderInfo(language, orderId);
                    break;
            }
            if(null != map.get("telX")){
@@ -563,17 +563,17 @@
            Map<String, Object> map = null;
            switch (orderType) {
                case 1://专车
                    map = orderPrivateCarService.queryOrderInfo(orderId);
                    ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId);
                    map = orderPrivateCarService.queryOrderInfo(language, orderId);
                    ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId, language);
                    map.put("cancelPayMoney", res.getData().getAmount());
                    break;
                case 2://出租车
                    map = orderTaxiService.queryOrderInfo(orderId);
                    map = orderTaxiService.queryOrderInfo(language, orderId);
                    ResultUtil<BaseWarpper> re = orderTaxiService.queryCancleAmount(orderId);
                    map.put("cancelPayMoney", re.getData().getAmount());
                    break;
                case 3://跨城
                    map = orderCrossCityService.queryOrderInfo(orderId);
                    map = orderCrossCityService.queryOrderInfo(language, orderId);
                    ResultUtil<BaseWarpper> r = orderCrossCityService.queryCancleAmount(orderId);
                    map.put("cancelPayMoney", r.getData().getAmount());
                    break;
@@ -836,11 +836,11 @@
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType){
    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType, Integer language){
        try {
            switch (orderType){
                case 1:
                    return orderPrivateCarService.queryCancleAmount(id);
                    return orderPrivateCarService.queryCancleAmount(id, language);
                case 2:
                    return orderTaxiService.queryCancleAmount(id);
                case 3:
@@ -1085,7 +1085,7 @@
            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
    public ResultUtil queryCoupon(Integer language, Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
@@ -1094,7 +1094,7 @@
            List<Map<String, Object>> list = new ArrayList<>();
            switch (orderType){
                case 1:
                    list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
                    list = orderPrivateCarService.queryCoupon(language, orderId, uid, pageNum, size);
                    break;
//                case 2:
//                    list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
@@ -101,16 +101,16 @@
            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<List<TravelRecordWarpper>> queryRedEnvelope(Integer pageNum, Integer size, HttpServletRequest request){
    public ResultUtil<List<TravelRecordWarpper>> queryRedEnvelope(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            pageNum = (pageNum - 1) * size;
            List<Map<String, Object>> list = orderPrivateCarService.queryRedEnvelope(uid);//专车
            List<Map<String, Object>> list1 = orderTaxiService.queryRedEnvelope(uid);//出租车
            List<Map<String, Object>> list2 = orderCrossCityService.queryRedEnvelope(uid);//跨城
            List<Map<String, Object>> list = orderPrivateCarService.queryRedEnvelope(language, uid);//专车
            List<Map<String, Object>> list1 = orderTaxiService.queryRedEnvelope(language, uid);//出租车
            List<Map<String, Object>> list2 = orderCrossCityService.queryRedEnvelope(language, uid);//跨城
            list.addAll(list1);
            list.addAll(list2);
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -144,7 +144,7 @@
                String code = redisUtil.getValue(phone+"_Code");
                System.out.println("缓存中验证码为:"+code);
                if (ToolUtil.isEmpty(kaptcha) || !kaptcha.equalsIgnoreCase(code)) {
                    return ResultUtil.error(language == 1 ? "图形验证码错误" : language == 2 ? "The graphic verification code is incorrect" : "Code de vérification graphique incorrect");
                    return ResultUtil.error(language == 1 ? "图形验证码错误" : language == 2 ? "Wrong CAPTCHA" : "CAPTCHA erroné");
                }
                return userInfoService.queryCaptcha(phone, type, language);
            }catch (Exception e){
@@ -195,7 +195,7 @@
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(ToolUtil.isEmpty(email)){
                return ResultUtil.error(language == 1 ? "邮箱不能为空" : language == 2 ? "The mailbox cannot be empty" : "L’email ne peut pas être vide");
                return ResultUtil.error(language == 1 ? "邮箱不能为空" : language == 2 ? "E-mail address cannot be empty." : "L’adresse e-mail ne peut pas être vide.");
            }
            Random random = new Random();
@@ -463,9 +463,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "微信jscode(小程序登录上传)", name = "jscode", required = false, dataType = "String")
    })
    public ResultUtil<LoginWarpper> wxIsLogin( String jscode){
    public ResultUtil<LoginWarpper> wxIsLogin(Integer language, String jscode){
        try {
            return userInfoService.wxIsLogin(jscode);
            return userInfoService.wxIsLogin(language, jscode);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -617,13 +617,13 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<UserInfoWarpper> queryUserInfo(HttpServletRequest request){
    public ResultUtil<UserInfoWarpper> queryUserInfo(Integer language, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            Map<String, Object> map = userInfoService.queryUserInfo(uid);
            Map<String, Object> map = userInfoService.queryUserInfo(language, uid);
            return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map));
        }catch (Exception e){
            e.printStackTrace();
@@ -643,7 +643,7 @@
            @ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<Object> queryUser(String phone){
    public ResultUtil<Object> queryUser(Integer language, String phone){
        try {
            String substring = phone.substring(0, 1);
            if("0".equals(substring)){
@@ -652,7 +652,7 @@
            if(phone.indexOf("233") < 0){
                phone = "233" + phone;
            }
            Map<String, Object> map = userInfoService.queryUser(phone);
            Map<String, Object> map = userInfoService.queryUser(language, phone);
            if(null != map){
                return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map));
            }
@@ -1146,11 +1146,11 @@
            BigDecimal bigDecimal = new BigDecimal(code);
            long max = Long.MAX_VALUE;
            if(bigDecimal.compareTo(new BigDecimal(max)) >= 0){
                return ResultUtil.error(language == 1 ? "银行卡号格式错误" : language == 2 ? "The format of bank card number is incorrect" : "Format incorrect du numéro de carte bancaire");
                return ResultUtil.error(language == 1 ? "银行卡号格式错误" : language == 2 ? "Format error of bank card" : "Erreur de format de la carte bancaire");
            }
            BankCard bankCard = bankCardService.selectOne(new EntityWrapper<BankCard>().eq("code", code));
            if(null != bankCard){
                return ResultUtil.error(language == 1 ? "银行卡重复" : language == 2 ? "Duplicate bank card" : "Double carte bancaire");
                return ResultUtil.error(language == 1 ? "银行卡重复" : language == 2 ? "Reduplication of bank card" : "Reduplication de la carte bancaire");
            }
            bankCard = new BankCard();
            bankCard.setUserId(uid);
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
@@ -302,7 +302,7 @@
        a.state as state,
        a.oldState as oldState,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        DATE_FORMAT(a.travelTime, '%m月%d日 %H:%i') as travelTime,
        DATE_FORMAT(a.travelTime, '%m-%d %H:%i') as travelTime,
        DATE_FORMAT(a.arriveTime, '%Y-%m-%d %H:%i:%s') as arriveTime,
        DATE_FORMAT(a.travelTime, '%Y-%m-%d %H:%i:%s') as travelTime1,
        a.startLon as startLon,
@@ -361,7 +361,7 @@
        select
        id as orderId,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime,
        DATE_FORMAT(travelTime, '%m月%d日 %H:%i') as time,
        DATE_FORMAT(travelTime, '%m-%d %H:%i') as time,
        startAddress as startAddress,
        endAddress as endAddress,
        driverId as driverId,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java
@@ -50,7 +50,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
@@ -103,7 +103,7 @@
     * @param orderId
     * @return
     */
    Map<String, Object> queryOrderInfo(Integer orderId) throws Exception;
    Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception;
@@ -173,7 +173,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception;
@@ -182,7 +182,7 @@
     * @param uid
     * @return
     */
    List<Map<String, Object>> queryMyTravelRecord(@Param("uid") Integer uid);
    List<Map<String, Object>> queryMyTravelRecord(Integer language, @Param("uid") Integer uid);
@@ -197,7 +197,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
    List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                Double endMoney, Integer uid) throws Exception;
@@ -220,7 +220,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception;
    List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception;
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -238,10 +238,10 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
        OrderCrossCity orderCrossCity = this.selectById(orderId);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 3, orderCrossCity.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 0, orderCrossCity.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderCrossCity.getCompanyId(), 1, 3, orderCrossCity.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderCrossCity.getCompanyId(), 1, 0, orderCrossCity.getOrderMoney(), pageNum, size);
        list.addAll(list1);
        return list;
    }
@@ -319,7 +319,7 @@
                paymentRecordService.saveData(1, null, null, orderId, 3, 1, orderMoney, null, 1);//添加预支付数据
                resultUtil = resultUtil;
            }else{
                resultUtil = ResultUtil.error("获取支付信息失败");
                resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement");
            }
        }
        if(payType == 2){//支付宝支付
@@ -328,12 +328,12 @@
                paymentRecordService.saveData(1, null, null, orderId, 3, 2, orderMoney, null, 1);//添加预支付数据
                resultUtil = resultUtil;
            }else{
                resultUtil = ResultUtil.error("获取支付信息失败");
                resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement");
            }
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -695,8 +695,16 @@
     * @throws Exception
     */
    @Override
    public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception {
    public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception {
        Map<String, Object> map = orderCrossCityMapper.queryOrderInfo(orderId);
        String insertTime = map.get("insertTime").toString();
        map.put("insertTime", DateUtil.conversionFormat(language, insertTime));
        String travelTime = map.get("travelTime").toString();
        map.put("travelTime", DateUtil.conversionFormat1(language, travelTime));
        String arriveTime = map.get("arriveTime").toString();
        map.put("arriveTime", DateUtil.conversionFormat(language, arriveTime));
        String travelTime1 = map.get("travelTime1").toString();
        map.put("travelTime1", DateUtil.conversionFormat(language, travelTime1));
        if(null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用
            OrderCrossCity orderCrossCity = this.selectById(orderId);
            orderCrossCity.setReassignNotice(0);
@@ -781,7 +789,7 @@
                    paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
                    resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", "");
                }
            }
            if(payType == 2){//支付宝支付
@@ -792,12 +800,12 @@
                    paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据
                    resultUtil = resultUtil;
                }else{
                    resultUtil = ResultUtil.error("获取支付信息失败", "");
                    resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", "");
                }
            }
            if(payType == 3){//余额支付
                if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
                    return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                    return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
                }
                userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -1108,27 +1116,41 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> maps = orderCrossCityMapper.queryMyOrderList(uid, pageNum, size);
        for(Map<String, Object> map : maps){
            if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){
                map.put("state", map.get("oldState"));
            }
            String orderTime = map.get("orderTime").toString();
            map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat1(language, time));
        }
        return maps;
    }
    @Override
    public List<Map<String, Object>> queryMyTravelRecord(Integer uid) {
        return orderCrossCityMapper.queryMyTravelRecord(uid);
    public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) {
        List<Map<String, Object>> list = orderCrossCityMapper.queryMyTravelRecord(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
    @Override
    public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception {
    public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception {
        startTime = dateUtil.getStartOrEndDate(startTime, "start");
        endTime = dateUtil.getStartOrEndDate(endTime, "end");
        return orderCrossCityMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        List<Map<String, Object>> list = orderCrossCityMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -1139,8 +1161,13 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception {
        return orderCrossCityMapper.queryRedEnvelope(uid);
    public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception {
        List<Map<String, Object>> list = orderCrossCityMapper.queryRedEnvelope(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -65,16 +65,17 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "业务类型(4=同城小件物流,5=跨城小件物流)", name = "type", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(value = "起点经纬度(103.23265,30.2312)", name = "startLonLat", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "终点经纬度(103.23265,30.2312)", name = "endLonLat", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "终点详细地址", name = "endAddress", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endAddress, Integer language, HttpServletRequest request){
    public ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endLonLat, String endAddress, Integer language, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return orderLogisticsService.queryLogisticsUnitPrice(type, startLonLat, endAddress, uid, language);
            return orderLogisticsService.queryLogisticsUnitPrice(type, startLonLat, endLonLat, endAddress, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -91,11 +92,12 @@
            @ApiImplicitParam(value = "货物数量", name = "number", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(value = "业务类型(4=同城小件物流,5=跨城小件物流)", name = "type", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(value = "起点经纬度(103.23265,30.2312)", name = "startLonLat", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "终点经纬度(103.23265,30.2312)", name = "endLonLat", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "终点详细地址", name = "endAddress", required = true, paramType = "query", dataType = "string")
    })
    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endAddress, Integer language){
    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language){
        try {
            return orderLogisticsService.queryPayMoney(number, type, startLonLat, endAddress, language);
            return orderLogisticsService.queryPayMoney(number, type, startLonLat, endLonLat, endAddress, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -137,6 +139,7 @@
            @ApiImplicitParam(value = "预约取货点详细地址", name = "startAddress", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "收货人姓名", name = "recipient", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "收货人电话", name = "recipientPhone", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "终点经纬度(103.23265,30.2312)", name = "endLonLat", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "收货详细地址", name = "endAddress", required = true, paramType = "query", dataType = "string"),
            @ApiImplicitParam(value = "是否加急(1=否,2=是)", name = "urgent", required = true, paramType = "query", dataType = "int"),
            @ApiImplicitParam(value = "加急费用", name = "tipMoney", required = true, paramType = "query", dataType = "double"),
@@ -145,14 +148,14 @@
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<BaseWarpper> smallLogistics(Integer type, Integer cargoType, Integer cargoNumber, String remark, String placementLon, String placementLat, String startLon, String startLat, String startAddress,
                                     String recipient, String recipientPhone, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer language, HttpServletRequest request){
                                     String recipient, String recipientPhone, String endLonLat, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer language, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return orderLogisticsService.smallLogistics(type, cargoType, cargoNumber, remark, placementLon, placementLat, startLon, startLat, startAddress,
                    recipient, recipientPhone, endAddress, urgent, tipMoney, travelTime, orderSource, uid, language);
                    recipient, recipientPhone, endLonLat, endAddress, urgent, tipMoney, travelTime, orderSource, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
@@ -30,7 +30,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endAddress, Integer uid, Integer language) throws Exception;
    ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endLonLat, String endAddress, Integer uid, Integer language) throws Exception;
    /**
@@ -41,7 +41,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endAddress, Integer language) throws Exception;
    ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception;
    /**
@@ -65,7 +65,7 @@
     * @throws Exception
     */
    ResultUtil smallLogistics(Integer type, Integer cargoType, Integer cargoNumber, String remark, String placementLon, String placementLat, String startLon, String startLat, String startAddress,
                   String recipient, String recipientPhone, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer uid, Integer language) throws Exception;
                   String recipient, String recipientPhone, String endLonLat, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer uid, Integer language) throws Exception;
@@ -138,7 +138,7 @@
     * @param uid
     * @return
     */
    List<Map<String, Object>> queryMyTravelRecord(Integer uid);
    List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid);
@@ -153,7 +153,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
    List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                Double endMoney, Integer uid, Integer orderType) throws Exception;
@@ -201,7 +201,7 @@
     * @return
     * @throws Exception
     */
    Map<String, Object> queryOrderInfo(Integer orderId) throws Exception;
    Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception;
    /**
@@ -210,5 +210,5 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -175,13 +175,10 @@
     * @throws Exception
     */
    @Override
    public ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endAddress, Integer uid, Integer language) throws Exception {
        FindPlaceFromTextVo findplacefromtext = GoogleMapUtil.textsearch(endAddress);
        if(null == findplacefromtext){
            return ResultUtil.error(language == 1 ? "收货地址有误,无法查询具体地址信息" : language == 2 ? "The delivery address is incorrect, and the specific address information cannot be queried" : "L’adresse de livraison est incorrecte, impossible de vérifier l’adresse spécifique");
        }
        Double lng = findplacefromtext.getLng();
        Double lat = findplacefromtext.getLat();
    public ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endLonLat, String endAddress, Integer uid, Integer language) throws Exception {
        String[] split = endLonLat.split(",");
        Double lng = Double.valueOf(split[0]);
        Double lat = Double.valueOf(split[1]);
        ResultUtil<Map<String, Double>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
        if(price.getCode() != 200){
            return price;
@@ -201,13 +198,10 @@
     * @return
     * @throws Exception
     */
    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endAddress, Integer language) throws Exception{
        FindPlaceFromTextVo findplacefromtext = GoogleMapUtil.textsearch(endAddress);
        if(null == findplacefromtext){
            return ResultUtil.error(language == 1 ? "收货地址有误,无法查询具体地址信息" : language == 2 ? "The delivery address is incorrect, and the specific address information cannot be queried" : "L’adresse de livraison est incorrecte, impossible de vérifier l’adresse spécifique");
        }
        Double lng = findplacefromtext.getLng();
        Double lat = findplacefromtext.getLat();
    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception{
        String[] split = endLonLat.split(",");
        Double lng = Double.valueOf(split[0]);
        Double lat = Double.valueOf(split[1]);
        ResultUtil<Map<String, Double>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
        if(price.getCode() == 200 && type == 5){
            Map<String, Double> data = price.getData();
@@ -242,7 +236,7 @@
     */
    @Override
    public ResultUtil smallLogistics(Integer type, Integer cargoType, Integer cargoNumber, String remark, String placementLon, String placementLat, String startLon, String startLat, String startAddress, String recipient,
                                     String recipientPhone, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer uid, Integer language) throws Exception {
                                     String recipientPhone, String endLonLat, String endAddress, Integer urgent, Double tipMoney, Date travelTime, Integer orderSource, Integer uid, Integer language) throws Exception {
        startAddress = startAddress.replaceAll("& #40;", "(");
        startAddress = startAddress.replaceAll("& #41;", ")");
        endAddress = endAddress.replaceAll("& #40;", "(");
@@ -250,7 +244,7 @@
        OrderLogistics orderLogistics = new OrderLogistics();
        Company query = companyCityService.query1(placementLon, placementLat);
        if(null == query){
            return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No corporate services are available at this location" : "Aucun service d’entreprise n’est disponible pour cet emplacement");
            return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone");
        }
        orderLogistics.setCompanyId(query.getId());
        orderLogistics.setType(type);
@@ -263,7 +257,7 @@
        orderLogistics.setPlacementLat(Double.valueOf(placementLat));
        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon));
        if(null == reverseGeocode){
            return ResultUtil.error(language == 1 ? "解析地址出错" : language == 2 ? "Resolve address error" : "Erreur dans la résolution de l’adresse");
            return ResultUtil.error(language == 1 ? "解析地址出错" : language == 2 ? "Address resolution error" : "Erreur de résolution d’adresse");
        }
        String address = reverseGeocode.getAddress();
@@ -271,12 +265,10 @@
        orderLogistics.setStartLon(Double.valueOf(startLon));
        orderLogistics.setStartLat(Double.valueOf(startLat));
        orderLogistics.setStartAddress(startAddress);
        FindPlaceFromTextVo findplacefromtext = GoogleMapUtil.textsearch(endAddress);
        if(null == findplacefromtext){
            return ResultUtil.error(language == 1 ? "收货地址有误,无法查询具体地址信息" : language == 2 ? "The delivery address is incorrect, and the specific address information cannot be queried" : "L’adresse de livraison est incorrecte, impossible de vérifier l’adresse spécifique");
        }
        Double lng = findplacefromtext.getLng();
        Double lat = findplacefromtext.getLat();
        String[] split = endLonLat.split(",");
        Double lng = Double.valueOf(split[0]);
        Double lat = Double.valueOf(split[1]);
        orderLogistics.setEndLon(lng);
        orderLogistics.setEndLat(lat);
        orderLogistics.setEndAddress(endAddress);
@@ -370,7 +362,7 @@
        Company query = companyCityService.query1(startLon, startLat);
        if(null == query){
            return ResultUtil.error(language == 1 ? "预约取货点暂无企业服务" : language == 2 ?
                    "There is no enterprise service at the reservation pickup point" : "Prise de rendez-vous point de collecte pas encore disponible pour les entreprises");
                    "No service yet at the reserved pickup point." : "Les points de ramassage prévus ne sont pas disponibles pour le moment.");
        }
        Double price1 = 0D;
        Double price2 = 0D;
@@ -378,10 +370,10 @@
            Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null);
            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(startLat), Double.valueOf(startLon), Double.valueOf(endLat), Double.valueOf(endLon));
            if(null == distancematrix){
                return ResultUtil.error(language == 1 ? "计算距离出错" : language == 2 ? "Error in distance calculation" : "Erreur de calcul des distances");
                return ResultUtil.error(language == 1 ? "计算距离出错" : language == 2 ? "Errors in computing distance" : "Erreurs dans le calcul de la distance");
            }
            if(distancematrix.getDistance() == 0){
                return ResultUtil.error(language == 1 ? "未获取到有效的距离" : language == 2 ? "A valid distance was not obtained" : "La distance effective n’est pas acquise");
                return ResultUtil.error(language == 1 ? "未获取到有效的距离" : language == 2 ? "Not obtaining available distance" : "Ne pas obtenir la distance disponible");
            }
            String content = String.valueOf(query1.get("content"));
            JSONObject jsonObject = JSON.parseObject(content);
@@ -400,7 +392,7 @@
                price1 = jsonObject.getDouble("num11");
            }
            if(dist.compareTo(jsonObject.getDouble("num10")) > 0){
                return ResultUtil.error(language == 1 ? "超出可服务范围" : language == 2 ? "Out of service range" : "Au-delà du service disponible");
                return ResultUtil.error(language == 1 ? "超出可服务范围" : language == 2 ? "Beyond service range" : "Au-delà de la portée de service");
            }
        }else{
            Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null);
@@ -489,7 +481,7 @@
    public ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId, Integer type, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(orderLogistics.getState() != 7){
            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é", "");
            return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés.", "");
        }
        Integer uid = orderLogistics.getUserId();
        Double orderMoney = orderLogistics.getOrderMoney();
@@ -553,7 +545,7 @@
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant", "");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant", "");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -576,6 +568,173 @@
                    pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0);
                }
            }).start();
            if(ToolUtil.isNotEmpty(userInfo.getEmail())){
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String path = templatePath + "user/receiptLogistics.html";
                            Document document = Jsoup.parse(new File(path), "UTF-8");
                            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                            Driver driver = driverService.selectById(orderLogistics.getDriverId());
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
                                Element title_chinese = document.getElementById("title_chinese");
                                title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderLogistics.getPayMoney());
                                Element xcf_chinese = document.getElementById("xcf_chinese");
                                xcf_chinese.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_chinese = document.getElementById("xj_chinese");
                                xj_chinese.text("GHS " + orderLogistics.getOrderMoney());
                                Element pay_type_chinese = document.getElementById("pay_type_chinese");
                                pay_type_chinese.text("现金");
                                Element pay_money_chinese = document.getElementById("pay_money_chinese");
                                pay_money_chinese.text("GHS " + orderLogistics.getPayMoney());
                                Element pdf_chinese = document.getElementById("pdf_chinese");
                                pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4");
                                Element lost_item_chinese = document.getElementById("lost_item_chinese");
                                lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4");
//                    Element track_chinese = document.getElementById("track_chinese");
//                    track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_chinese = document.getElementById("pay_time_chinese");
                                pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_chinese = document.getElementsByClass("driver_chinese");
                                for (int i = 0; i < driver_chinese.size(); i++) {
                                    Element element = driver_chinese.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element start_address_chinese = document.getElementById("start_address_chinese");
                                start_address_chinese.text(orderLogistics.getStartAddress());
                                Element end_address_chinese = document.getElementById("end_address_chinese");
                                end_address_chinese.text(orderLogistics.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_chinese = document.getElementById("server_tel_chinese");
                                server_tel_chinese.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(2 == language){
                                document.getElementById("chinese").remove();
                                document.getElementById("french").remove();
                                Element title_english = document.getElementById("title_english");
                                title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip ");
                                Element xcf_english = document.getElementById("xcf_english");
                                xcf_english.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_english = document.getElementById("xj_english");
                                xj_english.text("GHS " + orderLogistics.getOrderMoney());
                                Element pay_type_english = document.getElementById("pay_type_english");
                                pay_type_english.text("cash");
                                Element pay_money_english = document.getElementById("pay_money_english");
                                pay_money_english.text("GHS " + orderLogistics.getPayMoney());
                                Element pdf_english = document.getElementById("pdf_english");
                                pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4");
                                Element lost_item_english = document.getElementById("lost_item_english");
                                lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4");
//                    Element track_english = document.getElementById("track_english");
//                    track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_english = document.getElementById("pay_time_english");
                                pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_english = document.getElementsByClass("driver_english");
                                for (int i = 0; i < driver_english.size(); i++) {
                                    Element element = driver_english.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element start_address_english = document.getElementById("start_address_english");
                                start_address_english.text(orderLogistics.getStartAddress());
                                Element end_address_english = document.getElementById("end_address_english");
                                end_address_english.text(orderLogistics.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_english = document.getElementById("server_tel_english");
                                server_tel_english.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(3 == language){
                                document.getElementById("chinese").remove();
                                document.getElementById("english").remove();
                                Element title_french = document.getElementById("title_french");
                                title_french.text("Le " + DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ", vous avez dépensé GHS " + orderLogistics.getPayMoney() + " sur le voyage");
                                Element xcf_french = document.getElementById("xcf_french");
                                xcf_french.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_french = document.getElementById("xj_french");
                                xj_french.text("GHS " + orderLogistics.getOrderMoney());
                                Element pay_type_french = document.getElementById("pay_type_french");
                                pay_type_french.text("espèces");
                                Element pay_money_french = document.getElementById("pay_money_french");
                                pay_money_french.text("GHS " + orderLogistics.getPayMoney());
                                Element pdf_french = document.getElementById("pdf_french");
                                pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4");
                                Element lost_item_french = document.getElementById("lost_item_french");
                                lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4");
//                    Element track_french = document.getElementById("track_french");
//                    track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_french = document.getElementById("pay_time_french");
                                pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_french = document.getElementsByClass("driver_french");
                                for (int i = 0; i < driver_french.size(); i++) {
                                    Element element = driver_french.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element start_address_french = document.getElementById("start_address_french");
                                start_address_french.text(orderLogistics.getStartAddress());
                                Element end_address_french = document.getElementById("end_address_french");
                                end_address_french.text(orderLogistics.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_french = document.getElementById("server_tel_french");
                                server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis",  document.html());
                            //开始生成pdf收据和html收据
                            File file = new File("/usr/local/nginx/html/files/html/");
                            if(!file.exists()){
                                file.mkdirs();
                            }
                            file = new File("/usr/local/nginx/html/files/html/parcel_receipt_" + orderId + ".html");
                            if(!file.exists()){
                                file.createNewFile();
                            }
                            FileWriter fileWriter = new FileWriter(file);
                            fileWriter.write(document.html());
                            fileWriter.flush();
                            fileWriter.close();
                            FileInputStream fileInputStream = new FileInputStream(file);
                            File file1 = new File("/usr/local/nginx/html/files/pdf/");
                            if(!file1.exists()){
                                file1.mkdirs();
                            }
                            file1 = new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf");
                            if(!file1.exists()){
                                file1.createNewFile();
                            }
                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                            String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html";
                            TEmail tEmail = new TEmail();
                            tEmail.setLink(link);
                            tEmail.setUserId(uid);
                            tEmail.setType(1);
                            tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis");
                            tEmail.setOrderId(orderId);
                            tEmail.setCreateTime(new Date());
                            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                            String week = EmailUtil.getWeek(language, i);
                            tEmail.setWeek(week);
                            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                            if(am){
                                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                            }else {
                                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                            }
                            emailService.insert(tEmail);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
            systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成包裹订单支付,谢谢使用!" : language == 2
                    ? "You have successfully completed the parcel order payment, thank you for using!" :
                    "Vous avez terminé avec succès le paiement de la commande de colis, merci de l’utiliser!", uid, 1);
@@ -603,13 +762,13 @@
                            String path = templatePath + "user/receiptLogistics.html";
                            Document document = Jsoup.parse(new File(path), "UTF-8");
                            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                            Driver driver = driverService.selectById(orderLogistics.getDriverId());
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
                                Element title_chinese = document.getElementById("title_chinese");
                                title_chinese.text(sdf2.format(orderLogistics.getTravelTime()) + ",您在I-GO1个订单消费GHS " + orderLogistics.getPayMoney());
                                title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderLogistics.getPayMoney());
                                Element xcf_chinese = document.getElementById("xcf_chinese");
                                xcf_chinese.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_chinese = document.getElementById("xj_chinese");
@@ -625,7 +784,7 @@
//                    Element track_chinese = document.getElementById("track_chinese");
//                    track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_chinese = document.getElementById("pay_time_chinese");
                                pay_time_chinese.text(sdf1.format(orderLogistics.getTravelTime()));
                                pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_chinese = document.getElementsByClass("driver_chinese");
                                for (int i = 0; i < driver_chinese.size(); i++) {
                                    Element element = driver_chinese.get(i);
@@ -643,7 +802,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("french").remove();
                                Element title_english = document.getElementById("title_english");
                                title_english.text(sdf2.format(orderLogistics.getTravelTime()) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip ");
                                title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip ");
                                Element xcf_english = document.getElementById("xcf_english");
                                xcf_english.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_english = document.getElementById("xj_english");
@@ -659,7 +818,7 @@
//                    Element track_english = document.getElementById("track_english");
//                    track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_english = document.getElementById("pay_time_english");
                                pay_time_english.text(sdf1.format(orderLogistics.getTravelTime()));
                                pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_english = document.getElementsByClass("driver_english");
                                for (int i = 0; i < driver_english.size(); i++) {
                                    Element element = driver_english.get(i);
@@ -677,7 +836,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("english").remove();
                                Element title_french = document.getElementById("title_french");
                                title_french.text(sdf2.format(orderLogistics.getTravelTime()) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le ");
                                title_french.text("Le " + DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ", vous avez dépensé GHS " + orderLogistics.getPayMoney() + " sur le voyage" );
                                Element xcf_french = document.getElementById("xcf_french");
                                xcf_french.text("GHS " + orderLogistics.getOrderMoney());
                                Element xj_french = document.getElementById("xj_french");
@@ -693,7 +852,7 @@
//                    Element track_french = document.getElementById("track_french");
//                    track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html");
                                Element pay_time_french = document.getElementById("pay_time_french");
                                pay_time_french.text(sdf1.format(orderLogistics.getTravelTime()));
                                pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime())));
                                Elements driver_french = document.getElementsByClass("driver_french");
                                for (int i = 0; i < driver_french.size(); i++) {
                                    Element element = driver_french.get(i);
@@ -841,7 +1000,7 @@
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -1107,6 +1266,10 @@
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> maps = orderLogisticsMapper.queryMyOrderList(uid, pageNum, size, language);
        for (Map<String, Object> map : maps) {
            String orderTime = map.get("orderTime").toString();
            map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
            Integer orderId = Integer.valueOf(String.valueOf(map.get("orderId")));
            Integer state = Integer.valueOf(String.valueOf(map.get("state")));
            if(state == 6){
@@ -1125,16 +1288,26 @@
     * @return
     */
    @Override
    public List<Map<String, Object>> queryMyTravelRecord(Integer uid) {
        return orderLogisticsMapper.queryMyTravelRecord(uid);
    public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) {
        List<Map<String, Object>> list = orderLogisticsMapper.queryMyTravelRecord(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
    @Override
    public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid, Integer orderType) throws Exception {
    public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid, Integer orderType) throws Exception {
        startTime = dateUtil.getStartOrEndDate(startTime, "start");
        endTime = dateUtil.getStartOrEndDate(endTime, "end");
        return orderLogisticsMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
        List<Map<String, Object>> list = orderLogisticsMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -1154,10 +1327,10 @@
        OrderLogistics orderLogistics = this.selectById(id);
        Integer integer = null;
        if(null == orderLogistics){
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel the order, the order information is incorrect" : "Échec de l'annulation de la commande, les informations de la commande sont incorrectes");
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande.");
        }
        if(orderLogistics.getState() > 5 && orderLogistics.getState() != 7 && orderLogistics.getState() != 11){
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Cancel order failed, illegal operation" : "Échec de l'annulation de la commande, opération illégale");
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Failed to cancel order, illegal operation." : "Échec de l’annulation de la commande, opération illégale.");
        }
        if(orderLogistics.getState() == 7){
@@ -1327,8 +1500,10 @@
    }
    @Override
    public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception {
    public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception {
        Map<String, Object> map = orderLogisticsMapper.queryOrderInfo(orderId);
        String travelTime = map.get("travelTime").toString();
        map.put("travelTime", DateUtil.conversionFormat1(language, travelTime));
        Integer state = Integer.valueOf(String.valueOf(map.get("state")));
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用
@@ -1361,10 +1536,10 @@
    @Override
    public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderLogistics.getCompanyId(), 1, 4, orderLogistics.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderLogistics.getCompanyId(), 1, 0, orderLogistics.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderLogistics.getCompanyId(), 1, 4, orderLogistics.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderLogistics.getCompanyId(), 1, 0, orderLogistics.getOrderMoney(), pageNum, size);
        list.addAll(list1);
        return list;
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
@@ -54,7 +54,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil<BaseWarpper> queryCancleAmount(Integer id) throws Exception;
    ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer language) throws Exception;
@@ -104,7 +104,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
@@ -184,7 +184,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception;
@@ -199,7 +199,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
    List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                Double endMoney, Integer uid) throws Exception;
@@ -209,7 +209,7 @@
     * @param orderId
     * @return
     */
    Map<String, Object> queryOrderInfo(Integer orderId) throws Exception;
    Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception;
@@ -219,7 +219,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception;
    List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception;
@@ -247,5 +247,5 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception;
    List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -231,16 +231,16 @@
         */
        List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.queryByState(uid, 1, 1, 1, 2, 3, 4, 5, 6,  11);
        if(orderPrivateCars.size() > 0){
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "There are outstanding orders" : "Il y a des commandes en attente");
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "Uncompleted order(s)" : "Commande(s) non complétée(s)");
        }
        List<OrderTaxi> list = orderTaxiMapper.queryByState_(uid, 1, 1, 1, 2, 3, 4, 5, 6, 11);
        if(list.size() > 0){
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "There are outstanding orders" : "Il y a des commandes en attente");
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "Uncompleted order(s)" : "Commande(s) non complétée(s)");
        }
        orderPrivateCars = orderPrivateCarMapper.queryByState(uid, 2, 1, 1, 2, 3, 4, 5, 6,  11);
        if(orderPrivateCars.size() > 0 && reservation == 2){
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "There are outstanding orders" : "Il y a des commandes en attente");
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "Uncompleted order(s)" : "Commande(s) non complétée(s)");
        }
        orderPrivateCars = orderPrivateCarMapper.queryByState(uid, 1, 1, 7,12);
@@ -254,7 +254,7 @@
        list = orderTaxiMapper.queryByState_(uid, 2, 1, 1, 2, 3, 4, 5, 6, 11);
        if(list.size() > 0 && reservation == 2){
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "There are outstanding orders" : "Il y a des commandes en attente");
            return ResultUtil.error(language == 1 ? "有未完成的订单" : language == 2 ? "Uncompleted order(s)" : "Commande(s) non complétée(s)");
        }
        startAddress = startAddress.replaceAll("& #40;", "(");
@@ -262,7 +262,7 @@
        endAddress = endAddress.replaceAll("& #40;", "(");
        endAddress = endAddress.replaceAll("& #41;", ")");
        if((orderSource == 1 || orderSource == 3) && null == serverCarModelId){
            return ResultUtil.error(language == 1 ? "请选择服务车型" : language == 2 ? "Please select the service model" : "Veuillez sélectionner un modèle de service");
            return ResultUtil.error(language == 1 ? "请选择服务车型" : language == 2 ? "Please select vehicle-type" : "Veuillez sélectionner le type de véhicule");
        }
        OrderPrivateCar orderPrivateCar = new OrderPrivateCar();
@@ -287,7 +287,7 @@
        if(instead == 0 || ToolUtil.isEmpty(orderPrivateCar.getPassengers())){
            UserInfo userInfo = userInfoService.selectById(uid);
            if(ToolUtil.isEmpty(userInfo.getPhone())){
                return ResultUtil.error(language == 1 ? "请先绑定手机号码" : language == 2 ? "Please bind the mobile phone number first" : "Veuillez d’abord lier le numéro de téléphone mobile");
                return ResultUtil.error(language == 1 ? "请先绑定手机号码" : language == 2 ? "Please bind your mobile phone number first." : "Veuillez d’abord vous inscrire en liant votre numéro de téléphone portable.");
            }
            orderPrivateCar.setPassengers(userInfo.getFirstName() + "." + userInfo.getLastName());
            orderPrivateCar.setPassengersPhone(userInfo.getPhone());
@@ -300,35 +300,35 @@
        if(orderSource == 2){//扫码下单
            Driver driver = driverService.selectById(driverId);
            if(null == driver){
                return ResultUtil.error(language == 1 ? "司机信息有误,无法完成下单" : language == 2 ? "Incorrect driver information, unable to complete the order" : "Les informations du conducteur sont incorrectes pour compléter la commande");
                return ResultUtil.error(language == 1 ? "司机信息有误,无法完成下单" : language == 2 ? "Wrong driver-information, unable to place an order." : "Informations erronées sur le chauffeur, il ne peut donc pas passer une commande.");
            }
            if(driver.getAuthState() == 1){
                return ResultUtil.error(language == 1 ? "司机信息还未完成审核,无法完成下单" : language == 2 ? "The driver information has not been reviewed, and the order cannot be completed" : "Les informations du conducteur n’ont pas été vérifiées et la commande n’a pas pu être finalisée");
                return ResultUtil.error(language == 1 ? "司机信息还未完成审核,无法完成下单" : language == 2 ? "The driver is not yet done with review, unable to place an order." : "Le chauffeur n’a pas encore terminé son examen, il ne peut donc pas passer une commande.");
            }
            if(driver.getAuthState() == 3){
                return ResultUtil.error(language == 1 ? "司机账户已被冻结,无法提供服务" : language == 2 ? "The driver's account has been frozen, unable to provide service" : "Le compte du conducteur a été bloqué et le service n’est pas disponible");
                return ResultUtil.error(language == 1 ? "司机账户已被冻结,无法提供服务" : language == 2 ? "Driver account is frozen, unable to provide service." : "Le compte du chauffeur est gelé, il n’est donc pas possible de fournir des services.");
            }
            if(driver.getAuthState() == 4){
                return ResultUtil.error(language == 1 ? "司机信息未通过审核,无法提供服务" : language == 2 ? "Driver information has not passed the audit, unable to provide service" : "Les informations du conducteur n’ont pas été vérifiées et le service n’a pas pu être fourni");
                return ResultUtil.error(language == 1 ? "司机信息未通过审核,无法提供服务" : language == 2 ? "The driver is not verified and qualified, unable to provide service." : "Le chauffeur n’est pas vérifié et qualifié, incapable de fournir le services.");
            }
            if(driver.getState() == 1){
                return ResultUtil.error(language == 1 ? "司机还未上线,无法提供服务" : language == 2 ? "The driver is not online and cannot provide service" : "Le chauffeur n’est pas en ligne et n’est pas en mesure d’offrir ses services");
                return ResultUtil.error(language == 1 ? "司机还未上线,无法提供服务" : language == 2 ? "The driver is not online, unable to provide service." : "Le chauffeur n’est pas en ligne, incapable de fournir le services.");
            }
            if(driver.getState() == 3){
                return ResultUtil.error(language == 1 ? "司机正在服务中,无法提供服务" : language == 2 ? "The driver is in service and cannot provide service" : "Le chauffeur est en service et le service n’est pas disponible");
                return ResultUtil.error(language == 1 ? "司机正在服务中,无法提供服务" : language == 2 ? "The driver is on a trip, unable to provide service." : "Le chauffeur est en service, incapable de fournir des services.");
            }
            List<DriverService> query = driverServiceService.query(driverId, 1);
            if(query.size() == 0){
                return ResultUtil.error(language == 1 ? "该司机不能服务此业务" : language == 2 ? "The driver cannot serve this service" : "Ce conducteur ne peut pas servir cette entreprise");
                return ResultUtil.error(language == 1 ? "该司机不能服务此业务" : language == 2 ? "Driver has outstanding fees to pay, unable to receive orders." : "Le chauffeur a des frais impayés à payer, incapable de recevoir des commandes.");
            }
            int count = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driverId).eq("driverPay", 1).in("state", Arrays.asList(7, 8, 9)).eq("isDelete", 1));
            if(count > 0){
                return ResultUtil.error("司机未支付订单费用,无法进行接单");
                return ResultUtil.error(language == 1 ? "司机未支付订单费用,无法进行接单" : language == 2 ? "Driver has outstanding fees to pay, unable to receive orders." : "Le chauffeur a des frais impayés à payer, incapable de recevoir des commandes.");
            }
            int count1 = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("driverId", driverId).eq("driverPay", 1).ne("state", 10).eq("isDelete", 1));
            if(count1 > 0){
                return ResultUtil.error("司机未支付订单费用,无法进行接单");
                return ResultUtil.error(language == 1 ? "司机未支付订单费用,无法进行接单" : language == 2 ? "Driver has outstanding fees to pay, unable to receive orders." : "Le chauffeur a des frais impayés à payer, incapable de recevoir des commandes.");
            }
            orderPrivateCar.setDriverId(driverId);
@@ -468,10 +468,10 @@
        language = userInfoService.queryLanguage(uid, language);
        OrderPrivateCar orderPrivateCar = this.selectById(id);
        if(null == orderPrivateCar){
            return ResultUtil.error(language == 1 ? "推送订单失败,订单信息有误" : language == 2 ? "Failed to push the order, the order information is wrong" : "Impossible de pousser la commande, les informations de commande sont erronées");
            return ResultUtil.error(language == 1 ? "推送订单失败,订单信息有误" : language == 2 ? "Failed to deliver order, order-information error." : "Echec de l’envoi de la commande, erreur d’information de commande.");
        }
        if(orderPrivateCar.getState() != 1){
            return ResultUtil.error(language == 1 ? "订单已被司机接单,不能重复推送" : language == 2 ? "The order has been taken by the driver and cannot be pushed repeatedly" : "La commande a été prise par le chauffeur et ne peut pas être poussée à plusieurs reprises");
            return ResultUtil.error(language == 1 ? "订单已被司机接单,不能重复推送" : language == 2 ? "Driver has received the order, do not redeliver it." : "Le chauffeur a déjà reçu la commande,Il ne peut pas être répété");
        }
        //处理摆渡订单的继续推单操作
        if(orderPrivateCar.getType() == 2){
@@ -480,7 +480,7 @@
            List<Map<String, Integer>> orders = new ArrayList<>();
            for(OrderPrivateCar orderPrivateCar1 : list){
                if(orderPrivateCar1.getState() != 1){
                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "The order has been taken by the driver, and the push order has been cancelled" : "La commande a été prise par le chauffeur et la commande push a été annulée");
                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "Driver has received the order, order-delivering cancelled." : "Le chauffeur a déjà reçu la commande. Envoyez-la commande l'annuler.");
                }
                Map<String, Integer> map = new HashMap<>();
                map.put("orderType", 1);
@@ -490,7 +490,7 @@
            List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
            for(OrderTaxi orderTaxi : list1){
                if(orderTaxi.getState() != 1){
                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "The order has been taken by the driver, and the push order has been cancelled" : "La commande a été prise par le chauffeur et la commande push a été annulée");
                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "Driver has received the order, order-delivering cancelled." : "Le chauffeur a déjà reçu la commande. Envoyez-la commande l'annuler.");
                }
                Map<String, Integer> map = new HashMap<>();
                map.put("orderType", 2);
@@ -507,10 +507,10 @@
    }
    @Override
    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id) throws Exception {
    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer language) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(id);
        if(null == orderPrivateCar){
            return ResultUtil.error("获取数据失败,订单信息有误");
            return ResultUtil.error(language == 1 ? "获取数据失败,订单信息有误" : language == 2 ? "Failed to obtain data, order-information error." : "Impossible d’obtenir les données, erreur d’information de commande. ");
        }
        double amount = 0;
        CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, orderPrivateCar.getCompanyId());
@@ -540,10 +540,10 @@
        OrderPrivateCar orderPrivateCar = this.selectById(id);
        Integer integer = null;
        if(null == orderPrivateCar){
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel the order, the order information is incorrect" : "Échec de l'annulation de la commande, les informations de la commande sont incorrectes");
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande.");
        }
        if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Cancel order failed, illegal operation" : "Échec de l'annulation de la commande, opération illégale");
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Failed to cancel order, illegal operation." : "Échec de l’annulation de la commande, opération illégale.");
        }
        if(null == orderPrivateCar.getDriverId()){//没有接单的情况
            if(orderPrivateCar.getType() == 2){//摆渡车
@@ -593,7 +593,7 @@
                driver.setState(2);
                driverService.updateById(driver);
            }else{
                return ResultUtil.error(language == 1 ? "请完善后台取消规则设置" : language == 2 ? "Please improve the background cancellation rule settings" : "Veuillez améliorer les paramètres de la règle d'annulation en arrière-plan");
                return ResultUtil.error(language == 1 ? "请完善后台取消规则设置" : language == 2 ? "Please complete the setting of cancellation rules from the background." : "Veuillez compléter le réglage des règles d’annulation à partir de l’arrière-plan.");
            }
        }
@@ -620,10 +620,10 @@
        ResultUtil resultUtil = ResultUtil.success("");
        if(null == orderPrivateCar){
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Order cancellation failed because the order information is incorrect" : "Annulation échouée, informations de commande incorrectes", "");
            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande.", "");
        }
        if(orderPrivateCar.getState() != 12){
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Order cancellation failed, illegal operation" : "Annulation de la commande échouée, opération illégale", "");
            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Failed to cancel order, illegal operation." : "Échec de l’annulation de la commande, opération illégale.", "");
        }
        OrderCancel orderCancel = null;
        if(null == cancleId || cancleId==0){
@@ -685,7 +685,7 @@
            }
            if(payType == 3){//余额支付
                if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
                    return ResultUtil.error((language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant"), "");
                    return ResultUtil.error((language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"), "");
                }
                userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -834,10 +834,10 @@
    }
    @Override
    public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderPrivateCar.getCompanyId(), 1, 1, orderPrivateCar.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderPrivateCar.getCompanyId(), 1, 0, orderPrivateCar.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 1, orderPrivateCar.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 0, orderPrivateCar.getOrderMoney(), pageNum, size);
        list.addAll(list1);
        return list;
    }
@@ -849,10 +849,10 @@
    public ResultUtil payPrivateCarOrder(Integer payType, Integer bankCardId, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
        if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){
            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é", "");
            return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés.", "");
        }
        if(orderPrivateCar.getState() != 7){
            return ResultUtil.error(language == 1 ? "订单不在待支付状态,不允许支付" : language == 2 ? "The order is not pending payment and cannot be paid" : "La commande n’est pas en attente de paiement et ne permet pas le paiement", "");
            return ResultUtil.error(language == 1 ? "订单不在待支付状态,不允许支付" : language == 2 ? "The order is no longer with Pending Payment, making payments is not allowed." : "La commande n’est plus en attente de paiement, il n’est pas permis d’effectuer des paiements.", "");
        }
        Integer uid = orderPrivateCar.getUserId();
        Double orderMoney = orderPrivateCar.getOrderMoney();
@@ -866,19 +866,19 @@
        if(null != couponId){
            userCouponRecord = userCouponRecordService.selectById(couponId);
            if(userCouponRecord.getCompanyId() != orderPrivateCar.getCompanyId()){
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupons cannot be used for this order" : "Le coupon ne peut pas être utilisé pour cette commande", "");
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
            }
            if(userCouponRecord.getState() == 2){
                return ResultUtil.error(language == 1 ? "优惠券已使用" : language == 2 ? "Coupon used" : "Coupon a été utilisé", "");
                return ResultUtil.error(language == 1 ? "优惠券已使用" : language == 2 ? "Coupon has been used." : "Le coupon a été utilisé.", "");
            }
            if(userCouponRecord.getState() == 3){
                return ResultUtil.error(language == 1 ? "优惠券已过期" : language == 2 ? "Coupon has expired" : "Le coupon a expiré", "");
                return ResultUtil.error(language == 1 ? "优惠券已过期" : language == 2 ? "Coupon is expired." : "Le coupon a expiré.", "");
            }
            if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 1){
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupons cannot be used for this order" : "Le coupon ne peut pas être utilisé pour cette commande", "");
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
            }
            if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupons cannot be used for this order" : "Le coupon ne peut pas être utilisé pour cette commande", "");
                return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", "");
            }
            orderMoney = orderMoney - userCouponRecord.getMoney();
            orderPrivateCar.setCouponMoney(userCouponRecord.getMoney());
@@ -962,7 +962,7 @@
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant", "");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant", "");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -1022,7 +1022,7 @@
                            String path = templatePath +  "user/receipt.html";
                            Document document = Jsoup.parse(new File(path), "UTF-8");
                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                            SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
                            Car car = carMapper.selectById(orderPrivateCar.getCarId());
                            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
@@ -1035,7 +1035,7 @@
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
                                Element title_chinese = document.getElementById("title_chinese");
                                title_chinese.text(sdf.format(orderPrivateCar.getTravelTime()) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                Element xcf_chinese = document.getElementById("xcf_chinese");
                                xcf_chinese.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_chinese = document.getElementById("xj_chinese");
@@ -1051,7 +1051,7 @@
                                Element track_chinese = document.getElementById("track_chinese");
                                track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_chinese = document.getElementById("pay_time_chinese");
                                pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_chinese = document.getElementsByClass("driver_chinese");
                                for (int i = 0; i < driver_chinese.size(); i++) {
                                    Element element = driver_chinese.get(i);
@@ -1079,7 +1079,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("french").remove();
                                Element title_english = document.getElementById("title_english");
                                title_english.text(sdf.format(orderPrivateCar.getTravelTime()) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                Element xcf_english = document.getElementById("xcf_english");
                                xcf_english.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_english = document.getElementById("xj_english");
@@ -1095,7 +1095,7 @@
                                Element track_english = document.getElementById("track_english");
                                track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_english = document.getElementById("pay_time_english");
                                pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_english = document.getElementsByClass("driver_english");
                                for (int i = 0; i < driver_english.size(); i++) {
                                    Element element = driver_english.get(i);
@@ -1123,7 +1123,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("english").remove();
                                Element title_french = document.getElementById("title_french");
                                title_french.text("Vous consommez GHS " + orderPrivateCar.getPayMoney() + " sur votre commande i-go1 le " + sdf.format(orderPrivateCar.getTravelTime()));
                                title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                Element xcf_french = document.getElementById("xcf_french");
                                xcf_french.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_french = document.getElementById("xj_french");
@@ -1139,18 +1139,18 @@
                                Element track_french = document.getElementById("track_french");
                                track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_french = document.getElementById("pay_time_french");
                                pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_french = document.getElementsByClass("driver_french");
                                for (int i = 0; i < driver_french.size(); i++) {
                                    Element element = driver_french.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element cp_french = document.getElementById("cp_french");
                                cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                                cp_french.text("Plaque: GS " + car.getCarLicensePlate());
                                Element pf_french = document.getElementById("pf_french");
                                pf_french.text("Évaluation des pilotes: " + aDouble);
                                pf_french.text("Note du chauffeur: " + aDouble);
                                Element lc_french = document.getElementById("lc_french");
                                lc_french.text("Kilométrage: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                lc_french.text("Distance: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                Element start_time_french = document.getElementById("start_time_french");
                                start_time_french.text(sdf2.format(orderPrivateCar.getTravelTime()));
                                Element start_address_french = document.getElementById("start_address_french");
@@ -1331,7 +1331,7 @@
                            String path = templatePath +  "user/receipt.html";
                            Document document = Jsoup.parse(new File(path), "UTF-8");
                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                            SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
                            Car car = carMapper.selectById(orderPrivateCar.getCarId());
                            Double aDouble = 0D;
@@ -1344,7 +1344,7 @@
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
                                Element title_chinese = document.getElementById("title_chinese");
                                title_chinese.text(sdf.format(orderPrivateCar.getTravelTime()) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                Element xcf_chinese = document.getElementById("xcf_chinese");
                                xcf_chinese.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_chinese = document.getElementById("xj_chinese");
@@ -1360,7 +1360,7 @@
                                Element track_chinese = document.getElementById("track_chinese");
                                track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_chinese = document.getElementById("pay_time_chinese");
                                pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_chinese = document.getElementsByClass("driver_chinese");
                                for (int i = 0; i < driver_chinese.size(); i++) {
                                    Element element = driver_chinese.get(i);
@@ -1388,7 +1388,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("french").remove();
                                Element title_english = document.getElementById("title_english");
                                title_english.text(sdf.format(orderPrivateCar.getTravelTime()) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                Element xcf_english = document.getElementById("xcf_english");
                                xcf_english.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_english = document.getElementById("xj_english");
@@ -1404,7 +1404,7 @@
                                Element track_english = document.getElementById("track_english");
                                track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_english = document.getElementById("pay_time_english");
                                pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_english = document.getElementsByClass("driver_english");
                                for (int i = 0; i < driver_english.size(); i++) {
                                    Element element = driver_english.get(i);
@@ -1432,7 +1432,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("english").remove();
                                Element title_french = document.getElementById("title_french");
                                title_french.text("Vous consommez GHS " + orderPrivateCar.getPayMoney() + " sur votre commande i-go1 le " + sdf.format(orderPrivateCar.getTravelTime()));
                                title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                Element xcf_french = document.getElementById("xcf_french");
                                xcf_french.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_french = document.getElementById("xj_french");
@@ -1448,18 +1448,18 @@
                                Element track_french = document.getElementById("track_french");
                                track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId);
                                Element pay_time_french = document.getElementById("pay_time_french");
                                pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_french = document.getElementsByClass("driver_french");
                                for (int i = 0; i < driver_french.size(); i++) {
                                    Element element = driver_french.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element cp_french = document.getElementById("cp_french");
                                cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                                cp_french.text("Plaque: GS " + car.getCarLicensePlate());
                                Element pf_french = document.getElementById("pf_french");
                                pf_french.text("Évaluation des pilotes: " + aDouble);
                                pf_french.text("Note du chauffeur: " + aDouble);
                                Element lc_french = document.getElementById("lc_french");
                                lc_french.text("Kilométrage: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                lc_french.text("Distance: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                Element start_time_french = document.getElementById("start_time_french");
                                start_time_french.text(sdf2.format(orderPrivateCar.getTravelTime()));
                                Element start_address_french = document.getElementById("start_address_french");
@@ -1605,11 +1605,11 @@
            Map<String, Object> map = userActivityRedenvelopeService.query(orderPrivateCar.getCompanyId(), orderPrivateCar.getTravelTime());
            Double laveMoney = Double.valueOf(String.valueOf(map.get("laveMoney")));
            if(money.compareTo(laveMoney) > 0){
                return ResultUtil.error("手速太慢了,红包已派发完啦!");
                return ResultUtil.error(language == 1 ? "手速太慢了,红包已派发完啦!" : language == 2 ? "Too slow, all the lucky-promo has been distributed!" : "Trop lent, toute la promo chanceuse a été distribuée !");
            }
            //判断当前红包是否大于剩余可领取总金额
            if(money.compareTo(Double.valueOf(map.get("lavePrice").toString())) > 0){
                return ResultUtil.error("手速太慢了,红包已派发完啦!");
                return ResultUtil.error(language == 1 ? "手速太慢了,红包已派发完啦!" : language == 2 ? "Too slow, all the lucky-promo has been distributed!" : "Trop lent, toute la promo chanceuse a été distribuée !");
            }
            double v = new BigDecimal(laveMoney).subtract(new BigDecimal(money)).doubleValue();
@@ -1633,7 +1633,7 @@
                    Element user_chinese = document.getElementById("user_chinese");
                    user_chinese.text("您好 " + userInfo.getNickName() + ",");
                    Element time_chinese = document.getElementById("time_chinese");
                    time_chinese.text("此活动有效期在" + sdf.format(query.getInsertTime()) + "至" + sdf.format(query.getEndTime()) + ",详情请查看I-GO平台");
                    time_chinese.text("此活动有效期在" + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + "至" + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ",详情请查看I-GO平台");
                }
                if(2 == language){
                    document.getElementById("chinese").remove();
@@ -1641,7 +1641,7 @@
                    Element user_english = document.getElementById("user_english");
                    user_english.text("Hello " + userInfo.getNickName() + ",");
                    Element time_english = document.getElementById("time_english");
                    time_english.text("You could use it from" + sdf.format(query.getInsertTime()) + "to" + sdf.format(query.getEndTime()) + ",check more details on the app.");
                    time_english.text("You could use it from" + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + "to" + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ",check more details on the app.");
                }
                if(3 == language){
                    document.getElementById("chinese").remove();
@@ -1649,7 +1649,7 @@
                    Element user_french = document.getElementById("user_french");
                    user_french.text("Bonjour " + userInfo.getNickName() + ",");
                    Element time_french = document.getElementById("time_french");
                    time_french.text("Cette promotion est valable du" + sdf.format(query.getInsertTime()) + "au" + sdf.format(query.getEndTime()) + ". Veuillez consulter la plateforme i-go pour plus de détails.");
                    time_french.text("Cette promotion est valable du" + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + "au" + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ". Veuillez consulter la plateforme i-go pour plus de détails.");
                }
                EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Red envelope activity" : "Activité de l’enveloppe rouge",  document.html());
@@ -1835,7 +1835,7 @@
                            String path = templatePath +  "user/receipt.html";
                            Document document = Jsoup.parse(new File(path), "UTF-8");
                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                            SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
                            Car car = carMapper.selectById(orderPrivateCar.getCarId());
                            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
@@ -1848,7 +1848,7 @@
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
                                Element title_chinese = document.getElementById("title_chinese");
                                title_chinese.text(sdf.format(orderPrivateCar.getTravelTime()) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                Element xcf_chinese = document.getElementById("xcf_chinese");
                                xcf_chinese.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_chinese = document.getElementById("xj_chinese");
@@ -1864,7 +1864,7 @@
                                Element track_chinese = document.getElementById("track_chinese");
                                track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id);
                                Element pay_time_chinese = document.getElementById("pay_time_chinese");
                                pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_chinese = document.getElementsByClass("driver_chinese");
                                for (int i = 0; i < driver_chinese.size(); i++) {
                                    Element element = driver_chinese.get(i);
@@ -1892,7 +1892,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("french").remove();
                                Element title_english = document.getElementById("title_english");
                                title_english.text(sdf.format(orderPrivateCar.getTravelTime()) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                Element xcf_english = document.getElementById("xcf_english");
                                xcf_english.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_english = document.getElementById("xj_english");
@@ -1908,7 +1908,7 @@
                                Element track_english = document.getElementById("track_english");
                                track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id);
                                Element pay_time_english = document.getElementById("pay_time_english");
                                pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_english = document.getElementsByClass("driver_english");
                                for (int i = 0; i < driver_english.size(); i++) {
                                    Element element = driver_english.get(i);
@@ -1936,7 +1936,7 @@
                                document.getElementById("chinese").remove();
                                document.getElementById("english").remove();
                                Element title_french = document.getElementById("title_french");
                                title_french.text("Vous consommez GHS " + orderPrivateCar.getPayMoney() + " sur votre commande i-go1 le " + sdf.format(orderPrivateCar.getTravelTime()));
                                title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                Element xcf_french = document.getElementById("xcf_french");
                                xcf_french.text("GHS " + orderPrivateCar.getOrderMoney());
                                Element xj_french = document.getElementById("xj_french");
@@ -1952,18 +1952,18 @@
                                Element track_french = document.getElementById("track_french");
                                track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id);
                                Element pay_time_french = document.getElementById("pay_time_french");
                                pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
                                pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime())));
                                Elements driver_french = document.getElementsByClass("driver_french");
                                for (int i = 0; i < driver_french.size(); i++) {
                                    Element element = driver_french.get(i);
                                    element.text(driver.getFirstName() + "." + driver.getLastName());
                                }
                                Element cp_french = document.getElementById("cp_french");
                                cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                                cp_french.text("Plaque: GS " + car.getCarLicensePlate());
                                Element pf_french = document.getElementById("pf_french");
                                pf_french.text("Évaluation des pilotes: " + aDouble);
                                pf_french.text("Note du chauffeur: " + aDouble);
                                Element lc_french = document.getElementById("lc_french");
                                lc_french.text("Kilométrage: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                lc_french.text("Distance: " + aDouble1 + "km / " + orderPrivateCar.getDuration() + "minutes");
                                Element start_time_french = document.getElementById("start_time_french");
                                start_time_french.text(sdf2.format(orderPrivateCar.getTravelTime()));
                                Element start_address_french = document.getElementById("start_address_french");
@@ -2054,10 +2054,14 @@
    }
    @Override
    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> maps = orderPrivateCarMapper.queryMyOrderList(uid, pageNum, size);
        for(Map<String, Object> map : maps){
            String orderTime = map.get("orderTime").toString();
            map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat1(language, time));
            Integer orderId = Integer.valueOf(String.valueOf(map.get("orderId")));
            Integer state = Integer.valueOf(String.valueOf(map.get("state")));
            if(state == 11){
@@ -2073,15 +2077,22 @@
    }
    @Override
    public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception {
    public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception {
        startTime = dateUtil.getStartOrEndDate(startTime, "start");
        endTime = dateUtil.getStartOrEndDate(endTime, "end");
        return orderPrivateCarMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        List<Map<String, Object>> list = orderPrivateCarMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
    @Override
    public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception {
    public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception {
        Map<String, Object> map = orderPrivateCarMapper.queryOrderInfo(orderId);
        String travelTime = map.get("travelTime").toString();
        map.put("travelTime", DateUtil.conversionFormat1(language, travelTime));
        Integer state = Integer.valueOf(String.valueOf(map.get("state")));
        if(null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用
            OrderPrivateCar orderPrivateCar = this.selectById(orderId);
@@ -2125,8 +2136,13 @@
    }
    @Override
    public List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception {
        return orderPrivateCarMapper.queryMyTravelRecord(uid);
    public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception {
        List<Map<String, Object>> list = orderPrivateCarMapper.queryMyTravelRecord(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -2239,8 +2255,13 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception {
        return orderPrivateCarMapper.queryRedEnvelope(uid);
    public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception {
        List<Map<String, Object>> list = orderPrivateCarMapper.queryRedEnvelope(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityBalanceMapper.xml
@@ -57,7 +57,7 @@
        d.couponType as dcouponType,
        e.couponType as ecouponType,
        DATE_FORMAT(a.startTime, '%Y-%m-%d') as startTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%-d') as endTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%d') as endTime,
        a.effective as beffective,
        a.effective as ceffective,
        a.effective as deffective,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityInviteMapper.xml
@@ -25,7 +25,7 @@
        a.couponId as couponId,
        a.totalNum as totalNum,
        DATE_FORMAT(a.startTime, '%Y-%m-%d') as startTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%-d') as endTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%d') as endTime,
        a.enable as enable,
        a.effective as effective,
        c.money as money,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityRegisteredMapper.xml
@@ -27,7 +27,7 @@
        a.totalNum as totalNum,
        a.laveNum as laveNum,
        DATE_FORMAT(a.startTime, '%Y-%m-%d') as startTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%-d') as endTime,
        DATE_FORMAT(a.endTime, '%Y-%m-%d') as endTime,
        a.`enable` as `enable`,
        b.money as money,
        b.fullMoney as fullMoney,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderCancelService.java
@@ -44,5 +44,5 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCancel(Integer uid, Integer isPay) throws Exception;
    List<Map<String, Object>> queryCancel(Integer language, Integer uid, Integer isPay) throws Exception;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderEvaluateService.java
@@ -27,7 +27,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryOrderEvaluate(Integer driverId, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryOrderEvaluate(Integer language, Integer driverId, Integer pageNum, Integer size) throws Exception;
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserActivityBalanceService.java
@@ -15,5 +15,5 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> query(Double money, Integer companyId) throws Exception;
    List<Map<String, Object>> query(Integer language, Double money, Integer companyId) throws Exception;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserActivityRegisteredService.java
@@ -15,6 +15,6 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> query(Integer companyId) throws Exception;
    List<Map<String, Object>> query(Integer language, Integer companyId) throws Exception;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java
@@ -27,7 +27,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCoupon(Integer uid, Integer companyId, Integer state, Integer couponUseType, Double money, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryCoupon(Integer language, Integer uid, Integer companyId, Integer state, Integer couponUseType, Double money, Integer pageNum, Integer size) throws Exception;
    /**
@@ -38,7 +38,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyCoupons(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception;
    List<Map<String, Object>> queryMyCoupons(Integer language, Integer state, Integer pageNum, Integer size, Integer uid) throws Exception;
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
@@ -80,7 +80,7 @@
    ResultUtil<LoginWarpper> wxIsLogin( String jscode) throws Exception;
    ResultUtil<LoginWarpper> wxIsLogin(Integer language, String jscode) throws Exception;
    /**
@@ -142,7 +142,7 @@
     * @return
     * @throws Exception
     */
    Map<String, Object> queryUserInfo(Integer uid) throws Exception;
    Map<String, Object> queryUserInfo(Integer language, Integer uid) throws Exception;
    /**
@@ -151,7 +151,7 @@
     * @return
     * @throws Exception
     */
    Map<String, Object> queryUser(String phone) throws Exception;
    Map<String, Object> queryUser(Integer language, String phone) throws Exception;
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
@@ -63,7 +63,7 @@
        if(ToolUtil.isNotEmpty(content)){
            if(content.length() > 200){
                language = userInfoService.queryLanguage(uid, language);
                return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "Feedback is too long" : "Les commentaires sont trop longs");
                return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "Feedback-content is overlong." : "Le contenu de l’avis est trop long.");
            }
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            for(SensitiveWords s : sensitiveWords){
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderCancelServiceImpl.java
@@ -4,6 +4,7 @@
import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
import com.stylefeng.guns.modular.system.model.OrderCancel;
import com.stylefeng.guns.modular.system.service.IOrderCancelService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
@@ -78,7 +79,12 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryCancel(Integer uid, Integer isPay) throws Exception {
        return orderCancelMapper.queryCancel(uid, isPay);
    public List<Map<String, Object>> queryCancel(Integer language, Integer uid, Integer isPay) throws Exception {
        List<Map<String, Object>> list = orderCancelMapper.queryCancel(uid, isPay);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderEvaluateServiceImpl.java
@@ -12,6 +12,7 @@
import com.stylefeng.guns.modular.system.model.SensitiveWords;
import com.stylefeng.guns.modular.system.service.IOrderEvaluateService;
import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
@@ -61,7 +62,7 @@
    public ResultUtil saveData(Integer orderId, Integer orderType, Integer fraction, String content, Integer language) throws Exception {
        if(ToolUtil.isNotEmpty(content)){
            if(null != content && content.length() > 500){
                return ResultUtil.error(language == 1 ? "评价内容过长" : language == 2 ? "The evaluation is too long" : "Contenu trop long de l’évaluation");
                return ResultUtil.error(language == 1 ? "评价内容过长" : language == 2 ? "Rating-content is overlong." : "Le contenu de l’évaluation est trop long.");
            }
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            for(SensitiveWords s : sensitiveWords){
@@ -110,9 +111,14 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryOrderEvaluate(Integer driverId, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryOrderEvaluate(Integer language, Integer driverId, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        return orderEvaluateMapper.queryOrderEvaluate(driverId, pageNum, size);
        List<Map<String, Object>> list = orderEvaluateMapper.queryOrderEvaluate(driverId, pageNum, size);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java
@@ -44,7 +44,7 @@
        if(ToolUtil.isNotEmpty(content)){
            if(content.length() > 200){
                language = userInfoService.queryLanguage(uid, language);
                return ResultUtil.error(language == 1 ? "留言内容过长" : language == 2 ? "Message is too long" : "Le message est trop long");
                return ResultUtil.error(language == 1 ? "留言内容过长" : language == 2 ? "Message-content is overlong." : "Le contenu du message est trop long.");
            }
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            for(SensitiveWords s : sensitiveWords){
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -68,7 +68,7 @@
            language = 2;
        }
        if(null == reverseGeocode){
            return ResultUtil.error(language == 1 ? "获取地址信息失败" : language == 2 ? "Failed to get address information" : "Impossible d'obtenir les informations d'adresse");
            return ResultUtil.error(language == 1 ? "获取地址信息失败" : language == 2 ? "Failed to obtain address" : "Impossible d’obtenir l’adresse");
        }
        AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
        String[] city = new String[addressComponentsVos.length];
@@ -77,7 +77,7 @@
        }
        Company query = companyCityService.query(city);
        if(null == query){
            return ResultUtil.error(language == 1 ? "起点暂无企业提供服务" : language == 2 ? "The starting point has no enterprises to provide services" : "Le point de départ n'a pas d'entreprises pour fournir des services", new ArrayList<>());
            return ResultUtil.error(language == 1 ? "起点暂无企业提供服务" : language == 2 ? "No service yet at the starting point" : "Pas encore de service au point de départ", new ArrayList<>());
        }
        Double slnt = Double.valueOf(startLonLat.split(",")[0]);
        Double slat = Double.valueOf(startLonLat.split(",")[1]);
@@ -85,9 +85,9 @@
        Double elat = Double.valueOf(endLonLat.split(",")[1]);
        DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt);
        if(null == distancematrix){
            return ResultUtil.error(language == 1 ? "获取预估距离出错" : language == 2 ? "Error getting estimated distance" : "Erreur lors de l'obtention de la distance estimée", new ArrayList<>());
            return ResultUtil.error(language == 1 ? "获取预估距离出错" : language == 2 ? "Obtaining-estimated-distance error" : "Erreur d’obtention de la distance estimée", new ArrayList<>());
        }else if(distancematrix.getDistance() == 0){
            return ResultUtil.error(language == 1 ? "未获取到有效的距离" : language == 2 ? "A valid distance was not obtained" : "La distance effective n’est pas acquise", new ArrayList<>());
            return ResultUtil.error(language == 1 ? "未获取到有效的距离" : language == 2 ? "Not obtaining available distance" : "Ne pas obtenir la distance disponible", new ArrayList<>());
        }
        long distance1 = distancematrix.getDistance();//距离(米)
        double distance1_ = Double.valueOf(distance1).doubleValue();
@@ -96,7 +96,7 @@
        List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, 1);
        if(price.size() == 0){
            return ResultUtil.error(language == 1 ? "未获取到可服务的车型" : language == 2 ? "No serviceable model available" : "Aucun modèle réparable disponible", new ArrayList<>());
            return ResultUtil.error(language == 1 ? "未获取到可服务的车型" : language == 2 ? "Not obtaining available vehicle-type" : "Ne pas obtenir le type de véhicule disponible", new ArrayList<>());
        }
        return ResultUtil.success(price);
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
@@ -5,6 +5,7 @@
import com.stylefeng.guns.modular.system.dao.TNoticesMapper;
import com.stylefeng.guns.modular.system.model.SystemNotice;
import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -72,10 +73,15 @@
        if(type == 2){//系统消息
            list = systemNoticeMapper.queryList(type, pageNum, size, uid);
            for(Map<String, Object> map : list){
                map.put("title", language == 1 ? "系统提示" : language == 2 ? "System prompt" : "Rappel du système");
                map.put("title", language == 1 ? "系统提示" : language == 2 ? "Message" : "Rappel du système");
                systemNoticeMapper.readSystemNotice(Integer.valueOf(String.valueOf(map.get("id"))), uid);
            }
        }
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityBalanceServiceImpl.java
@@ -4,6 +4,7 @@
import com.stylefeng.guns.modular.system.dao.UserActivityBalanceMapper;
import com.stylefeng.guns.modular.system.model.UserActivityBalance;
import com.stylefeng.guns.modular.system.service.IUserActivityBalanceService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -28,7 +29,14 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> query(Double money, Integer companyId) throws Exception {
        return userActivityBalanceMapper.query(money, companyId);
    public List<Map<String, Object>> query(Integer language, Double money, Integer companyId) throws Exception {
        List<Map<String, Object>> query = userActivityBalanceMapper.query(money, companyId);
        for (Map<String, Object> map : query) {
            String startTime = map.get("startTime").toString();
            map.put("startTime", DateUtil.conversionFormat(language, startTime));
            String endTime = map.get("endTime").toString();
            map.put("endTime", DateUtil.conversionFormat(language, endTime));
        }
        return query;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityRegisteredServiceImpl.java
@@ -4,6 +4,7 @@
import com.stylefeng.guns.modular.system.dao.UserActivityRegisteredMapper;
import com.stylefeng.guns.modular.system.model.UserActivityRegistered;
import com.stylefeng.guns.modular.system.service.IUserActivityRegisteredService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -29,7 +30,14 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> query(Integer companyId) throws Exception {
        return userActivityRegisteredMapper.query(companyId);
    public List<Map<String, Object>> query(Integer language, Integer companyId) throws Exception {
        List<Map<String, Object>> query = userActivityRegisteredMapper.query(companyId);
        for (Map<String, Object> map : query) {
            String startTime = map.get("startTime").toString();
            map.put("startTime", DateUtil.conversionFormat(language, startTime));
            String endTime = map.get("endTime").toString();
            map.put("endTime", DateUtil.conversionFormat(language, endTime));
        }
        return query;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
@@ -6,6 +6,7 @@
import com.stylefeng.guns.modular.system.model.UserInfo;
import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
import com.stylefeng.guns.modular.system.service.IUserInfoService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -46,9 +47,14 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryCoupon(Integer uid, Integer companyId, Integer state, Integer couponUseType, Double money, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryCoupon(Integer language, Integer uid, Integer companyId, Integer state, Integer couponUseType, Double money, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        return userCouponRecordMapper.queryCoupon(uid, companyId, state, couponUseType, money, pageNum, size);
        List<Map<String, Object>> list = userCouponRecordMapper.queryCoupon(uid, companyId, state, couponUseType, money, pageNum, size);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -62,9 +68,14 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryMyCoupons(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception {
    public List<Map<String, Object>> queryMyCoupons(Integer language, Integer state, Integer pageNum, Integer size, Integer uid) throws Exception {
        pageNum = (pageNum - 1) * size;
        return userCouponRecordMapper.queryMyCoupons(state, pageNum, size, uid);
        List<Map<String, Object>> list = userCouponRecordMapper.queryMyCoupons(state, pageNum, size, uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
    /**
@@ -78,7 +89,7 @@
        UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id);
        if(userCouponRecord.getUserId().compareTo(uid) != 0){
            language = userInfoService.queryLanguage(uid, language);
            return ResultUtil.error(language == 1 ? "您不能删除此优惠券" : language == 2 ? "You cannot delete this coupon" : "Vous ne pouvez pas supprimer ce coupon");
            return ResultUtil.error(language == 1 ? "您不能删除此优惠券" : language == 2 ? "You cannot cancel the coupon." : "Vous ne pouvez pas annuler le coupon.");
        }
        userCouponRecordMapper.deleteById(id);
        return ResultUtil.success();
@@ -98,10 +109,10 @@
        UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id);
        language = userInfoService.queryLanguage(uid, language);
        if(userCouponRecord.getUserId().compareTo(uid) != 0){
            return ResultUtil.error(language == 1 ? "您不能赠送此优惠券" : language == 2 ? "You cannot gift this coupon" : "Vous ne pouvez pas offrir ce coupon");
            return ResultUtil.error(language == 1 ? "您不能赠送此优惠券" : language == 2 ? "You cannot gift the coupon." : "Vous ne pouvez pas offrir le coupon.");
        }
        if(userCouponRecord.getState() != 1){
            return ResultUtil.error(language == 1 ? "优惠券已无法使用" : language == 2 ? "Coupon no longer available" : "Le coupon n'est plus disponible");
            return ResultUtil.error(language == 1 ? "优惠券已无法使用" : language == 2 ? "The coupon is no more available." : "Le coupon n’est plus disponible.");
        }
        userCouponRecord.setUserId(userId);
        userCouponRecordMapper.updateById(userCouponRecord);
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -195,7 +195,7 @@
                                                 Integer userType, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
        }
        UserInfo userInfo = userInfoMapper.queryByPhone(phone);
@@ -424,6 +424,8 @@
                        Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
                        String startTime = map.get("startTime").toString();
                        String endTime = map.get("endTime").toString();
                        map.put("startTime", DateUtil.conversionFormat(language, startTime));
                        map.put("endTime", DateUtil.conversionFormat(language, endTime));
                        int num = 0;
                        for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
                            //判断当前优惠券金额是否大于可发放剩余总金额
@@ -538,7 +540,7 @@
            }
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error("账号被冻结");
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
        }
        //调用单点登录的逻辑
@@ -590,10 +592,10 @@
            return ResultUtil.error(language == 1 ? "账号无效" : language == 2 ? "Invalid account" : "Compte non valide");
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen." : "Le compte est gelé");
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
        }
        if(!ShiroKit.md5(password, salt).equals(userInfo.getPassWord())){
            return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Password error" : "Mot de passe incorrect");
            return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Wrong password" : "Mot de passe erroné");
        }
        //调用单点登录的逻辑
@@ -629,7 +631,7 @@
        String phone=null;
        if(type == 2){//小程序
            if(ToolUtil.isEmpty(jscode)){
                return ResultUtil.error("微信登录请求失败,请重试");
                return ResultUtil.error(language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
            }
            Map<String, String> map = weChatUtil.code2Session(jscode);
            openid = map.get("openid");
@@ -758,7 +760,7 @@
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error("账号被冻结");
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
        }
        //调用单点登录的逻辑
@@ -894,23 +896,23 @@
        return ResultUtil.success(loginWarpper);
    }
    @Override
    public ResultUtil<LoginWarpper> wxIsLogin(String jscode) throws Exception {
    public ResultUtil<LoginWarpper> wxIsLogin(Integer language, String jscode) throws Exception {
        UserInfo userInfo = null;
        String phone=null;
        if(ToolUtil.isEmpty(jscode)){
            return ResultUtil.error("微信登录请求失败,请重试");
            return ResultUtil.error(language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
        }
        Map<String, String> map = weChatUtil.code2Session(jscode);
        String openid = map.get("openid");
        String unionid = map.get("unionid");
        userInfo = userInfoMapper.queryByOpenid2(openid);
        if(null==userInfo){
            return ResultUtil.getResult(2000,"微信登录请求失败,请重试");
            return ResultUtil.getResult(2000,language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error("账号被冻结");
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
        }
        //调用单点登录的逻辑
@@ -1051,7 +1053,7 @@
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error("账号被冻结");
            return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
        }
        //调用单点登录的逻辑
@@ -1199,14 +1201,14 @@
    public ResultUtil forgetPassword(String phone, String code, String password, Integer language) throws Exception {
        UserInfo userInfo = this.queryByPhone(phone);
        if(null == userInfo){
            return ResultUtil.error(language == 1 ? "手机号码未注册" : language == 2 ? "Cell phone number is not registered" : "Numéro de téléphone portable non enregistré");
            return ResultUtil.error(language == 1 ? "手机号码未注册" : language == 2 ? "Mobile phone number was not registered." : "Le numéro de téléphone portable n’a pas été enregistré.");
        }
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            b = this.checkCaptcha(userInfo.getEmail(), code);
        }
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error(language == 1 ? "账号已被冻结" : language == 2 ? "The account has been frozen" : "Le compte a été gelé");
@@ -1233,7 +1235,7 @@
    public ResultUtil bindingPhone(Integer uid, String phoneOperator, String phone, String code, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
        }
        UserInfo userInfo = this.selectById(uid);
        UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
@@ -1295,12 +1297,12 @@
    public ResultUtil bindingEmail(Integer uid, Integer type, String email, String code, Integer language) throws Exception {
        boolean b = this.checkCaptcha(email, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
        }
        UserInfo userInfo = this.selectById(uid);
        UserInfo userInfo1 = userInfoMapper.queryByEmail(email);
        if(null != userInfo1 && uid.compareTo(userInfo1.getId()) != 0){
            return ResultUtil.error(language == 1 ? "邮箱已被使用" : language == 2 ? "The mailbox is in use" : "La boîte mail a déjà été utilisée");
            return ResultUtil.error(language == 1 ? "邮箱已被使用" : language == 2 ? "E-mail address is already in use." : "L’adresse e-mail est déjà utilisée.");
        }
//        if(null != userInfo1){
@@ -1389,8 +1391,11 @@
     * @throws Exception
     */
    @Override
    public Map<String, Object> queryUserInfo(Integer uid) throws Exception {
        return userInfoMapper.queryUserInfo(uid, null);
    public Map<String, Object> queryUserInfo(Integer language, Integer uid) throws Exception {
        Map<String, Object> map = userInfoMapper.queryUserInfo(uid, null);
        String birthday = map.get("birthday").toString();
        map.put("birthday", DateUtil.conversionFormat(language, birthday));
        return map;
    }
@@ -1401,8 +1406,11 @@
     * @throws Exception
     */
    @Override
    public Map<String, Object> queryUser(String phone) throws Exception {
        return userInfoMapper.queryUserInfo(null, phone);
    public Map<String, Object> queryUser(Integer language, String phone) throws Exception {
        Map<String, Object> map = userInfoMapper.queryUserInfo(null, phone);
        String birthday = map.get("birthday").toString();
        map.put("birthday", DateUtil.conversionFormat(language, birthday));
        return map;
    }
@@ -1431,7 +1439,7 @@
    public ResultUtil depositBalance(Integer payType, String bankCardId, Double money, Integer uid, Integer type, Integer language) throws Exception {
        UserInfo userInfo = userInfoMapper.selectById(uid);
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error("支付金额必须大于0元", "");
            return ResultUtil.error(language == 1 ? "支付金额必须大于0元" : language == 2 ? "Payment amount must be greater than zero." : "Le montant du paiement doit être supérieur à zéro.", "");
        }
        if(payType == 1){//手机支付
            Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
@@ -1490,12 +1498,12 @@
    public ResultUtil updatePhone(String code, String phoneOperator, String phone, Integer uid, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
        }
        UserInfo userInfo = this.selectById(uid);
        UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
        if(null != userInfo1){
            return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The phone number has been registered" : "Le numéro de téléphone a été enregistré");
            return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "Mobile phone number has been registered." : "Le numéro de téléphone portable a été enregistré.");
        }
        userInfo.setPhoneOperator(phoneOperator);
        userInfo.setPhone(phone);
@@ -1614,7 +1622,7 @@
        if(null != email){
            String value = redisUtil.getValue(email);
            if(ToolUtil.isEmpty(value) || code.equals(value)){
                return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
                return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
            }
            userInfo.setEmail(email);
        }
@@ -1680,7 +1688,7 @@
     * @throws Exception
     */
    public synchronized void addCoupon(Integer userId, Double money, Integer companyId, Integer paymentRecordId, Integer language) throws Exception{
        List<Map<String, Object>> query = userActivityBalanceService.query(money, companyId);
        List<Map<String, Object>> query = userActivityBalanceService.query(language, money, companyId);
        List<UserCouponRecord> list = new ArrayList<>();
        for(Map<String, Object> map : query){
            //添加通用优惠券
@@ -1942,7 +1950,7 @@
     */
    private synchronized void addCoupon(UserInfo userInfo, Integer language) throws Exception{
        //添加优惠券
        List<Map<String, Object>> list = userActivityRegisteredService.query(userInfo.getCompanyId());
        List<Map<String, Object>> list = userActivityRegisteredService.query(language, userInfo.getCompanyId());
        int num = 0;
        for(Map<String, Object> map : list){
            if(null != map){
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -51,14 +51,14 @@
    public ResultUtil withdrawal(Double money, Integer uid, String remark, Integer language) throws Exception {
        language = userInfoService.queryLanguage(uid, language);
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0");
            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than zero." : "Le montant du retrait doit être supérieur à zéro.");
        }
        UserInfo userInfo = userInfoService.selectById(uid);
        if(null == userInfo.getBalance()){
            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
        }
        if(userInfo.getBalance().compareTo(money) < 0){
            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
        }
        Withdrawal withdrawal = new Withdrawal();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java
@@ -130,4 +130,165 @@
        map.put("endTime", end);
        return map;
    }
    /**
     * 多语言时间日期格式转换
     * @param language  语言编号
     * @param datetime      标准格式化时间 yyyy-MM-dd
     * @return
     */
    public static String conversionFormat(Integer language, String datetime){
        String time = "";
        String date = datetime;
        int index = datetime.indexOf(" ");
        if(index != -1){
            time = datetime.substring(datetime.indexOf(" ") + 1);
            date = datetime.substring(0, datetime.indexOf(" "));
        }
        String[] split = date.split("-");
        switch (language){
            case 2:
                split[1] = englishMonth(Integer.valueOf(split[1]));
                datetime = split[1] + " " + split[2] + ", " + split[0];
                if(index != -1){
                    datetime += " " + time;
                }
                break;
            case 3:
                split[1] = frenchMonth(Integer.valueOf(split[1]));
                datetime = split[2] + " " + split[1] + " " + split[0];
                if(index != -1){
                    datetime += " " + time;
                }
                break;
        }
        return datetime;
    }
    public static String conversionFormat1(Integer language, String datetime){
        String time = "";
        String date = datetime;
        int index = datetime.indexOf(" ");
        if(index != -1){
            time = datetime.substring(datetime.indexOf(" ") + 1);
            date = datetime.substring(0, datetime.indexOf(" "));
        }
        String[] split = date.split("-");
        switch (language){
            case 2:
                split[1] = englishMonth(Integer.valueOf(split[0]));
                datetime = split[0] + " " + split[1];
                if(index != -1){
                    datetime += " " + time;
                }
                break;
            case 3:
                split[1] = frenchMonth(Integer.valueOf(split[0]));
                datetime = split[1] + " " + split[0];
                if(index != -1){
                    datetime += " " + time;
                }
                break;
        }
        return datetime;
    }
    public static String frenchMonth(Integer month){
        String m = "";
        switch (month){
            case 1:
                m = "Janvier";
                break;
            case 2:
                m = "Février";
                break;
            case 3:
                m = "Mars";
                break;
            case 4:
                m = "Avril";
                break;
            case 5:
                m = "Mai";
                break;
            case 6:
                m = "Juin";
                break;
            case 7:
                m = "Juillet";
                break;
            case 8:
                m = "Août";
                break;
            case 9:
                m = "Septembre";
                break;
            case 10:
                m = "Octobre";
                break;
            case 11:
                m = "Novembre";
                break;
            case 12:
                m = "Décembre";
                break;
                default:
                    m = "";
                    break;
        }
        return m;
    }
    public static String englishMonth(Integer month){
        String m = "";
        switch (month){
            case 1:
                m = "January";
                break;
            case 2:
                m = "February";
                break;
            case 3:
                m = "March";
                break;
            case 4:
                m = "April";
                break;
            case 5:
                m = "May";
                break;
            case 6:
                m = "June";
                break;
            case 7:
                m = "July";
                break;
            case 8:
                m = "August";
                break;
            case 9:
                m = "September";
                break;
            case 10:
                m = "October";
                break;
            case 11:
                m = "November";
                break;
            case 12:
                m = "December";
                break;
            default:
                m = "";
                break;
        }
        return m;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java
@@ -20,11 +20,11 @@
 */
public class TinggPayUtil {
    private static String accessKey = "KxjPP444jEE7K88E7juej4PKqqzKq7qKjKj84q744q9zj4Ej4zK47uj4KKj4";
    private static String accessKey = "8rc1gTV9n91Tc1Sy9oVWry99fgrgrVV8concf9onWooWSg9TVW8nSgo98g88";
    private static String ivKey = "qsffKsCOJJdhSBCQ";
    private static String ivKey = "ABp0pqpHMteEJM2N";
    private static String secretKey = "9jjz4Ex74P8ue4qK";
    private static String secretKey = "rf8Vo1n9yTSW98cg";
    /**
@@ -53,7 +53,7 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String countryCode="GHA";//收取付款的国家的3位ISO代码
        String currencyCode = "GHS";//3位ISO代码的货币,商家正在开发票。
        String serviceCode="IGOGHANA";//服务代码
        String serviceCode="I-GO_TECHNOLOGIES_LI";//服务代码
        String dueDate = sdf.format(new Date(System.currentTimeMillis() + 1800000));//到期时间
        String languageCode="EN";
        String paymentOptionCode = "";//支付选项码
@@ -90,13 +90,13 @@
    public static void main(String[] ages){
        CheckoutRequest checkoutRequest = new CheckoutRequest();
        checkoutRequest.setMsisdn(Long.valueOf("2030376339310"));
        checkoutRequest.setMsisdn(Long.valueOf("233244915521"));
        checkoutRequest.setCustomerEmail("393733352@qq.com");
        checkoutRequest.setAccountNumber("2030376339310");
        checkoutRequest.setCustomerFirstName("ZHONGSHI");
        checkoutRequest.setCustomerLastName("HUANG");
        checkoutRequest.setAccountNumber("233244915521");
        checkoutRequest.setCustomerFirstName("GOU");
        checkoutRequest.setCustomerLastName("XIONG");
        checkoutRequest.setRequestAmount(1.00D);
        checkoutRequest.setMerchantTransactionId("00025");
        checkoutRequest.setMerchantTransactionId("00030");
        checkoutRequest.setRequestDescription("payment test");
        checkoutRequest.setCallbackUrl("https://10pz685243.zicp.fun/base/IGO/wxCancelUserBalance");
        checkoutRequest.setPendingRedirectUrl("https://www.baidu.com");
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
@@ -135,7 +135,7 @@
        select
        id as orderId,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime,
        DATE_FORMAT(travelTime, '%m月%d日 %H:%i') as time,
        DATE_FORMAT(travelTime, '%m-%d %H:%i') as time,
        startAddress as startAddress,
        endAddress as endAddress,
        driverId as driverId,
@@ -204,7 +204,7 @@
        a.type as type,
        a.state as state,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        DATE_FORMAT(a.travelTime, '%m月%d日 %H:%i') as travelTime,
        DATE_FORMAT(a.travelTime, '%m-%d %H:%i') as travelTime,
        DATE_FORMAT(a.arriveTime, '%Y-%m-%d %H:%i:%s') as arriveTime,
        a.startLon as startLon,
        a.startLat as startLat,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java
@@ -87,7 +87,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception;
    /**
@@ -118,7 +118,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception;
    List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception;
    /**
@@ -127,7 +127,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception;
    List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception;
    /**
@@ -136,7 +136,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception;
    List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception;
    /**
@@ -150,7 +150,7 @@
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
    List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                Double endMoney, Integer uid) throws Exception;
@@ -159,7 +159,7 @@
     * @param orderId
     * @return
     */
    Map<String, Object> queryOrderInfo(Integer orderId) throws Exception;
    Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception;
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -492,10 +492,10 @@
        ResultUtil resultUtil = ResultUtil.success("");
        if(null == orderTaxi){
            return ResultUtil.error((language == 1 ? "订单信息有误" : language == 2 ? "Incorrect order information" : "Informations de commande incorrectes"), "");
            return ResultUtil.error((language == 1 ? "订单信息有误" : language == 2 ? "Order-information error" : "Erreur d’information de commande"), "");
        }
        if(orderTaxi.getState() != 12){
            return ResultUtil.error((language == 1 ? "订单取消失败" : language == 2 ? "Order cancellation failure" : "Annulation de commande échouée"), "");
            return ResultUtil.error((language == 1 ? "订单取消失败" : language == 2 ? "Failed to cancel order" : "Échec de l’annulation de la commande"), "");
        }
        OrderCancel orderCancel = null;
        if(null == cancleId){
@@ -518,7 +518,7 @@
            }
            if(payType == 3){//余额支付
                if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
                    return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                    return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
                }
                userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -609,10 +609,10 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
        OrderTaxi orderTaxi = this.selectById(orderId);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size);
        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size);
        list.addAll(list1);
        return list;
    }
@@ -694,7 +694,7 @@
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -818,13 +818,17 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> maps = orderTaxiMapper.queryMyOrderList(uid, pageNum, size);
        for(Map<String, Object> map : maps){
            if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){
                map.put("state", map.get("oldState"));
            }
            String orderTime = map.get("orderTime").toString();
            String time = map.get("time").toString();
            map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
            map.put("time", DateUtil.conversionFormat1(language, time));
        }
        return maps;
    }
@@ -837,8 +841,13 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception {
        return orderTaxiMapper.queryMyTravelRecord(uid);
    public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception {
        List<Map<String, Object>> list = orderTaxiMapper.queryMyTravelRecord(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -849,8 +858,13 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception {
        return orderTaxiMapper.queryRedEnvelope(uid);
    public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception {
        List<Map<String, Object>> list = orderTaxiMapper.queryRedEnvelope(uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -866,11 +880,16 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
    public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                       Double endMoney, Integer uid) throws Exception {
        startTime = dateUtil.getStartOrEndDate(startTime, "start");
        endTime = dateUtil.getStartOrEndDate(endTime, "end");
        return orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        List<Map<String, Object>> list = orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            map.put("time", DateUtil.conversionFormat(language, time));
        }
        return list;
    }
@@ -880,7 +899,7 @@
     * @return
     */
    @Override
    public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception{
    public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception{
        Map<String, Object> map = orderTaxiMapper.queryOrderInfo(orderId);
        if(null != map && null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用
            OrderTaxi orderTaxi = this.selectById(orderId);
@@ -893,6 +912,13 @@
        String driverId = redisUtil.getValue("DEVICE_" + map.get("driverId"));
        map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1);
        map.put("orderType", 2);
        String insertTime = map.get("insertTime").toString();
        map.put("insertTime", DateUtil.conversionFormat(language, insertTime));
        String travelTime = map.get("travelTime").toString();
        map.put("travelTime", DateUtil.conversionFormat1(language, travelTime));
        String arriveTime = map.get("arriveTime").toString();
        map.put("arriveTime", DateUtil.conversionFormat(language, arriveTime));
        return map;
    }