yanderong
2026-06-30 d300b88fa54f3a711562b80efb0cf2f024d56a0c
feat: 增加超过预估里程的设置
6个文件已修改
183 ■■■■■ 已修改文件
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SystemPrice.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementYKDTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -1244,9 +1244,9 @@
            double estimateMileage = (null == orderPrivateCar.getEstimateMileage() ? 0D : orderPrivateCar.getEstimateMileage());
            System.out.println("预估里程数"+estimateMileage);
            //在价格区间按照一口价算,不在区间按实时价格算
            if(d<estimateMileage+contentPrice.getDouble("num29")*1000 && d>estimateMileage-contentPrice.getDouble("num32")*1000){
            if(d<estimateMileage+contentPrice.getDouble("exceedMileageInner")*1000 && d>estimateMileage-contentPrice.getDouble("belowMileageInner")*1000){
                System.out.println("在区间===============");
                orderPrivateCar = calculationPrice1(orderPrivateCar,contentPrice,jsonObject.getLongValue("num1"),jsonObject.getDouble("num2"),parkingFee,crossingFee);
                orderPrivateCar = calculationPrice(orderPrivateCar,contentPrice,jsonObject.getLongValue("num1"),jsonObject.getDouble("num2"),parkingFee,crossingFee);
                System.out.println("返回订单数据"+orderPrivateCar);
            }else{
                System.out.println("不在区间====================");
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SystemPrice.java
@@ -37,6 +37,31 @@
    @TableField("content")
    private String content;
    /**
     * 超过预估里程多少公里以内,按一口价计算
     */
    @TableField("exceedMileageInner")
    private String exceedMileageInner;
    /**
     * 超过预估里程多少公里以上,按实时价计算
     */
    @TableField("exceedMileageOut")
    private String exceedMileageOut;
    /**
     * 低于预估里程多少公里以上,按实时价计算
     */
    @TableField("belowMileageOut")
    private String belowMileageOut;
    /**
     * 低于预估里程多少公里以内,按一口价计算
     */
    @TableField("belowMileageInner")
    private String belowMileageInner;
    public Integer getId() {
        return id;
    }
@@ -77,6 +102,38 @@
        this.serverCarModelId = serverCarModelId;
    }
    public String getExceedMileageInner() {
        return exceedMileageInner;
    }
    public void setExceedMileageInner(String exceedMileageInner) {
        this.exceedMileageInner = exceedMileageInner;
    }
    public String getExceedMileageOut() {
        return exceedMileageOut;
    }
    public void setExceedMileageOut(String exceedMileageOut) {
        this.exceedMileageOut = exceedMileageOut;
    }
    public String getBelowMileageOut() {
        return belowMileageOut;
    }
    public void setBelowMileageOut(String belowMileageOut) {
        this.belowMileageOut = belowMileageOut;
    }
    public String getBelowMileageInner() {
        return belowMileageInner;
    }
    public void setBelowMileageInner(String belowMileageInner) {
        this.belowMileageInner = belowMileageInner;
    }
    @Override
    public String toString() {
        return "SystemPrice{" +
@@ -85,6 +142,10 @@
                ", companyId=" + companyId +
                ", serverCarModelId=" + serverCarModelId +
                ", content='" + content + '\'' +
                ", exceedMileageInner='" + exceedMileageInner + '\'' +
                ", exceedMileageOut='" + exceedMileageOut + '\'' +
                ", belowMileageOut='" + belowMileageOut + '\'' +
                ", belowMileageInner='" + belowMileageInner + '\'' +
                '}';
    }
}
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -31,10 +31,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -183,6 +180,10 @@
        model.addAttribute("contentNotThree", null);
        model.addAttribute("contentExclusive", null);
        model.addAttribute("contentPrice", null);
        model.addAttribute("exceedMileageInner", null);
        model.addAttribute("exceedMileageOut", null);
        model.addAttribute("belowMileageOut", null);
        model.addAttribute("belowMileageInner", null);
        if(ToolUtil.isNotEmpty(price)){
            String s = Base64.decodeStr(price);
            TSystemPrice tSystemPrice = JSON.parseObject(s, TSystemPrice.class);
@@ -200,6 +201,10 @@
            model.addAttribute("contentNotThree", JSONObject.fromObject(tSystemPrice.getContentNotThree()));
            model.addAttribute("contentExclusive", JSONObject.fromObject(tSystemPrice.getContentExclusive()));
            model.addAttribute("contentPrice", JSONObject.fromObject(tSystemPrice.getContentPrice()));
            model.addAttribute("exceedMileageInner", tSystemPrice.getExceedMileageInner());
            model.addAttribute("exceedMileageOut", tSystemPrice.getExceedMileageOut());
            model.addAttribute("belowMileageOut", tSystemPrice.getBelowMileageOut());
            model.addAttribute("belowMileageInner", tSystemPrice.getBelowMileageInner());
        }
        
        TServerCarmodel tServerCarmodel = tServerCarmodelService.selectById(id);
@@ -227,6 +232,10 @@
        model.addAttribute("contentNotThree", JSONObject.fromObject(tSystemPrice.getContentNotThree()));
        model.addAttribute("contentExclusive", JSONObject.fromObject(tSystemPrice.getContentExclusive()));
        model.addAttribute("contentPrice", JSONObject.fromObject(tSystemPrice.getContentPrice()));
        model.addAttribute("exceedMileageInner", tSystemPrice.getExceedMileageInner());
        model.addAttribute("exceedMileageOut", tSystemPrice.getExceedMileageOut());
        model.addAttribute("belowMileageOut", tSystemPrice.getBelowMileageOut());
        model.addAttribute("belowMileageInner", tSystemPrice.getBelowMileageInner());
    
        //查询所有快车车型
        List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).eq("companyId", ShiroKit.getUser().getObjectId()).ne("state", 3));
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java
@@ -117,6 +117,30 @@
    @TableField("isOpenPrice")
    private Integer isOpenPrice;
    /**
     * 超过预估里程多少公里以内,按一口价计算
     */
    @TableField("exceedMileageInner")
    private String exceedMileageInner;
    /**
     * 超过预估里程多少公里以上,按实时价计算
     */
    @TableField("exceedMileageOut")
    private String exceedMileageOut;
    /**
     * 低于预估里程多少公里以上,按实时价计算
     */
    @TableField("belowMileageOut")
    private String belowMileageOut;
    /**
     * 低于预估里程多少公里以内,按一口价计算
     */
    @TableField("belowMileageInner")
    private String belowMileageInner;
    public Integer getState() {
        return state;
    }
@@ -276,7 +300,39 @@
    public Integer getServerCarModelId() {
        return serverCarModelId;
    }
    public String getExceedMileageInner() {
        return exceedMileageInner;
    }
    public void setExceedMileageInner(String exceedMileageInner) {
        this.exceedMileageInner = exceedMileageInner;
    }
    public String getExceedMileageOut() {
        return exceedMileageOut;
    }
    public void setExceedMileageOut(String exceedMileageOut) {
        this.exceedMileageOut = exceedMileageOut;
    }
    public String getBelowMileageOut() {
        return belowMileageOut;
    }
    public void setBelowMileageOut(String belowMileageOut) {
        this.belowMileageOut = belowMileageOut;
    }
    public String getBelowMileageInner() {
        return belowMileageInner;
    }
    public void setBelowMileageInner(String belowMileageInner) {
        this.belowMileageInner = belowMileageInner;
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
@@ -287,6 +343,7 @@
        return "TSystemPrice{" +
                "id=" + id +
                ", type=" + type +
                ", systemPriceCityId=" + systemPriceCityId +
                ", serverCarModelId=" + serverCarModelId +
                ", content='" + content + '\'' +
                ", fareTypeNote1='" + fareTypeNote1 + '\'' +
@@ -304,6 +361,10 @@
                ", isOpen=" + isOpen +
                ", isOpenExclusive=" + isOpenExclusive +
                ", isOpenPrice=" + isOpenPrice +
                ", exceedMileageInner='" + exceedMileageInner + '\'' +
                ", exceedMileageOut='" + exceedMileageOut + '\'' +
                ", belowMileageOut='" + belowMileageOut + '\'' +
                ", belowMileageInner='" + belowMileageInner + '\'' +
                '}';
    }
}
ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
@@ -742,9 +742,26 @@
                                        <br/>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">超过预估里程设置:</label>
                                    <div class="col-sm-10">
                                        超过预估里程&nbsp;<input type="text" onblur="checkIsYuan(this)" name="exceedMileageInner" id="exceedMileageInner" value="${null != exceedMileageInner ? exceedMileageInner : ''}" class="form-control newWidth" placeholder="最多3位数"/>&nbsp;公里以内,按一口价计算
                                        <br>
                                        <br>
                                        超过预估里程&nbsp;<input type="text" onblur="checkIsYuan(this)" name="exceedMileageOut" id="exceedMileageOut" value="${null != exceedMileageOut ? exceedMileageOut : ''}" class="form-control newWidth" placeholder="最多3位数"/>&nbsp;公里以上,按实时计价计算
                                        <br>
                                        <br>
                                        低于预估里程&nbsp;<input type="text" onblur="checkIsYuan(this)" name="belowMileageOut" id="belowMileageOut" value="${null != belowMileageOut ? belowMileageOut : ''}" class="form-control newWidth" placeholder="最多3位数"/>&nbsp;公里以上,按实时计价计算
                                        <br>
                                        <br>
                                        低于预估里程&nbsp;<input type="text" onblur="checkIsYuan(this)" name="belowMileageInner" id="belowMileageInner" value="${null != belowMileageInner ? belowMileageInner : ''}" class="form-control newWidth" placeholder="最多3位数"/>&nbsp;公里以内,按一口价计算
                                        <br>
                                        <br>
                                    </div>
                                </div>
                                <div class="form-group p8">
                                    <input type="hidden" id="numFlag8" name="numFlag8" value="20">
                                    <input type="hidden" id="numFlag8" name="numFlag8" value="13">
                                    <!-- 时段价格表 -->
                                    <table class="table table-bordered">
                                        <thead>
ManagementYKDTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js
@@ -280,16 +280,27 @@
        return
    }
    let exceedMileageInner = $('#exceedMileageInner').val();  // 超过预估里程设置
    let exceedMileageOut = $('#exceedMileageOut').val();  // 超过预估里程设置
    let belowMileageOut = $('#belowMileageOut').val();  // 超过预估里程设置
    let belowMileageInner = $('#belowMileageInner').val();  // 超过预估里程设置
    var contentPrice = '{';
    //拼接数据
    $(".onePriceSetting input[type='text']").each(function(){
        var value = $(this).val();
        var name = this.name;
        if('' == value){
            b = true;
            Feng.info("请填写完整配置");
            return
        }
        contentPrice = contentPrice + '"'+$(this)[0].name+'":"'+value+'",';
        // 排除“超过预估里程设置”
        var excludeFields = ["exceedMileageInner", "exceedMileageOut", "belowMileageOut", "belowMileageInner"];
        if(excludeFields.indexOf(name) === -1) { // 一口价设置值时排出 超过预估里程设置
            contentPrice = contentPrice + '"'+$(this)[0].name+'":"'+value+'",';
        }
    });
    contentPrice = contentPrice.substring(0,contentPrice.length-1);
    contentPrice += '}';
@@ -338,7 +349,11 @@
        contentPrice: contentPrice,
        isOpen: isOpen,
        isOpenExclusive: isOpenExclusive,
        isOpenPrice: isOpenPrice
        isOpenPrice: isOpenPrice,
        exceedMileageInner: exceedMileageInner,
        exceedMileageOut: exceedMileageOut,
        belowMileageOut: belowMileageOut,
        belowMileageInner: belowMileageInner
    };
    window.parent.document.getElementById(serverCarModelId).value = btoa(JSON.stringify(jsonStr));
    window.parent.document.getElementById("zc_status_" + serverCarModelId).innerText = "已设置";