From 1744329b3f9c3726936a1e1542620dd2780111b6 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期一, 24 七月 2023 12:11:42 +0800 Subject: [PATCH] 三一车辆接口改為forest提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 112 insertions(+), 4 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 5e4a70f..5f23307 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,23 +8,30 @@ 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.system.service.ISysConfigService; +import com.ruoyi.utils.forest.SYClient; import com.ruoyi.utils.httpclient.SYCarClient; +import com.ruoyi.utils.result.Constants; +import com.ruoyi.utils.result.Results; import io.minio.GetPresignedObjectUrlArgs; import io.minio.ListObjectsArgs; import io.minio.PutObjectArgs; import io.minio.Result; import io.minio.http.Method; +import io.minio.messages.Contents; import io.minio.messages.Item; -import org.springframework.beans.factory.annotation.Autowired; +import org.apache.commons.codec.digest.DigestUtils; import org.springframework.stereotype.Service; import com.ruoyi.sy.mapper.ArdSyCarMapper; import com.ruoyi.sy.domain.ArdSyCar; @@ -32,6 +39,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; + +import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * 涓変竴杞﹁締Service涓氬姟灞傚鐞� @@ -49,6 +58,12 @@ @Resource private ArdSyUserMapper ardSyUserMapper; + + @Resource + private SysUserMapper userMapper; + + @Resource + private SYClient sYClient; /** * 鏌ヨ涓変竴杞﹁締 @@ -149,9 +164,12 @@ return result; }else{ ArdSyUser ardSyUser = ardSyUserList.get(0); - Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); + Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId()); String sessionId = (String) LogInResult.get("sessionId"); - Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId); if(((String)carListMap.get("rspCode")).equals("1")){ List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list"); ArdSyCar ardSyCar = new ArdSyCar(); @@ -168,6 +186,48 @@ } }).collect(Collectors.toList()); result.put("data",carList); + result.put("code","200"); + return result; + }else{ + result.put("data","涓変竴杞﹁締骞冲彴鍑洪敊"); + result.put("code","500"); + return result; + } + } + } + } + + @Override + public Map<String, Object> getArdSyCarAll(String userId) { + SysConfig config = new SysConfig(); + config.setConfigKey("syCarPT"); + List<SysConfig> sysConfigResult = sysConfigMapper.selectConfigList(config); + String syURL = ""; + Map<String,Object> result = new HashMap(); + if(sysConfigResult.size() == 0){ + result.put("data","涓変竴杞﹁締url娌℃湁褰曞叆"); + result.put("code","500"); + return result; + }else{ + syURL = sysConfigResult.get(0).getConfigValue(); + ArdSyUser ardSyUserPara = new ArdSyUser(); + ardSyUserPara.setSysUserId(userId); + List<ArdSyUser> ardSyUserList = ardSyUserMapper.selectArdSyUserList(ardSyUserPara); + if(ardSyUserList.size() == 0){ + result.put("data","鐢ㄦ埛鏈寕鎺ヤ笁涓�杞﹁締"); + result.put("code","500"); + return result; + }else{ + ArdSyUser ardSyUser = ardSyUserList.get(0); + //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); + Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId()); + String sessionId = (String) LogInResult.get("sessionId"); + //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId); + if(((String)carListMap.get("rspCode")).equals("1")){ + List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list"); + result.put("data",list); result.put("code","200"); return result; }else{ @@ -272,4 +332,52 @@ return ""; } } + +// @Override +// public List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList) { +// List<ArdSyCar> result = ardSyCarMapper.getArdSyCarWithRightByCarIdList(carIdList); +// return result; +// } + + + @Override + public Results carListById(String id) { + try { + List<ArdSyCar> list = ardSyCarMapper.carListById(id); + if(list.size()>0){ + ArdSyCar ardSyCar = list.get(0); + return Results.succeed(ardSyCar); + }else { + return Results.succeed(); + } + } catch (Exception e) { + 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