src/main/java/com/whyc/controller/CKPowerDevAlarmController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/db_ckpwrdev_alarm/CKPowerDevAlarm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CKPowerDevAlarmService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/util/JsonUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/websocket/PowerDevAlarmSocket.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/CKPowerDevAlarmController.java
@@ -18,8 +18,8 @@ @PostMapping("getPage") @ApiOperation("分页查询") public Response getPage(@RequestBody CKPowerDevAlarm alarm,@RequestParam int pageNum,@RequestParam int pageSize){ return service.getPage(alarm,pageNum,pageSize); public Response getPage(@RequestBody CKPowerDevAlarm alarm){ return service.getPage(alarm); } } src/main/java/com/whyc/pojo/db_ckpwrdev_alarm/CKPowerDevAlarm.java
@@ -28,4 +28,9 @@ private Date almConfirmedTime; private Integer almClearedType; @TableField(exist = false) private Integer pageNum; @TableField(exist = false) private Integer pageSize; } src/main/java/com/whyc/service/CKPowerDevAlarmService.java
@@ -18,8 +18,8 @@ @Resource private CKPowerDevAlarmMapper mapper; public Response getPage(CKPowerDevAlarm alarm, int pageNum, int pageSize) { PageHelper.startPage(pageNum,pageSize); public Response getPage(CKPowerDevAlarm alarm) { PageHelper.startPage(alarm.getPageNum(),alarm.getPageSize()); QueryWrapper<CKPowerDevAlarm> query = Wrappers.query(); if(alarm.getDevType()!=0) { query.eq("dev_type", alarm.getDevType()); src/main/java/com/whyc/util/JsonUtil.java
New file @@ -0,0 +1,25 @@ package com.whyc.util; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class JsonUtil { /** * * @param dataType 需要解析的日期的格式如:"yyyy-MM-dd HH:mm:ss" * @return 得到对应的gson对象 */ public static Gson getGson(String dataType){ return new GsonBuilder().setDateFormat(dataType).create(); } /** * 获取默认的gson对象 * @return */ public static Gson getGson(){ return new Gson(); } } src/main/java/com/whyc/websocket/PowerDevAlarmSocket.java
New file @@ -0,0 +1,81 @@ package com.whyc.websocket; import com.whyc.config.WebSocketConfig; import com.whyc.dto.Response; import com.whyc.pojo.db_ckpwrdev_alarm.CKPowerDevAlarm; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtData; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtState; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevRt; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignal; import com.whyc.service.*; import com.whyc.util.JsonUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.List; /** * 测控电源遥测量和遥信量 * +核容装置状态 */ @Component @ServerEndpoint(value = "/ckPowerDevAlarm",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class) public class PowerDevAlarmSocket { private Session session; private Thread thread; private static CKPowerDevAlarmService service; @Autowired public void setService(CKPowerDevAlarmService service) { PowerDevAlarmSocket.service = service; } @OnOpen public void onOpen(Session session){ this.session = session; } @OnMessage public void onMessage(String message){ CKPowerDevAlarm param = JsonUtil.getGson().fromJson(message, CKPowerDevAlarm.class); Thread thread = new Thread() { @Override public void run() { try{ while (!currentThread().isInterrupted()) { session.getBasicRemote().sendObject(service.getPage(param)); sleep(4000); } } catch (Exception e) { this.interrupt(); } } }; thread.start(); this.thread = thread; } @OnClose public void onClose(CloseReason closeReason) throws IOException { System.err.println("closeReason = " + closeReason); if(session.isOpen()){ session.close(); } } @OnError public void onError(Throwable error) throws IOException { error.printStackTrace(); thread.isInterrupted(); if(session.isOpen()){ session.close(); } } }