魏熙美 6 gadus atpakaļ
vecāks
revīzija
c720190a5b

+ 2
- 0
CODE/foreign-service/src/main/java/com/community/huiju/enums/ResponseErrorsMessages.java Parādīt failu

@@ -37,6 +37,8 @@ public enum ResponseErrorsMessages {
37 37
     NOT_EQUIPMENT(1025, "系统设备未设置!"),
38 38
     NOT_PERMISSIONS_SET(1025, "权限组未配置!"),
39 39
     ERROR_ID_CARD(1026, "身份证不合法!"),
40
+    NO_HK_AUTH(1027, "海康权限信息 未配置"),
41
+    NO_ET(1027, "设备树 未配置"),
40 42
     ;
41 43
 
42 44
 

+ 2
- 5
CODE/foreign-service/src/main/java/com/community/huiju/service/IHKService.java Parādīt failu

@@ -2,10 +2,7 @@ package com.community.huiju.service;
2 2
 
3 3
 import com.community.commom.mode.ResponseBean;
4 4
 import com.community.commom.session.UserElement;
5
-import com.community.huiju.model.TaUserHk;
6
-import com.community.huiju.model.TaUserVerify;
7
-import com.community.huiju.model.TpEquipmentTree;
8
-import com.community.huiju.model.TpUnitHkSetting;
5
+import com.community.huiju.model.*;
9 6
 
10 7
 /**
11 8
  * 海康 业务
@@ -36,7 +33,7 @@ public interface IHKService {
36 33
      * 下发 可视对讲 权限
37 34
      * @return
38 35
      */
39
-    ResponseBean visualIntercomPermissions(TpUnitHkSetting unitHkSetting, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk, TaUserVerify userVerify);
36
+    ResponseBean visualIntercomPermissions(TpUnitHkSetting unitHkSetting, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk, TaUserVerify userVerify, TaUser user);
40 37
 
41 38
 
42 39
 }

+ 77
- 24
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java Parādīt failu

@@ -72,6 +72,9 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
72 72
     @Autowired
73 73
     private TaUserHkMapper taUserHkMapper;
74 74
 
75
+    @Autowired
76
+    private TpUnitHkSettingMapper tpUnitHkSettingMapper;
77
+
75 78
     @Override
76 79
     @Transactional(rollbackFor = Exception.class)
77 80
     public ResponseBean addFace(Integer userId, Integer userVerifyId, MultipartFile uploadFile) {
@@ -83,8 +86,6 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
83 86
             return responseBean;
84 87
         }
85 88
 
86
-        TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
87
-
88 89
         // 当前人脸图片url
89 90
         String faceImg = img(uploadFile);
90 91
 
@@ -105,7 +106,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
105 106
         taFace.setUpdateDate(new Date());
106 107
 
107 108
         /*验证身份*/
108
-        responseBean = addVerify(userId, userVerifyId, uploadFile, faceImg, taFace, tpEquipmentTree);
109
+        responseBean = addVerify(userId, userVerifyId, uploadFile, faceImg, taFace);
109 110
         return responseBean;
110 111
     }
111 112
 
@@ -128,7 +129,6 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
128 129
             return responseBean;
129 130
         }
130 131
 
131
-        TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
132 132
         // 人脸图片地址url
133 133
         String faceImg = img(uploadFile);
134 134
 
@@ -141,6 +141,12 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
141 141
         // 海康数据
142 142
         TaUserHk taUserHk = taUserHkMapper.selectByUserVerifyIdAndCommunityId(userVerify.getUserVerifyId(), userVerify.getCommunityId());
143 143
 
144
+        // 海康权限信息
145
+        TpUnitHkSetting tpUnitHkSetting = getUnitHkSetting(userVerify.getCommunityId(), userVerify.getUnitId());
146
+
147
+        // 设备树
148
+        TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
149
+
144 150
         //当前修改的id否存在
145 151
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
146 152
         if (null == face) {
@@ -152,7 +158,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
152 158
         face.setFaceImg(faceImg);
153 159
         face.setUpdateUser(userId);
154 160
         face.setUpdateDate(new Date());
155
-        ResponseBean resps = checKout(faceImg, face, false, uploadFile, userId, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
161
+        ResponseBean resps = checKout(faceImg, face, false, uploadFile, tpUnitHkSetting, userVerify, tpEquipmentTree, taUserHk);
156 162
         if (resps.getCode().equals("0")) {
157 163
             resps.addSuccess(face);
158 164
         } else {
@@ -167,20 +173,34 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
167 173
      * @param taFace
168 174
      * @param isA
169 175
      * @param uploadFile
170
-     * @param userId
171
-     * @param communityId
172
-     * @param roomNoId
173
-     * @param unitId
174
-     * @param appkey
175
-     * @param secret
176
-     * @param openapi_ip_port_http 海康服务器地址
176
+     * @param unitHkSetting
177
+     * @param userVerify
178
+     * @param tpEquipmentTree
179
+     * @param taUserHk
177 180
      * @return
178 181
      */
179
-    public ResponseBean checKout(String faceImg, TaFace taFace, boolean isA, MultipartFile uploadFile, Integer userId, Integer communityId, Integer roomNoId, Integer unitId, String  appkey, String secret, String openapi_ip_port_http,String opUserUuid, TaUserHk taUserHk) {
182
+    public ResponseBean checKout(String faceImg, TaFace taFace, boolean isA, MultipartFile uploadFile, TpUnitHkSetting unitHkSetting , TaUserVerify userVerify, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk) {
180 183
         ResponseBean responseBean = new ResponseBean();
181
-        TaUser user = taUserMapper.selectById(userId);
184
+
185
+        if (null == unitHkSetting) {
186
+            responseBean.addError(ResponseErrorsMessages.NO_HK_AUTH.getCode(), ResponseErrorsMessages.NO_HK_AUTH.getMsg());
187
+            return responseBean;
188
+        }
189
+
190
+        if (null == tpEquipmentTree) {
191
+            responseBean.addError(ResponseErrorsMessages.NO_ET.getCode(), ResponseErrorsMessages.NO_ET.getMsg());
192
+            return responseBean;
193
+        }
194
+
195
+        if (null == userVerify) {
196
+            responseBean.addError(ResponseErrorsMessages.NOT_VERIFY.getCode(), ResponseErrorsMessages.NOT_VERIFY.getMsg());
197
+            return responseBean;
198
+        }
199
+
200
+
201
+        TaUser user = taUserMapper.selectById(userVerify.getUserId());
182 202
         if (taUserHk.getHkUserId() == null) {
183
-            log.error("本地库人员ID:{}  的海康人员ID不存在", userId);
203
+            log.error("本地库人员ID:{}  的海康人员ID不存在", userVerify.getUserId());
184 204
             throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
185 205
         }
186 206
         AESDecode aesd = new AESDecode();
@@ -192,25 +212,39 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
192 212
             Integer faceNum = (Integer) jsonObject.get("face_num");
193 213
 
194 214
             /*推送海康*/
195
-            String data = HKOpenApi.HKpersonGroupId(uploadFile, taUserHk.getHkUserId(), taUserHk.getHkPersonNo(), user.getUserName(), taUserHk.getHkCardNo(), appkey, secret, openapi_ip_port_http, opUserUuid);
215
+            // 修改人脸操作
216
+            String data = HKOpenApi.HKpersonGroupId(uploadFile, taUserHk.getHkUserId(), taUserHk.getHkPersonNo(), user.getUserName(), taUserHk.getHkCardNo(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid());
217
+
218
+            // 等待 1s
219
+            Thread.sleep(1000);
220
+
196 221
             /*boolean isA为true进行添加,为false进行修改*/
197 222
             if (0 == type && 1 == faceNum) {
198 223
                 if (null == data) {
199
-                    log.error("未得到,海康数据反馈!");
200
-                    throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
224
+                    log.error("海康人脸推送失败!");
225
+                    throw new RuntimeException("人脸推送失败!");
201 226
                 }
227
+
228
+                // 下发卡权限
229
+                // 下发可是对讲卡权限
230
+                ihkService.visualIntercomPermissions(unitHkSetting, tpEquipmentTree, taUserHk, userVerify, user);
231
+
202 232
                 if (isA) {
203 233
                     taFaceMapper.insert(taFace);
204 234
                 } else {
205 235
                     taFaceMapper.updateById(taFace);
206 236
                 }
237
+
238
+                // 等待 1s
239
+                Thread.sleep(3000);
240
+
241
+                responseBean.addSuccess("操作成功");
242
+
207 243
                 responseBean.addSuccess(taFace);
208 244
 
209
-                // 设备树
210
-                TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(communityId);
211 245
                 // 所有设备
212 246
                 //List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(communityId, unitId, 4);
213
-                List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitIdAndFace(communityId, unitId, 4);
247
+                List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitIdAndFace(tpEquipmentTree.getCommunityId(), userVerify.getUnitId(), 4);
214 248
                 if (CollectionUtils.isNotEmpty(tpEquipments)) {
215 249
                     List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
216 250
                     StringBuilder doorUuids = new StringBuilder();
@@ -235,7 +269,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
235 269
                 }
236 270
 
237 271
                 // 单元门口机
238
-                List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(communityId, unitId, 3);
272
+                List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(tpEquipmentTree.getCommunityId(), userVerify.getUnitId(), 3);
239 273
                 if (CollectionUtils.isNotEmpty(visualEquipments)) {
240 274
                     List<String> visualList = visualEquipments.stream()
241 275
                             .map(e-> tpConfigurationMapper.selectById(e.getUuidId()).getConfigurationValue())
@@ -318,7 +352,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
318 352
     /**
319 353
      * 各种身份校验
320 354
      */
321
-    public ResponseBean addVerify(Integer userid, Integer userVerifyId, MultipartFile uploadFile, String faceImg, TaFace taFace, TpEquipmentTree tpEquipmentTree) {
355
+    public ResponseBean addVerify(Integer userid, Integer userVerifyId, MultipartFile uploadFile, String faceImg, TaFace taFace) {
322 356
         ResponseBean response = new ResponseBean();
323 357
 
324 358
         TaUserVerify userVerify = taUserVerifyMapper.selectById(userVerifyId);
@@ -337,12 +371,19 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
337 371
         // 海康数据
338 372
         TaUserHk taUserHk = taUserHkMapper.selectByUserVerifyIdAndCommunityId(userVerify.getUserVerifyId(), userVerify.getCommunityId());
339 373
 
374
+        // 海康权限信息
375
+        TpUnitHkSetting tpUnitHkSetting = getUnitHkSetting(userVerify.getCommunityId(), userVerify.getUnitId());
376
+
377
+        // 设备树
378
+        TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
379
+
380
+
340 381
         //查询当前用户是否有人脸记录
341 382
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
342 383
         if (null == face) {
343 384
             boolean isA = true;
344 385
             if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
345
-                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
386
+                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, tpUnitHkSetting, userVerify,tpEquipmentTree, taUserHk);
346 387
                 if (responseBean.getCode().equals("0")) {
347 388
                     responseBean.addSuccess("人脸录入成功");
348 389
                 } else {
@@ -355,6 +396,18 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
355 396
         return response;
356 397
     }
357 398
 
399
+    /**
400
+     * 海康权限组
401
+     * @return
402
+     */
403
+    private TpUnitHkSetting getUnitHkSetting(Integer communityId, Integer unitId) {
404
+        TpUnitHkSetting tpUnitHkSetting = tpUnitHkSettingMapper.selectByCommunityIdAndUnitId(communityId, unitId);
405
+        if (null == tpUnitHkSetting) {
406
+            throw new WisdomException("权限组未配置");
407
+        }
408
+        return tpUnitHkSetting;
409
+    }
410
+
358 411
     @Override
359 412
     public ResponseBean deleteFace(Integer userId, Integer userVerifyId) {
360 413
         ResponseBean responseBean= new ResponseBean();

+ 2
- 2
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java Parādīt failu

@@ -417,7 +417,7 @@ public class HKServiceImpl implements IHKService {
417 417
     }
418 418
 
419 419
     @Override
420
-    public ResponseBean visualIntercomPermissions(TpUnitHkSetting unitHkSetting, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk, TaUserVerify userVerify) {
420
+    public ResponseBean visualIntercomPermissions(TpUnitHkSetting unitHkSetting, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk, TaUserVerify userVerify, TaUser user) {
421 421
 
422 422
         ResponseBean responseBean = new ResponseBean();
423 423
 
@@ -440,7 +440,7 @@ public class HKServiceImpl implements IHKService {
440 440
 
441 441
         Map<String,Object> addOutDoorAuthMap = Maps.newHashMap();
442 442
         // app用户权限勿动
443
-        addOutDoorAuthMap.put("authName", unitHkSetting.getPermissionId());
443
+        addOutDoorAuthMap.put("authName", user.getUserName() + userVerify.getUserVerifyId());
444 444
         addOutDoorAuthMap.put("personIds", Arrays.asList(taUserHk.getHkUserId()));
445 445
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
446 446
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());

+ 1
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java Parādīt failu

@@ -258,7 +258,7 @@ public class FaceServicelimpl implements FaceServiceI {
258 258
                 // 等待 1s
259 259
                 Thread.sleep(3000);
260 260
 
261
-                responseBean.addSuccess("操作成功");
261
+                responseBean.addSuccess(taFace);
262 262
 
263 263
 
264 264
                 // 所有设备