From 5b6e4a9e17e2425b43e3a6957115366e84ba8ce5 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 06 Apr 2021 14:30:34 +0800
Subject: [PATCH] 1.监控台接口 2.客户管理

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml                     |    1 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java          |   46 +++
 blade-service/blade-jfpts/pom.xml                                                                             |   16 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.xml             |   19 +
 blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java           |   65 ++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RecordVideoThread.java         |   96 +++++++++
 blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java                   |   14 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java    |   30 ++
 blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/TenantVO.java                      |   43 ++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java         |    5 
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.xml                       |   74 +++++++
 blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java              |   94 +++++++++
 blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java                    |    6 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java |   20 ++
 blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.java                      |   14 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.java            |    4 
 16 files changed, 528 insertions(+), 19 deletions(-)

diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java
index e37db97..2a07bbf 100644
--- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java
+++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java
@@ -101,6 +101,12 @@
 	 */
 	@ApiModelProperty(value = "授权码")
 	private String licenseKey;
+	private String type;
+	private String province;
+	private String city;
+	private String district;
+	private String jd;
+	private String wd;
 
 
 }
diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/TenantVO.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/TenantVO.java
new file mode 100644
index 0000000..7fe6752
--- /dev/null
+++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/TenantVO.java
@@ -0,0 +1,43 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tool.node.INode;
+import org.springblade.system.entity.Role;
+import org.springblade.system.entity.Tenant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "RoleVO对象", description = "RoleVO对象")
+public class TenantVO extends Tenant {
+	private String dj;
+	private String nature;
+}
diff --git a/blade-service/blade-jfpts/pom.xml b/blade-service/blade-jfpts/pom.xml
index 03c30bf..7559655 100644
--- a/blade-service/blade-jfpts/pom.xml
+++ b/blade-service/blade-jfpts/pom.xml
@@ -62,6 +62,22 @@
             <groupId>io.netty</groupId>
             <artifactId>netty-all</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.bytedeco</groupId>
+            <artifactId>javacv</artifactId>
+            <version>1.4.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.bytedeco.javacpp-presets</groupId>
+            <artifactId>ffmpeg-platform</artifactId>
+            <version>4.0.2-1.4.3</version>
+        </dependency>
+        <!--这个依赖区分Linux系统和windows系统-->
+        <dependency>
+            <groupId>com.github.hoary.ffmpeg</groupId>
+            <artifactId>FFmpeg-windows-x86_64</artifactId>
+            <version>2.0.1.1</version>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index 0a5e246..f5642ef 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -253,6 +253,7 @@
 
 
     <select id="selectListSe" resultMap="alarmResultMap">
+
         SELECT
         a.id,
         a.alarmType,
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 8f0c0e3..32a5033 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
@@ -43,10 +43,7 @@
 import javax.validation.Valid;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 控制器
@@ -401,4 +398,29 @@
 		return R.success("修改成功");
 	}
 
+
+	/**
+	 * 监控台统计
+	 * @return
+	 */
+	@PostMapping("/SeleC")
+	public R SeleC() {
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
+		String time = df.format(new Date());// new Date()为获取当前系统时间
+		//设备在线数量
+		Integer integerz = equipmentService.selectEqCz();
+		//设备掉线数量
+		Integer integerd = equipmentService.selectEqCd();
+		//设备预警数量
+		List<Map<String, Object>> list = equipmentService.selectEqCy(time);
+		//设备故障数量
+		Integer integerg = equipmentService.selectEqCg();
+		Map<String, Object> map = new HashMap<String, Object>();
+		map.put("zx",integerz);
+		map.put("dx",integerd);
+		map.put("yj",list.size());
+		map.put("gz",integerg);
+		return R.data(map);
+	}
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.java
index b3ad47b..7d415e2 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.java
@@ -70,4 +70,8 @@
 	void updateChannel(String heartbeat, String deviceNumber);
 	void updateexpireTime(String expireTime, String deviceNumber);
 	void updateExstate(String state,String reason, String deviceNumber);
+	Integer selectEqCz();
+	Integer selectEqCd();
+	List<Map<String, Object>> selectEqCy(String time);
+	Integer selectEqCg();
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.xml
index a360718..6b447fe 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/mapper/EquipmentMapper.xml
@@ -326,4 +326,23 @@
         update sys_equipment SET state=#{state},reason=#{reason}  where deviceNumber=#{deviceNumber}
     </update>
 
+    <!--查询设备在线数量-->
+    <select id="selectEqCz" resultType="Integer">
+        select COUNT(*) from sys_equipment where heartbeat >= DATE_SUB(NOW(),INTERVAL 1 DAY)
+    </select>
+
+    <!--查询设备掉线数量-->
+    <select id="selectEqCd" resultType="Integer">
+        select COUNT(*) from sys_equipment where heartbeat &lt; DATE_SUB(NOW(),INTERVAL 1 DAY)
+    </select>
+
+    <!--查询预警设备数量-->
+    <select id="selectEqCy" resultType="java.util.HashMap">
+        SELECT COUNT(deviceNumber) as cou,deviceNumber FROM `sys_alarm` WHERE alarmTime like concat(concat('%', #{time}), '%') and waringType NOT IN("系统测试","主机重新上电") group by deviceNumber
+    </select>
+
+    <!--查询设故障数量-->
+    <select id="selectEqCg" resultType="Integer">
+        select COUNT(*) from sys_equipment where heartbeat >= DATE_SUB(NOW(),INTERVAL 1 DAY) and state!=null
+    </select>
 </mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
index 4a136cd..75ed48e 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
@@ -86,4 +86,9 @@
     Integer selectEquipmentCount(Integer status);
 	void updateexpireTime(String expireTime, String deviceNumber);
 	void updateExstate(String state,String reason, String deviceNumber);
+
+	Integer selectEqCz();
+	Integer selectEqCd();
+	List<Map<String, Object>> selectEqCy(String time);
+	Integer selectEqCg();
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
index cad368b..a0b40c0 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
@@ -180,4 +180,24 @@
 	public void updateExstate(String state, String reason, String deviceNumber) {
 		baseMapper.updateExstate(state, reason, deviceNumber);
 	}
+
+	@Override
+	public Integer selectEqCz() {
+		return baseMapper.selectEqCz();
+	}
+
+	@Override
+	public Integer selectEqCd() {
+		return baseMapper.selectEqCd();
+	}
+
+	@Override
+	public List<Map<String, Object>> selectEqCy(String time) {
+		return baseMapper.selectEqCy(time);
+	}
+
+	@Override
+	public Integer selectEqCg() {
+		return baseMapper.selectEqCg();
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RecordVideoThread.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RecordVideoThread.java
new file mode 100644
index 0000000..7223e4e
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RecordVideoThread.java
@@ -0,0 +1,96 @@
+package org.springblade.jfpt.rvideo.controller;
+import org.bytedeco.javacpp.avcodec;
+import org.bytedeco.javacv.*;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+public class RecordVideoThread implements Runnable {
+	public String streamURL;// 流地址(测试可以用obs推流)
+	public String filePath;// 文件路径
+	public Long timesSec = 100L;// 停止录制时长 0为不限制时长
+	public String fileFormat = "mp4";//录制的文件格式
+	public boolean isAudio = false;//是否录制声音
+
+	public void setStreamURL(String streamURL) {
+		this.streamURL = streamURL;
+	}
+
+	public void setFilePath(String filePath) {
+		this.filePath = filePath;
+	}
+
+	@Override
+	public void run() {
+		System.out.println(streamURL);
+		// 获取视频源
+		FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(streamURL);
+		FFmpegFrameRecorder recorder = null;
+		try {
+			grabber.start();
+			Frame frame = grabber.grabFrame();
+			createFile();
+			//"rtmp://192.168.1.225:1935/live/home"
+			// 流媒体输出地址,分辨率(长,高),是否录制音频(0:不录制/1:录制)
+			recorder = new FFmpegFrameRecorder(filePath, 1280, 720, isAudio ? 1 : 0);
+			recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);// 直播流格式
+			recorder.setFormat(fileFormat);// 录制的视频格式
+			recorder.setFrameRate(25);// 帧数
+			//百度翻译的比特率,默认400000,但是我400000贼模糊,调成800000比较合适
+			recorder.setVideoBitrate(800000);
+			recorder.start();
+			System.out.println("推流开始");
+//            new Thread(new Runnable() {
+//                @Override
+//                public void run() {
+//                    RecordVideoThread thread = new RecordVideoThread();
+//                    thread.pushVideoAsRTSP(1, null);
+//                }
+//            }).start();
+			// 计算结束时间
+			//long endTime = System.currentTimeMillis() + timesSec * 1000;
+			// 如果没有到录制结束时间并且获取到了下一帧则继续录制
+			while (frame != null) {
+				System.out.println("开始");
+				recorder.record(frame);//录制
+				frame = grabber.grabFrame();//获取下一帧
+				System.out.println("结束");
+			}
+			recorder.record(frame);
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			//停止录制
+			if (null != grabber) {
+				try {
+					grabber.stop();
+				} catch (FrameGrabber.Exception e) {
+					e.printStackTrace();
+				}
+			}
+			if (recorder != null) {
+				try {
+					recorder.stop();
+				} catch (FrameRecorder.Exception e) {
+					e.printStackTrace();
+				}
+			}
+			System.out.println("录制完成,录制时长:" + timesSec + "秒");
+		}
+	}
+
+	private void createFile() {
+		File outFile = new File(filePath);
+		if (filePath.isEmpty() || !outFile.exists() || outFile.isFile()) {
+			try {
+				outFile.createNewFile();
+			} catch (IOException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+
+	}
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java
index 5a4363d..8d7ee85 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java
@@ -41,14 +41,12 @@
 import org.springblade.jfpt.rvideo.vo.RvideoVO;
 import org.springblade.jfpt.rvideo.service.IRvideoService;
 import org.springblade.core.boot.ctrl.BladeController;
-
 import java.io.File;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.UUID;
+
+import org.bytedeco.javacpp.avcodec;
+import org.bytedeco.javacv.*;
+import java.io.IOException;
+
 
 /**
  * 控制器
@@ -66,8 +64,9 @@
 	private final IAlarmService alarmService;
 	private final IXlfeedbackService xlfeedbackService;
 	private static String PRE_URL = "D:\\software\\minio\\data\\jfpt\\void\\";
-
 	private static String PRF_MINIO_URL = "minio/jfpt/void/";
+	private static  Thread thread;
+	private static  String UUIDs;
 
 	/**
 	 * 详情
@@ -197,4 +196,35 @@
 		}
 		return vaddress;
 	}
+
+
+		/**
+	 * Javacv录制视频
+	 */
+	@PostMapping("/rVoids")
+	public void rVoids() {
+		String UUID = DateUtil.time();
+		UUIDs=UUID;
+		RecordVideoThread recordVideoThread = new RecordVideoThread();
+		recordVideoThread.filePath = "D:\\software\\minio\\data\\jfpt\\void\\"+UUID + ".mp4";
+		recordVideoThread.timesSec = 0L;
+		recordVideoThread.streamURL = "https://web.byisf.com:18000/live?port=1935&app=live&stream=0012415A75C6-1";// 最好设置结束时长 如直接停止程序会造成输出文件的损坏无法正常播放
+		recordVideoThread.isAudio = true;
+		thread = new Thread(recordVideoThread);
+		thread.start();
+	}
+
+
+
+	@PostMapping("/stop")
+	public void stop(String jid) throws FrameGrabber.Exception {
+		//返回前端路径
+		String vaddress = null;
+        thread.stop();
+		//返回路径
+		vaddress = "https://web.byisf.com/" + PRF_MINIO_URL + UUIDs + ".mp4";
+		//把路径通过警情id添加到警情信息
+		alarmService.updateVaddress(vaddress,jid);
+	}
+
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java
index 1ed526e..be351ca 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java
@@ -36,6 +36,7 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.system.entity.Tenant;
 import org.springblade.system.service.ITenantService;
+import org.springblade.system.vo.RoleVO;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -198,6 +199,99 @@
 		return R.data(kv);
 	}
 
+	/**
+	 * 医院信息添加
+	 */
+	@PostMapping("/instery")
+	public R instery(String dj, String had, String ht, String ctime,String content,String hn) {
+		tenantService.inserts(dj,had,ht,ctime,content,hn);
+		return R.success("新增成功");
+	}
+	/**
+	 * 医院信息修改
+	 */
+	@PostMapping("/updateInfoy")
+	public R updateInfoy(String dj, String had, String ht, String ctime,String content,String hn) {
+		tenantService.updateInfoy(dj,had,ht,ctime,content,hn);
+		return R.success("修改成功");
+	}
+	/**
+	 * 医院信息详情
+	 */
+	@PostMapping("/selectTy")
+	public R<List> selectTy(String hn) {
+		List<Map<String, Object>> maps = tenantService.selectTy(hn);
+		return R.data(maps);
+	}
 
 
+	/**
+	 * 学校信息添加
+	 */
+	@PostMapping("/insertss")
+	public R insertss(String nature, String had, String motto, String ctime,String content,String hn) {
+		tenantService.insertss(nature,had,motto,ctime,content,hn);
+		return R.success("新增成功");
+	}
+	/**
+	 * 学校信息修改
+	 */
+	@PostMapping("/updateInfos")
+	public R updateInfos(String nature, String had, String motto, String ctime,String content,String hn) {
+		tenantService.updateInfos(nature,had,motto,ctime,content,hn);
+		return R.success("修改成功");
+	}
+	/**
+	 * 学校信息详情
+	 */
+	@PostMapping("/selectTs")
+	public R<List> selectTs(String hn) {
+		List<Map<String, Object>> maps = tenantService.selectTs(hn);
+		return R.data(maps);
+	}
+
+
+	/**
+	 * 小区信息添加
+	 */
+	@PostMapping("/insertsr")
+	public R insertsr(String category,String attributes,String developers,String had,String housetype,String content,String hn) {
+		tenantService.insertsr(category, attributes, developers, had, housetype, content, hn);
+		return R.success("新增成功");
+	}
+	/**
+	 * 小区信息修改
+	 */
+	@PostMapping("/updateInfor")
+	public R updateInfor(String category,String attributes,String developers,String had,String housetype,String content,String hn) {
+		tenantService.updateInfor(category, attributes, developers, had, housetype, content, hn);
+		return R.success("修改成功");
+	}
+	/**
+	 * 小区信息详情
+	 */
+	@PostMapping("/selectTr")
+	public R<List> selectTr(String hn) {
+		List<Map<String, Object>> maps = tenantService.selectTr(hn);
+		return R.data(maps);
+	}
+
+
+
+	@PostMapping("/deletey")
+	public R deletey(String hn) {
+		tenantService.deletey(hn);
+		return R.success("删除成功");
+	}
+	@PostMapping("/deletes")
+	public R deletes(String hn) {
+		tenantService.deletes(hn);
+		return R.success("删除成功");
+	}
+	@PostMapping("/deleter")
+	public R deleter(String hn) {
+		tenantService.deleter(hn);
+		return R.success("删除成功");
+	}
+
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.java
index b57431b..e6dcbfd 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.java
@@ -21,6 +21,7 @@
 import org.springblade.system.entity.Tenant;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  Mapper 接口
@@ -37,5 +38,16 @@
 	 * @return
 	 */
 	List<Tenant> selectTenantPage(IPage page, Tenant tenant);
-
+	int inserts(String dj, String had, String ht, String ctime,String content,String hn);
+	void updateInfoy(String dj, String had, String ht, String ctime,String content,String hn);
+	List<Map<String, Object>> selectTy(String hn);
+	List<Map<String, Object>> selectTs(String hn);
+	int insertss(String nature, String had, String motto, String ctime,String content,String hn);
+	void updateInfos(String nature, String had, String motto, String ctime,String content,String hn);
+	int insertsr(String category,String attributes,String developers,String had,String housetype,String content,String hn);
+	void updateInfor(String category,String attributes,String developers,String had,String housetype,String content,String hn);
+	List<Map<String, Object>> selectTr(String hn);
+	void deletey(String hn);
+	void deletes(String hn);
+	void deleter(String hn);
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.xml
index 3c94fc1..9506719 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.xml
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TenantMapper.xml
@@ -21,11 +21,83 @@
         <result column="account_number" property="accountNumber"/>
         <result column="expire_time" property="expireTime"/>
         <result column="license_key" property="licenseKey"/>
+        <result column="type" property="type"/>
+        <result column="province" property="province"/>
+        <result column="city" property="city"/>
+        <result column="district" property="district"/>
+        <result column="jd" property="jd"/>
+        <result column="wd" property="wd"/>
     </resultMap>
 
 
     <select id="selectTenantPage" resultMap="tenantResultMap">
-        select * from blade_tenant where is_deleted = 0
+        select * from blade_tenant where is_deleted = 0 and tenant_id!=000000
+        <if test="tenant.tenantName!=null and tenant.tenantName!=''">
+            and tenant_name=#{tenant.tenantName}
+        </if>
+        <if test="tenant.linkman!=null and tenant.linkman!=''">
+            and tenant.linkman=#{tenant.linkman}
+        </if>
+        <if test="tenant.province!=null and tenant.province!=''">
+            and tenant.province=#{tenant.province}
+        </if>
+        <if test="tenant.city!=null and tenant.city!=''">
+            and tenant.city=#{tenant.city}
+        </if>
+        <if test="tenant.district!=null and tenant.district!=''">
+            and tenant.district=#{tenant.district}
+        </if>
     </select>
 
+    <!--医院信息新增-->
+    <insert id="inserts">
+        insert into jfpt.sys_hospital(dj,had,ht,ctime,content,hn) values(#{dj},#{had},#{ht},#{ctime},#{content},#{hn})
+    </insert>
+    <!--医院信息修改-->
+    <update id="updateInfoy" >
+        UPDATE  jfpt.sys_hospital SET dj=#{dj},had=#{had},ctime=#{ctime},content=#{content},ht=#{ht} WHERE hn=#{hn}
+    </update>
+
+    <select id="selectTy" resultType="java.util.HashMap">
+        select * from jfpt.sys_hospital where hn=#{hn}
+    </select>
+
+
+    <!--学校信息新增-->
+    <insert id="insertss">
+        insert into jfpt.sys_school(nature,had,motto,ctime,content,hn) values(#{dj},#{had},#{motto},#{ctime},#{content},#{hn})
+    </insert>
+    <!--学校信息修改-->
+    <update id="updateInfos" >
+        UPDATE  jfpt.sys_school SET nature=#{nature},had=#{had},ctime=#{ctime},content=#{content},motto=#{motto} WHERE hn=#{hn}
+    </update>
+
+    <select id="selectTs" resultType="java.util.HashMap">
+        select * from jfpt.sys_school where hn=#{hn}
+    </select>
+
+
+    <!--小区信息新增-->
+    <insert id="insertsr">
+        insert into jfpt.sys_residential(category,attributes,developers,had,housetype,content,hn) values(#{category},#{attributes},#{developers},#{had},#{housetype},#{content},#{hn})
+    </insert>
+    <!--小区信息修改-->
+    <update id="updateInfor" >
+        UPDATE  jfpt.sys_residential SET category=#{category},attributes=#{attributes},developers=#{developers},had=#{had},housetype=#{housetype},content=#{content} WHERE hn=#{hn}
+    </update>
+
+    <select id="selectTr" resultType="java.util.HashMap">
+        select * from jfpt.sys_residential where hn=#{hn}
+    </select>
+
+
+    <delete id="deletey">
+        delete from jfpt.sys_hospital where hn = #{hn}
+    </delete>
+    <delete id="deletes">
+        delete from jfpt.sys_school where hn = #{hn}
+    </delete>
+    <delete id="deleter">
+        delete from jfpt.sys_residential where hn = #{hn}
+    </delete>
 </mapper>
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
index b2eceb5..bc04aeb 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
@@ -22,6 +22,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 服务类
@@ -72,5 +73,16 @@
 	 * @return
 	 */
 	boolean setting(Integer accountNumber, Date expireTime, String ids);
-
+	int inserts(String dj,String had,String ht,String ctime,String content,String hn);
+	void updateInfoy(String dj, String had, String ht, String ctime,String content,String hn);
+	List<Map<String, Object>> selectTy(String hn);
+	List<Map<String, Object>> selectTs(String hn);
+	int insertss(String nature, String had, String motto, String ctime,String content,String hn);
+	void updateInfos(String nature, String had, String motto, String ctime,String content,String hn);
+	int insertsr(String category,String attributes,String developers,String had,String housetype,String content,String hn);
+	void updateInfor(String category,String attributes,String developers,String had,String housetype,String content,String hn);
+	List<Map<String, Object>> selectTr(String hn);
+	void deletey(String hn);
+	void deletes(String hn);
+	void deleter(String hn);
 }
diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
index 858ed3c..551a86b 100644
--- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
+++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
@@ -41,10 +41,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static org.springblade.common.constant.TenantConstant.*;
@@ -196,6 +193,66 @@
 		return true;
 	}
 
+	@Override
+	public int inserts(String dj, String had, String ht, String ctime, String content,String hn) {
+		return baseMapper.inserts(dj, had, ht, ctime, content,hn);
+	}
+
+	@Override
+	public void updateInfoy(String dj, String had, String ht, String ctime, String content, String hn) {
+		baseMapper.updateInfoy(dj, had, ht, ctime, content, hn);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectTy(String hn) {
+		return baseMapper.selectTy(hn);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectTs(String hn) {
+		return baseMapper.selectTs(hn);
+	}
+
+	@Override
+	public int insertss(String nature, String had, String motto, String ctime, String content, String hn) {
+		return baseMapper.insertss(nature, had, motto, ctime, content, hn);
+	}
+
+	@Override
+	public void updateInfos(String nature, String had, String motto, String ctime, String content, String hn) {
+  			baseMapper.updateInfos(nature, had, motto, ctime, content, hn);
+	}
+
+	@Override
+	public int insertsr(String category, String attributes, String developers, String had, String housetype, String content, String hn) {
+		return baseMapper.insertsr(category, attributes, developers, had, housetype, content, hn);
+	}
+
+	@Override
+	public void updateInfor(String category, String attributes, String developers, String had, String housetype, String content, String hn) {
+		baseMapper.updateInfor(category, attributes, developers, had, housetype, content, hn);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectTr(String hn) {
+		return baseMapper.selectTr(hn);
+	}
+
+	@Override
+	public void deletey(String hn) {
+		baseMapper.deletey(hn);
+	}
+
+	@Override
+	public void deletes(String hn) {
+baseMapper.deletes(hn);
+	}
+
+	@Override
+	public void deleter(String hn) {
+ baseMapper.deleter(hn);
+	}
+
 	private String getTenantId(List<String> codes) {
 		String code = tenantId.generate();
 		if (codes.contains(code)) {

--
Gitblit v1.9.3