From 3b541e81611079a5a1c214440eed704cbb6b38af Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 24 七月 2023 11:40:17 +0800 Subject: [PATCH] 优化 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java index b14176e..7dc8c9e 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java @@ -8,13 +8,18 @@ import java.util.function.Predicate; import java.util.stream.Collectors; +import com.alibaba.fastjson.JSON; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.common.websocket.util.WebSocketUtils; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.device.hiksdk.util.minio.MinioUtils; import com.ruoyi.sy.domain.ArdSyUser; +import com.ruoyi.sy.gps31.PositionContainer; import com.ruoyi.sy.mapper.ArdSyUserMapper; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; +import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.utils.httpclient.SYCarClient; import com.ruoyi.utils.result.Constants; import com.ruoyi.utils.result.Results; @@ -33,6 +38,8 @@ import javax.annotation.Resource; +import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; + /** * 涓変竴杞﹁締Service涓氬姟灞傚鐞� * @@ -49,6 +56,9 @@ @Resource private ArdSyUserMapper ardSyUserMapper; + + @Resource + private SysUserMapper userMapper; /** @@ -333,6 +343,7 @@ // return result; // } + @Override public Results carListById(String id) { try { @@ -347,4 +358,30 @@ return Results.error(e.toString()); } } + + @Override + public Map<String, Object> getArdSyCarAndDeptByCarId(String carId) { + Map<String, Object> result = ardSyCarMapper.getArdSyCarAndDeptByCarId(carId); + return result; + } + + @Override + public void sendArdSyCarPosition() { + for(String key : ONLINE_USER_SESSIONS.keySet()){ + SysUser sysUser = userMapper.selectUserById(key); + String deptId = String.valueOf(sysUser.getDeptId()); + Map<String,Map<String,Object>> map = PositionContainer.getDeptPositionMap().get(deptId); + Map<Integer,Object> data = new HashMap(); + data.put(30000, map.values()); + WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data)); + } + } + + @Override + public void sendArdSyCarAlarmByCarId(String carId, Map<Integer,Object> data) { + List<SysUser> result = userMapper.getSysUserByCarId(carId); + for(SysUser sysUser : result){ + WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sysUser.getUserId()), JSON.toJSONString(data)); + } + } } -- Gitblit v1.9.3