zhibing.pu
2024-08-15 519aede1f3056cd87835ab9fa1c98328830fc462
修改2.0 bug
9个文件已修改
243 ■■■■ 已修改文件
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 10 ●●●● 补丁 | 查看 | 原始文档 | 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/model/OrderLogistics.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -264,10 +264,10 @@
            for (Map<String, Object> map : maps) {
                Integer orderType = Integer.valueOf(map.get("orderType").toString());
                if(1 == orderType){
                    map.put("name", language == 1 ? "打车订单取消" : language == 2 ? "Ride order cancelled" : "Commande de trajet annulée");
                    map.put("name", language == 1 ? "打车订单取消" : language == 2 ? "Ride order cancelled" : "Commande de course annulée");
                }
                if(4 == orderType){
                    map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Parcel order cancellation" : "Annulation de commande de livraison");
                    map.put("name", language == 1 ? "包裹订单取消" : language == 2 ? "Delivery order cancelled" : "Commande de livraison annulée");
                }
            }
            List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(language, uid);//专车
@@ -1760,6 +1760,9 @@
                case 1:
                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                    Double orderMoney = orderPrivateCar.getOrderMoney();
                    if(null == orderMoney){
                        orderMoney = 0D;
                    }
                    UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
                    if(null != query2){
                        Integer orderNum=orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId", uid).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
@@ -1775,6 +1778,9 @@
                case 4:
                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
                    Double orderMoney1 = orderLogistics.getOrderMoney();
                    if(null == orderMoney1){
                        orderMoney1 = 0D;
                    }
                    UserActivityDiscount1 query1 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId());
                    if(null != query1){
                        Integer orderNum=orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("userId", uid).eq("activityId",query1.getId()).last(" and to_days(getoffTime) = to_days(now())"));
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -11,12 +11,9 @@
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IDriverServiceService;
import com.stylefeng.guns.modular.system.service.IUserInfoService;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo;
import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
import com.stylefeng.guns.modular.system.util.PushUtil;
import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.TextToSpeechUtil;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.OrderTimeInfo;
import io.swagger.annotations.Api;
@@ -326,10 +323,10 @@
            OrderTimeInfo orderTimeInfo = new OrderTimeInfo();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if(null != orderLogistics.getSnatchOrderTime()){
                orderTimeInfo.setSnatchOrderTime(sdf.format(orderLogistics.getSnatchOrderTime()));
                orderTimeInfo.setSnatchOrderTime(DateUtil.conversionFormat(language, sdf.format(orderLogistics.getSnatchOrderTime())));
            }
            if(null != orderLogistics.getStartServiceTime()){
                orderTimeInfo.setStartServiceTime(sdf.format(orderLogistics.getStartServiceTime()));
                orderTimeInfo.setStartServiceTime(DateUtil.conversionFormat(language, sdf.format(orderLogistics.getStartServiceTime())));
            }
            //分钟
            long time = (System.currentTimeMillis() - orderLogistics.getSnatchOrderTime().getTime()) / 60000;
@@ -344,7 +341,11 @@
            }
            orderTimeInfo.setUsedTime(usedTime);
            if(null != orderLogistics.getEndServiceTime()){
                orderTimeInfo.setEndServiceTime(sdf.format(orderLogistics.getEndServiceTime()));
                orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(orderLogistics.getEndServiceTime())));
            }else{
                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon());
                Long duration = distancematrix.getDuration();
                orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(new Date(System.currentTimeMillis() + duration * 1000))));
            }
            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon());
            Long distance = distancematrix.getDistance();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java
@@ -451,4 +451,14 @@
     */
    @TableField("startDuration")
    private Integer startDuration;
    /**
     * 是否冻结(1=否,2=是)
     */
    @TableField("isFrozen")
    private Integer isFrozen;
    /**
     * 争议订单(0=否,1=是)
     */
    @TableField("isDispute")
    private Integer isDispute;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -1355,6 +1355,12 @@
                    pay_type_chinese.text(payTypeChinese);
                    Element pay_money_chinese = document.getElementById("pay_money_chinese");
                    pay_money_chinese.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_chinese = document.getElementById("dispute_chinese");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_chinese.remove();
                    }
                    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");
@@ -1457,6 +1463,12 @@
                    pay_type_english.text(payTypeEnglish);
                    Element pay_money_english = document.getElementById("pay_money_english");
                    pay_money_english.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_english = document.getElementById("dispute_english");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_english.remove();
                    }
                    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");
@@ -1487,7 +1499,7 @@
                    document.getElementById("english").remove();
                    document.getElementsByTag("title").get(0).text("Reçu");
                    Element title_french = document.getElementById("title_french");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le ");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO 1 le ");
                    Element qbj_french = document.getElementById("qbj_french");
                    qbj_french.text("GHS " + new BigDecimal(orderLogistics.getStartMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element scf_french = document.getElementById("scf_french");
@@ -1559,6 +1571,12 @@
                    pay_type_french.text(payTypeFrench);
                    Element pay_money_french = document.getElementById("pay_money_french");
                    pay_money_french.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_french = document.getElementById("dispute_french");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_french.remove();
                    }
                    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");
@@ -1872,6 +1890,12 @@
                    pay_type_chinese.text(payTypeChinese);
                    Element pay_money_chinese = document.getElementById("pay_money_chinese");
                    pay_money_chinese.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_chinese = document.getElementById("dispute_chinese");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_chinese.remove();
                    }
                    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");
@@ -1974,6 +1998,12 @@
                    pay_type_english.text(payTypeEnglish);
                    Element pay_money_english = document.getElementById("pay_money_english");
                    pay_money_english.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_english = document.getElementById("dispute_english");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_english.remove();
                    }
                    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");
@@ -2004,7 +2034,7 @@
                    document.getElementById("english").remove();
                    document.getElementsByTag("title").get(0).text("Reçu");
                    Element title_french = document.getElementById("title_french");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le ");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO 1 le ");
                    Element qbj_french = document.getElementById("qbj_french");
                    qbj_french.text("GHS " + new BigDecimal(orderLogistics.getStartMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element scf_french = document.getElementById("scf_french");
@@ -2076,6 +2106,12 @@
                    pay_type_french.text(payTypeFrench);
                    Element pay_money_french = document.getElementById("pay_money_french");
                    pay_money_french.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_french = document.getElementById("dispute_french");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_french.remove();
                    }
                    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");
@@ -2489,6 +2525,12 @@
                    pay_type_chinese.text(payTypeChinese);
                    Element pay_money_chinese = document.getElementById("pay_money_chinese");
                    pay_money_chinese.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_chinese = document.getElementById("dispute_chinese");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_chinese.remove();
                    }
                    Element pdf_chinese = document.getElementById("pdf_chinese");
                    pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4");
                    Element lost_item_chinese = document.getElementById("lost_item_chinese");
@@ -2591,6 +2633,12 @@
                    pay_type_english.text(payTypeEnglish);
                    Element pay_money_english = document.getElementById("pay_money_english");
                    pay_money_english.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_english = document.getElementById("dispute_english");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_english.remove();
                    }
                    Element pdf_english = document.getElementById("pdf_english");
                    pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4");
                    Element lost_item_english = document.getElementById("lost_item_english");
@@ -2621,7 +2669,7 @@
                    document.getElementById("english").remove();
                    document.getElementsByTag("title").get(0).text("Reçu");
                    Element title_french = document.getElementById("title_french");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le ");
                    title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO 1 le ");
                    Element qbj_french = document.getElementById("qbj_french");
                    qbj_french.text("GHS " + new BigDecimal(orderLogistics.getStartMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element scf_french = document.getElementById("scf_french");
@@ -2693,6 +2741,12 @@
                    pay_type_french.text(payTypeFrench);
                    Element pay_money_french = document.getElementById("pay_money_french");
                    pay_money_french.text("GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN));
                    Element dispute_french = document.getElementById("dispute_french");
                    if(null != orderLogistics.getIsDispute() && orderLogistics.getIsDispute() == 1){
                        dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderLogistics.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                    }else{
                        dispute_french.remove();
                    }
                    Element pdf_french = document.getElementById("pdf_french");
                    pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4");
                    Element lost_item_french = document.getElementById("lost_item_french");
@@ -3184,16 +3238,21 @@
        if(null != map.get("driverId")){
            companyId = Integer.valueOf(String.valueOf(map.get("companyId")));
        }
        map.put("timeOutCancel", 0);
        map.put("driverTimeOutTime", 0);
        map.put("driverTimeOut", 0);
        if(null != orderLogistics.getEstimateArriveTime()){
            CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", companyId));
            JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent());
            int driverTimeout = jsonObject.getIntValue("driverTimeout");
            long timeOutCancel = orderLogistics.getEstimateArriveTime().getTime() + driverTimeout;
            map.put("timeOutCancel", timeOutCancel);
            map.put("driverTimeOut", orderLogistics.getEstimateArriveTime().getTime());
            int driverTimeout1 = jsonObject.getIntValue("driverTimeout");
            long time = orderLogistics.getEstimateArriveTime().getTime() + driverTimeout1 * 60000;
            if(System.currentTimeMillis() > time){
                Integer driverTimeOutTime = Double.valueOf((System.currentTimeMillis() - time) / 60000).intValue();
                driverTimeOutTime = driverTimeOutTime == 0 ? 1 : driverTimeOutTime;
                map.put("driverTimeOutTime", driverTimeOutTime);
                map.put("driverTimeOut", 1);
            }
        }
        map.put("isDispute", orderLogistics.getIsDispute());
        return map;
    }
@@ -3308,10 +3367,7 @@
    @Override
    public ResultUtil cancleOrderPrivateCar(Integer id, Integer payType, Integer bankCardId, Integer cancleId, Integer type, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(id);
        Integer uid = orderLogistics.getUserId();
        UserInfo userInfo = userInfoService.selectById(uid);
        ResultUtil resultUtil = ResultUtil.success("");
        if(null == orderLogistics){
            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.", "");
        }
@@ -3324,7 +3380,9 @@
        }else{
            orderCancel = orderCancelService.selectById(cancleId);
        }
        Integer uid = orderLogistics.getUserId();
        UserInfo userInfo = userInfoService.selectById(uid);
        Double amount = orderCancel.getMoney();
        if(0 < amount){
            if(payType == 1){//手机支付
@@ -3668,7 +3726,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 " + DateUtil.conversionFormat(language, sdf.format(id.getStartTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(id.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(id.getStartTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(id.getEndTime())) + ". Veuillez consulter la plateforme I-GO pour plus de détails.");
                }
                
                EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus",  document.html());
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -360,7 +360,7 @@
        startAddress as startAddress,
        endAddress as endAddress,
        payMoney as payMoney,
        ('打车订单') as orderName,
        ('打车') as orderName,
        if(invoiceId is null, 1, 2) as invoice,
        unix_timestamp(insertTime) as insertTime,
        (1) as orderType
@@ -468,7 +468,7 @@
        select
        (payMoney * -1) as money,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time,
        ('打车订单') as name,
        ('打车') as name,
        UNIX_TIMESTAMP(insertTime) as insertTime
        from t_order_private_car where payMoney != 0 and userId = #{uid} and state in (8, 9, 10, 11, 12) and payType = 3
    </select>
@@ -478,7 +478,7 @@
        select
        redPacketMoney as money,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time,
        ('打车订单') as name,
        ('打车') as name,
        UNIX_TIMESTAMP(insertTime) as insertTime
        from t_order_private_car where userId = #{uid} and state in (8, 9) and redPacketId is not null
    </select>
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -435,4 +435,14 @@
     */
    @TableField("estimateArriveMileage")
    private Long estimateArriveMileage;
    /**
     * 是否冻结(1=否,2=是)
     */
    @TableField("isFrozen")
    private Integer isFrozen;
    /**
     * 争议订单(0=否,1=是)
     */
    @TableField("isDispute")
    private Integer isDispute;
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -1435,7 +1435,7 @@
                            if(null != orderPrivateCar.getDriverId()){
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = Double.valueOf(orderPrivateCar.getMileage() / 1000);
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
@@ -1506,6 +1506,12 @@
                                pay_type_chinese.text("余额支付");
                                Element pay_money_chinese = document.getElementById("pay_money_chinese");
                                pay_money_chinese.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_chinese = document.getElementById("dispute_chinese");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_chinese.remove();
                                }
                                Element pdf_chinese = document.getElementById("pdf_chinese");
                                pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_chinese = document.getElementById("lost_item_chinese");
@@ -1607,6 +1613,12 @@
                                pay_type_english.text("I-GO Wallet");
                                Element pay_money_english = document.getElementById("pay_money_english");
                                pay_money_english.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_english = document.getElementById("dispute_english");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_english.remove();
                                }
                                Element pdf_english = document.getElementById("pdf_english");
                                pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_english = document.getElementById("lost_item_english");
@@ -1708,6 +1720,12 @@
                                pay_type_french.text("Portefeuille I-GO");
                                Element pay_money_french = document.getElementById("pay_money_french");
                                pay_money_french.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_french = document.getElementById("dispute_french");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_french.remove();
                                }
                                Element pdf_french = document.getElementById("pdf_french");
                                pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_french = document.getElementById("lost_item_french");
@@ -1952,7 +1970,7 @@
                            if(null != orderPrivateCar.getDriverId()){
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = Double.valueOf(orderPrivateCar.getMileage() / 1000);
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                            if(1 == language){
                                document.getElementById("english").remove();
@@ -2024,6 +2042,12 @@
                                pay_type_chinese.text("现金");
                                Element pay_money_chinese = document.getElementById("pay_money_chinese");
                                pay_money_chinese.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_chinese = document.getElementById("dispute_chinese");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_chinese.remove();
                                }
                                Element pdf_chinese = document.getElementById("pdf_chinese");
                                pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_chinese = document.getElementById("lost_item_chinese");
@@ -2125,6 +2149,12 @@
                                pay_type_english.text("Cash");
                                Element pay_money_english = document.getElementById("pay_money_english");
                                pay_money_english.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_english = document.getElementById("dispute_english");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_english.remove();
                                }
                                Element pdf_english = document.getElementById("pdf_english");
                                pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_english = document.getElementById("lost_item_english");
@@ -2226,6 +2256,12 @@
                                pay_type_french.text("En espèces");
                                Element pay_money_french = document.getElementById("pay_money_french");
                                pay_money_french.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_french = document.getElementById("dispute_french");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_french.remove();
                                }
                                Element pdf_french = document.getElementById("pdf_french");
                                pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1");
                                Element lost_item_french = document.getElementById("lost_item_french");
@@ -2439,7 +2475,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 " + DateUtil.conversionFormat(language, sdf.format(id.getStartTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(id.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(id.getStartTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(id.getEndTime())) + ". Veuillez consulter la plateforme I-GO pour plus de détails.");
                }
                EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus",  document.html());
@@ -2629,7 +2665,7 @@
                            if(null != orderPrivateCar.getDriverId()){
                                aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                            }
                            Double aDouble1 = Double.valueOf(orderPrivateCar.getMileage() / 1000);
                            Double aDouble1 = new BigDecimal(orderPrivateCar.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                            if(1 == language){
                                document.getElementById("english").remove();
                                document.getElementById("french").remove();
@@ -2700,6 +2736,12 @@
                                pay_type_chinese.text(orderPrivateCar.getPayType() == 1 ? "手机支付" : (orderPrivateCar.getPayType() == 2?"银行卡支付":(orderPrivateCar.getPayType() == 3?"余额支付":"现金支付")));
                                Element pay_money_chinese = document.getElementById("pay_money_chinese");
                                pay_money_chinese.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_chinese = document.getElementById("dispute_chinese");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_chinese.text("(注意: 争议订单,经过三方协商,平台最终定价为 GHS" + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_chinese.remove();
                                }
                                Element pdf_chinese = document.getElementById("pdf_chinese");
                                pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1");
                                Element lost_item_chinese = document.getElementById("lost_item_chinese");
@@ -2801,6 +2843,12 @@
                                pay_type_english.text(orderPrivateCar.getPayType() == 1 ? "Mobile money" :(orderPrivateCar.getPayType() == 2?"Bank card":(orderPrivateCar.getPayType() == 3?"I-GO Wallet":"Cash")));
                                Element pay_money_english = document.getElementById("pay_money_english");
                                pay_money_english.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_english = document.getElementById("dispute_english");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_english.text("(Note: Disputed order, after tripartite negotiation, the final pricing of the platform is GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_english.remove();
                                }
                                Element pdf_english = document.getElementById("pdf_english");
                                pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1");
                                Element lost_item_english = document.getElementById("lost_item_english");
@@ -2902,6 +2950,12 @@
                                pay_type_french.text(orderPrivateCar.getPayType() == 1 ? "Argent mobile" : (orderPrivateCar.getPayType() == 2?"Carte bancaire":(orderPrivateCar.getPayType() == 3?"Portefeuille I-GO":"En espèces")));
                                Element pay_money_french = document.getElementById("pay_money_french");
                                pay_money_french.text("GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                                Element dispute_french = document.getElementById("dispute_french");
                                if(null != orderPrivateCar.getIsDispute() && orderPrivateCar.getIsDispute() == 1){
                                    dispute_french.text("(Remarque: Il s’agit d’une commande contestée, et après des négociations entre trois parties, la plateforme l’a finalement tarifée à GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, RoundingMode.HALF_EVEN) + ")");
                                }else{
                                    dispute_french.remove();
                                }
                                Element pdf_french = document.getElementById("pdf_french");
                                pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1");
                                Element lost_item_french = document.getElementById("lost_item_french");
@@ -3062,7 +3116,7 @@
        endTime = dateUtil.getStartOrEndDate(endTime, "end");
        List<Map<String, Object>> list = orderPrivateCarMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
        for (Map<String, Object> map : list) {
            map.put("orderName", language == 1 ? "打车订单" : language == 2 ? "Ride" : "Course");
            map.put("orderName", language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
            if(null != map.get("time")){
                String time = map.get("time").toString();
                map.put("time", DateUtil.conversionFormat(language, time));
@@ -3127,21 +3181,30 @@
            companyId = Integer.valueOf(String.valueOf(map.get("companyId")));
        }
        
        long timeOutCancel = 0L;
        long driverTimeOut = 0L;
        Integer driverTimeOutTime = 0;
        Integer driverTimeOut = 0;
        CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", companyId));
        JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent());
        int driverTimeout = jsonObject.getIntValue("driverTimeout") * 60000;
        int driverTimeout1 = jsonObject.getIntValue("driverTimeout");
        if(orderPrivateCar.getOrderType() == 1 && null != orderPrivateCar.getEstimateArriveTime()){
            timeOutCancel = orderPrivateCar.getEstimateArriveTime().getTime() + driverTimeout;
            driverTimeOut = orderPrivateCar.getEstimateArriveTime().getTime();
            long time = orderPrivateCar.getEstimateArriveTime().getTime() + driverTimeout1 * 60000L;
            if(System.currentTimeMillis() > time){
                driverTimeOutTime = Double.valueOf((System.currentTimeMillis() - time) / 60000).intValue();
                driverTimeOutTime = driverTimeOutTime == 0 ? 1 : driverTimeOutTime;
                driverTimeOut = 1;
            }
        }else{
            timeOutCancel = orderPrivateCar.getTravelTime().getTime() + driverTimeout;
            driverTimeOut = orderPrivateCar.getTravelTime().getTime();
            long time = orderPrivateCar.getTravelTime().getTime() + driverTimeout1 * 60000L;
            if(System.currentTimeMillis() >= time){
                driverTimeOutTime = Double.valueOf((System.currentTimeMillis() - time) / 60000).intValue();
                driverTimeOutTime = driverTimeOutTime == 0 ? 1 : driverTimeOutTime;
                driverTimeOut = 1;
            }
        }
        
        map.put("timeOutCancel", timeOutCancel);
        map.put("driverTimeOutTime", driverTimeOutTime);
        map.put("driverTimeOut", driverTimeOut);
        map.put("isDispute", orderPrivateCar.getIsDispute());
        return map;
    }
@@ -3270,7 +3333,7 @@
    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) {
            map.put("name", language == 1 ? "打车订单" : language == 2 ? "Ride" : "Course");
            map.put("name", language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
            if(null != map.get("time")){
                String time = map.get("time").toString();
                map.put("time", DateUtil.conversionFormat(language, time));
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -94,10 +94,10 @@
    @Override
    public List<Map<String, Object>> queryWithdrawal(Integer uid, Integer pageNum, Integer size, Integer state, Integer language) throws Exception {
        pageNum = (pageNum - 1) * size;
        String name = language == 1 ? "手机号:" : language == 2 ? "Phone number:" : "Numéro de portable:";
        String name = language == 1 ? "手机号" : language == 2 ? "Mobile Money" : "Argent mobile";
        List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 1, state, pageNum, size);
        for (Map<String, Object> map : list) {
            map.put("name", name + map.get("code"));
            map.put("name", name + "(" + map.get("code") + ")");
            if(null != map.get("insertTime")){
                String insertTime = map.get("insertTime").toString();
                map.put("insertTime", DateUtil.conversionFormat(language, insertTime));
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
@@ -145,11 +145,13 @@
    @ApiModelProperty("司机接单时间")
    private String snatchOrderTime;
    @ApiModelProperty("司机超时时间")
    private Long driverTimeOut;
    @ApiModelProperty("超时取消时间")
    private Long timeOutCancel;
    private Integer driverTimeOutTime;
    @ApiModelProperty("司机是否超时(0=否,1=是)")
    private Integer driverTimeOut;
    private String tripId;
    private List<OrderPosition> orderPositionList;
    @ApiModelProperty("争议订单(0=否,1=是)")
    private Integer isDispute;
    public static OrderInfoWarpper getOrderInfoWarpper(Map<String, Object> map){
        OrderInfoWarpper orderInfoWarpper = new OrderInfoWarpper();
@@ -219,11 +221,12 @@
            orderInfoWarpper.setPayType(null != map.get("payType") ? Integer.valueOf(map.get("payType").toString()) : 4);
            orderInfoWarpper.setReceipt(null != map.get("receipt") ? map.get("receipt").toString() : "");
            orderInfoWarpper.setIsFrozen(null != map.get("isFrozen") ? Integer.valueOf(map.get("isFrozen").toString()) : 1);
            orderInfoWarpper.setTimeOutCancel(null != map.get("timeOutCancel") ? Long.valueOf(map.get("timeOutCancel").toString()) : 0L);
            orderInfoWarpper.setDriverTimeOut(null != map.get("driverTimeOut") ? Long.valueOf(map.get("driverTimeOut").toString()) : 0L);
            orderInfoWarpper.setDriverTimeOutTime(null != map.get("driverTimeOutTime") ? Integer.valueOf(map.get("driverTimeOutTime").toString()) : 0);
            orderInfoWarpper.setDriverTimeOut(null != map.get("driverTimeOut") ? Integer.valueOf(map.get("driverTimeOut").toString()) : 0);
            orderInfoWarpper.setSnatchOrderTime(null != map.get("snatchOrderTime") ? map.get("snatchOrderTime").toString() : "");
            orderInfoWarpper.setPriceDifference(null != map.get("priceDifference") ? Double.valueOf(map.get("priceDifference").toString()) : 0);
            orderInfoWarpper.setTripId(null != map.get("tripId") ? map.get("tripId").toString() : "");
            orderInfoWarpper.setIsDispute(null != map.get("isDispute") ? Integer.valueOf(map.get("isDispute").toString()) : 0);
        }
        if(orderInfoWarpper.getState()==7){
            orderInfoWarpper.setOrderMoney(orderInfoWarpper.getOrderMoney()-orderInfoWarpper.getDiscountMoney());