diff --git a/danger-manage-admin/src/main/java/com/zehong/web/controller/system/Bx06Controller.java b/danger-manage-admin/src/main/java/com/zehong/web/controller/system/Bx06Controller.java index d37376ee62ae31c136e5b2f5667c72efbb500eee..23ae6c6bcf51e69e4f68669105cd7fb31e8ae6d5 100644 --- a/danger-manage-admin/src/main/java/com/zehong/web/controller/system/Bx06Controller.java +++ b/danger-manage-admin/src/main/java/com/zehong/web/controller/system/Bx06Controller.java @@ -2,21 +2,22 @@ package com.zehong.web.controller.system; import com.zehong.common.core.domain.AjaxResult; import com.zehong.system.domain.vo.Bx06Vo; +import com.zehong.system.service.ITEntranceGuardPersonInfoService; import com.zehong.system.service.impl.LedserviceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; @Api("大å±æŽ¨é€") @RestController @RequestMapping("bx") public class Bx06Controller { - + @Autowired + private ITEntranceGuardPersonInfoService tEntranceGuardPersonInfoService; @ApiOperation("测试推é€") - @PutMapping("/send") - public AjaxResult send (Bx06Vo bx06Vo)throws Exception + @PostMapping("/send") + public AjaxResult send (@RequestBody Bx06Vo bx06Vo)throws Exception { if(bx06Vo.getContents()==null||bx06Vo.getContents().length<1){ return AjaxResult.error("请至少å‘é€ä¸€è¡Œæ•°æ®"); @@ -27,4 +28,12 @@ public class Bx06Controller { LedserviceImpl.SendProgram(bx06Vo); return AjaxResult.success(); } + +// @ApiOperation("测试推é€2") +// @PostMapping("/testsend") +// public void testsend ()throws Exception +// { +// tEntranceGuardPersonInfoService.send2Led(); +// } + } diff --git a/danger-manage-admin/src/main/java/com/zehong/web/controller/videomonitor/SubscriptionEventController.java b/danger-manage-admin/src/main/java/com/zehong/web/controller/videomonitor/SubscriptionEventController.java index 08defbbffe342d6fef4da028cc365ba7fbd832be..f5b37f19f20ae587ae7c72f3fe5ac6f5103c7047 100644 --- a/danger-manage-admin/src/main/java/com/zehong/web/controller/videomonitor/SubscriptionEventController.java +++ b/danger-manage-admin/src/main/java/com/zehong/web/controller/videomonitor/SubscriptionEventController.java @@ -152,6 +152,8 @@ public class SubscriptionEventController { tEntranceGuardPersonInfo.setActionTime(happenTime); tEntranceGuardPersonInfoService.insertTEntranceGuardPersonInfo(tEntranceGuardPersonInfo); } + //å‘é€åˆ°ledå± + tEntranceGuardPersonInfoService.send2Led(); } /** diff --git a/danger-manage-system/src/main/java/com/zehong/system/domain/vo/Bx06Vo.java b/danger-manage-system/src/main/java/com/zehong/system/domain/vo/Bx06Vo.java index a74ef0bd9e877a3fe5d4696f0730822d19a52e35..2531d9f14a7f942bff397d717c35d8340f2a74d2 100644 --- a/danger-manage-system/src/main/java/com/zehong/system/domain/vo/Bx06Vo.java +++ b/danger-manage-system/src/main/java/com/zehong/system/domain/vo/Bx06Vo.java @@ -5,7 +5,7 @@ import lombok.Data; @Data public class Bx06Vo { private String[] contents; - private String content ="æŸå¡æ£å…ƒæ¬¢è¿Žæ‚¨"; + private String content =""; private Integer width = 192; private Integer height = 96; private Integer colorType =1; diff --git a/danger-manage-system/src/main/java/com/zehong/system/mapper/TEntranceGuardPersonInfoMapper.java b/danger-manage-system/src/main/java/com/zehong/system/mapper/TEntranceGuardPersonInfoMapper.java index 901aaf358bb82f426140b8dd8eff82f60e8d919e..222b34f9bc5b8ac860213cfe6b8dfbae77214283 100644 --- a/danger-manage-system/src/main/java/com/zehong/system/mapper/TEntranceGuardPersonInfoMapper.java +++ b/danger-manage-system/src/main/java/com/zehong/system/mapper/TEntranceGuardPersonInfoMapper.java @@ -79,4 +79,9 @@ public interface TEntranceGuardPersonInfoMapper */ List<TEntranceGuardPersonInfo> lastImportAndExportData(); + /** + * 获å–最近5æ¡é€šè¿‡ä¿¡æ¯ + * @return + */ + List<TEntranceGuardPersonInfo> lastImportOrExportData(); } diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/ITEntranceGuardPersonInfoService.java b/danger-manage-system/src/main/java/com/zehong/system/service/ITEntranceGuardPersonInfoService.java index 4af7fb3aae8ec7092b150a0300988da8fe9ba41c..21537821626eacdf15091f6ef3a13e93611c47a9 100644 --- a/danger-manage-system/src/main/java/com/zehong/system/service/ITEntranceGuardPersonInfoService.java +++ b/danger-manage-system/src/main/java/com/zehong/system/service/ITEntranceGuardPersonInfoService.java @@ -65,4 +65,6 @@ public interface ITEntranceGuardPersonInfoService * 二é“门人员信æ¯åˆå§‹åŒ– */ Map<String,Object> getEntranceGuardPersonInfo(); + + public void send2Led(); } diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/impl/TEntranceGuardPersonInfoServiceImpl.java b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TEntranceGuardPersonInfoServiceImpl.java index d353e851ef0a80467b89647982cfc06ac1c743c0..f54b7d4d1b81ce939d454f799456c1cd3ce23ec3 100644 --- a/danger-manage-system/src/main/java/com/zehong/system/service/impl/TEntranceGuardPersonInfoServiceImpl.java +++ b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TEntranceGuardPersonInfoServiceImpl.java @@ -1,17 +1,22 @@ package com.zehong.system.service.impl; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import com.alibaba.fastjson.JSONObject; import com.zehong.common.utils.DateUtils; import com.zehong.common.utils.StringUtils; +import com.zehong.system.domain.TEntranceGuardPersonInfo; +import com.zehong.system.domain.vo.Bx06Vo; +import com.zehong.system.mapper.TEntranceGuardPersonInfoMapper; +import com.zehong.system.service.ITEntranceGuardPersonInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import com.zehong.system.mapper.TEntranceGuardPersonInfoMapper; -import com.zehong.system.domain.TEntranceGuardPersonInfo; -import com.zehong.system.service.ITEntranceGuardPersonInfoService; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * é—¨ç¦äººå‘˜ä¿¡æ¯Serviceä¸šåŠ¡å±‚å¤„ç† @@ -137,4 +142,123 @@ public class TEntranceGuardPersonInfoServiceImpl implements ITEntranceGuardPerso return result; } + + /** + * å‘é€åˆ°Ledå¤§å± + */ + @Override + public void send2Led() { + String []contents=new String[6]; + contents[0]=" 石家庄æŸå¡æ£å…ƒåŒ–肥有é™å…¬å¸"; + //查询场内人数 + String cnrs=tEntranceGuardPersonInfoMapper.statisticsStayInPersons(); + contents[1]="ä¼ä¸šäººæ•°:864人 厂内人数:"+cnrs+"人"; + List <TEntranceGuardPersonInfo>lastImportOrExportData=tEntranceGuardPersonInfoMapper.lastImportOrExportData(); + int i=0; + String crc=""; + for(TEntranceGuardPersonInfo tEntranceGuardPersonInfo : lastImportOrExportData){ + if(i>2){ + return; + } + if("0".equals(tEntranceGuardPersonInfo.getActionType())){ + crc="入场"; + }else if("1".equals(tEntranceGuardPersonInfo.getActionType())){ + crc="出场"; + } + + contents[i+2]=tEntranceGuardPersonInfo.getPersonName()+" "+crc+" "+DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,tEntranceGuardPersonInfo.getActionTime()); + i++; + } + contents[5]=" "+DateUtils.getDate();//展示当日日期 + //执行å‘é€ + send(contents); + + } + private void send(String[] contents){ + System.out.println("开始å‘é€æ•°æ®..."); + String pathUrl="http://218.207.92.101:8908/dangerManage/bx/send"; +// String pathUrl="http://127.0.0.1:8908/dangerManage/bx/send"; + Bx06Vo bv=new Bx06Vo(); + bv.setContents(contents); + + //å‘é€æ•°æ® + doPostOrGet(pathUrl,JSONObject.toJSONString(bv)); + + } + + //å‘é€æ•°æ® + public static void doPostOrGet(String pathUrl, String data) { + + OutputStreamWriter out = null; + BufferedReader br = null; + + String result = ""; + + try { + URL url = new URL(pathUrl); + + //打开和url之间的连接 + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + + //è¯·æ±‚æ–¹å¼ + conn.setRequestMethod("POST"); + + //conn.setRequestMethod("GET"); + //设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + + conn.setRequestProperty("connection", "Keep-Alive"); + + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); + + conn.setRequestProperty("Content-Type", "application/json;charset=utf-8"); + + //DoOutput设置是å¦å‘httpUrlConnection输出,DoInput设置是å¦ä»ŽhttpUrlConnection读入,æ¤å¤–å‘é€post请求必须设置这两个 + + conn.setDoOutput(true); + conn.setDoInput(true); + + /** + * 下é¢çš„三å¥ä»£ç ,就是调用第三方httpæŽ¥å£ + */ + //获å–URLConnectionå¯¹è±¡å¯¹åº”çš„è¾“å‡ºæµ + out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); + //å‘é€è¯·æ±‚å‚æ•°å³æ•°æ® + out.write(data); + //flush输出æµçš„缓冲 + out.flush(); + /** + * 下é¢çš„代ç 相当于,获å–调用第三方http接å£åŽè¿”回的结果 + */ + //获å–URLConnectionå¯¹è±¡å¯¹åº”çš„è¾“å…¥æµ + InputStream is = conn.getInputStream(); + + //æž„é€ ä¸€ä¸ªå—符æµç¼“å˜ + br = new BufferedReader(new InputStreamReader(is)); + String str = ""; + while ((str = br.readLine()) != null) { + result += str; + } + System.out.println(result); + //å…³é—æµ + is.close(); + + //æ–开连接,disconnect是在底层tcp socket链接空闲时æ‰åˆ‡æ–,如果æ£åœ¨è¢«å…¶ä»–线程使用就ä¸åˆ‡æ–。 + conn.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (out != null) { + out.close(); + } + if (br != null) { + br.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + } } diff --git a/danger-manage-system/src/main/resources/mapper/system/TEntranceGuardPersonInfoMapper.xml b/danger-manage-system/src/main/resources/mapper/system/TEntranceGuardPersonInfoMapper.xml index a8956218922a231e2d70ee3059fdbe4ccd0f292f..8aa1371702298751659425272e15583427ffdcea 100644 --- a/danger-manage-system/src/main/resources/mapper/system/TEntranceGuardPersonInfoMapper.xml +++ b/danger-manage-system/src/main/resources/mapper/system/TEntranceGuardPersonInfoMapper.xml @@ -167,4 +167,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY present.action_type </select> + + <select id="lastImportOrExportData" resultMap="TEntranceGuardPersonInfoResult"> + SELECT + DATE_FORMAT(action_time,'%Y-%m-%d %H:%i:%s') action_time,person_name,action_type + FROM + t_entrance_guard_person_info + ORDER BY action_time DESC LIMIT 3 + </select> </mapper> \ No newline at end of file