From ecf282fb285fbba74ff129a4be8a129aa0d8ceb1 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 22 三月 2023 22:35:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java | 13 ++++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html | 115 ++++++++++++++++++++++++++++++++++++++ management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java | 1 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java | 43 +++++++++++--- 4 files changed, 162 insertions(+), 10 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java b/management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java index e3b45f4..5573bd1 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java +++ b/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; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java index 6f06c4e..8bf3d43 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java +++ b/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; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java index fba7e3b..01bdb4c 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java +++ b/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",""); } } diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html index 7320bcd..a33026c 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderDetail.html +++ b/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> @} -- Gitblit v1.7.1