Bläddra i källkod

Merge branch 'develop' of http://git.ycjcjy.com/fuxingfan/smartCommunity into develop

# Conflicts:
#	CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java
#	CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java
傅行帆 6 år sedan
förälder
incheckning
5a59a7f185
17 ändrade filer med 564 tillägg och 373 borttagningar
  1. Binär
      CODE/smart-community/[B@5e730dac
  2. Binär
      CODE/smart-community/[B@6fdba475
  3. Binär
      CODE/smart-community/app-api/lib/Digests.jar
  4. Binär
      CODE/smart-community/app-api/lib/HttpClientSSLUtils.jar
  5. 10
    1
      CODE/smart-community/app-api/pom.xml
  6. 29
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java
  7. 210
    310
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java
  8. 3
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiTest.java
  9. 3
    3
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiUtil.java
  10. 84
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/PicUtils.java
  11. 49
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/img.java
  12. 6
    9
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java
  13. 3
    4
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/SocialServiceI.java
  14. 116
    19
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  15. 2
    3
      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

Binär
CODE/smart-community/[B@5e730dac Visa fil


Binär
CODE/smart-community/[B@6fdba475 Visa fil


Binär
CODE/smart-community/app-api/lib/Digests.jar Visa fil


Binär
CODE/smart-community/app-api/lib/HttpClientSSLUtils.jar Visa fil


+ 10
- 1
CODE/smart-community/app-api/pom.xml Visa fil

@@ -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>

+ 29
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java Visa fil

@@ -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,6 +53,13 @@ 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";
57 64
     
58 65
     /**
@@ -74,4 +81,25 @@ public class HKConstant {
74 81
      * 指定人员人脸/指纹权限下载
75 82
      */
76 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";
89
+
90
+    /**
91
+     * 分页获取部门
92
+     */
93
+    public static final String ITF_DEPT= "/openapi/service/base/dept/getDeptInfos";
94
+
95
+    /**
96
+     * 根据部门名称分页获取部门
97
+     */
98
+    public static final String ITF_LIKE_DEPT_NAME = "/openapi/service/base/dept/getDeptInfosByName";
99
+
100
+    /**
101
+     * 添加 人员
102
+     */
103
+    public static final String ITF_ADD_USER = "/openapi/service/base/person/addPersonInfo";
104
+    
77 105
 }

+ 210
- 310
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java Visa fil

@@ -1,310 +1,210 @@
1
-package com.community.huiju.common.hk;
2
-
3
-import com.alibaba.fastjson.JSON;
4
-import com.community.commom.hk.Digests;
5
-import com.community.commom.hk.HttpClientSSLUtils;
6
-import com.google.common.collect.Maps;
7
-import lombok.extern.slf4j.Slf4j;
8
-
9
-import java.util.HashMap;
10
-import java.util.Map;
11
-
12
-/**
13
- * 海康 API
14
- * @author weiximei
15
- */
16
-@Slf4j
17
-public class HKOpenApi {
18
-
19
-    /**
20
-     * 根据
21
-     * 组织中心UUID集 ,第几页, 一页多少行
22
-     *
23
-     * 获取  监控点 数据列表
24
-     * @return
25
-     */
26
-    public static String getMonitoryPoint(Map<String,Object> map){
27
-        Map<String,Object> parMap = Maps.newHashMap();
28
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
29
-        //设置APPKEY
30
-        parMap.put("appkey", HKConstant.APPKEY);
31
-        //设置时间参数
32
-        parMap.put("time", System.currentTimeMillis());
33
-        parMap.put("pageNo",map.get("pageNo"));
34
-        parMap.put("pageSize",map.get("pageSize"));
35
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
36
-        parMap.put("unitUuids",map.get("unitUuids"));
37
-        String params =  JSON.toJSONString(parMap);
38
-        log.info("获取 监控列表 请求参数:{}", params);
39
-        String data = null;
40
-        try {
41
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
42
-            log.info("获取 监控列表 请求返回结果:{}",data);
43
-        } catch (Exception e) {
44
-            e.printStackTrace();
45
-            log.error("获取监控列表失败!",e);
46
-        }
47
-
48
-        return data;
49
-    }
50
-    
51
-    /**
52
-     * 根据中心UUID集获取中心下的门禁设备信息
53
-     *
54
-     * @return
55
-     */
56
-    public static String getACDevicesByUnitUuids(){
57
-        Map<String,Object> parMap = Maps.newHashMap();
58
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
59
-        //设置APPKEY
60
-        parMap.put("appkey", HKConstant.APPKEY);
61
-        //设置时间参数
62
-        parMap.put("time", System.currentTimeMillis());
63
-        parMap.put("pageNo",1);
64
-        parMap.put("pageSize",10);
65
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
66
-        parMap.put("unitUuids","1048576");
67
-        String params =  JSON.toJSONString(parMap);
68
-        log.info("获取中心UUID集获取中心下的门禁设备请求参数:{}", params);
69
-        String data = null;
70
-        try {
71
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
72
-            log.info("获取 中心UUID集获取中心下的门禁设备 请求返回结果:{}",data);
73
-        } catch (Exception e) {
74
-            e.printStackTrace();
75
-            log.error("获取失败!",e);
76
-        }
77
-        
78
-        return data;
79
-    }
80
-    
81
-    /**
82
-     * 分页获取门禁点信息。
83
-     *
84
-     * @return
85
-     */
86
-    public static String getDoors(){
87
-        Map<String,Object> parMap = Maps.newHashMap();
88
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
89
-        //设置APPKEY
90
-        parMap.put("appkey", HKConstant.APPKEY);
91
-        //设置时间参数
92
-        parMap.put("time", System.currentTimeMillis());
93
-        parMap.put("pageNo",1);
94
-        parMap.put("pageSize",10);
95
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
96
-        String params =  JSON.toJSONString(parMap);
97
-        log.info("分页获取门禁点信息请求参数:{}", params);
98
-        String data = null;
99
-        try {
100
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
101
-            log.info("分页获取门禁点信息 请求返回结果:{}",data);
102
-        } catch (Exception e) {
103
-            e.printStackTrace();
104
-            log.error("获取失败!",e);
105
-        }
106
-        
107
-        return data;
108
-    }
109
-    
110
-    /**
111
-     * 批量获取控制中心信息,多个中心的UUID用“,”分割组成的字符串。
112
-     *
113
-     * @return
114
-     */
115
-    public static String getUnitsByUuids(){
116
-        Map<String,Object> parMap = Maps.newHashMap();
117
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
118
-        //设置APPKEY
119
-        parMap.put("appkey", HKConstant.APPKEY);
120
-        //设置时间参数
121
-        parMap.put("time", System.currentTimeMillis());
122
-        parMap.put("pageNo",1);
123
-        parMap.put("pageSize",10);
124
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
125
-        parMap.put("unitUuids","1048576");
126
-        String params =  JSON.toJSONString(parMap);
127
-        log.info("获取控制中心信息请求参数:{}", params);
128
-        String data = null;
129
-        try {
130
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
131
-            log.info("获取控制中心信息 请求返回结果:{}",data);
132
-        } catch (Exception e) {
133
-            e.printStackTrace();
134
-            log.error("获取失败!",e);
135
-        }
136
-        
137
-        return data;
138
-    }
139
-    
140
-    /**
141
-     *  根据中心UUID分页获取下级区域
142
-     * @return
143
-     */
144
-    public static String getRegionsByUnitUuid(){
145
-        Map<String,Object> parMap = Maps.newHashMap();
146
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
147
-        //设置APPKEY
148
-        parMap.put("appkey", HKConstant.APPKEY);
149
-        //设置时间参数
150
-        parMap.put("time", System.currentTimeMillis());
151
-        parMap.put("pageNo",1);
152
-        parMap.put("pageSize",10);
153
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
154
-        parMap.put("parentUuid","1048576");
155
-        parMap.put("allChildren",1);
156
-        String params =  JSON.toJSONString(parMap);
157
-        log.info("根据中心UUID分页获取下级区域请求参数:{}", params);
158
-        String data = null;
159
-        try {
160
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
161
-            log.info("根据中心UUID分页获取下级区域 请求返回结果:{}",data);
162
-        } catch (Exception e) {
163
-            e.printStackTrace();
164
-            log.error("获取失败!",e);
165
-        }
166
-        
167
-        return data;
168
-    }
169
-    
170
-    /**
171
-     * 根据区域UUID集获取门禁点
172
-     * @return
173
-     */
174
-    public static String getDoorsByRegionUuids(){
175
-        Map<String,Object> parMap = Maps.newHashMap();
176
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOORS_BY_REGION_UUIDS;
177
-        //设置APPKEY
178
-        parMap.put("appkey", HKConstant.APPKEY);
179
-        //设置时间参数
180
-        parMap.put("time", System.currentTimeMillis());
181
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
182
-        parMap.put("regionUuids","2a36878c9a4a49d290d253ac1b4746dc");
183
-        String params =  JSON.toJSONString(parMap);
184
-        log.info("根据区域UUID集获取门禁点请求参数:{}", params);
185
-        String data = null;
186
-        try {
187
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
188
-            log.info("根据区域UUID集获取门禁点 请求返回结果:{}",data);
189
-        } catch (Exception e) {
190
-            e.printStackTrace();
191
-            log.error("获取失败!",e);
192
-        }
193
-        
194
-        return data;
195
-    }
196
-    
197
-    /**
198
-     * 根据人员ID集添加权限
199
-     * @return
200
-     */
201
-    public static String addAuthoritiesByPersonIds(String personIds){
202
-        Map<String,Object> parMap = Maps.newHashMap();
203
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ADD_AUTHORITIES_BY_PERSONIDS;
204
-        //设置APPKEY
205
-        parMap.put("appkey", HKConstant.APPKEY);
206
-        //设置时间参数
207
-        parMap.put("time", System.currentTimeMillis());
208
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
209
-        parMap.put("personIds",personIds);
210
-        parMap.put("doorGroupUuids","");
211
-        parMap.put("doorUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
212
-        String params =  JSON.toJSONString(parMap);
213
-        log.info("根据人员ID集添加权限请求参数:{}", params);
214
-        String data = null;
215
-        try {
216
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
217
-            log.info("根据人员ID集添加权限 请求返回结果:{}",data);
218
-        } catch (Exception e) {
219
-            e.printStackTrace();
220
-            log.error("获取失败!",e);
221
-        }
222
-        
223
-        return data;
224
-    }
225
-    
226
-    /**
227
-     * 根据设备UUID集异动下载门禁权限
228
-     * @return
229
-     */
230
-    public static String downloadAuthorityByDeviceUuids(){
231
-        Map<String,Object> parMap = Maps.newHashMap();
232
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_AUTHORITY_BY_DEVICEUUIDS;
233
-        //设置APPKEY
234
-        parMap.put("appkey", HKConstant.APPKEY);
235
-        //设置时间参数
236
-        parMap.put("time", System.currentTimeMillis());
237
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
238
-        parMap.put("deviceUuids","57231a05fd3b45f7a2570a28a85821c4,efcb9a3fe4e64e2f9c0f546c54465524,9da7c0073138453fa7782b629743cff7,85c22fde220d4b35ac13f805f05fd04c");
239
-        String params =  JSON.toJSONString(parMap);
240
-        log.info("根据设备UUID集异动下载门禁权限请求参数:{}", params);
241
-        String data = null;
242
-        try {
243
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
244
-            log.info("根据设备UUID集异动下载门禁权限 请求返回结果:{}",data);
245
-        } catch (Exception e) {
246
-            e.printStackTrace();
247
-            log.error("获取失败!",e);
248
-        }
249
-        
250
-        return data;
251
-    }
252
-    
253
-    /**
254
-     * 指定人员人脸/指纹权限下载
255
-     * @return
256
-     */
257
-    public static String downloadFaceAndFingerInfos(String personIds){
258
-        Map<String,Object> parMap = Maps.newHashMap();
259
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.DOWNLOAD_FACE_AND_FINGERINFOS;
260
-        //设置APPKEY
261
-        parMap.put("appkey", HKConstant.APPKEY);
262
-        //设置时间参数
263
-        parMap.put("time", System.currentTimeMillis());
264
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
265
-        parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c");
266
-        parMap.put("personIds",personIds);
267
-        parMap.put("type",1);
268
-        String params =  JSON.toJSONString(parMap);
269
-        log.info("指定人员人脸/指纹权限下载 请求参数:{}", params);
270
-        String data = null;
271
-        try {
272
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
273
-            log.info("指定人员人脸/指纹权限下载 请求返回结果:{}",data);
274
-        } catch (Exception e) {
275
-            e.printStackTrace();
276
-            log.error("获取失败!",e);
277
-        }
278
-        
279
-        return data;
280
-    }
281
-    
282
-    public static String getPersonInfosEx(){
283
-        Map<String,Object> parMap = Maps.newHashMap();
284
-        String url = HKConstant.OPENAPI_IP_PORT_HTTP + "/openapi/service/base/person/getPersonInfosEx";
285
-        //设置APPKEY
286
-        parMap.put("appkey", HKConstant.APPKEY);
287
-        //设置时间参数
288
-        parMap.put("time", System.currentTimeMillis());
289
-        parMap.put("pageNo",1);
290
-        parMap.put("pageSize",10);
291
-        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
292
-        String params =  JSON.toJSONString(parMap);
293
-        log.info("根据人员ID集添加权限请求参数:{}", params);
294
-        String data = null;
295
-        try {
296
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
297
-            log.info("根据人员ID集添加权限 请求返回结果:{}",data);
298
-        } catch (Exception e) {
299
-            e.printStackTrace();
300
-            log.error("获取失败!",e);
301
-        }
302
-        
303
-        return data;
304
-    }
305
-    
306
-    public static void main(String[] args) {
307
-        String result = HKOpenApi.downloadFaceAndFingerInfos("10");
308
-        System.out.println(result);
309
-    }
310
-}
1
+package com.community.huiju.common.hk;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.community.commom.hk.HttpClientSSLUtils;
5
+import com.google.common.collect.Maps;
6
+import lombok.extern.slf4j.Slf4j;
7
+import net.coobird.thumbnailator.Thumbnails;
8
+import org.slf4j.Logger;
9
+import org.slf4j.LoggerFactory;
10
+import org.springframework.web.multipart.MultipartFile;
11
+import java.io.*;
12
+import com.community.commom.hk.Digests;
13
+
14
+import java.util.Map;
15
+
16
+/**
17
+ * 海康 API
18
+ * @author weiximei
19
+ */
20
+@Slf4j
21
+public class HKOpenApi {
22
+    private static Logger logger = LoggerFactory.getLogger(PicUtils.class);
23
+
24
+    public static String getMonitoryPoint(Map<String,Object> map){
25
+        Map<String,Object> parMap = Maps.newHashMap();
26
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_MONITORY_POINT;
27
+        //设置APPKEY
28
+        parMap.put("appkey", HKConstant.APPKEY);
29
+        //设置时间参数
30
+        parMap.put("time", System.currentTimeMillis());
31
+        parMap.put("pageNo",map.get("pageNo"));
32
+        parMap.put("pageSize",map.get("pageSize"));
33
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
34
+        parMap.put("unitUuids",map.get("unitUuids"));
35
+        String params =  JSON.toJSONString(parMap);
36
+        log.info("获取 监控列表 请求参数:{}", params);
37
+        String data = null;
38
+        try {
39
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
40
+            log.info("获取 监控列表 请求返回结果:{}",data);
41
+        } catch (Exception e) {
42
+            e.printStackTrace();
43
+            log.error("获取监控列表失败!",e);
44
+        }
45
+
46
+        return data;
47
+    }
48
+
49
+    /**
50
+     *
51
+     * @param img_path 获取图片的扩展名
52
+     * @return
53
+     */
54
+    public static String getPicSuffix(String img_path){
55
+        if (img_path == null || img_path.indexOf(".") == -1){
56
+            return ""; //如果图片地址为null或者地址中没有"."就返回""
57
+        }
58
+        return img_path.substring(img_path.lastIndexOf(".") + 1).
59
+                trim().toLowerCase();
60
+    }
61
+
62
+    //将本地图片进行Base64位编码
63
+    public static String getImgStr(MultipartFile imgFile){
64
+        //将图片文件转化为字节数组字符串,并对其进行Base64编码处理
65
+        byte[] data = null;
66
+        //读取图片字节数组
67
+        try
68
+        {
69
+            data = imgFile.getBytes();
70
+        }
71
+        catch (IOException e)
72
+        {
73
+            e.printStackTrace();
74
+        }
75
+        return new String(org.apache.commons.codec.binary.Base64.encodeBase64(data));
76
+    }
77
+
78
+    //将本地图片进行Base64位编码
79
+    public static String getImgStr(byte [] fileBytes) {
80
+        return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileBytes));
81
+    }
82
+
83
+
84
+    /**
85
+     * 根据部门名称分页获取部门
86
+     *      第几页, 一页多少行, 操作用户uuid
87
+     * @param map
88
+     * @return
89
+     */
90
+    public static String getDeptName(Map<String,Object> map){
91
+        Map<String,Object> parMap = Maps.newHashMap();
92
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
93
+        //设置APPKEY
94
+        parMap.put("appkey", HKConstant.APPKEY);
95
+        //设置时间参数
96
+        parMap.put("time", System.currentTimeMillis());
97
+        parMap.put("pageNo",map.get("pageNo"));
98
+        parMap.put("pageSize",map.get("pageSize"));
99
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
100
+        parMap.put("deptName",map.get("deptName"));
101
+        String params =  JSON.toJSONString(parMap);
102
+        log.info("根据部门名称分页获取部门 请求参数:{}", params);
103
+        String data = null;
104
+        try {
105
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
106
+            log.info("根据部门名称分页获取部门 请求返回结果:{}",data);
107
+        } catch (Exception e) {
108
+            e.printStackTrace();
109
+            log.error("根据部门名称分页获取部门失败!",e);
110
+        }
111
+
112
+        return data;
113
+    }
114
+
115
+
116
+    /**
117
+     * 根据指定大小压缩图片
118
+     *
119
+     * @param imageBytes  源图片字节数组
120
+     * @param desFileSize 指定图片大小,单位kb
121
+     * @param imageId     影像编号
122
+     * @return 压缩质量后的图片字节数组
123
+     */
124
+    public static byte[] compressPicForScale(byte[] imageBytes, long desFileSize, String imageId) {
125
+        if (imageBytes == null || imageBytes.length <= 0 || imageBytes.length < desFileSize * 1024) {
126
+            return imageBytes;
127
+        }
128
+        long srcSize = imageBytes.length;
129
+        double accuracy = getAccuracy(srcSize / 1024);
130
+        try {
131
+            while (imageBytes.length > desFileSize * 1024) {
132
+                ByteArrayInputStream inputStream = new ByteArrayInputStream(imageBytes);
133
+                ByteArrayOutputStream outputStream = new ByteArrayOutputStream(imageBytes.length);
134
+                Thumbnails.of(inputStream)
135
+                        .scale(accuracy)
136
+                        .outputQuality(accuracy)
137
+                        .toOutputStream(outputStream);
138
+                imageBytes = outputStream.toByteArray();
139
+            }
140
+            logger.info("【图片压缩】imageId={} | 图片原大小={}kb | 压缩后大小={}kb",
141
+                    imageId, srcSize / 1024, imageBytes.length / 1024);
142
+        } catch (Exception e) {
143
+            logger.error("【图片压缩】msg=图片压缩失败!", e);
144
+        }
145
+        return imageBytes;
146
+    }
147
+
148
+    /**
149
+     * 自动调节精度(经验数值)
150
+     *
151
+     * @param size 源图片大小
152
+     * @return 图片压缩质量比
153
+     */
154
+    private static double getAccuracy(long size) {
155
+        double accuracy;
156
+        if (size < 900) {
157
+            accuracy = 0.85;
158
+        } else if (size < 2047) {
159
+            accuracy = 0.6;
160
+        } else if (size < 3275) {
161
+            accuracy = 0.44;
162
+        } else {
163
+            accuracy = 0.4;
164
+        }
165
+        return accuracy;
166
+    }
167
+
168
+    /**
169
+     *
170
+     * 添加人员
171
+     *
172
+     *      比如 住户
173
+     */
174
+    public static String getAddUser(Map<String,Object> map){
175
+        Map<String,Object> parMap = Maps.newHashMap();
176
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_LIKE_DEPT_NAME;
177
+        //设置APPKEY
178
+        parMap.put("appkey", HKConstant.APPKEY);
179
+        //设置时间参数
180
+        parMap.put("time", System.currentTimeMillis());
181
+        parMap.put("pageNo",map.get("pageNo"));
182
+        parMap.put("pageSize",map.get("pageSize"));
183
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
184
+        parMap.put("personNo",map.get("personNo"));
185
+        parMap.put("personName",map.get("personName"));
186
+        String params =  JSON.toJSONString(parMap);
187
+        log.info("添加人员 请求参数:{}", params);
188
+        String data = null;
189
+        try {
190
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
191
+            log.info("添加人员 请求返回结果:{}",data);
192
+        } catch (Exception e) {
193
+            e.printStackTrace();
194
+            log.error("添加人员失败!",e);
195
+        }
196
+
197
+        return data;
198
+    }
199
+
200
+
201
+    public static void main(String[] args) {
202
+        Map<String,Object> parMap = Maps.newHashMap();
203
+        parMap.put("pageNo",1);
204
+        parMap.put("pageSize",100);
205
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
206
+        parMap.put("deptName","住户");
207
+        String result = HKOpenApi.getDeptName(parMap);
208
+        System.out.println(result);
209
+    }
210
+}

+ 3
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiTest.java Visa fil

@@ -4,8 +4,9 @@ import java.util.HashMap;
4 4
 import java.util.Map;
5 5
 
6 6
 import com.alibaba.fastjson.JSON;
7
-import com.hikvision.cms.api.common.util.Digests;
8
-import com.hikvision.cms.api.common.util.HttpClientSSLUtils;
7
+import com.community.commom.hk.Digests;
8
+import com.community.commom.hk.HttpClientSSLUtils;
9
+
9 10
 
10 11
 /**
11 12
  * openapi 测试DEMO

+ 3
- 3
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/OpenapiUtil.java Visa fil

@@ -27,7 +27,8 @@ public class OpenapiUtil {
27 27
 	 * @return 加密之后的字符串
28 28
 	 */
29 29
 	public static String encodeImage2Base64(URL imageUrl, String extensioName){
30
-		ByteArrayOutputStream outputStream = null;  
30
+
31
+		ByteArrayOutputStream outputStream = null;
31 32
         try {  
32 33
             BufferedImage bufferedImage = ImageIO.read(imageUrl);  //读取网络图片
33 34
             outputStream = new ByteArrayOutputStream();  //文件输出流
@@ -44,8 +45,7 @@ public class OpenapiUtil {
44 45
 	
45 46
 	/** 
46 47
      * 将本地图片进行Base64位编码 
47
-     *  
48
-     * @param imgUrl 
48
+     *
49 49
      *            图片的url路径,如http://.....xx.jpg 
50 50
      * @param extensioName 图片的扩展名
51 51
      * @return 加密之后的字符串

+ 84
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/PicUtils.java Visa fil

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

+ 49
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/test/img.java Visa fil

@@ -0,0 +1,49 @@
1
+package com.community.huiju.common.hk.test;
2
+
3
+import org.apache.commons.codec.binary.Base64;
4
+
5
+import java.io.FileInputStream;
6
+import java.io.IOException;
7
+import java.io.InputStream;
8
+
9
+/**
10
+ * version V1.0
11
+ * class_name: $METHOD_NAME$
12
+ * param: $METHOD_PARAM$
13
+ * describe: TODO
14
+ * creat_user:fannaixi
15
+ * creat_time: 2018/11/6
16
+ **/
17
+public class img{
18
+    public static void main(String[] args) {
19
+        String imgFile = "E:\\1.jpg";//待处理的图片
20
+        String imgbese=getImgStr(imgFile);
21
+        System.out.println(imgbese.length());
22
+        System.out.println(imgbese);
23
+
24
+    }
25
+
26
+    /**
27
+     * 将图片转换成Base64编码
28
+     * @param imgFile 待处理图片
29
+     * @return
30
+     */
31
+    public static String getImgStr(String imgFile){
32
+        //将图片文件转化为字节数组字符串,并对其进行Base64编码处理
33
+        InputStream in = null;
34
+        byte[] data = null;
35
+        //读取图片字节数组
36
+        try
37
+        {
38
+            in = new FileInputStream(imgFile);
39
+            data = new byte[in.available()];
40
+            in.read(data);
41
+            in.close();
42
+        }
43
+        catch (IOException e)
44
+        {
45
+            e.printStackTrace();
46
+        }
47
+        return new String(Base64.encodeBase64(data));
48
+    }
49
+}

+ 6
- 9
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java Visa fil

@@ -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 = "添加二手租赁帖子")

+ 3
- 4
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/SocialServiceI.java Visa fil

@@ -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
 	 * 添加二手租赁帖子

+ 116
- 19
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java Visa fil

@@ -1,10 +1,12 @@
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.hk.HKConstant;
9
+import com.community.huiju.common.hk.test.PicUtils;
8 10
 import com.community.huiju.dao.TaFaceMapper;
9 11
 import com.community.huiju.dao.TaSysRoleMapper;
10 12
 import com.community.huiju.dao.TaUserMapper;
@@ -13,12 +15,17 @@ import com.community.huiju.model.TaSysRole;
13 15
 import com.community.huiju.model.TaUser;
14 16
 import com.community.huiju.service.ImageServiceI;
15 17
 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 30
 @Service
24 31
 public class FaceServicelimpl implements FaceServicel {
@@ -37,6 +44,7 @@ public class FaceServicelimpl implements FaceServicel {
37 44
     private ImageServiceI imageServiceI;
38 45
 
39 46
     @Override
47
+    @Transactional
40 48
     public ResponseBean addFace(Integer userid,MultipartFile uploadFile) {
41 49
         String faceImg = null;
42 50
         try {
@@ -80,32 +88,41 @@ public class FaceServicelimpl implements FaceServicel {
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 119
         } else {
103
-            //为业主,已认证
120
+            //为业主,未认证情况下
104 121
             if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
105 122
                 response.addError("8885", "您的信息已存在");
106 123
                 return response;
107 124
             }
108
-            //家属或者租客
125
+            //家属或者租客,未认证情况下
109 126
             if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getDescription()) && "1".equals(taUser.getVerifyStatus())) {
110 127
                 response.addError("8885", "您的信息已存在");
111 128
                 return response;
@@ -113,11 +130,10 @@ public class FaceServicelimpl implements FaceServicel {
113 130
         }
114 131
         response.addError("9995", "无法确认您的身份,请联系物业");
115 132
         return response;
116
-
117
-
118 133
     }
119 134
 
120 135
     @Override
136
+    @Transactional
121 137
     public ResponseBean upDateFace(Integer userId,MultipartFile uploadFile) {
122 138
         boolean isA=false;
123 139
         String faceImg = null;
@@ -133,17 +149,22 @@ public class FaceServicelimpl implements FaceServicel {
133 149
         taFace.setTaUserId(userId);
134 150
         taFace.setUpdateUser(userId);
135 151
         taFace.setUpdateDate(new Date());
136
-        boolean ck=checKout(faceImg,taFace,isA,userId);
137
-        if (ck == true) {
152
+        Object resps=checKout(faceImg,taFace,isA,userId,user.getUserName(),uploadFile);
153
+        if (null!=resps && "true".equals(resps)) {
138 154
             responseBean.addSuccess("修改成功");
139 155
         }else {
140
-            responseBean.addError("7771","请录入正确图片");
156
+            if ("1".equals(resps)) {
157
+                responseBean.addError("7772", "推送海康服务器失败");
158
+            }else {
159
+                responseBean.addError("7771","请录入正确的图片");
160
+            }
141 161
         }
142 162
         return responseBean;
143 163
     }
144 164
 
145 165
     //人脸录入验证
146
-    public boolean checKout(String faceImg, TaFace taFace, boolean isA,Integer user) {
166
+    @Transactional
167
+    public Object checKout(String faceImg, TaFace taFace, boolean isA,Integer user,String name,MultipartFile uploadFile) {
147 168
         AESDecode aesd = new AESDecode();
148 169
                 String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
149 170
         try {
@@ -152,10 +173,20 @@ public class FaceServicelimpl implements FaceServicel {
152 173
             Integer type = (Integer) jsonObject.get("errno");
153 174
             Integer faceNum= (Integer) jsonObject.get("face_num");
154 175
             if (0==type && null!=faceNum && 1==faceNum && isA==true) {
155
-                taFace.setFaceImg(faceImg);
156
-                taFaceMapper.insertSelective(taFace);
157
-                return true;
176
+                //校验通过后
177
+                String errorCode= (String) imgPush(name, uploadFile);
178
+                JSONObject Code = JSONObject.parseObject(errorCode);
179
+                Integer personGroupId = (Integer) Code.get("personGroupId");
180
+                if (null!=personGroupId && personGroupId == 1) {
181
+                    taFace.setFaceImg(faceImg);
182
+                    taFaceMapper.insertSelective(taFace);
183
+                    return true;
184
+                }else{
185
+                    String code="1";
186
+                    return code;
187
+                }
158 188
             }else if (0==type && null!=faceNum && 1==faceNum && isA==false){
189
+
159 190
                 taFace.setFaceImg(faceImg);
160 191
                 taFaceMapper.updateByPrimaryKeySelective(taFace);
161 192
                 return true;
@@ -166,4 +197,70 @@ public class FaceServicelimpl implements FaceServicel {
166 197
         }
167 198
         return false;
168 199
     }
200
+    //在图片验证通过的情况下,推送到海康
201
+    public Object imgPush(String name,MultipartFile uploadFile){
202
+        HKOpenApi hkOpenApi=new HKOpenApi();
203
+        //把图片压缩成100K以下
204
+        // 压缩后的图片字节数组
205
+        byte [] picByte = null;
206
+        try {
207
+            long l = System.currentTimeMillis();
208
+            byte[] bytes  = uploadFile.getBytes();
209
+            // 拿到转换后的图片字节
210
+            picByte= PicUtils.compressPicForScale(bytes,99L,"x");
211
+        } catch (IOException e) {
212
+            e.printStackTrace();
213
+        }
214
+        // String imgs = hkOpenApi.getImgStr(uploadFile);
215
+        String imgs = hkOpenApi.getImgStr(picByte);
216
+        String pgId= (String) HKpersonGroupId();
217
+        JSONObject jsonObject = JSONObject.parseObject(pgId);
218
+        Integer personGroupId = (Integer) jsonObject.get("personGroupId");
219
+        System.out.println(personGroupId);
220
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.OP_IMG;
221
+        Map<String, Object> map = new HashMap<String, Object>();
222
+        map.put("appkey", HKConstant.APPKEY);//设置APPKEY
223
+        map.put("time", System.currentTimeMillis());//设置时间参数
224
+        map.put("token", HKConstant.SECRET);//认证token
225
+        map.put("opUserUuid",HKConstant.OP_USER_UUID);//操作用户UUID
226
+        map.put("facePhotos", imgs); //bs64转码
227
+        map.put("personName",name);//名字
228
+        map.put("personGroupId",personGroupId);//分组用户ID
229
+        map.put("birthday",System.currentTimeMillis());//时间取毫秒
230
+        String params =  JSON.toJSONString(map);
231
+        System.out.println(" ====== testGetDefaultUserUUID 请求参数:【" + params + "】");
232
+        String data = null;
233
+        try {
234
+
235
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
236
+        } catch (Exception e) {
237
+            e.printStackTrace();
238
+        }
239
+        System.out.println(" ====== testGetDefaultUserUUID 请求返回结果:【{" + data + "}】");
240
+        return data;
241
+    }
242
+
243
+    //把图片推送海康,需要获得海康人员分组下的
244
+    // **personGroupId**
245
+    @Transactional
246
+    public Object HKpersonGroupId(){
247
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.OP_PERSON_ID;
248
+        Map<String, Object> map = new HashMap<String, Object>();
249
+        map.put("appkey", HKConstant.APPKEY);//设置APPKEY
250
+        map.put("time", System.currentTimeMillis());//设置时间参数
251
+        map.put("token", HKConstant.SECRET);//认证token
252
+        map.put("opUserUuid",HKConstant.OP_USER_UUID);//操作用户UUID
253
+        map.put("pageNo",1);//当前页码
254
+        map.put("pageSize",100);//每页数据记录数
255
+        map.put("birthday",System.currentTimeMillis());//时间取毫秒
256
+        String params =  JSON.toJSONString(map);
257
+        String data = null;
258
+        try {
259
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
260
+        } catch (Exception e) {
261
+            e.printStackTrace();
262
+        }
263
+        return data;
264
+    }
265
+
169 266
 }

+ 2
- 3
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java Visa fil

@@ -1,10 +1,7 @@
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;
7
-import com.community.huiju.common.hk.HKOpenApi;
8 5
 import com.community.huiju.service.IMonitoringService;
9 6
 import com.google.common.collect.Maps;
10 7
 import lombok.extern.slf4j.Slf4j;
@@ -32,9 +29,11 @@ public class MonitoringServiceImpl implements IMonitoringService {
32 29
         parMap.put("pageSize",100);
33 30
         parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
34 31
         parMap.put("unitUuids","1048576");
32
+
35 33
         String result = HKOpenApi.getMonitoryPoint(parMap);
36 34
         Map<String, Object> map = JSONObject.parseObject(result,HashMap.class);
37 35
         response.addSuccess(map);
36
+
38 37
         return response;
39 38
     }
40 39
 }

+ 36
- 12
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/SocialServiceImpl.java Visa fil

@@ -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 Visa fil

@@ -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
     }