浏览代码

合并冲突

weiximei 6 年前
父节点
当前提交
a55a71b4db
共有 19 个文件被更改,包括 1345 次插入941 次删除
  1. 二进制
      CODE/smart-community/[B@5e730dac
  2. 二进制
      CODE/smart-community/[B@6fdba475
  3. 二进制
      CODE/smart-community/app-api/lib/Digests.jar
  4. 二进制
      CODE/smart-community/app-api/lib/HttpClientSSLUtils.jar
  5. 10
    1
      CODE/smart-community/app-api/pom.xml
  6. 82
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/PicUtils.java
  7. 35
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java
  8. 392
    159
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java
  9. 0
    90
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiUtil.java
  10. 4
    7
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/FaceController.java
  11. 6
    9
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java
  12. 1
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/FaceServiceI.java
  13. 3
    4
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/SocialServiceI.java
  14. 129
    38
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  15. 2
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java
  16. 36
    12
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/SocialServiceImpl.java
  17. 13
    9
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TicketServiceImpl.java
  18. 317
    305
      文档/MYSQL/smartCommunity.pdb
  19. 315
    303
      文档/MYSQL/smartCommunity.pdm

二进制
CODE/smart-community/[B@5e730dac 查看文件


二进制
CODE/smart-community/[B@6fdba475 查看文件


二进制
CODE/smart-community/app-api/lib/Digests.jar 查看文件


二进制
CODE/smart-community/app-api/lib/HttpClientSSLUtils.jar 查看文件


+ 10
- 1
CODE/smart-community/app-api/pom.xml 查看文件

@@ -174,9 +174,18 @@
174 174
 			<version>1.4</version>
175 175
 		</dependency>
176 176
 
177
+		<dependency>
178
+			<groupId>net.coobird</groupId>
179
+			<artifactId>thumbnailator</artifactId>
180
+			<version>0.4.2</version>
181
+		</dependency>
182
+        <dependency>
183
+            <groupId>mysql</groupId>
184
+            <artifactId>mysql-connector-java</artifactId>
185
+        </dependency>
177 186
 
178 187
 
179
-	</dependencies>
188
+    </dependencies>
180 189
 
181 190
 	<dependencyManagement>
182 191
 		<dependencies>

+ 82
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/PicUtils.java 查看文件

@@ -0,0 +1,82 @@
1
+package com.community.huiju.common;
2
+
3
+import net.coobird.thumbnailator.Thumbnails;
4
+import org.slf4j.Logger;
5
+import org.slf4j.LoggerFactory;
6
+
7
+import java.io.ByteArrayInputStream;
8
+import java.io.ByteArrayOutputStream;
9
+
10
+/**
11
+ * 图片压缩Utils
12
+ *
13
+ * @author worstEzreal
14
+ * @version V1.1.0
15
+ * @date 2018/3/12
16
+ */
17
+public class PicUtils {
18
+
19
+    private static Logger logger = LoggerFactory.getLogger(PicUtils.class);
20
+
21
+    /**
22
+     * 根据指定大小压缩图片
23
+     *
24
+     * @param imageBytes  源图片字节数组
25
+     * @param desFileSize 指定图片大小,单位kb
26
+     * @param imageId     影像编号
27
+     * @return 压缩质量后的图片字节数组
28
+     */
29
+    public static byte[] compressPicForScale(byte[] imageBytes, long desFileSize, String imageId) {
30
+        if (imageBytes == null || imageBytes.length <= 0 || imageBytes.length < desFileSize * 1024) {
31
+            return imageBytes;
32
+        }
33
+        long srcSize = imageBytes.length;
34
+        double accuracy = getAccuracy(srcSize / 1024);
35
+        try {
36
+            while (imageBytes.length > desFileSize * 1024) {
37
+                ByteArrayInputStream inputStream = new ByteArrayInputStream(imageBytes);
38
+                ByteArrayOutputStream outputStream = new ByteArrayOutputStream(imageBytes.length);
39
+                Thumbnails.of(inputStream)
40
+                        .scale(accuracy)
41
+                        .outputQuality(accuracy)
42
+                        .toOutputStream(outputStream);
43
+                imageBytes = outputStream.toByteArray();
44
+            }
45
+            logger.info("【图片压缩】imageId={} | 图片原大小={}kb | 压缩后大小={}kb",
46
+                    imageId, srcSize / 1024, imageBytes.length / 1024);
47
+        } catch (Exception e) {
48
+            logger.error("【图片压缩】msg=图片压缩失败!", e);
49
+        }
50
+        return imageBytes;
51
+    }
52
+
53
+    /**
54
+     * 自动调节精度(经验数值)
55
+     *
56
+     * @param size 源图片大小
57
+     * @return 图片压缩质量比
58
+     */
59
+    private static double getAccuracy(long size) {
60
+        double accuracy;
61
+        if (size < 900) {
62
+            accuracy = 0.85;
63
+        } else if (size < 2047) {
64
+            accuracy = 0.6;
65
+        } else if (size < 3275) {
66
+            accuracy = 0.44;
67
+        } else {
68
+            accuracy = 0.4;
69
+        }
70
+        return accuracy;
71
+    }
72
+    
73
+    /**
74
+     * 将本地图片进行Base64位编码
75
+     * @param fileBytes
76
+     * @return
77
+     */
78
+    public static String getImgStr(byte [] fileBytes) {
79
+        return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileBytes));
80
+    }
81
+    
82
+}

+ 35
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java 查看文件

@@ -31,6 +31,7 @@ public class HKConstant {
31 31
      * <p>请将地址配置正确.</p>
32 32
      * <p>默认情况下是127.0.0.1:80 ,如果地址不通请根据实际情况修改IP端口</p>
33 33
      */
34
+//    public static final String OPENAPI_IP_PORT_HTTP = "http://192.168.0.122";
34 35
     public static final String OPENAPI_IP_PORT_HTTP = "http://192.168.0.122";
35 36
     // public static final String OPENAPI_IP_PORT_HTTP = "http://6wnrrtr3.wkdl.ltd";
36 37
 
@@ -38,7 +39,6 @@ public class HKConstant {
38 39
      * <p>操作用户UUID,即用户UUID,首次使用操作用户UUID可以通过接口 [获取默认用户UUID]来获取</p>
39 40
      * <p>也可以通过接口[分页获取用户]来获取</p>
40 41
      */
41
-    public static final String OP_USER_UUID = "5b2eb534696b11e89c2e438f92627767";
42 42
 
43 43
     /**
44 44
      * 获取默认用户UUID的接口地址,此地址可以从《海康威视iVMS-8700平台SDKV2.*.* HTTP-OpenAPI使用说明书.chm》中具体的接口说明上获取
@@ -53,7 +53,39 @@ public class HKConstant {
53 53
     /**
54 54
      * 查询监控点地址
55 55
      */
56
+    public static final String OP_USER_UUID = "5b2eb534696b11e89c2e438f92627767";
57
+
58
+    /**--主要是推送图片到海康
59
+     * 通过此接口将人员名单添加到指定的人员分组当中,此接口适合一次添加一个人员,如果需要批量添加可以使用平台上自带的图片压缩包的方式批量添加。
60
+     */
61
+    public  static  final  String OP_IMG="/openapi/service/fas/personInfo/addPersonInfoIntoGroup";
62
+
56 63
     public static final String ITF_MONITORY_POINT = "/openapi/service/vss/res/getCamerasEx";
64
+    
65
+    /**
66
+     * 根据区域UUID集获取门禁点
67
+     */
68
+    public static final String DOORS_BY_REGION_UUIDS = "/openapi/service/acs/res/getDoorsByRegionUuids";
69
+    
70
+    /**
71
+     * 根据人员ID集添加权限
72
+     */
73
+    public static final String ADD_AUTHORITIES_BY_PERSONIDS = "/openapi/service/acs/auth/addAuthoritiesByPersonIds";
74
+    
75
+    /**
76
+     * 根据设备UUID集异动下载门禁权限
77
+     */
78
+    public static final String DOWNLOAD_AUTHORITY_BY_DEVICEUUIDS = "/openapi/service/acs/auth/downloadAuthorityByDeviceUuids";
79
+    
80
+    /**
81
+     * 指定人员人脸/指纹权限下载
82
+     */
83
+    public static final String DOWNLOAD_FACE_AND_FINGERINFOS = "/openapi/service/acs/auth/downloadFaceAndFingerInfos";
84
+
85
+    /**--推送图片时需要获取人员分组下的,人员分组ID
86
+     * --personGroupId--
87
+     */
88
+    public static final  String OP_PERSON_ID="/openapi/service/fas/personGroup/getPersonGroup";
57 89
 
58 90
     /**
59 91
      * 分页获取部门
@@ -70,8 +102,10 @@ public class HKConstant {
70 102
      */
71 103
     public static final String ITF_ADD_USER = "/openapi/service/base/person/addPersonInfo";
72 104
 
105
+
73 106
     /**
74 107
      * 批量开卡
75 108
      */
76 109
     public static final String ITF_OPEN_CARD = "/openapi/service/base/person/batchOpenCards";
110
+
77 111
 }

+ 392
- 159
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java 查看文件

@@ -1,159 +1,392 @@
1
-package com.community.huiju.common.hk;
2
-
3
-import com.alibaba.fastjson.JSON;
4
-import com.alibaba.fastjson.JSONObject;
5
-import com.community.commom.hk.Digests;
6
-import com.community.commom.hk.HttpClientSSLUtils;
7
-import com.google.common.collect.Maps;
8
-import lombok.extern.slf4j.Slf4j;
9
-
10
-import java.util.HashMap;
11
-import java.util.Map;
12
-
13
-/**
14
- * 海康 API
15
- * @author weiximei
16
- */
17
-@Slf4j
18
-public class HKOpenApi {
19
-
20
-    /**
21
-     * 根据
22
-     * 组织中心UUID集 ,第几页, 一页多少行
23
-     *
24
-     * 获取  监控点 数据列表
25
-     * @return
26
-     */
27
-    public static String getMonitoryPoint(Map<String,Object> map){
28
-        Map<String,Object> parMap = Maps.newHashMap();
29
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
30
-        //设置APPKEY
31
-        parMap.put("appkey", HKConstant.APPKEY);
32
-        //设置时间参数
33
-        parMap.put("time", System.currentTimeMillis());
34
-        parMap.put("pageNo",map.get("pageNo"));
35
-        parMap.put("pageSize",map.get("pageSize"));
36
-        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
37
-        parMap.put("unitUuids",map.get("unitUuids"));
38
-        String params =  JSON.toJSONString(parMap);
39
-        log.info("获取 监控列表 请求参数:{}", params);
40
-        String data = null;
41
-        try {
42
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
43
-            log.info("获取 监控列表 请求返回结果:{}",data);
44
-        } catch (Exception e) {
45
-            e.printStackTrace();
46
-            log.error("获取监控列表失败!",e);
47
-        }
48
-
49
-        return data;
50
-    }
51
-
52
-    /**
53
-     * 根据部门名称分页获取部门
54
-     *      第几页, 一页多少行, 操作用户uuid
55
-     * @param map
56
-     * @return
57
-     */
58
-    public static String getDeptName(Map<String,Object> map){
59
-        Map<String,Object> parMap = Maps.newHashMap();
60
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
61
-        //设置APPKEY
62
-        parMap.put("appkey", HKConstant.APPKEY);
63
-        //设置时间参数
64
-        parMap.put("time", System.currentTimeMillis());
65
-        parMap.put("pageNo",map.get("pageNo"));
66
-        parMap.put("pageSize",map.get("pageSize"));
67
-        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
68
-        parMap.put("deptName",map.get("deptName"));
69
-        String params =  JSON.toJSONString(parMap);
70
-        log.info("根据部门名称分页获取部门 请求参数:{}", params);
71
-        String data = null;
72
-        try {
73
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
74
-            log.info("根据部门名称分页获取部门 请求返回结果:{}",data);
75
-        } catch (Exception e) {
76
-            e.printStackTrace();
77
-            log.error("根据部门名称分页获取部门失败!",e);
78
-        }
79
-
80
-        return data;
81
-    }
82
-
83
-
84
-    /**
85
-     * 添加人员
86
-     *
87
-     *      比如 住户
88
-     * @return
89
-     */
90
-    public static String addUser(Map<String,Object> map){
91
-        Map<String,Object> parMap = Maps.newHashMap();
92
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_ADD_USER;
93
-        //设置APPKEY
94
-        parMap.put("appkey", HKConstant.APPKEY);
95
-        //设置时间参数
96
-        parMap.put("time", System.currentTimeMillis());
97
-        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
98
-        parMap.put("personNo",map.get("personNo"));
99
-        parMap.put("personName",map.get("personName"));
100
-        parMap.put("phoneNo",map.get("phoneNo"));
101
-        parMap.put("deptUuid",map.get("deptUuid"));
102
-        // parMap.put("cardNo",map.get("cardNo"));
103
-        String params =  JSON.toJSONString(parMap);
104
-        log.info("添加人员 请求参数:{}", params);
105
-        String data = null;
106
-        try {
107
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
108
-            log.info("添加人员 请求返回结果:{}",data);
109
-        } catch (Exception e) {
110
-            e.printStackTrace();
111
-            log.error("添加人员失败!",e);
112
-        }
113
-
114
-        return data;
115
-    }
116
-
117
-    /**
118
-     * 批量开卡
119
-     *
120
-     * 其中参数 cardAndPerson 形式为“卡号,人员ID”,开卡数量不得超过50个,若没有该卡号,则添加一张新卡进行绑定 List<String>
121
-     * @return
122
-     */
123
-    public static String openCard(Map<String,Object> map){
124
-        Map<String,Object> parMap = Maps.newHashMap();
125
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_OPEN_CARD;
126
-        //设置APPKEY
127
-        parMap.put("appkey", HKConstant.APPKEY);
128
-        //设置时间参数
129
-        parMap.put("time", System.currentTimeMillis());
130
-        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
131
-        parMap.put("cardAndPerson",map.get("cardAndPerson"));
132
-        parMap.put("startTime",map.get("startTime"));
133
-        parMap.put("endTime",map.get("endTime"));
134
-
135
-        String params =  JSON.toJSONString(parMap);
136
-        log.info("批量开卡 请求参数:{}", params);
137
-        String data = null;
138
-        try {
139
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
140
-            log.info("批量开卡 请求返回结果:{}",data);
141
-        } catch (Exception e) {
142
-            e.printStackTrace();
143
-            log.error("批量开卡失败!",e);
144
-        }
145
-
146
-        return data;
147
-    }
148
-
149
-    public static void main(String[] args) {
150
-        Map<String,Object> parMap = Maps.newHashMap();
151
-        parMap.put("pageNo",1);
152
-        parMap.put("pageSize",100);
153
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
154
-        parMap.put("deptName","住户");
155
-        String result = HKOpenApi.getDeptName(parMap);
156
-        Map<String,Object> deptMap = JSONObject.parseObject(result, HashMap.class);
157
-        System.out.println(result);
158
-    }
159
-}
1
+
2
+package com.community.huiju.common.hk;
3
+
4
+import com.alibaba.fastjson.JSON;
5
+import com.alibaba.fastjson.JSONObject;
6
+import com.community.commom.hk.Digests;
7
+import com.community.commom.hk.HttpClientSSLUtils;
8
+import com.google.common.collect.Maps;
9
+import lombok.extern.slf4j.Slf4j;
10
+
11
+import java.util.HashMap;
12
+import java.util.Map;
13
+
14
+/**
15
+ * 海康 API
16
+ * @author weiximei
17
+ */
18
+@Slf4j
19
+public class HKOpenApi {
20
+
21
+    /**
22
+     * 根据
23
+     * 组织中心UUID集 ,第几页, 一页多少行
24
+     *
25
+     * 获取  监控点 数据列表
26
+     * @return
27
+     */
28
+    public static String getMonitoryPoint(Map<String,Object> map){
29
+        Map<String,Object> parMap = Maps.newHashMap();
30
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
31
+        //设置APPKEY
32
+        parMap.put("appkey", HKConstant.APPKEY);
33
+        //设置时间参数
34
+        parMap.put("time", System.currentTimeMillis());
35
+        parMap.put("pageNo",map.get("pageNo"));
36
+        parMap.put("pageSize",map.get("pageSize"));
37
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
38
+        parMap.put("unitUuids",map.get("unitUuids"));
39
+        String params =  JSON.toJSONString(parMap);
40
+        log.info("获取 监控列表 请求参数:{}", params);
41
+        String data = null;
42
+        try {
43
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
44
+            log.info("获取 监控列表 请求返回结果:{}",data);
45
+        } catch (Exception e) {
46
+            e.printStackTrace();
47
+            log.error("获取监控列表失败!",e);
48
+        }
49
+
50
+        return data;
51
+    }
52
+
53
+    /**
54
+     * 根据部门名称分页获取部门
55
+     *      第几页, 一页多少行, 操作用户uuid
56
+     * @param map
57
+     * @return
58
+     */
59
+    public static String getDeptName(Map<String,Object> map){
60
+        Map<String,Object> parMap = Maps.newHashMap();
61
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
62
+        //设置APPKEY
63
+        parMap.put("appkey", HKConstant.APPKEY);
64
+        //设置时间参数
65
+        parMap.put("time", System.currentTimeMillis());
66
+        parMap.put("pageNo",map.get("pageNo"));
67
+        parMap.put("pageSize",map.get("pageSize"));
68
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
69
+        parMap.put("deptName",map.get("deptName"));
70
+        String params =  JSON.toJSONString(parMap);
71
+        log.info("根据部门名称分页获取部门 请求参数:{}", params);
72
+        String data = null;
73
+        try {
74
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
75
+            log.info("根据部门名称分页获取部门 请求返回结果:{}",data);
76
+        } catch (Exception e) {
77
+            e.printStackTrace();
78
+            log.error("根据部门名称分页获取部门失败!",e);
79
+        }
80
+
81
+        return data;
82
+    }
83
+
84
+
85
+    /**
86
+     * 添加人员
87
+     *
88
+     *      比如 住户
89
+     * @return
90
+     */
91
+    public static String addUser(Map<String,Object> map){
92
+        Map<String,Object> parMap = Maps.newHashMap();
93
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_ADD_USER;
94
+        //设置APPKEY
95
+        parMap.put("appkey", HKConstant.APPKEY);
96
+        //设置时间参数
97
+        parMap.put("time", System.currentTimeMillis());
98
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
99
+        parMap.put("personNo",map.get("personNo"));
100
+        parMap.put("personName",map.get("personName"));
101
+        parMap.put("phoneNo",map.get("phoneNo"));
102
+        parMap.put("deptUuid",map.get("deptUuid"));
103
+        // parMap.put("cardNo",map.get("cardNo"));
104
+        String params =  JSON.toJSONString(parMap);
105
+        log.info("添加人员 请求参数:{}", params);
106
+        String data = null;
107
+        try {
108
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
109
+            log.info("添加人员 请求返回结果:{}",data);
110
+        } catch (Exception e) {
111
+            e.printStackTrace();
112
+            log.error("添加人员失败!",e);
113
+        }
114
+
115
+        return data;
116
+    }
117
+
118
+    /**
119
+     * 批量开卡
120
+     *
121
+     * 其中参数 cardAndPerson 形式为“卡号,人员ID”,开卡数量不得超过50个,若没有该卡号,则添加一张新卡进行绑定 List<String>
122
+     * @return
123
+     */
124
+    public static String openCard(Map<String,Object> map){
125
+        Map<String,Object> parMap = Maps.newHashMap();
126
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_OPEN_CARD;
127
+        //设置APPKEY
128
+        parMap.put("appkey", HKConstant.APPKEY);
129
+        //设置时间参数
130
+        parMap.put("time", System.currentTimeMillis());
131
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
132
+        parMap.put("cardAndPerson",map.get("cardAndPerson"));
133
+        parMap.put("startTime",map.get("startTime"));
134
+        parMap.put("endTime",map.get("endTime"));
135
+
136
+        String params =  JSON.toJSONString(parMap);
137
+        log.info("批量开卡 请求参数:{}", params);
138
+        String data = null;
139
+        try {
140
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
141
+            log.info("批量开卡 请求返回结果:{}",data);
142
+        } catch (Exception e) {
143
+            e.printStackTrace();
144
+            log.error("批量开卡失败!",e);
145
+        }
146
+
147
+        return data;
148
+    }
149
+
150
+    /**
151
+     * 根据中心UUID集获取中心下的门禁设备信息
152
+     *
153
+     * @return
154
+     */
155
+    public static String getACDevicesByUnitUuids(){
156
+        Map<String,Object> parMap = Maps.newHashMap();
157
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
158
+        //设置APPKEY
159
+        parMap.put("appkey", HKConstant.APPKEY);
160
+        //设置时间参数
161
+        parMap.put("time", System.currentTimeMillis());
162
+        parMap.put("pageNo",1);
163
+        parMap.put("pageSize",10);
164
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
165
+        parMap.put("unitUuids","1048576");
166
+        String params =  JSON.toJSONString(parMap);
167
+        log.info("获取中心UUID集获取中心下的门禁设备请求参数:{}", params);
168
+        String data = null;
169
+        try {
170
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
171
+            log.info("获取 中心UUID集获取中心下的门禁设备 请求返回结果:{}",data);
172
+        } catch (Exception e) {
173
+            e.printStackTrace();
174
+            log.error("获取失败!",e);
175
+        }
176
+        
177
+        return data;
178
+    }
179
+    
180
+    /**
181
+     * 分页获取门禁点信息。
182
+     *
183
+     * @return
184
+     */
185
+    public static String getDoors(){
186
+        Map<String,Object> parMap = Maps.newHashMap();
187
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
188
+        //设置APPKEY
189
+        parMap.put("appkey", HKConstant.APPKEY);
190
+        //设置时间参数
191
+        parMap.put("time", System.currentTimeMillis());
192
+        parMap.put("pageNo",1);
193
+        parMap.put("pageSize",10);
194
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
195
+        String params =  JSON.toJSONString(parMap);
196
+        log.info("分页获取门禁点信息请求参数:{}", params);
197
+        String data = null;
198
+        try {
199
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
200
+            log.info("分页获取门禁点信息 请求返回结果:{}",data);
201
+        } catch (Exception e) {
202
+            e.printStackTrace();
203
+            log.error("获取失败!",e);
204
+        }
205
+        
206
+        return data;
207
+    }
208
+    
209
+    /**
210
+     * 批量获取控制中心信息,多个中心的UUID用“,”分割组成的字符串。
211
+     *
212
+     * @return
213
+     */
214
+    public static String getUnitsByUuids(){
215
+        Map<String,Object> parMap = Maps.newHashMap();
216
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
217
+        //设置APPKEY
218
+        parMap.put("appkey", HKConstant.APPKEY);
219
+        //设置时间参数
220
+        parMap.put("time", System.currentTimeMillis());
221
+        parMap.put("pageNo",1);
222
+        parMap.put("pageSize",10);
223
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
224
+        parMap.put("unitUuids","1048576");
225
+        String params =  JSON.toJSONString(parMap);
226
+        log.info("获取控制中心信息请求参数:{}", params);
227
+        String data = null;
228
+        try {
229
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
230
+            log.info("获取控制中心信息 请求返回结果:{}",data);
231
+        } catch (Exception e) {
232
+            e.printStackTrace();
233
+            log.error("获取失败!",e);
234
+        }
235
+        
236
+        return data;
237
+    }
238
+    
239
+    /**
240
+     *  根据中心UUID分页获取下级区域
241
+     * @return
242
+     */
243
+    public static String getRegionsByUnitUuid(){
244
+        Map<String,Object> parMap = Maps.newHashMap();
245
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
246
+        //设置APPKEY
247
+        parMap.put("appkey", HKConstant.APPKEY);
248
+        //设置时间参数
249
+        parMap.put("time", System.currentTimeMillis());
250
+        parMap.put("pageNo",1);
251
+        parMap.put("pageSize",10);
252
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
253
+        parMap.put("parentUuid","1048576");
254
+        parMap.put("allChildren",1);
255
+        String params =  JSON.toJSONString(parMap);
256
+        log.info("根据中心UUID分页获取下级区域请求参数:{}", params);
257
+        String data = null;
258
+        try {
259
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
260
+            log.info("根据中心UUID分页获取下级区域 请求返回结果:{}",data);
261
+        } catch (Exception e) {
262
+            e.printStackTrace();
263
+            log.error("获取失败!",e);
264
+        }
265
+        
266
+        return data;
267
+    }
268
+    
269
+    /**
270
+     * 根据区域UUID集获取门禁点
271
+     * @return
272
+     */
273
+    public static String getDoorsByRegionUuids(){
274
+        Map<String,Object> parMap = Maps.newHashMap();
275
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOORS_BY_REGION_UUIDS;
276
+        //设置APPKEY
277
+        parMap.put("appkey", HKConstant.APPKEY);
278
+        //设置时间参数
279
+        parMap.put("time", System.currentTimeMillis());
280
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
281
+        parMap.put("regionUuids","2a36878c9a4a49d290d253ac1b4746dc");
282
+        String params =  JSON.toJSONString(parMap);
283
+        log.info("根据区域UUID集获取门禁点请求参数:{}", params);
284
+        String data = null;
285
+        try {
286
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
287
+            log.info("根据区域UUID集获取门禁点 请求返回结果:{}",data);
288
+        } catch (Exception e) {
289
+            e.printStackTrace();
290
+            log.error("获取失败!",e);
291
+        }
292
+        
293
+        return data;
294
+    }
295
+    
296
+    /**
297
+     * 根据人员ID集添加权限
298
+     * @return
299
+     */
300
+    public static String addAuthoritiesByPersonIds(String personIds){
301
+        Map<String,Object> parMap = Maps.newHashMap();
302
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ADD_AUTHORITIES_BY_PERSONIDS;
303
+        //设置APPKEY
304
+        parMap.put("appkey", HKConstant.APPKEY);
305
+        //设置时间参数
306
+        parMap.put("time", System.currentTimeMillis());
307
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
308
+        parMap.put("personIds",personIds);
309
+        parMap.put("doorGroupUuids","");
310
+        parMap.put("doorUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
311
+        String params =  JSON.toJSONString(parMap);
312
+        log.info("根据人员ID集添加权限请求参数:{}", params);
313
+        String data = null;
314
+        try {
315
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
316
+            log.info("根据人员ID集添加权限 请求返回结果:{}",data);
317
+        } catch (Exception e) {
318
+            e.printStackTrace();
319
+            log.error("获取失败!",e);
320
+        }
321
+        
322
+        return data;
323
+    }
324
+    
325
+    /**
326
+     * 根据设备UUID集异动下载门禁权限
327
+     * @return
328
+     */
329
+    public static String downloadAuthorityByDeviceUuids(){
330
+        Map<String,Object> parMap = Maps.newHashMap();
331
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_AUTHORITY_BY_DEVICEUUIDS;
332
+        //设置APPKEY
333
+        parMap.put("appkey", HKConstant.APPKEY);
334
+        //设置时间参数
335
+        parMap.put("time", System.currentTimeMillis());
336
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
337
+        parMap.put("deviceUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
338
+        String params =  JSON.toJSONString(parMap);
339
+        log.info("根据设备UUID集异动下载门禁权限请求参数:{}", params);
340
+        String data = null;
341
+        try {
342
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
343
+            log.info("根据设备UUID集异动下载门禁权限 请求返回结果:{}",data);
344
+        } catch (Exception e) {
345
+            e.printStackTrace();
346
+            log.error("获取失败!",e);
347
+        }
348
+        
349
+        return data;
350
+    }
351
+    
352
+    /**
353
+     * 指定人员人脸/指纹权限下载
354
+     * @return
355
+     */
356
+    public static String downloadFaceAndFingerInfos(String personIds){
357
+        Map<String,Object> parMap = Maps.newHashMap();
358
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_FACE_AND_FINGERINFOS;
359
+        //设置APPKEY
360
+        parMap.put("appkey", HKConstant.APPKEY);
361
+        //设置时间参数
362
+        parMap.put("time", System.currentTimeMillis());
363
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
364
+        parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c");
365
+        parMap.put("personIds",personIds);
366
+        parMap.put("type",1);
367
+        String params =  JSON.toJSONString(parMap);
368
+        log.info("指定人员人脸/指纹权限下载 请求参数:{}", params);
369
+        String data = null;
370
+        try {
371
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
372
+            log.info("指定人员人脸/指纹权限下载 请求返回结果:{}",data);
373
+        } catch (Exception e) {
374
+            e.printStackTrace();
375
+            log.error("获取失败!",e);
376
+        }
377
+        
378
+        return data;
379
+    }
380
+
381
+    public static void main(String[] args) {
382
+        Map<String,Object> parMap = Maps.newHashMap();
383
+        parMap.put("pageNo",1);
384
+        parMap.put("pageSize",100);
385
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
386
+        parMap.put("deptName","住户");
387
+        String result = HKOpenApi.getDeptName(parMap);
388
+        Map<String,Object> deptMap = JSONObject.parseObject(result, HashMap.class);
389
+        System.out.println(result);
390
+    }
391
+}
392
+

+ 0
- 90
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiUtil.java 查看文件

@@ -1,90 +0,0 @@
1
-package com.community.huiju.common.hk.test;
2
-
3
-import java.awt.image.BufferedImage;
4
-import java.io.ByteArrayOutputStream;
5
-import java.io.File;
6
-import java.io.FileOutputStream;
7
-import java.io.IOException;
8
-import java.net.MalformedURLException;
9
-import java.net.URL;
10
-import java.util.Base64;
11
-import java.util.Base64.Decoder;
12
-import java.util.Base64.Encoder;
13
-
14
-import javax.imageio.ImageIO;
15
-
16
-/**
17
- * Openapi接口调用过程中会用到的一些工具方法
18
- * @author shengyiling
19
- *
20
- */
21
-public class OpenapiUtil {
22
-
23
-	/**
24
-	 * BASE64加密网络图片,返回加密之后的字符串
25
-	 * @param imageUrl 图片的绝对地址
26
-	 * @param extensioName 图片的扩展名,例如 jpg、bmp等
27
-	 * @return 加密之后的字符串
28
-	 */
29
-	public static String encodeImage2Base64(URL imageUrl, String extensioName){
30
-		ByteArrayOutputStream outputStream = null;  
31
-        try {  
32
-            BufferedImage bufferedImage = ImageIO.read(imageUrl);  //读取网络图片
33
-            outputStream = new ByteArrayOutputStream();  //文件输出流
34
-            ImageIO.write(bufferedImage, extensioName, outputStream);  
35
-        } catch (MalformedURLException e1) {  
36
-            e1.printStackTrace();  
37
-        } catch (IOException e) {  
38
-            e.printStackTrace();  
39
-        }  
40
-        Encoder encoder = Base64.getEncoder();
41
-        
42
-        return encoder.encodeToString(outputStream.toByteArray());// 返回Base64编码过的字节数组字符串  
43
-	}
44
-	
45
-	/** 
46
-     * 将本地图片进行Base64位编码 
47
-     *  
48
-     * @param imgUrl 
49
-     *            图片的url路径,如http://.....xx.jpg 
50
-     * @param extensioName 图片的扩展名
51
-     * @return 加密之后的字符串
52
-     */  
53
-    public static String encodeImgageToBase64(File imageFile, String extensioName) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理  
54
-        ByteArrayOutputStream outputStream = null;  
55
-        try {  
56
-            BufferedImage bufferedImage = ImageIO.read(imageFile);  
57
-            outputStream = new ByteArrayOutputStream();  
58
-            ImageIO.write(bufferedImage, extensioName, outputStream);  
59
-        } catch (MalformedURLException e1) {  
60
-            e1.printStackTrace();  
61
-        } catch (IOException e) {  
62
-            e.printStackTrace();  
63
-        }  
64
-        // 对字节数组Base64编码  
65
-        Encoder encoder = Base64.getEncoder(); 
66
-        
67
-        return encoder.encodeToString(outputStream.toByteArray());// 返回Base64编码过的字节数组字符串  
68
-    }
69
-    
70
-    
71
-    /**
72
-     * 将Base64位编码的图片进行解码,并保存到指定目录
73
-     * @param base64Str 利用base64加密之后的字符串
74
-     * @param path 文件解密之后存放的地址 例如:D://
75
-     * @param imgName 文件解密之后命名的名称 例如: test.jpg
76
-     */
77
-    public static void decodeBase64ToImage(String base64Str, String path,  
78
-            String imgName) {  
79
-        Decoder decoder = Base64.getDecoder();  
80
-        try {  
81
-            FileOutputStream write = new FileOutputStream(new File(path  
82
-                    + imgName));  
83
-            byte[] decoderBytes = decoder.decode(base64Str);  
84
-            write.write(decoderBytes);  
85
-            write.close();  
86
-        } catch (IOException e) {  
87
-            e.printStackTrace();  
88
-        }  
89
-    }  
90
-}

+ 4
- 7
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/FaceController.java 查看文件

@@ -1,18 +1,14 @@
1 1
 package com.community.huiju.controller;
2
+
2 3
 import com.community.commom.constant.Constant;
3 4
 import com.community.commom.mode.ResponseBean;
4 5
 import com.community.commom.session.UserElement;
5
-import com.community.huiju.model.TaAgreement;
6
-import com.community.huiju.model.TaFace;
7
-import com.community.huiju.service.FaceServicel;
8
-import com.community.huiju.service.FaceServicel;
6
+import com.community.huiju.service.FaceServiceI;
9 7
 import io.swagger.annotations.*;
10
-import org.apache.commons.lang3.StringUtils;
11 8
 import org.springframework.beans.factory.annotation.Autowired;
12 9
 import org.springframework.cloud.context.config.annotation.RefreshScope;
13 10
 import org.springframework.web.bind.annotation.RequestMapping;
14 11
 import org.springframework.web.bind.annotation.RequestMethod;
15
-import org.springframework.web.bind.annotation.RequestParam;
16 12
 import org.springframework.web.bind.annotation.RestController;
17 13
 import org.springframework.web.multipart.MultipartFile;
18 14
 
@@ -24,12 +20,13 @@ import javax.servlet.http.HttpSession;
24 20
 @Api(value = "人脸相关API", description = "人脸相关API")
25 21
 public class FaceController {
26 22
     @Autowired
27
-    private FaceServicel faceServicel;
23
+    private FaceServiceI faceServicel;
28 24
 
29 25
     @ApiOperation(value = "添加人脸图片", notes = "添加人脸图片")
30 26
     @ApiImplicitParams({
31 27
             @ApiImplicitParam(paramType = "header",dataType = "String",name = "X-Auth-Token",value = "Token")
32 28
     })
29
+    
33 30
     @RequestMapping(value = "/addFace",method = RequestMethod.POST)
34 31
     public Object getTaFace(HttpSession session,
35 32
                             @ApiParam(value = "file" ,required = true) MultipartFile uploadFile){

+ 6
- 9
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java 查看文件

@@ -88,9 +88,8 @@ public class SocialController extends BaseController {
88 88
             return responseBean;
89 89
         }
90 90
 
91
-        List<TpAnnouncement> announcementList = socialServiceI.getAnnouncements(communityId, title, pageNum, pageSize);
92
-        responseBean.addSuccess(announcementList);
93
-        return responseBean;
91
+        ResponseBean announcementList = socialServiceI.getAnnouncements(communityId, title, pageNum, pageSize);
92
+        return announcementList;
94 93
     }
95 94
 
96 95
     @ApiOperation(value = "获取公告轮播图", notes = "获取公告轮播图")
@@ -146,9 +145,8 @@ public class SocialController extends BaseController {
146 145
             return responseBean;
147 146
         }
148 147
 
149
-        List<TpActivity> activityList = socialServiceI.getActivitys(communityId, title, pageNum, pageSize);
150
-        responseBean.addSuccess(activityList);
151
-        return responseBean;
148
+        ResponseBean activityList = socialServiceI.getActivitys(communityId, title, pageNum, pageSize);
149
+        return activityList;
152 150
     }
153 151
 
154 152
     @ApiOperation(value = "论坛活动帖子详情", notes = "获取论坛活动帖子详情")
@@ -207,9 +205,8 @@ public class SocialController extends BaseController {
207 205
             return responseBean;
208 206
         }
209 207
 
210
-        List<TpTransaction> tpTransactions = socialServiceI.findAllTransaction(communityId, type, pageNum, pageSize);
211
-        responseBean.addSuccess(tpTransactions);
212
-        return responseBean;
208
+        ResponseBean tpTransactions = socialServiceI.findAllTransaction(communityId, type, pageNum, pageSize);
209
+        return tpTransactions;
213 210
     }
214 211
 
215 212
     @ApiOperation(value = "添加二手租赁帖子", notes = "添加二手租赁帖子")

CODE/smart-community/app-api/src/main/java/com/community/huiju/service/FaceServicel.java → CODE/smart-community/app-api/src/main/java/com/community/huiju/service/FaceServiceI.java 查看文件

@@ -4,7 +4,7 @@ package com.community.huiju.service;
4 4
 import com.community.commom.mode.ResponseBean;
5 5
 import org.springframework.web.multipart.MultipartFile;
6 6
 
7
-public interface FaceServicel {
7
+public interface FaceServiceI {
8 8
     /**
9 9
      * 添加人脸
10 10
      * @param userId

+ 3
- 4
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/SocialServiceI.java 查看文件

@@ -2,7 +2,6 @@ package com.community.huiju.service;
2 2
 
3 3
 import com.community.commom.mode.ResponseBean;
4 4
 import com.community.huiju.model.*;
5
-import org.springframework.web.multipart.MultipartFile;
6 5
 
7 6
 import java.io.IOException;
8 7
 import java.util.List;
@@ -24,7 +23,7 @@ public interface SocialServiceI {
24 23
 	 * @param pageSize
25 24
 	 * @return
26 25
 	 */
27
-	List<TpAnnouncement> getAnnouncements(Integer communityId, String title, Integer pageNum, Integer pageSize);
26
+	ResponseBean getAnnouncements(Integer communityId, String title, Integer pageNum, Integer pageSize);
28 27
 
29 28
 	/**
30 29
 	 * 公告轮播图
@@ -41,7 +40,7 @@ public interface SocialServiceI {
41 40
 	 * @param pageSize
42 41
 	 * @return
43 42
 	 */
44
-	List<TpActivity> getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize);
43
+	ResponseBean getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize);
45 44
 	
46 45
 	/**
47 46
 	 * 获取活动帖子详情
@@ -66,7 +65,7 @@ public interface SocialServiceI {
66 65
 	 * @param type
67 66
 	 * @return
68 67
 	 */
69
-	List<TpTransaction> findAllTransaction(Integer communityId, String type, Integer pageNum, Integer paeSize);
68
+	ResponseBean findAllTransaction(Integer communityId, String type, Integer pageNum, Integer paeSize);
70 69
 
71 70
 	/**
72 71
 	 * 添加二手租赁帖子

+ 129
- 38
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java 查看文件

@@ -1,27 +1,35 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3
+import com.alibaba.fastjson.JSON;
3 4
 import com.alibaba.fastjson.JSONObject;
4 5
 import com.community.commom.ailiyun.AESDecode;
5 6
 import com.community.commom.constant.Constant;
6 7
 import com.community.commom.mode.ResponseBean;
7
-import com.community.huiju.controller.ImageController;
8
+import com.community.huiju.common.PicUtils;
9
+import com.community.huiju.common.hk.HKConstant;
8 10
 import com.community.huiju.dao.TaFaceMapper;
9 11
 import com.community.huiju.dao.TaSysRoleMapper;
10 12
 import com.community.huiju.dao.TaUserMapper;
11 13
 import com.community.huiju.model.TaFace;
12 14
 import com.community.huiju.model.TaSysRole;
13 15
 import com.community.huiju.model.TaUser;
16
+import com.community.huiju.service.FaceServiceI;
14 17
 import com.community.huiju.service.ImageServiceI;
15
-import com.community.huiju.service.FaceServicel;
18
+import com.hikvision.cms.api.common.util.Digests;
19
+import com.hikvision.cms.api.common.util.HttpClientSSLUtils;
16 20
 import org.springframework.beans.factory.annotation.Autowired;
17 21
 import org.springframework.stereotype.Service;
22
+import org.springframework.transaction.annotation.Transactional;
18 23
 import org.springframework.web.multipart.MultipartFile;
19 24
 
20 25
 import java.io.IOException;
21 26
 import java.util.Date;
27
+import java.util.HashMap;
28
+import java.util.Map;
22 29
 
23
-@Service
24
-public class FaceServicelimpl implements FaceServicel {
30
+@Service("faceServicel")
31
+@Transactional
32
+public class FaceServicelimpl implements FaceServiceI {
25 33
 
26 34
 
27 35
     @Autowired
@@ -76,45 +84,40 @@ public class FaceServicelimpl implements FaceServicel {
76 84
 
77 85
         //查询当前用户是否有人脸记录
78 86
         TaFace User = taFaceMapper.getByUserId(userid);
79
-        if (null == User) {   //为业主,已认证
87
+        if (null == User) {
80 88
             boolean isA=true;
81 89
             if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
82 90
                 ResponseBean responseBean = new ResponseBean();
83
-                boolean resps=checKout(faceImg,taFace,isA,null);
84
-                if (resps==true) {
91
+                Object resps=checKout(faceImg,taFace,isA,null,user.getUserName(),uploadFile);
92
+                if (null!=resps && "true".equals(resps)) {
85 93
                     responseBean.addSuccess("图片录入成功");
86 94
                 }else {
87
-                    responseBean.addError("7771","请录入正确的图片");
95
+                    if ("1".equals(resps)) {
96
+                        responseBean.addError("7772", "推送海康服务器失败");
97
+                    }else {
98
+                        responseBean.addError("7771","请录入正确的图片");
99
+                    }
88 100
                 }
89 101
                 return responseBean;
90 102
             }
91
-            //家属或者租客
103
+            //家属或者租客,已认证
92 104
             if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getDescription()) && "1".equals(taUser.getVerifyStatus())) {
93 105
                 ResponseBean responseBeans = new ResponseBean();
94
-                boolean resps=checKout(faceImg,taFace,isA,null);
95
-                if (resps==true) {
106
+                Object resps=checKout(faceImg,taFace,isA,null,user.getUserName(),uploadFile);
107
+                if (null!=resps && "true".equals(resps)) {
108
+                    imgPush(user.getUserName(), uploadFile);
96 109
                     responseBeans.addSuccess("图片录入成功");
97 110
                 }else {
98
-                    responseBeans.addError("7771","请录入正确的图片");
111
+                        if ("1".equals(resps)) {
112
+                            responseBeans.addError("7772", "推送海康服务器失败");
113
+                        }else {
114
+                            responseBeans.addError("7771","请录入正确的图片");
115
+                        }
99 116
                 }
100 117
                 return responseBeans;
101 118
             }
102
-        } else {
103
-            //为业主,已认证
104
-            if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
105
-                response.addError("8885", "您的信息已存在");
106
-                return response;
107
-            }
108
-            //家属或者租客
109
-            if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getDescription()) && "1".equals(taUser.getVerifyStatus())) {
110
-                response.addError("8885", "您的信息已存在");
111
-                return response;
112
-            }
113 119
         }
114
-        response.addError("9995", "无法确认您的身份,请联系物业");
115 120
         return response;
116
-
117
-
118 121
     }
119 122
 
120 123
     @Override
@@ -133,29 +136,45 @@ public class FaceServicelimpl implements FaceServicel {
133 136
         taFace.setTaUserId(userId);
134 137
         taFace.setUpdateUser(userId);
135 138
         taFace.setUpdateDate(new Date());
136
-        boolean ck=checKout(faceImg,taFace,isA,userId);
137
-        if (ck == true) {
139
+        Object resps=checKout(faceImg,taFace,isA,userId,user.getUserName(),uploadFile);
140
+        if (null!=resps && "true".equals(resps)) {
138 141
             responseBean.addSuccess("修改成功");
139 142
         }else {
140
-            responseBean.addError("7771","请录入正确图片");
143
+            if ("1".equals(resps)) {
144
+                responseBean.addError("7772", "推送海康服务器失败");
145
+            }else {
146
+                responseBean.addError("7771","请录入正确的图片");
147
+            }
141 148
         }
142 149
         return responseBean;
143 150
     }
144
-
145
-    //人脸录入验证
146
-    public boolean checKout(String faceImg, TaFace taFace, boolean isA,Integer user) {
151
+    
152
+    /**
153
+     * 人脸录入验证
154
+     */
155
+    public Object checKout(String faceImg, TaFace taFace, boolean isA,Integer user,String name,MultipartFile uploadFile) {
147 156
         AESDecode aesd = new AESDecode();
148
-                String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
157
+        String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
149 158
         try {
150
-             ResponseBean responseBean = aesd.send(body);
159
+            ResponseBean responseBean = aesd.send(body);
151 160
             JSONObject jsonObject = JSONObject.parseObject(responseBean.getMessage());
152 161
             Integer type = (Integer) jsonObject.get("errno");
153 162
             Integer faceNum= (Integer) jsonObject.get("face_num");
154
-            if (0==type && null!=faceNum && 1==faceNum && isA==true) {
155
-                taFace.setFaceImg(faceImg);
156
-                taFaceMapper.insertSelective(taFace);
157
-                return true;
163
+            if (0==type && null!=faceNum && 1==faceNum && isA) {
164
+                //校验通过后
165
+                String errorCode= (String) imgPush(name, uploadFile);
166
+                JSONObject Code = JSONObject.parseObject(errorCode);
167
+                Integer personGroupId = (Integer) Code.get("personGroupId");
168
+                if (null!=personGroupId && personGroupId == 1) {
169
+                    taFace.setFaceImg(faceImg);
170
+                    taFaceMapper.insertSelective(taFace);
171
+                    return true;
172
+                }else{
173
+                    String code="1";
174
+                    return code;
175
+                }
158 176
             }else if (0==type && null!=faceNum && 1==faceNum && isA==false){
177
+
159 178
                 taFace.setFaceImg(faceImg);
160 179
                 taFaceMapper.updateByPrimaryKeySelective(taFace);
161 180
                 return true;
@@ -166,4 +185,76 @@ public class FaceServicelimpl implements FaceServicel {
166 185
         }
167 186
         return false;
168 187
     }
188
+    
189
+    /**
190
+     * 在图片验证通过的情况下,推送到海康
191
+     * @param name
192
+     * @param uploadFile
193
+     * @return
194
+     */
195
+    public Object imgPush(String name,MultipartFile uploadFile){
196
+        //把图片压缩成100K以下
197
+        // 压缩后的图片字节数组
198
+        byte [] picByte = null;
199
+        try {
200
+            long l = System.currentTimeMillis();
201
+            byte[] bytes  = uploadFile.getBytes();
202
+            // 拿到转换后的图片字节
203
+            picByte= PicUtils.compressPicForScale(bytes,99L,"x");
204
+        } catch (IOException e) {
205
+            e.printStackTrace();
206
+        }
207
+        // 推送海康服务器
208
+        String imgs = PicUtils.getImgStr(picByte);
209
+        String pgId= (String) HKpersonGroupId();
210
+        JSONObject jsonObject = JSONObject.parseObject(pgId);
211
+        Integer personGroupId = (Integer) jsonObject.get("personGroupId");
212
+        System.out.println(personGroupId);
213
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.OP_IMG;
214
+        Map<String, Object> map = new HashMap<String, Object>();
215
+        map.put("appkey", HKConstant.APPKEY);
216
+        map.put("time", System.currentTimeMillis());
217
+        map.put("token", HKConstant.SECRET);
218
+        map.put("opUserUuid",HKConstant.OP_USER_UUID);
219
+        map.put("facePhotos", imgs);
220
+        map.put("personName",name);
221
+        map.put("personGroupId",personGroupId);
222
+        map.put("birthday",System.currentTimeMillis());
223
+        String params =  JSON.toJSONString(map);
224
+        System.out.println(" ====== testGetDefaultUserUUID 请求参数:【" + params + "】");
225
+        String data = null;
226
+        try {
227
+
228
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
229
+        } catch (Exception e) {
230
+            e.printStackTrace();
231
+        }
232
+        System.out.println(" ====== testGetDefaultUserUUID 请求返回结果:【{" + data + "}】");
233
+        return data;
234
+    }
235
+    
236
+    /**
237
+     * 把图片推送海康,需要获得海康人员分组下的
238
+     * @return
239
+     */
240
+    public Object HKpersonGroupId(){
241
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.OP_PERSON_ID;
242
+        Map<String, Object> map = new HashMap<String, Object>();
243
+        map.put("appkey", HKConstant.APPKEY);
244
+        map.put("time", System.currentTimeMillis());
245
+        map.put("token", HKConstant.SECRET);
246
+        map.put("opUserUuid",HKConstant.OP_USER_UUID);
247
+        map.put("pageNo",1);
248
+        map.put("pageSize",100);
249
+        map.put("birthday",System.currentTimeMillis());
250
+        String params =  JSON.toJSONString(map);
251
+        String data = null;
252
+        try {
253
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
254
+        } catch (Exception e) {
255
+            e.printStackTrace();
256
+        }
257
+        return data;
258
+    }
259
+
169 260
 }

+ 2
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java 查看文件

@@ -1,6 +1,4 @@
1 1
 package com.community.huiju.service.impl;
2
-
3
-import com.alibaba.fastjson.JSON;
4 2
 import com.alibaba.fastjson.JSONObject;
5 3
 import com.community.commom.mode.ResponseBean;
6 4
 import com.community.huiju.common.hk.HKConstant;
@@ -32,9 +30,11 @@ public class MonitoringServiceImpl implements IMonitoringService {
32 30
         parMap.put("pageSize",100);
33 31
         parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
34 32
         parMap.put("unitUuids","1048576");
33
+
35 34
         String result = HKOpenApi.getMonitoryPoint(parMap);
36 35
         Map<String, Object> map = JSONObject.parseObject(result,HashMap.class);
37 36
         response.addSuccess(map);
37
+
38 38
         return response;
39 39
     }
40 40
 }

+ 36
- 12
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/SocialServiceImpl.java 查看文件

@@ -7,15 +7,18 @@ import com.community.huiju.dao.*;
7 7
 import com.community.huiju.model.*;
8 8
 import com.community.huiju.service.ImageServiceI;
9 9
 import com.community.huiju.service.SocialServiceI;
10
+import com.github.pagehelper.Page;
10 11
 import com.github.pagehelper.PageHelper;
12
+import com.google.common.collect.Maps;
11 13
 import org.springframework.beans.factory.annotation.Autowired;
12 14
 import org.springframework.stereotype.Service;
13 15
 import org.springframework.transaction.annotation.Transactional;
14
-import org.springframework.web.multipart.MultipartFile;
15 16
 
16 17
 import java.io.IOException;
17 18
 import java.util.Date;
19
+import java.util.HashMap;
18 20
 import java.util.List;
21
+import java.util.Map;
19 22
 
20 23
 /**
21 24
  * @author weichaochao
@@ -84,12 +87,17 @@ public class SocialServiceImpl implements SocialServiceI {
84 87
      * @return
85 88
      */
86 89
     @Override
87
-    public List<TpAnnouncement> getAnnouncements(Integer communityId,String title, Integer pageNum, Integer pageSize) {
90
+    public ResponseBean getAnnouncements(Integer communityId, String title, Integer pageNum, Integer pageSize) {
91
+        ResponseBean responseBean=new ResponseBean();
92
+        Map<String, Object> parameter = Maps.newHashMap();
88 93
         //使用分页插件
89
-        PageHelper.startPage(pageNum, pageSize);
94
+        Page<TpAnnouncement> pageannouncementList=PageHelper.startPage(pageNum, pageSize);
95
+        parameter.put("total",pageannouncementList.getTotal());
90 96
         // 获取数据
91 97
         List<TpAnnouncement> announcementList = tpAnnouncementMapper.getAnnouncements(communityId,title);
92
-        return announcementList;
98
+        parameter.put("list",announcementList);
99
+        responseBean.addSuccess(parameter);
100
+        return responseBean;
93 101
     }
94 102
     /**
95 103
      * 根据当前小区ID查出轮播图
@@ -113,12 +121,17 @@ public class SocialServiceImpl implements SocialServiceI {
113 121
      * @return
114 122
      */
115 123
     @Override
116
-    public List<TpActivity> getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize) {
124
+    public ResponseBean getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize) {
125
+        ResponseBean responseBean= new ResponseBean();
126
+        Map<String, Object> result = Maps.newHashMap();
117 127
         //使用分页插件
118
-        PageHelper.startPage(pageNum, pageSize);
128
+        Page<TpActivity> pageactivityList=PageHelper.startPage(pageNum, pageSize);
119 129
         // 获取数据
120 130
         List<TpActivity> activityList = tpActivityMapper.getActivitys(communityId,title);
121
-        return activityList;
131
+        result.put("list",activityList);
132
+        result.put("total",pageactivityList.getTotal());
133
+        responseBean.addSuccess(result);
134
+        return responseBean;
122 135
     }
123 136
     
124 137
     /**
@@ -220,9 +233,16 @@ public class SocialServiceImpl implements SocialServiceI {
220 233
     }
221 234
 
222 235
     @Override
223
-    public List<TpTransaction> findAllTransaction(Integer communityId, String type, Integer pageNum, Integer paeSize) {
224
-        PageHelper.startPage(pageNum, paeSize);
225
-        return tpTransactionMapper.findAllTransaction(communityId, type);
236
+    public ResponseBean findAllTransaction(Integer communityId, String type, Integer pageNum, Integer paeSize) {
237
+        Map<String, Object> parameter = Maps.newHashMap();
238
+       ResponseBean  responseBean= new ResponseBean();
239
+        Page<TpTransaction> pageList=PageHelper.startPage(pageNum, paeSize);
240
+        List<TpTransaction> List= tpTransactionMapper.findAllTransaction(communityId, type);
241
+        parameter.put("list",List);
242
+        parameter.put("total",pageList.getTotal());
243
+        responseBean.addSuccess(parameter);
244
+        return responseBean;
245
+
226 246
     }
227 247
 
228 248
 
@@ -313,9 +333,13 @@ public class SocialServiceImpl implements SocialServiceI {
313 333
         }
314 334
 
315 335
         if (Constant.EFFECTIVE.equals(taUser.getStatus()) && (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getRoleName()) || Constant.OWNER.equals(sysRole.getRoleName()))){
316
-            PageHelper.startPage(pageNum, paeSize);
336
+            Map<String, Object> parameter = Maps.newHashMap();
337
+            Page<TpTransaction> pageLsit=PageHelper.startPage(pageNum, paeSize);
317 338
             List<TpTransaction> tpTransactions=tpTransactionMapper.selectTransaction(userId,communityId,type);
318
-            responseBean.addSuccess(tpTransactions);
339
+            parameter.put("list",tpTransactions);
340
+            parameter.put("total",pageLsit.getTotal());
341
+            responseBean.addSuccess(parameter);
342
+            return responseBean;
319 343
         }
320 344
         responseBean.addError("9995", "无法确认您的身份,请联系物业");
321 345
         return responseBean;

+ 13
- 9
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TicketServiceImpl.java 查看文件

@@ -8,6 +8,7 @@ import com.community.huiju.dao.*;
8 8
 import com.community.huiju.model.*;
9 9
 import com.community.huiju.service.ITicketService;
10 10
 import com.community.huiju.vo.TpTicketVO;
11
+import com.github.pagehelper.Page;
11 12
 import com.github.pagehelper.PageHelper;
12 13
 import com.google.common.collect.Lists;
13 14
 import com.google.common.collect.Maps;
@@ -18,9 +19,7 @@ import org.springframework.stereotype.Service;
18 19
 import org.springframework.transaction.annotation.Transactional;
19 20
 
20 21
 import java.io.IOException;
21
-import java.util.Date;
22
-import java.util.List;
23
-import java.util.Map;
22
+import java.util.*;
24 23
 
25 24
 /**
26 25
  * 工单业务 实现
@@ -59,7 +58,7 @@ public class TicketServiceImpl implements ITicketService {
59 58
         //  0 代表 报修  1 代表 投诉  2代表 联系单
60 59
         parameter.put("type", 0);
61 60
         // 报修
62
-        PageHelper.startPage(pageNum, pageSize);
61
+        Page<TpTicket> pageRepairs = PageHelper.startPage(pageNum, pageSize);
63 62
         List<TpTicket> tpTicketRepairsList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
64 63
         List<TpTicketVO> repairsList = Lists.newArrayList();
65 64
         tpTicketVOConvert(tpTicketRepairsList, repairsList);
@@ -67,7 +66,7 @@ public class TicketServiceImpl implements ITicketService {
67 66
         // 投诉
68 67
         //  0 代表 报修  1 代表 投诉  2代表 联系单
69 68
         parameter.put("type", 1);
70
-        PageHelper.startPage(pageNum, pageSize);
69
+        Page<TpTicket> pageComplaint = PageHelper.startPage(pageNum, pageSize);
71 70
         List<TpTicket> tpTicketComplaintList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
72 71
         List<TpTicketVO> complaintList = Lists.newArrayList();
73 72
         tpTicketVOConvert(tpTicketComplaintList, complaintList);
@@ -75,14 +74,16 @@ public class TicketServiceImpl implements ITicketService {
75 74
         // 联系工单
76 75
         //  0 代表 报修  1 代表 投诉  2代表 联系单
77 76
         parameter.put("type", 2);
78
-        PageHelper.startPage(pageNum, pageSize);
77
+        Page<TpTicket> pageLiaison = PageHelper.startPage(pageNum, pageSize);
79 78
         List<TpTicket> tpTicketLiaisonList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
80 79
         List<TpTicketVO> liaisonList = Lists.newArrayList();
81 80
         tpTicketVOConvert(tpTicketLiaisonList, liaisonList);
82
-
81
+        Long [] arr = new Long[] {pageComplaint.getTotal(), pageLiaison.getTotal(), pageRepairs.getTotal()};
82
+        Arrays.sort(arr);
83 83
         result.put("repairs", repairsList);
84 84
         result.put("complaint", complaintList);
85 85
         result.put("liaison", liaisonList);
86
+        result.put("total",arr[2]);
86 87
 
87 88
         responseBean.addSuccess(result);
88 89
         return responseBean;
@@ -142,13 +143,16 @@ public class TicketServiceImpl implements ITicketService {
142 143
         //  0 代表 报修  1 代表 投诉  2代表 联系单
143 144
         parameter.put("type", tpTicket.getType());
144 145
 
145
-        PageHelper.startPage(pageNum, pageSize);
146
+       Page<TpTicket> pagelist=PageHelper.startPage(pageNum, pageSize);
146 147
         List<TpTicket> tpTicketList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
147 148
 
148 149
         List<TpTicketVO> tpTicketVOList = Lists.newArrayList();
149 150
         tpTicketVOConvert(tpTicketList, tpTicketVOList);
151
+        Map<String, Object> map = Maps.newHashMap();
152
+        map.put("pagelist",pagelist.getTotal());
153
+        map.put("total",tpTicketVOList);
150 154
 
151
-        response.addSuccess(tpTicketVOList);
155
+        response.addSuccess(map);
152 156
 
153 157
         return response;
154 158
     }

+ 317
- 305
文档/MYSQL/smartCommunity.pdb
文件差异内容过多而无法显示
查看文件


+ 315
- 303
文档/MYSQL/smartCommunity.pdm
文件差异内容过多而无法显示
查看文件