xuhy
2023-03-22 109cc555392563a07879fc7254fc2bb8ff5b6662
订单详情地图和录音
4个文件已修改
172 ■■■■■ 已修改文件
management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns;
import com.stylefeng.guns.core.shiro.ShiroKit;
import org.apache.http.client.HttpClient;
import org.apache.http.config.SocketConfig;
import org.apache.http.impl.client.HttpClientBuilder;
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
@@ -129,6 +129,11 @@
     */
    private Date createTime;
    /**
     * 行程录音
     */
    private String routeRecord;
    @ApiModelProperty(value = "起步里程(公里)")
    private Double startDistance;
@@ -180,6 +185,14 @@
    @ApiModelProperty(value = "折扣优惠金额")
    private BigDecimal discountAmount;
    public String getRouteRecord() {
        return routeRecord;
    }
    public void setRouteRecord(String routeRecord) {
        this.routeRecord = routeRecord;
    }
    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -68,10 +68,27 @@
        model.addAttribute("code",tOrder.getCode());//订单编号
        model.addAttribute("source",tOrder.getSource());//订单来源
        model.addAttribute("startAddress",tOrder.getStartAddress());//起点
        model.addAttribute("startLng",tOrder.getStartLng());// 起点经度
        model.addAttribute("startLat",tOrder.getStartLat());// 起点纬度
        model.addAttribute("endAddress",tOrder.getEndAddress());//终点
        model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
        model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//上车时间
        model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//下车时间
        model.addAttribute("endLng",tOrder.getEndLng());// 终点经度
        model.addAttribute("endLat",tOrder.getEndLat());// 终点纬度
        if(Objects.nonNull(tOrder.getStartTime())){
            model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
        }else {
            model.addAttribute("startTime","");//乘车时间
        }
        if(Objects.nonNull(tOrder.getBoardingTime())){
            model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//乘车时间
        }else {
            model.addAttribute("boardingTime","");//乘车时间
        }
        if(Objects.nonNull(tOrder.getGetoffTime())){
            model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//乘车时间
        }else {
            model.addAttribute("getoffTime","");//乘车时间
        }
        model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
        model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
@@ -82,6 +99,7 @@
        model.addAttribute("payType",tOrder.getPayType());//支付方式
        model.addAttribute("discountAmount",tOrder.getDiscountAmount());//折扣金额
        model.addAttribute("userId",tOrder.getUserId());//用户id
        model.addAttribute("routeRecord",tOrder.getRouteRecord());//行程录音
        // 查询用户
        TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
@@ -96,15 +114,20 @@
        // 查询司机
        TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId());
        model.addAttribute("driverName",tDriver.getName());
        model.addAttribute("driverPhone",tDriver.getPhone());
        // 查询司机所属分公司
        TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
        if(Objects.nonNull(tBranchOffice)){
            model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
        if(Objects.nonNull(tDriver)){
            model.addAttribute("driverName",tDriver.getName());
            model.addAttribute("driverPhone",tDriver.getPhone());
            // 查询司机所属分公司
            TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
            if(Objects.nonNull(tBranchOffice)){
                model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
            }else {
                model.addAttribute("branchOfficeName","");
            }
        }else {
            model.addAttribute("branchOfficeName","");
            model.addAttribute("driverName","");
            model.addAttribute("driverPhone","");
        }
    }
management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html
@@ -9,6 +9,11 @@
                <div class="row row-lg">
                    <div class="col-sm-12">
                        <input hidden id="startLng" value="${startLng}">
                        <input hidden id="startLat" value="${startLat}">
                        <input hidden id="endLng" value="${endLng}">
                        <input hidden id="endLat" value="${endLat}">
                        <hr/>
                        <div class="initialLevel col-sm-12 control-label form-group"  >
                            <div style="background-color: gray;height: 35px;line-height: 35px">
@@ -174,6 +179,36 @@
                            </div>
                        @}
                        @if(startLng != null){
                            <hr/>
                            <div class="initialLevel col-sm-12 control-label form-group"  >
                                <div style="background-color: gray;height: 35px;line-height: 35px">
                                    <label style="color: #0C0C0C">行程轨迹</label>
                                </div>
                            </div>
                            <hr/>
                            <div class="initialLevel col-sm-12 control-label form-group"  >
                                <div id="container" ></div>
                                <div id="panel" ></div>
                            </div>
                        @}
                        <hr/>
                        <div class="initialLevel col-sm-12 control-label form-group"  >
                            <div style="background-color: gray;height: 35px;line-height: 35px">
                                <label style="color: #0C0C0C">行程录音</label>
                            </div>
                        </div>
                        <hr/>
                        <div class="initialLevel col-sm-12 control-label form-group"  >
                            <audio id="audio" autoplay controls muted>
<!--                                <source src="http://www.w3capi.com/upload/audio/audio_example.mp3" type="audio/mpeg">-->
                                <source src="${routeRecord}" type="audio/mpeg">
                            </audio>
                        </div>
                        <div class="hidden-xs" id="TDriverTableToolbar" role="group"  style="text-align: center">
                            <#button name="取消" icon="fa-plus" clickFun="TOrderInfoDlg.close()" />
                        </div>
@@ -186,11 +221,91 @@
</div>
<script src="${ctxPath}/static/modular/system/tOrder/tOrder.js"></script>
<script src="${ctxPath}/static/modular/system/tOrder/tOrder_info.js"></script>
<!--<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=1d43098bcd98ab124623e7e4bcc9595e&plugin=AMap.Driving"></script>-->
<!--<script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>-->
<!--<script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>-->
<script src="https://webapi.amap.com/loader.js"></script>
<style type="text/css">
    #container {
        background-color: white;
        height: 420px;
        width: 1200px;
    }
    #audio {
        height: 100px;
        width: 600px;
    }
    #panel {
        position: fixed;
        background-color: white;
        max-height: 90%;
        overflow-y: auto;
        top: 10px;
        right: 10px;
        width: 280px;
    }
    #panel .amap-call {
        background-color: #009cf9;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
    }
    #panel .amap-lib-driving {
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
        overflow: hidden;
    }
</style>
<script type="text/javascript">
    window._AMapSecurityConfig = {
        securityJsCode:'b62d9146929db08c4c2f4537d045320d',
    };
    laydate.render({
        elem: '#createTime',
        type: 'date',
        range: true
    });
    if(null != $('#startLng').val() && '' != $('#startLng').val()){
        AMapLoader.reset() // 需要把这个reset一下
        AMapLoader.load({
            "key": "1d43098bcd98ab124623e7e4bcc9595e",              // 申请好的Web端开发者Key,首次调用 load 时必填
            "version": "2.0",   // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
            "plugins": ['AMap.Driving'],           // 需要使用的的插件列表,如比例尺'AMap.Scale'等
            "AMapUI": {             // 是否加载 AMapUI,缺省不加载
                "version": '1.1',   // AMapUI 版本
                "plugins":['overlay/SimpleMarker'],       // 需要加载的 AMapUI ui插件
            },
            "Loca":{                // 是否加载 Loca, 缺省不加载
                "version": '2.0'  // Loca 版本
            },
        }).then((AMap)=>{
            //初始化地图对象,加载地图
            var map = new AMap.Map('container', {
                viewMode: '2D', // 默认使用 2D 模式,如果希望使用带有俯仰角的 3D 模式,请设置 viewMode: '3D',
                zoom:13, //初始化地图层级
                center: [$('#startLng').val(), $('#startLat').val()] //初始化地图中心点
            });
            //构造路线导航类
            var driving = new AMap.Driving({
                map: map,
            });
            // 根据起终点经纬度规划驾车导航路线
            driving.search(new AMap.LngLat($('#startLng').val(), $('#startLat').val()), new AMap.LngLat($('#endLng').val(), $('#endLat').val()), function(status, result) {
                // result 即是对应的驾车导航信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
                if (status === 'complete') {
                    Feng.success('绘制订单路线完成')
                } else {
                    Feng.error('获取驾车数据失败:' + result)
                }
            });
        }).catch((e)=>{
            console.error(e);  //加载错误提示
        });
    }else {
        Feng.info('该订单未完成,无地图路线显示!')
    }
</script>
@}