chenwen 1 год назад
Родитель
Сommit
bc65ca693d

+ 25 - 17
src/main/java/com/hb/proj/api/controller/APIController.java

@@ -103,8 +103,7 @@ public class APIController {
 	 */
 	@RequestMapping("/liquid/read")
 	public RespVO<Object> readLiquidParams(@NotBlank(message="设备编号不能为空") String serial){
-		Channel channel=ChannelGroupMgr.get(serial);
-		return liquidCtr(serial,new ManualLiquidTask(channel,ManualLiquidTask.ACTION_READ));
+		return liquidCtr(serial,ManualLiquidTask.ACTION_READ,null);
 	}
 	
 	/**
@@ -115,8 +114,18 @@ public class APIController {
 	 */
 	@RequestMapping("/liquid/set")
 	public RespVO<Object> setLiquidParams(@NotBlank(message="设备编号不能为空") String serial,@Validated(LiquidParam.LiquidSetting.class)  LiquidParam param){
-		Channel channel=ChannelGroupMgr.get(serial);
-		return liquidCtr(serial,new ManualLiquidTask(channel,ManualLiquidTask.ACTION_SET,param));
+		return liquidCtr(serial,ManualLiquidTask.ACTION_SET,param);
+	}
+	
+	/**
+	 * 启动动液面测试
+	 * @param serial
+	 * @param param
+	 * @return
+	 */
+	@RequestMapping("/liquid/test")
+	public RespVO<Object> testLiquid(@NotBlank(message="设备编号不能为空") String serial,@Validated(LiquidParam.LiquidTesting.class)  LiquidParam param){
+		return liquidCtr(serial,ManualLiquidTask.ACTION_BOOT_TEST,param);
 	}
 	
 	/**
@@ -126,34 +135,33 @@ public class APIController {
 	 */
 	@RequestMapping("/liquid/gather")
 	public RespVO<Object> gatherLiquidData(@NotBlank(message="设备编号不能为空") String serial){
+		Channel channel=ChannelGroupMgr.get(serial);
+		if(channel==null) {
+			return RespVOBuilder.error("该设备已不在线,请稍后再试");
+		}
 		if(!ChannelGroupMgr.isDone(serial)) {
 			return RespVOBuilder.error("该设备正在执行其它操作,请稍后再试");
 		}
-		Channel channel=ChannelGroupMgr.get(serial);
+		
 		ChannelGroupMgr.addFuture(serial,GatherTaskExecutor.submit(new GatherLiquidTask(channel)));
 		repRedis.put("liquid_"+serial, MapUtils.build("status","complete","action","gather"),true);
 		return RespVOBuilder.ok();
 	}
 	
-	/**
-	 * 启动动液面测试
-	 * @param serial
-	 * @param param
-	 * @return
-	 */
-	@RequestMapping("/liquid/test")
-	public RespVO<Object> testLiquid(@NotBlank(message="设备编号不能为空") String serial,@Validated(LiquidParam.LiquidTesting.class)  LiquidParam param){
-		Channel channel=ChannelGroupMgr.get(serial);
-		return liquidCtr(serial,new ManualLiquidTask(channel,ManualLiquidTask.ACTION_BOOT_TEST,param));
-	}
 	
 	
 	
 	
-	private RespVO<Object> liquidCtr(String serial,ManualLiquidTask task) {
+	
+	private RespVO<Object> liquidCtr(String serial,int action,LiquidParam param) {
+		Channel channel=ChannelGroupMgr.get(serial);
+		if(channel==null) {
+			return RespVOBuilder.error("该设备已不在线,请稍后再试");
+		}
 		if(!ChannelGroupMgr.isDone(serial)) {
 			return RespVOBuilder.error("该设备正在执行其它操作,请稍后再试");
 		}
+		ManualLiquidTask task=new ManualLiquidTask(channel,action,param);
 		ChannelGroupMgr.addFuture(serial,GatherTaskExecutor.submit(task));
 		return RespVOBuilder.ok();
 	}

+ 1 - 1
src/main/java/com/hb/proj/gather/scheduler/GatherScheduler.java

@@ -60,7 +60,7 @@ public class GatherScheduler {
 	/**
 	 * 动液面定时采集
 	 */
-	@Scheduled(fixedRate = 60 * 60 * 1000,initialDelay= 60000)  
+	@Scheduled(fixedRate = 20 * 60 * 1000,initialDelay= 300000)  
 	public void startLiquidGather() {
 			logger.info("动液面定时采集启动...");
 			Iterator<Channel> iterator=ChannelGroupMgr.iterator();

+ 1 - 1
src/main/resources/application-pro.properties

@@ -6,7 +6,7 @@ server.port=8080
 # 采集程序监听端口
 gather.port=9603
 
-server.servlet.context-path=/zl
+server.servlet.context-path=/zl-opd-gather
 server.tomcat.uri-encoding=UTF-8
 server.servlet.encoding.charset=UTF-8
 server.servlet.encoding.enabled=true