ard-work/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyUserMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyUserService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyUserServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ard-work/pom.xml
@@ -123,7 +123,57 @@ <artifactId>fastjson2</artifactId> <version>2.0.36</version> </dependency> <!--ä¸ä¸è½¦è¾ä¾èµ--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.14</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.35</version> </dependency> <dependency> <groupId>com.sy</groupId> <artifactId>gps-push-client</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.12.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.12.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>2.11.2</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.63.Final</version> </dependency> </dependencies> <build> ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -12,6 +13,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.gps31.PushClientImplPosition; import com.ruoyi.sy.service.IArdSyUserService; import com.ruoyi.sy.service.SysParaService; import com.ruoyi.system.domain.SysConfig; @@ -60,6 +62,31 @@ @Autowired private IArdSyUserService iArdSyUserService; private ArdSyCarController ardSyCarController; @PostConstruct public void init(){ ardSyCarController = this; ardSyCarController.sysConfigService = this.sysConfigService; ardSyCarController.iArdSyUserService = this.iArdSyUserService; SysConfig config = new SysConfig(); config.setConfigKey("syCarPT"); List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config); String syURL = ""; if(sysConfigResult.size() == 0){ return; }else{ syURL = sysConfigResult.get(0).getConfigValue(); } String ip = syURL.split(":")[1].replace("//", ""); List<ArdSyUser> ardSyUserList = iArdSyUserService.selectSyUser(); //车è¾å®æ¶ä½ç½®çº¿ç¨ PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword()); Thread pushClientImplPositionThread = new Thread(pushClientImplPosition); pushClientImplPositionThread.start(); } /** * æ¥è¯¢ä¸ä¸è½¦è¾å表 */ ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,109 @@ /** * <p>Description: </p> * <p>Copyright: Copyright (c) 2020</p> * <p>Company: www.31gps.net</p> * @author chencq * @version 1.0 */ package com.ruoyi.sy.gps31; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson2.JSON; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.gps31.push.netty.PushClient; import com.gps31.push.netty.PushMsg; import com.gps31.push.netty.client.TcpClient; import com.gps31.push.util.MapUtil; /** * <p>Description: </p> * <p>Copyright: Copyright (c) 2020</p> * <p>Company: www.31gps.net</p> * @author chencq * @version 1.0 */ public class PushClientImpl extends PushClient{ private static final Log log = LogFactory.getLog(PushClientImpl.class); @Override public void messageReceived(TcpClient tcpClient, PushMsg pushMsg) throws Exception { if("8001".equals(pushMsg.getCmd())) {//ç»å½åºç String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); if("0".equals(rspResult)) {//ç»å½æåï¼å®é å¨ææ¶æ¯ Map<String,Object> map = new HashMap<String,Object>(); map.put("seq", "1"); map.put("action", "add"); map.put("msgIds", JSON.toJSONString(getSubCmdSet())); PushMsg subMsg = getInstance("0003",map); sendMsg(subMsg); } }else if("8002".equals(pushMsg.getCmd())){//å¿è·³åºç }else if("8003".equals(pushMsg.getCmd())){//订é å¨ææ¶æ¯åºç String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); log.error(String.format(" 订é åºç:%s", "0".equals(rspResult)?"æå":"失败")); }else if("0200".equals(pushMsg.getCmd())) {//å®ä½ä¿¡æ¯ Map<String,Object> gpsMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(gpsMap, "carName","");//è·å车çå· SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(new Date())); log.error(String.format(" ---->æ¶å°å®ä½æ°æ®:%s",JSON.toJSONString(gpsMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ }else if("0300".equals(pushMsg.getCmd())) {//æ¥è¦æ¶æ¯ Map<String,Object> alarmMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(alarmMap, "carName","");//è·å车çå· log.error(String.format(" ---->æ¶å°æ¥è¦æ°æ®:%s",JSON.toJSONString(alarmMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ }else if("0401".equals(pushMsg.getCmd())) {//éä¼ æ¶æ¯ Map<String,Object> dataMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(dataMap, "carName","");//è·å车çå· log.error(String.format(" ---->æ¶å°éä¼ æ°æ®:%s",JSON.toJSONString(dataMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ } } public static void main(String[] args) { try { PushClientImpl client = new PushClientImpl(); client.setLog(true);//æ¯å¦æå°ææ //client.setLogBytes(true);//æ¯å¦æå°ç½ç»åèæµ //client.setHost("106.14.186.44");//æå¡å¨IP client.setHost("116.182.15.14");//æå¡å¨IP client.setPort(10100);//æå¡å¨ç«¯å£ //client.setUserName("ys_admin");//ç³»ç»ç¨æ·å //client.setPwd("123456");//ç³»ç»ç¨æ·å¯ç //client.setUserName("admin_dqard");//ç³»ç»ç¨æ·å //client.setUserName("dqard");//ç³»ç»ç¨æ·å //client.setPwd("123456");//ç³»ç»ç¨æ·å¯ç client.setUserName("admin");//ç³»ç»ç¨æ·å client.setPwd("654321");//ç³»ç»ç¨æ·å¯ç //client.setSubMsgIds("0200|0300");//订é çå¨ææ¶æ¯ï¼å¤ä¸ªå¨ææ¶æ¯ä½¿ç¨|è¾åï¼å½åç¤ºä¾æ¯è®¢é å®ä½æ¶æ¯(0x0200)åæ¥è¦æ¶æ¯(0x0300) client.setSubMsgIds("0200");//订é çå¨ææ¶æ¯ï¼å¤ä¸ªå¨ææ¶æ¯ä½¿ç¨|è¾åï¼å½åç¤ºä¾æ¯è®¢é å®ä½æ¶æ¯(0x0200)åæ¥è¦æ¶æ¯(0x0300) client.setDesc("æµè¯å®¢æ·ç«¯");//客æ·ç«¯çæè¿°ï¼ client.start(); while(true) { Thread.sleep(1000); } } catch (Exception e) { e.printStackTrace(); } } } ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,123 @@ /** * <p>Description: </p> * <p>Copyright: Copyright (c) 2020</p> * <p>Company: www.31gps.net</p> * @author chencq * @version 1.0 */ package com.ruoyi.sy.gps31; import com.alibaba.fastjson2.JSON; import com.gps31.push.netty.PushClient; import com.gps31.push.netty.PushMsg; import com.gps31.push.netty.client.TcpClient; import com.gps31.push.util.MapUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * <p>Description: </p> * <p>Copyright: Copyright (c) 2020</p> * <p>Company: www.31gps.net</p> * @author chencq * @version 1.0 */ public class PushClientImplPosition extends PushClient implements Runnable { private static final Log log = LogFactory.getLog(PushClientImplPosition.class); private String ip; private String userId; private String password; public PushClientImplPosition(String ip, String userId, String password) { this.ip = ip; this.userId = userId; this.password = password; } public PushClientImplPosition() { } @Override public void messageReceived(TcpClient tcpClient, PushMsg pushMsg) throws Exception { if("8001".equals(pushMsg.getCmd())) {//ç»å½åºç String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); if("0".equals(rspResult)) {//ç»å½æåï¼å®é å¨ææ¶æ¯ Map<String,Object> map = new HashMap<String,Object>(); map.put("seq", "1"); map.put("action", "add"); map.put("msgIds", JSON.toJSONString(getSubCmdSet())); PushMsg subMsg = getInstance("0003",map); sendMsg(subMsg); } }else if("8002".equals(pushMsg.getCmd())){//å¿è·³åºç }else if("8003".equals(pushMsg.getCmd())){//订é å¨ææ¶æ¯åºç String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); log.error(String.format(" 订é åºç:%s", "0".equals(rspResult)?"æå":"失败")); }else if("0200".equals(pushMsg.getCmd())) {//å®ä½ä¿¡æ¯ Map<String,Object> gpsMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(gpsMap, "carName","");//è·å车çå· SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(new Date())); log.error(String.format(" ---->æ¶å°å®ä½æ°æ®:%s",JSON.toJSONString(gpsMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ }else if("0300".equals(pushMsg.getCmd())) {//æ¥è¦æ¶æ¯ Map<String,Object> alarmMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(alarmMap, "carName","");//è·å车çå· log.error(String.format(" ---->æ¶å°æ¥è¦æ°æ®:%s",JSON.toJSONString(alarmMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ }else if("0401".equals(pushMsg.getCmd())) {//éä¼ æ¶æ¯ Map<String,Object> dataMap = pushMsg.getJsonMap(); String carName = MapUtil.getStrVal(dataMap, "carName","");//è·å车çå· log.error(String.format(" ---->æ¶å°éä¼ æ°æ®:%s",JSON.toJSONString(dataMap))); /** * * 请å å ¥ä¸æ¹éææ¹çä¸å¡é»è¾ * */ } } public void sendMassage() { try { PushClientImplPosition client = new PushClientImplPosition(); client.setLog(true);//æ¯å¦æå°ææ client.setHost(this.ip);//æå¡å¨IP client.setPort(10100);//æå¡å¨ç«¯å£ client.setUserName(this.userId);//ç³»ç»ç¨æ·å client.setPwd(this.password);//ç³»ç»ç¨æ·å¯ç client.setSubMsgIds("0200");//订é çå¨ææ¶æ¯ï¼å¤ä¸ªå¨ææ¶æ¯ä½¿ç¨|è¾åï¼å½åç¤ºä¾æ¯è®¢é å®ä½æ¶æ¯(0x0200)åæ¥è¦æ¶æ¯(0x0300) client.setDesc("æµè¯å®¢æ·ç«¯");//客æ·ç«¯çæè¿°ï¼ client.start(); while(true) { Thread.sleep(1000); } } catch (Exception e) { e.printStackTrace(); } } @Override public void run() { sendMassage(); } } ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyUserMapper.java
@@ -81,4 +81,6 @@ Map<String,Object> selectArdSyUserByUsersId(Integer usersId); ArdSyUser userById(String id); public List<ArdSyUser> selectSyUser(); } ard-work/src/main/java/com/ruoyi/sy/service/IArdSyUserService.java
@@ -77,4 +77,9 @@ Map<String,Object> selectArdSyUserByUsersId(Integer usersId); ArdSyUser userById(String id); /** * æ¥è¯¢æªææ¥ä¸ä¸è½¦è¾è´¦å·å¯ç */ public List<ArdSyUser> selectSyUser(); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyUserServiceImpl.java
@@ -126,4 +126,10 @@ public ArdSyUser userById(String id) { return ardSyUserMapper.userById(id); } @Override public List<ArdSyUser> selectSyUser() { List<ArdSyUser> result = ardSyUserMapper.selectSyUser(); return result; } } ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml
@@ -137,4 +137,7 @@ <include refid="selectArdSyUserVo"/> where sys_user_id = #{id} </select> <select id="selectSyUser" resultMap="ArdSyUserResult"> select distinct asu.user_id,asu.password from ard_sy_user asu </select> </mapper>