From 2f39828c8f8fb30d0323449f9b63400184e455a4 Mon Sep 17 00:00:00 2001 From: rowger Date: Thu, 30 Nov 2023 11:02:36 +0800 Subject: [PATCH] =?UTF-8?q?IM=20=E8=81=8A=E5=A4=A9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hd-glasses-app/src/pages/hd_map.vue | 138 +++++++++++++++++- .../pages/hd_show_current_patrol_history.vue | 4 +- .../pages/hd_show_equipment_move_history.vue | 3 + .../src/main/resources/application-dev.yml | 2 +- .../controller/ImCallHistoryController.java | 3 +- .../message/controller/MessageController.java | 5 + .../message/mq/ChatOperateReceiver.java | 1 + .../message/service/MessageSyncService.java | 3 + .../service/taskScheduler/SRSStreamTask.java | 6 +- .../src/main/resources/application.yml | 2 +- .../lim-ts-sdk/src/lim/core/ImClient.ts | 8 + 11 files changed, 161 insertions(+), 14 deletions(-) diff --git a/hd-glasses-app/src/pages/hd_map.vue b/hd-glasses-app/src/pages/hd_map.vue index 7640d77..9a25074 100644 --- a/hd-glasses-app/src/pages/hd_map.vue +++ b/hd-glasses-app/src/pages/hd_map.vue @@ -2,6 +2,16 @@
+ +
+
+ 驾 车 +
+
+ 步行骑行 +
+
+
下一步
@@ -78,6 +88,12 @@ export default { geometryMove: {}, featureMove: {}, styles: { + routeFoot: new Style({ + stroke: new Stroke({ + width: 6, + color: "#07FA66", + }), + }), route: new Style({ stroke: new Stroke({ width: 6, @@ -127,7 +143,8 @@ export default { planningVectorLayer: {}, parentPostMessageData: [], isCanDraw: true, - from: "" + from: "", + routeType: "car", }; }, mounted() { @@ -271,8 +288,6 @@ export default { }); - - // 切片方案(0-18级 const projection = getProjection('EPSG:3857'); const projectionExtent = projection.getExtent(); @@ -373,6 +388,95 @@ export default { this.addPoints(e.coordinate); } }); + }, + planningPathFoot() { + const startPoint = ol.proj.transform(this.navigationStartPoint, 'EPSG:4326', 'EPSG:3857'); + const endPoint = ol.proj.transform(this.navigationEndPoint, 'EPSG:4326', 'EPSG:3857'); + let _url = "https://172.16.3.19/route/v1/driving/" + _url = _url + this.navigationStartPoint[0] + "," + _url = _url + this.navigationStartPoint[1] + ";" + _url = _url + this.navigationEndPoint[0] + "," + _url = _url + this.navigationEndPoint[1] + _url = _url + "?" + "overview=false&alternatives=true&steps=true"; + + + axios({ + method: "get", + url: _url, + headers: { + 'Content-Type': 'application/json;charset=utf-8' + }, + }).then(res => { + console.log("================================获取到了导航结果") + + res=res.data; + + /* + console.log(res) + if (res.code != "OK") { + return false; + }else { + console.log("================================获取到了导航结果,开始步行导航") + } + */ + let pathList = [startPoint]; + + const steps=res.routes[0].legs[0].steps + + steps.map(item0=>{ + item0.intersections.map(item1=>{ + const _point = ol.proj.transform(item1.location,'EPSG:4326', 'EPSG:3857'); + pathList.push(_point) + }) + }) + + // let _list=res.route[0].legs[0].steps[0].intersections + // + // _list.map((item, index) => { + // + // }) + pathList.push(endPoint) + console.log("==============================pathList") + console.log(pathList) + + const route = new LineString(pathList) + + const geometryMove = new Point(route.getFirstCoordinate()); + + const featureMove = new Feature({ + type: "featureMove", + geometry: geometryMove, + }); + // this.planningVectorLayer.set('id', 'planningVectorLayer'); + //先清空 再清除 + this.map.removeLayer(this.planningVectorLayer) + this.planningVectorLayer = new VectorLayer({ + source: new VectorSource({ + features: [ + new Feature({ + type: "routeFoot", + geometry: route, + }), + featureMove, + new Feature({ + type: "icon", + geometry: new Point(route.getFirstCoordinate()), + }), + new Feature({ + type: "icon", + geometry: new Point(route.getLastCoordinate()), + }), + ], + }), + style: (feature) => { + return this.styles[feature.get("type")]; + }, + }); + + this.map.addLayer(this.planningVectorLayer) + }) + + }, planningPath() { @@ -642,8 +746,8 @@ export default { let pointList = [] featureGeoJson.geometry.coordinates.map(item => { - const _item1 = ol.proj.transform(item, 'EPSG:3857', 'EPSG:4326'); - pointList.push(_item1) + const _item1 = ol.proj.transform(item, 'EPSG:3857', 'EPSG:4326'); + pointList.push(_item1) }) window.parent.postMessage(JSON.stringify(pointList), "*"); @@ -914,7 +1018,12 @@ export default { this.navigationEndPoint = res.data.result.location.split(",") this.addPointWidthCoordinate(res.data.result.location, "alarm", res.data.result) setInterval(() => { - this.planningPath() + if (this.routeType == "car") { + this.planningPath() + } + if (this.routeType == "foot") { + this.planningPathFoot() + } }, 2000) } @@ -1189,4 +1298,21 @@ export default { } } } + +.timeSelectBox { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + height: 100px; + display: flex; + flex-direction: row; + justify-content: center; + z-index: 100; + + display: flex; + flex-direction: row; + justify-content: space-around; +} + diff --git a/hd-glasses-app/src/pages/hd_show_current_patrol_history.vue b/hd-glasses-app/src/pages/hd_show_current_patrol_history.vue index 5a9b16a..82c0bde 100644 --- a/hd-glasses-app/src/pages/hd_show_current_patrol_history.vue +++ b/hd-glasses-app/src/pages/hd_show_current_patrol_history.vue @@ -187,7 +187,7 @@ export default { this.patrolInstanceId = this.$route.query.patrolInstanceId||getUrlParam("patrolInstanceId"); this.equipmentId = this.$route.query.equipmentId||getUrlParam("equipmentId"); this.moveUserId = this.$route.query.uerId||getUrlParam("uerId"); - this.busId = this.$route.query.uerId||getUrlParam("busId"); + this.busId = this.$route.query.busId||getUrlParam("busId"); this.token = getUrlParam("token") @@ -1128,7 +1128,7 @@ export default { service.get(`/middlegroundPeriodicWorkOrderInstance/queryById`, { params: { - id: this.patrolInstanceId + id: this.busId } }).then((res) => { if (res.status == 200) { diff --git a/hd-glasses-app/src/pages/hd_show_equipment_move_history.vue b/hd-glasses-app/src/pages/hd_show_equipment_move_history.vue index 052ed5b..c9d3251 100644 --- a/hd-glasses-app/src/pages/hd_show_equipment_move_history.vue +++ b/hd-glasses-app/src/pages/hd_show_equipment_move_history.vue @@ -86,6 +86,9 @@ import {OL as ol} from "plot-ol/plottingol"; import GeoJSON from 'ol/format/GeoJSON' import service from "@/utils/service"; import {appInit, getStatisFileUrl,getUrlParam} from "../utils/publicFun"; +import WMTSTileGrid from 'ol/tilegrid/WMTS.js'; +import {get as getProjection} from 'ol/proj.js'; +import {getTopLeft, getWidth} from 'ol/extent.js'; import dayjs from "dayjs" diff --git a/hs-im-server/im-message-store/src/main/resources/application-dev.yml b/hs-im-server/im-message-store/src/main/resources/application-dev.yml index 4275234..c174537 100644 --- a/hs-im-server/im-message-store/src/main/resources/application-dev.yml +++ b/hs-im-server/im-message-store/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver password: beAs0LHX2GyTxMw4 - url: jdbc:mysql://43.139.191.204:3306:3306/im-core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 + url: jdbc:mysql://43.139.191.204:3306/im-core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 username: root redis: diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/call/controller/ImCallHistoryController.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/call/controller/ImCallHistoryController.java index c0e0279..63e4716 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/call/controller/ImCallHistoryController.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/call/controller/ImCallHistoryController.java @@ -43,10 +43,11 @@ public class ImCallHistoryController { if(req.getLimit()!=null){ Page objectPage = new Page<>(req.getOffset(),req.getLimit()); QueryWrapper query=new QueryWrapper<>(); - query.eq("invite_id",req.getUid()); + // query.eq("invite_id",req.getUid()); query.orderByDesc("create_time"); IPage imCallHistoryEntityIPage=callHistoryMapper.selectPage(objectPage,query); + return ResponseVO.successResponse(imCallHistoryEntityIPage); }else { return ResponseVO.errorResponse(); diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/controller/MessageController.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/controller/MessageController.java index e1137e1..20b7e26 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/controller/MessageController.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/controller/MessageController.java @@ -8,6 +8,7 @@ import com.lld.im.service.message.model.req.SendMessageReq; import com.lld.im.service.message.model.resp.ImMessageHistoryVo; import com.lld.im.service.message.service.MessageSyncService; import com.lld.im.service.message.service.P2PMessageService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -21,6 +22,7 @@ import java.util.List; * @author: lld * @version: 1.0 */ +@Slf4j @RestController @RequestMapping("v1/message") public class MessageController { @@ -73,6 +75,9 @@ public class MessageController { @RequestMapping("/chatHistory") public ResponseVO chatHistory(@RequestBody @Validated ChatHistoryReq chatHistoryReq, Integer appId) { + + + chatHistoryReq.setAppId(appId); List imMessageHistoryVos = messageSyncService.chatHistory(chatHistoryReq); return ResponseVO.successResponse(imMessageHistoryVos); diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/mq/ChatOperateReceiver.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/mq/ChatOperateReceiver.java index fc19162..a9c37a9 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/mq/ChatOperateReceiver.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/mq/ChatOperateReceiver.java @@ -35,6 +35,7 @@ import java.util.Objects; * @author: lld * @version: 1.0 */ + @Component public class ChatOperateReceiver { diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java index cfcf2ce..738d0bb 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java @@ -179,6 +179,9 @@ public class MessageSyncService { .orderByDesc(ImMessageHistoryEntity::getMessageKey); Page imMessageHistoryEntities = imMessageHistoryMapper.selectPage(objectPage,and); List messageKeys = imMessageHistoryEntities.getRecords().stream().map(x -> x.getMessageKey()).collect(Collectors.toList()); + if (messageKeys.size() == 0) { + return new ArrayList(); + } List imMessageBodyEntities = imMessageBodyMapper.selectList(new LambdaQueryWrapper().in(ImMessageBodyEntity::getMessageKey, messageKeys)); Map collect = imMessageBodyEntities.stream().collect(Collectors.toMap(ImMessageBodyEntity::getMessageKey, x -> x)); diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/taskScheduler/SRSStreamTask.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/taskScheduler/SRSStreamTask.java index d48d324..11a4a7d 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/taskScheduler/SRSStreamTask.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/taskScheduler/SRSStreamTask.java @@ -13,8 +13,8 @@ public class SRSStreamTask { @Scheduled(cron="0/5 * * * * ? ") public void executeTask(){ String ip = System.getenv("SRS_HOST"); - - log.error("213132"); - log.info("========定时任务"); +// +// log.error("213132"); +// log.info("========定时任务"); } } diff --git a/hs-im-server/im-service/src/main/resources/application.yml b/hs-im-server/im-service/src/main/resources/application.yml index 3d7808a..9f96606 100644 --- a/hs-im-server/im-service/src/main/resources/application.yml +++ b/hs-im-server/im-service/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dev + active: prod diff --git a/lim-ts-sdk-master/lim-ts-sdk/src/lim/core/ImClient.ts b/lim-ts-sdk-master/lim-ts-sdk/src/lim/core/ImClient.ts index 4a3c4ba..d7b3ddb 100644 --- a/lim-ts-sdk-master/lim-ts-sdk/src/lim/core/ImClient.ts +++ b/lim-ts-sdk-master/lim-ts-sdk/src/lim/core/ImClient.ts @@ -314,6 +314,14 @@ export class ImClient { }) } + public getChatMessageHistoryList(uid:String,offset:Long,limit:Long): Promise { + return new Promise((resolve, _) => { + let api = new HttpApi(this.httpUrl); + let resp = api.call("/message/chatHistory", this.getRequestParams(), { userId: uid,appId:this.appId,offset:offset, limit:limit,operater:this.userId }) + resolve(resp); + }) + } + public createRoom(room:any): Promise { return new Promise((resolve,_)=>{