From 16abd944c4331a31e99c28564c9b8a31bfbbfefc Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 27 Aug 2021 21:14:15 +0800
Subject: [PATCH] 海康设备接口调用工具类修改

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java |  142 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 117 insertions(+), 25 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
index 337de19..6e9bcf9 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
@@ -32,11 +32,14 @@
 import org.springblade.jfpt.catalog.service.catalogService;
 import org.springblade.jfpt.deploy.service.IDeployService;
 import org.springblade.jfpt.equipment.entity.Equipment;
+import org.springblade.jfpt.equipment.entity.EquipmentPlayInfo;
 import org.springblade.jfpt.equipment.feign.DeptFeignApi;
+import org.springblade.jfpt.equipment.feign.RegionFeignApi;
 import org.springblade.jfpt.equipment.service.IEquipmentService;
 import org.springblade.jfpt.equipment.vo.EquipmentVO;
 import org.springblade.jfpt.equipment.vo.EquipmentVOS;
 import org.springblade.jfpt.equipment.wrapper.EqWrapper;
+import org.springblade.system.entity.Region;
 import org.springblade.system.user.entity.User;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
@@ -65,6 +68,8 @@
 
 	private final DeptFeignApi deptFeignApi;
 
+	private final RegionFeignApi regionFeignApi;
+
 	/**
 	 * 详情
 	 */
@@ -76,8 +81,25 @@
 		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 		response.setHeader("Access-Control-Allow-Credentials", "true");
 		/*Equipment detail = equipmentService.getOne(Condition.getQueryWrapper(equipment));*/
-
-		return R.data(equipmentService.selectInfo(equipment));
+		EquipmentVOS equipmentVOS = equipmentService.selectInfo(equipment);
+		//获取部门数据
+		List<DeptVo> deptVos = deptFeignApi.selDeptList();
+		if (null!=equipmentVOS.getDeptId()){
+			String[] split =equipmentVOS.getDeptId().split(",");
+			List<String> list = Arrays.asList(split);
+			StringBuffer deptNameBuiffer = new StringBuffer();
+			//数据匹配封装
+			for (String deptId:list) {
+				for (DeptVo deptVo:deptVos) {
+					if (deptId.equals(deptVo.getId().toString())){
+						deptNameBuiffer.append(deptVo.getDeptName()).append("/");
+					}
+				}
+			}
+			//封装部门名称数据
+			equipmentVOS.setDeptName(deptNameBuiffer.substring(0,deptNameBuiffer.length()-1));
+		}
+		return R.data(equipmentVOS);
 	}
 
 	/**
@@ -133,10 +155,7 @@
 			}else{
 				pages.get(j).setOnlineStatus("0");
 			}
-
 		}
-
-
 		return R.data(pages);
 	}
 
@@ -239,25 +258,40 @@
 				page.getRecords().get(j).setDeptName(deptNameBuiffer.substring(0,deptNameBuiffer.length()-1));
 			}
 
-			String expireTime = page.getRecords().get(j).getExpireTime();
-			//1.获取当前时间
-			Date dd = new Date();
-			SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-			String end = sim.format(dd);
-			//把string类型转换为long类型的
-
-			if (expireTime != null) {
-				long st = sim.parse(expireTime).getTime();
-				long en = sim.parse(end).getTime();
-				//计算天数
-				int day = (int) ((st - en) / 86400000);
-				if (day <= 30) {
-					page.getRecords().get(j).setType(1);
-				} else {
-					page.getRecords().get(j).setType(0);
-				}
-			}
+//			String expireTime = page.getRecords().get(j).getExpireTime();
+//			//1.获取当前时间
+//			Date dd = new Date();
+//			SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//			String end = sim.format(dd);
+//			//把string类型转换为long类型的
+//
+//			if (expireTime != null) {
+//				long st = sim.parse(expireTime).getTime();
+//				long en = sim.parse(end).getTime();
+//				//计算天数
+//				int day = (int) ((st - en) / 86400000);
+//				if (day <= 30) {
+//					page.getRecords().get(j).setType(1);
+//				} else {
+//					page.getRecords().get(j).setType(0);
+//				}
+//			}
+//
+//			//判断设备是否在线
+//			String Heartbeat = page.getRecords().get(j).getHeartbeat();
+//			if (Heartbeat != null){
+//				long st = sim.parse(Heartbeat).getTime();
+//				long en = sim.parse(end).getTime();
+//				if ((en - st) >= (60 * 60 * 24 * 1000)){
+//					page.getRecords().get(j).setOnlineStatus("0");
+//				}else{
+//					page.getRecords().get(j).setOnlineStatus("1");
+//				}
+//			}else{
+//				page.getRecords().get(j).setOnlineStatus("0");
+//			}
 		}
+
 
 		return R.data(page);
 	}
@@ -355,6 +389,24 @@
 			equipment.setHeartbeat(null);
 		}
 
+		if (equipment.getDtype() == null || equipment.getDtype().equals("")) {
+			equipment.setDtype("0");
+		}
+
+		//判断省市区的值是否为数字或者中文字符串
+		if(null!=equipment.getProvince()){
+			//如果不是数字,则需调用接口匹配数据(直接取区、县参数)
+			if (!equipment.getDistrict().matches("^[0-9]*$") && !equipment.getCity().matches("^[0-9]*$")){
+				Region region = regionFeignApi.selRegionDetail(equipment.getDistrict(),equipment.getCity());
+				if (null!=region){
+					//封装数据
+					equipment.setProvince(region.getProvinceCode());
+					equipment.setCity(region.getCityCode());
+					equipment.setDistrict(region.getDistrictCode());
+				}
+			}
+		}
+
 //		String deviceName = equipment.getDeviceName();
 //		String deviceNumber = equipment.getDeviceNumber();
 //		String pId = equipment.getPid();
@@ -364,7 +416,7 @@
 //			catalogService.updateCatalog(deviceName,deviceNumber,pId);
 //		}
 
-		System.out.println(equipment.getDeptId());
+
 		return R.status(equipmentService.saveOrUpdate(equipment));
 	}
 
@@ -387,6 +439,10 @@
 			equipment.setHeartbeat(null);
 		}
 
+		if (equipment.getDtype() == null || equipment.getDtype().equals("")) {
+			equipment.setDtype("0");
+		}
+
 //		String deviceName = equipment.getDeviceName();
 //		String deviceNumber = equipment.getDeviceNumber();
 //		String pId = equipment.getPid();
@@ -400,7 +456,6 @@
 			equipmentService.saveImg(equipment);
 		}
 
-		System.out.println(equipment.getDeptId());
 		return R.status(equipmentService.saveOrUpdate(equipment));
 	}
 
@@ -505,4 +560,41 @@
 		return R.data(map);
 	}
 
+	/**
+	 * 监控台统计
+	 * @author arsn 2021-5-6
+	 * @return
+	 */
+	@PostMapping("/SeleCs")
+	public R SeleCs() {
+		return R.data(equipmentService.selEqTypeSum());
+	}
+
+	/**
+	 * 获取设备视频播放的信息
+	 * @param equipmentPlayInfo 视频播放地址对象,只需包含设备编号,以及视频播放格式即可
+	 * @param response 响应域,设置跨域
+	 * @return
+	 */
+	@GetMapping("/selectEquimentPlayInfo")
+	public R selectEquimentPlayInfo(EquipmentPlayInfo equipmentPlayInfo,HttpServletResponse response){
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials", "true");
+		//返回
+		return R.data(equipmentService.selectEquimentPlayInfo(equipmentPlayInfo));
+	}
+
+
+
+	/**
+	 * 新增或修改设备视频播放的信息
+	 * @param equipmentPlayInfo 视频播放地址对象
+	 * @return
+	 */
+	@PostMapping("/submitEquimentPlayInfo")
+	public R submitEquimentPlayInfo(EquipmentPlayInfo equipmentPlayInfo){
+		return R.status(equipmentService.saveOrUpdateEquipmentPlayInfo(equipmentPlayInfo));
+	}
+
 }

--
Gitblit v1.9.3