dingxin пре 6 година
родитељ
комит
9351f321cc
19 измењених фајлова са 702 додато и 154 уклоњено
  1. 3
    6
      CODE/foreign-service/src/main/java/com/community/huiju/controller/TaFceController.java
  2. 30
    0
      CODE/foreign-service/src/main/java/com/community/huiju/dao/TaUserHkMapper.java
  3. 79
    0
      CODE/foreign-service/src/main/java/com/community/huiju/model/TaUserHk.java
  4. 117
    61
      CODE/foreign-service/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  5. 50
    19
      CODE/foreign-service/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java
  6. 5
    0
      CODE/foreign-service/src/main/resources/mapper/TaUserHkMapper.xml
  7. 27
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/dao/TaUserHkMapper.java
  8. 105
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TaUserHk.java
  9. 16
    7
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  10. 47
    18
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java
  11. 2
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java
  12. 12
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java
  13. 15
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/vo/TaUserVO.java
  14. 153
    0
      CODE/smart-community/app-api/src/main/resources/mapper/TaUserHkMapper.xml
  15. 17
    26
      CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKOpenApi.java
  16. 18
    0
      CODE/smart-community/community-common/src/main/java/com/community/commom/session/UserElement.java
  17. 4
    13
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HkDoorsController.java
  18. 1
    1
      文档/MYSQL/smartCommunity.pdb
  19. 1
    1
      文档/MYSQL/smartCommunity.pdm

+ 3
- 6
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaFceController.java Прегледај датотеку

@@ -3,10 +3,7 @@ package com.community.huiju.controller;
3 3
 import com.community.huiju.common.base.BaseController;
4 4
 import com.community.huiju.common.base.ResponseBean;
5 5
 import com.community.huiju.service.FaceServiceI;
6
-import io.swagger.annotations.Api;
7
-import io.swagger.annotations.ApiImplicitParam;
8
-import io.swagger.annotations.ApiImplicitParams;
9
-import io.swagger.annotations.ApiOperation;
6
+import io.swagger.annotations.*;
10 7
 import org.springframework.beans.factory.annotation.Autowired;
11 8
 import org.springframework.web.bind.annotation.RequestMapping;
12 9
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -39,7 +36,7 @@ public class TaFceController extends BaseController {
39 36
     })
40 37
     public ResponseBean addFace(@RequestParam(value = "userId") Integer userId,
41 38
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
42
-                                @RequestParam(value = "uploadFile") MultipartFile uploadFile) {
39
+                                @RequestParam(value = "uploadFile") @ApiParam(value = "uploadFile" ,required = true) MultipartFile uploadFile) {
43 40
 
44 41
         ResponseBean responseBean = new ResponseBean();
45 42
         responseBean = faceServiceI.addFace(userId, userVerifyId, uploadFile);
@@ -61,7 +58,7 @@ public class TaFceController extends BaseController {
61 58
     })
62 59
     public ResponseBean updateFace(@RequestParam(value = "userId") Integer userId,
63 60
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
64
-                                @RequestParam(value = "uploadFile") MultipartFile uploadFile) {
61
+                                @RequestParam(value = "uploadFile") @ApiParam(value = "uploadFile" ,required = true) MultipartFile uploadFile) {
65 62
 
66 63
         ResponseBean responseBean = new ResponseBean();
67 64
         responseBean = faceServiceI.updateFace(userId, userVerifyId, uploadFile);

+ 30
- 0
CODE/foreign-service/src/main/java/com/community/huiju/dao/TaUserHkMapper.java Прегледај датотеку

@@ -0,0 +1,30 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.community.huiju.model.TaUserHk;
5
+import org.apache.ibatis.annotations.Param;
6
+import org.apache.ibatis.annotations.ResultMap;
7
+import org.apache.ibatis.annotations.ResultType;
8
+import org.apache.ibatis.annotations.Select;
9
+
10
+/**
11
+ * <p>
12
+ * 住户app端用户与海康关联表 Mapper 接口
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-06-12
17
+ */
18
+public interface TaUserHkMapper extends BaseMapper<TaUserHk> {
19
+
20
+    /**
21
+     * 根据用户id 和 小区id 进行查询
22
+     * @param userId
23
+     * @param communityId
24
+     * @return
25
+     */
26
+    @ResultType(TaUserHk.class)
27
+    @Select("select * from ta_user_hk where ta_user_id = #{userId} and community_id = #{communityId}")
28
+    TaUserHk selectByUserIdAndCommunityId(@Param("userId") Integer userId, @Param("communityId") Integer communityId);
29
+
30
+}

+ 79
- 0
CODE/foreign-service/src/main/java/com/community/huiju/model/TaUserHk.java Прегледај датотеку

@@ -0,0 +1,79 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import com.baomidou.mybatisplus.annotation.TableName;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+import java.util.Date;
13
+
14
+/**
15
+ * <p>
16
+ * 住户app端用户与海康关联表
17
+ * </p>
18
+ *
19
+ * @author jobob
20
+ * @since 2019-06-12
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+@TableName("ta_user_hk")
26
+public class TaUserHk implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    @TableId(value = "id", type = IdType.AUTO)
31
+    private Integer id;
32
+
33
+    /**
34
+     * 小区id
35
+     */
36
+    private Integer communityId;
37
+
38
+    /**
39
+     * 人员Id
40
+     */
41
+    private Integer taUserId;
42
+
43
+    /**
44
+     * 海康人员编号
45
+     */
46
+    private Long hkPersonNo;
47
+
48
+    /**
49
+     * 海康用户id
50
+     */
51
+    private Integer hkUserId;
52
+
53
+    /**
54
+     * 海康卡片号码
55
+     */
56
+    private String hkCardNo;
57
+
58
+    /**
59
+     * 创建人
60
+     */
61
+    private Integer createUser;
62
+
63
+    /**
64
+     * 创建时间
65
+     */
66
+    private Date createDate;
67
+
68
+    /**
69
+     * 更新人
70
+     */
71
+    private Integer updateUser;
72
+
73
+    /**
74
+     * 更新时间
75
+     */
76
+    private Date updateDate;
77
+
78
+
79
+}

+ 117
- 61
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java Прегледај датотеку

@@ -1,9 +1,11 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3 3
 import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 6
 import com.community.commom.ailiyun.AESDecode;
6 7
 import com.community.commom.constant.Constant;
8
+import com.community.commom.hk.HKConstant;
7 9
 import com.community.commom.hk.HKOpenApi;
8 10
 import com.community.commom.session.UserElement;
9 11
 import com.community.huiju.common.base.ResponseBean;
@@ -67,6 +69,9 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
67 69
     @Autowired
68 70
     private TpEquipmentTreeMapper tpEquipmentTreeMapper;
69 71
 
72
+    @Autowired
73
+    private TaUserHkMapper taUserHkMapper;
74
+
70 75
     @Override
71 76
     @Transactional(rollbackFor = Exception.class)
72 77
     public ResponseBean addFace(Integer userId, Integer userVerifyId, MultipartFile uploadFile) {
@@ -133,6 +138,9 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
133 138
         // 下发门禁
134 139
         ihkService.pushPerson(userId + "", userVerifyId);
135 140
 
141
+        // 海康数据
142
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userVerify.getUserId(), userVerify.getCommunityId());
143
+
136 144
         //当前修改的id否存在
137 145
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
138 146
         if (null == face) {
@@ -144,7 +152,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
144 152
         face.setFaceImg(faceImg);
145 153
         face.setUpdateUser(userId);
146 154
         face.setUpdateDate(new Date());
147
-        ResponseBean resps = checKout(faceImg, face, false, uploadFile, userId, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
155
+        ResponseBean resps = checKout(faceImg, face, false, uploadFile, userId, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
148 156
         if (resps.getCode().equals("0")) {
149 157
             resps.addSuccess(face);
150 158
         } else {
@@ -168,10 +176,10 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
168 176
      * @param openapi_ip_port_http 海康服务器地址
169 177
      * @return
170 178
      */
171
-    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) {
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) {
172 180
         ResponseBean responseBean = new ResponseBean();
173 181
         TaUser user = taUserMapper.selectById(userId);
174
-        if (user.getHkUserId() == null) {
182
+        if (taUserHk.getHkUserId() == null) {
175 183
             log.error("本地库人员ID:{}  的海康人员ID不存在", userId);
176 184
             throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
177 185
         }
@@ -184,7 +192,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
184 192
             Integer faceNum = (Integer) jsonObject.get("face_num");
185 193
 
186 194
             /*推送海康*/
187
-            String data = HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getHkPersonNo(), user.getUserName(), user.getHkCardNo(), appkey, secret, openapi_ip_port_http);
195
+            String data = HKOpenApi.HKpersonGroupId(uploadFile, taUserHk.getHkUserId(), taUserHk.getHkPersonNo(), user.getUserName(), taUserHk.getHkCardNo(), appkey, secret, openapi_ip_port_http, opUserUuid);
188 196
             /*boolean isA为true进行添加,为false进行修改*/
189 197
             if (0 == type && 1 == faceNum) {
190 198
                 if (null == data) {
@@ -216,7 +224,7 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
216 224
                     Map<String,Object> map = Maps.newHashMap();
217 225
                     map.put("appkey", tpEquipmentTree.getAppkey());
218 226
                     map.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
219
-                    map.put("personIds", String.valueOf(user.getHkUserId()));
227
+                    map.put("personIds", String.valueOf(taUserHk.getHkUserId()));
220 228
                     map.put("deviceUuids", deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
221 229
                     map.put("type", 1);
222 230
                     map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
@@ -323,12 +331,15 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
323 331
             return response;
324 332
         }
325 333
 
334
+        // 海康数据
335
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userVerify.getUserId(), userVerify.getCommunityId());
336
+
326 337
         //查询当前用户是否有人脸记录
327 338
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
328 339
         if (null == face) {
329 340
             boolean isA = true;
330 341
             if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
331
-                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
342
+                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
332 343
                 if (responseBean.getCode().equals("0")) {
333 344
                     responseBean.addSuccess("人脸录入成功");
334 345
                 } else {
@@ -351,69 +362,114 @@ public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> impleme
351 362
         }
352 363
         TaUser taUser = taUserMapper.selectById(taUserVerify.getUserId());
353 364
 
365
+        // 校验是否存在人脸
366
+        QueryWrapper<TaFace> faceQueryWrapper = new QueryWrapper<>();
367
+        faceQueryWrapper.eq("ta_user_verify_id", taUserVerify.getUserVerifyId());
368
+        TaFace taFace = taFaceMapper.selectOne(faceQueryWrapper);
369
+        if (null == taFace) {
370
+            responseBean.addError(ResponseErrorsMessages.NOT_USER_FACE.getCode(), ResponseErrorsMessages.NOT_USER_FACE.getMsg());
371
+            return responseBean;
372
+        }
373
+
374
+        // 海康数据
375
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(taUserVerify.getUserId(), taUserVerify.getCommunityId());
376
+
354 377
         // 设备树
355 378
         TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(taUserVerify.getCommunityId());
356 379
         // 所有设备
357 380
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(taUserVerify.getCommunityId(), taUserVerify.getUnitId(), 4);
358
-        if (CollectionUtils.isEmpty(tpEquipments)) {
359
-            responseBean.addError(ResponseErrorsMessages.NOT_EQUIPMENT.getCode(), ResponseErrorsMessages.NOT_EQUIPMENT.getMsg());
360
-            return responseBean;
361
-        }
362
-        List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
363
-        StringBuilder doorUuids = new StringBuilder();
364
-        StringBuilder deviceUuids = new StringBuilder();
365
-        equipmentUUID.forEach(e-> {
366
-            doorUuids.append(e.get("doorUuid"));
367
-            doorUuids.append(",");
368
-            deviceUuids.append(e.get("deviceUuid"));
369
-            deviceUuids.append(",");
370
-        });
371
-
372
-
373
-        // TODO 删除人脸,是否删除海康
374
-        // 修改人脸(图片为null时。海康删除人脸)
381
+
382
+        // 门禁删除人脸
383
+        if (CollectionUtils.isNotEmpty(tpEquipments)) {
384
+            // responseBean.addError(ResponseErrorsMessages.NOT_EQUIPMENT.getCode(), ResponseErrorsMessages.NOT_EQUIPMENT.getMsg());
385
+
386
+
387
+            List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
388
+            StringBuilder doorUuids = new StringBuilder();
389
+            StringBuilder deviceUuids = new StringBuilder();
390
+            equipmentUUID.forEach(e-> {
391
+                doorUuids.append(e.get("doorUuid"));
392
+                doorUuids.append(",");
393
+                deviceUuids.append(e.get("deviceUuid"));
394
+                deviceUuids.append(",");
395
+            });
396
+
397
+
398
+            // TODO 删除人脸,是否删除海康
399
+            // 修改人脸(图片为null时。海康删除人脸)
375 400
 //        HKOpenApi.HKpersonGroupId(null, taUser.getHkUserId(), taUser.getHkPersonNo(), taUser.getUserName(), taUser.getHkCardNo(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret());
376
-        // 删除 权限
377
-        Map<String,Object> selectUserFaceMap = Maps.newHashMap();
378
-        selectUserFaceMap.put("personIds", taUser.getHkUserId()+"");
379
-        selectUserFaceMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
380
-        selectUserFaceMap.put("appkey", tpEquipmentTree.getAppkey());
381
-        selectUserFaceMap.put("secret", tpEquipmentTree.getSecret());
382
-        selectUserFaceMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
383
-        // 查询人脸信息
384
-        HKOpenApi.selectUserFace(selectUserFaceMap);
385
-
386
-        Map<String,Object> deleteUserMap = Maps.newHashMap();
387
-        deleteUserMap.put("personIds", taUser.getHkUserId()+"");
388
-        deleteUserMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
389
-        deleteUserMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
390
-        deleteUserMap.put("appkey", tpEquipmentTree.getAppkey());
391
-        deleteUserMap.put("secret", tpEquipmentTree.getSecret());
392
-        deleteUserMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
393
-        // 删除当前人脸设备信息
394
-        String data= HKOpenApi.deleteUser(deleteUserMap);
395
-        JSONObject object= JSONObject.parseObject(data);
396
-
397
-        if (object.get("errorCode").equals(1)){
398
-            String errorMessage=  object.getString("errorMessage");
399
-            log.info("删除人脸信息异常:{}", data);
400
-            responseBean.addError(ResponseErrorsMessages.DELETE_FACE.getCode(), ResponseErrorsMessages.DELETE_FACE.getMsg());
401
-            return responseBean;
401
+            // 删除 权限
402
+            Map<String,Object> selectUserFaceMap = Maps.newHashMap();
403
+            selectUserFaceMap.put("personIds", taUserHk.getHkUserId()+"");
404
+            selectUserFaceMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
405
+            selectUserFaceMap.put("appkey", tpEquipmentTree.getAppkey());
406
+            selectUserFaceMap.put("secret", tpEquipmentTree.getSecret());
407
+            selectUserFaceMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
408
+            // 查询人脸信息
409
+            HKOpenApi.selectUserFace(selectUserFaceMap);
410
+
411
+            Map<String,Object> deleteUserMap = Maps.newHashMap();
412
+            deleteUserMap.put("personIds", taUserHk.getHkUserId()+"");
413
+            deleteUserMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
414
+            deleteUserMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
415
+            deleteUserMap.put("appkey", tpEquipmentTree.getAppkey());
416
+            deleteUserMap.put("secret", tpEquipmentTree.getSecret());
417
+            deleteUserMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
418
+            // 删除当前人脸设备信息
419
+            String data= HKOpenApi.deleteUser(deleteUserMap);
420
+            JSONObject object= JSONObject.parseObject(data);
421
+
422
+            if (object.get("errorCode").equals(1)){
423
+                String errorMessage=  object.getString("errorMessage");
424
+                log.info("删除人脸信息异常:{}", data);
425
+                responseBean.addError(ResponseErrorsMessages.DELETE_FACE.getCode(), ResponseErrorsMessages.DELETE_FACE.getMsg());
426
+                return responseBean;
427
+            }
428
+            // 异动同步到设备
429
+            Map<String,Object> appointJurisdictionMap = Maps.newHashMap();
430
+            appointJurisdictionMap.put("appkey", tpEquipmentTree.getAppkey());
431
+            appointJurisdictionMap.put("secret", tpEquipmentTree.getSecret());
432
+            appointJurisdictionMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
433
+            appointJurisdictionMap.put("personIds", taUserHk.getHkUserId()+"" );
434
+            appointJurisdictionMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
435
+            appointJurisdictionMap.put("operateType",3);
436
+            appointJurisdictionMap.put("includeFinger",0);
437
+            appointJurisdictionMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
438
+
439
+            HKOpenApi.appointJurisdiction(appointJurisdictionMap);
440
+
441
+        }
442
+
443
+        // 门口机删除人脸
444
+        // 单元门口机
445
+        List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(taUserVerify.getCommunityId(), taUserVerify.getUnitId(), 3);
446
+        if (CollectionUtils.isNotEmpty(visualEquipments)) {
447
+            List<String> visualList = visualEquipments.stream()
448
+                    .map(e -> tpConfigurationMapper.selectById(e.getUuidId()).getConfigurationValue())
449
+                    .collect(Collectors.toList());
450
+
451
+            List<Integer> userIdList = new ArrayList<>();
452
+            userIdList.add(taUserHk.getHkUserId());
453
+
454
+            Map<String, Object> delOutDoorAuthMap = Maps.newHashMap();
455
+            delOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
456
+            delOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
457
+            delOutDoorAuthMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
458
+            delOutDoorAuthMap.put("personIds", userIdList);
459
+            delOutDoorAuthMap.put("longNums", visualList);
460
+            delOutDoorAuthMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
461
+
462
+            //可视对讲时 指定人员权限删除
463
+            HKOpenApi.delOutDoorAuth(delOutDoorAuthMap);
464
+
465
+            // 可是对讲时, 删除人脸权限
466
+            HKOpenApi.visualIntercom(tpEquipmentTree.getOpUserUuid(), 2, userIdList, visualList, tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
467
+
402 468
         }
403 469
 
470
+
471
+
404 472
         taFaceMapper.deleteFace(userVerifyId);
405
-        // 异动同步到设备
406
-        Map<String,Object> appointJurisdictionMap = Maps.newHashMap();
407
-        appointJurisdictionMap.put("appkey", tpEquipmentTree.getAppkey());
408
-        appointJurisdictionMap.put("secret", tpEquipmentTree.getSecret());
409
-        appointJurisdictionMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
410
-        appointJurisdictionMap.put("personIds", taUser.getHkUserId()+"" );
411
-        appointJurisdictionMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
412
-        appointJurisdictionMap.put("operateType",3);
413
-        appointJurisdictionMap.put("includeFinger",0);
414
-        appointJurisdictionMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
415
-
416
-         HKOpenApi.appointJurisdiction(appointJurisdictionMap);
417 473
         // HKOpenApi.selectUserSynchronization();
418 474
         // ihkService.downloadAuthorityByDeviceUuids();
419 475
         return responseBean;

+ 50
- 19
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java Прегледај датотеку

@@ -50,6 +50,9 @@ public class HKServiceImpl implements IHKService {
50 50
     @Autowired
51 51
     private TaUserVerifyMapper taUserVerifyMapper;
52 52
 
53
+    @Autowired
54
+    private TaUserHkMapper taUserHkMapper;
55
+
53 56
 //    @Autowired
54 57
 //    private TaRemotelyDoorMapper taRemotelyDoorMapper;
55 58
 
@@ -80,28 +83,34 @@ public class HKServiceImpl implements IHKService {
80 83
         }
81 84
         TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
82 85
 
86
+        // 海康数据
87
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userVerify.getUserId(), userVerify.getCommunityId());
88
+        if (null == taUserHk) {
89
+            taUserHk = new TaUserHk();
90
+        }
91
+
83 92
         // 这两个值一般都是同时存在的
84 93
         // 当这两个值不存在的时候,就添加海康人员
85
-        if (null == user.getHkUserId() && null == user.getHkPersonNo()) {
94
+        if (null == taUserHk.getHkUserId() && null == taUserHk.getHkPersonNo()) {
86 95
             // 设置 海康id
87
-            user.setHkPersonNo(idGen.nextId());
96
+            taUserHk.setHkPersonNo(idGen.nextId());
88 97
             /**
89 98
              * 1.获取部门(比如 住户)
90 99
              * 2.根据部门编号推送 海康
91 100
              */
92 101
             taUserMapper.updateById(user);
93
-            addUserAndOpenCard(responseBean, user, tpEquipmentTree);
102
+            addUserAndOpenCard(responseBean, user, tpEquipmentTree, taUserHk);
94 103
         }
95 104
 
96 105
         // 卡片操作
97 106
         // 没有卡片就开卡
98
-        if (StringUtils.isBlank(user.getHkCardNo())) {
107
+        if (StringUtils.isBlank(taUserHk.getHkCardNo())) {
99 108
 
100 109
             // 添加卡片
101
-            responseBean = addCards(user, tpEquipmentTree);
110
+            responseBean = addCards(taUserHk, tpEquipmentTree);
102 111
 
103 112
             // 开卡
104
-            responseBean = openCard(user.getHkUserId(), Long.valueOf(user.getHkCardNo()), null,tpEquipmentTree);
113
+            responseBean = openCard(taUserHk.getHkUserId(), Long.valueOf(taUserHk.getHkCardNo()), null,tpEquipmentTree);
105 114
 
106 115
         }
107 116
 
@@ -125,7 +134,7 @@ public class HKServiceImpl implements IHKService {
125 134
         if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
126 135
 
127 136
             Map<String, Object> map = Maps.newHashMap();
128
-            map.put("personIds",String.valueOf(user.getHkUserId()));
137
+            map.put("personIds",String.valueOf(taUserHk.getHkUserId()));
129 138
             map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
130 139
             map.put("secret", tpEquipmentTree.getSecret());
131 140
             map.put("appkey", tpEquipmentTree.getAppkey());
@@ -134,7 +143,7 @@ public class HKServiceImpl implements IHKService {
134 143
 
135 144
             // 下发门禁权限
136 145
             Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
137
-            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
146
+            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(taUserHk.getHkUserId()));
138 147
             downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
139 148
             downloadAuthorityByPersonIdsMap.put("operateType",1);
140 149
             downloadAuthorityByPersonIdsMap.put("includeFinger",1);
@@ -148,13 +157,14 @@ public class HKServiceImpl implements IHKService {
148 157
         //--------- 可视对讲 ----------
149 158
 
150 159
         Map<String,Object> addOutDoorAuthMap = Maps.newHashMap();
151
-        addOutDoorAuthMap.put("authName", "荟居");
152
-        addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
160
+        addOutDoorAuthMap.put("authName", "app用户权限勿动");
161
+        addOutDoorAuthMap.put("personIds", Arrays.asList(taUserHk.getHkUserId()));
153 162
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
154 163
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
155 164
         addOutDoorAuthMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
165
+        addOutDoorAuthMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
156 166
 
157
-        // 单元门口机
167
+                // 单元门口机
158 168
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
159 169
         List<String> visualList = visualEquipments.stream()
160 170
                 .map(e-> tpConfigurationMapper.selectById(e.getUuidId()).getConfigurationValue())
@@ -188,7 +198,7 @@ public class HKServiceImpl implements IHKService {
188 198
      * @param response
189 199
      * @param user
190 200
      */
191
-    private void addUserAndOpenCard(ResponseBean response, TaUser user, TpEquipmentTree tpEquipmentTree) {
201
+    private void addUserAndOpenCard(ResponseBean response, TaUser user, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk) {
192 202
         Map<String, Object> parDept = Maps.newHashMap();
193 203
         parDept.put("pageNo", 1);
194 204
         parDept.put("pageSize", 100);
@@ -196,17 +206,20 @@ public class HKServiceImpl implements IHKService {
196 206
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
197 207
         parDept.put("appkey", tpEquipmentTree.getAppkey());
198 208
         parDept.put("secret", tpEquipmentTree.getSecret());
209
+        parDept.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
199 210
         // 部门UUID
200 211
         //String deptUuid = getDeptUUID(parDept);
201 212
 
202 213
         // 添加人员
203 214
         Map<String, Object> parUser = Maps.newHashMap();
204
-        parUser.put("personNo", user.getHkPersonNo());
215
+        parUser.put("personNo", taUserHk.getHkPersonNo());
205 216
         parUser.put("personName", user.getUserName());
206
-        parUser.put("phoneNo", user.getLoginName());
217
+        // parUser.put("phoneNo", user.getLoginName());
207 218
         //parUser.put("deptUuid", deptUuid);
219
+        parUser.put("remark", user.getLoginName());
208 220
         parUser.put("secret", tpEquipmentTree.getSecret());
209 221
         parUser.put("appkey", tpEquipmentTree.getAppkey());
222
+        parUser.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
210 223
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
211 224
         Map<String, Object> resultMap = JSONObject.parseObject(HKOpenApi.addUser(parUser), HashMap.class);
212 225
         int errorCode = (int) resultMap.get("errorCode");
@@ -216,9 +229,23 @@ public class HKServiceImpl implements IHKService {
216 229
             // 海康人员ID
217 230
             Integer personId = (Integer) resultDataMap.get("personId");
218 231
 
219
-            user.setHkUserId(personId);
232
+            taUserHk.setHkUserId(personId);
220 233
             // 存储海康人员ID
221
-            int row = taUserMapper.updateById(user);
234
+            int row = 0;
235
+            if (null == taUserHk.getId()) {
236
+                taUserHk.setTaUserId(user.getUserId());
237
+                taUserHk.setCommunityId(tpEquipmentTree.getCommunityId());
238
+                // 存储海康人员ID
239
+                row = taUserHkMapper.insert(taUserHk);
240
+                taUserHk.setCreateUser(taUserHk.getId());
241
+                taUserHk.setCreateDate(new Date());
242
+                taUserHkMapper.updateById(taUserHk);
243
+            } else {
244
+                taUserHk.setUpdateUser(taUserHk.getId());
245
+                taUserHk.setUpdateDate(new Date());
246
+                row = taUserHkMapper.updateById(taUserHk);
247
+            }
248
+
222 249
             if (row > 0) {
223 250
                 response.addSuccess("操作成功!");
224 251
             } else {
@@ -238,7 +265,7 @@ public class HKServiceImpl implements IHKService {
238 265
      * 添加卡片
239 266
      * @return
240 267
      */
241
-    public ResponseBean addCards(TaUser user, TpEquipmentTree tpEquipmentTree) {
268
+    public ResponseBean addCards(TaUserHk taUserHk, TpEquipmentTree tpEquipmentTree) {
242 269
 
243 270
         ResponseBean response = new ResponseBean();
244 271
 
@@ -252,6 +279,7 @@ public class HKServiceImpl implements IHKService {
252 279
         addCardsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
253 280
         addCardsMap.put("startCardNo", cardNo);
254 281
         addCardsMap.put("endCardNo", cardNo);
282
+        addCardsMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
255 283
         String addCardsJSON = HKOpenApi.addCards(addCardsMap);
256 284
         JSONObject addCardsJsonObject = JSONObject.parseObject(addCardsJSON);
257 285
         Integer addCardsResultCode = addCardsJsonObject.getInteger("errorCode");
@@ -261,8 +289,8 @@ public class HKServiceImpl implements IHKService {
261 289
         }
262 290
 
263 291
         // 卡片入库
264
-        user.setHkCardNo(cardNo + "");
265
-        taUserMapper.updateById(user);
292
+        taUserHk.setHkCardNo(cardNo + "");
293
+        taUserHkMapper.updateById(taUserHk);
266 294
         return response;
267 295
     }
268 296
 
@@ -304,6 +332,7 @@ public class HKServiceImpl implements IHKService {
304 332
         parOpenCard.put("endTime", time);
305 333
         parOpenCard.put("secret", tpEquipmentTree.getSecret());
306 334
         parOpenCard.put("appkey", tpEquipmentTree.getAppkey());
335
+        parOpenCard.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
307 336
         parOpenCard.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
308 337
         JSONObject openCardJSON = JSONObject.parseObject(HKOpenApi.openCard(parOpenCard));
309 338
         int code = (int) openCardJSON.get("errorCode");
@@ -363,6 +392,7 @@ public class HKServiceImpl implements IHKService {
363 392
         downloadFingerMap.put("opType", 1);
364 393
         downloadFingerMap.put("personIds", map.get("personIds"));
365 394
         downloadFingerMap.put("longNums", map.get("longNums"));
395
+        downloadFingerMap.put("opUserUuid", map.get("opUserUuid"));
366 396
         downloadFingerMap.put("openapi_ip_port_http", map.get("openapi_ip_port_http"));
367 397
         // 可视对讲 指定人员指纹权限下载
368 398
         HKOpenApi.downloadFinger(downloadFingerMap);
@@ -399,6 +429,7 @@ public class HKServiceImpl implements IHKService {
399 429
         parMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
400 430
         parMap.put("secret", tpEquipmentTree.getSecret());
401 431
         parMap.put("appkey", tpEquipmentTree.getAppkey());
432
+        parMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
402 433
         String data = HKOpenApi.syncControl(parMap);
403 434
         JSONObject jsonObject = JSONObject.parseObject(data);
404 435
         int errorCode = jsonObject.getInteger("errorCode");

+ 5
- 0
CODE/foreign-service/src/main/resources/mapper/TaUserHkMapper.xml Прегледај датотеку

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.TaUserHkMapper">
4
+
5
+</mapper>

+ 27
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/dao/TaUserHkMapper.java Прегледај датотеку

@@ -0,0 +1,27 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.community.huiju.model.TaUserHk;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import org.apache.ibatis.annotations.ResultMap;
7
+import org.apache.ibatis.annotations.Select;
8
+
9
+@Mapper
10
+public interface TaUserHkMapper {
11
+    int deleteByPrimaryKey(Integer id);
12
+
13
+    int insert(TaUserHk record);
14
+
15
+    int insertSelective(TaUserHk record);
16
+
17
+    TaUserHk selectByPrimaryKey(Integer id);
18
+
19
+    int updateByPrimaryKeySelective(TaUserHk record);
20
+
21
+    int updateByPrimaryKey(TaUserHk record);
22
+
23
+    @ResultMap("BaseResultMap")
24
+    @Select("select * from ta_user_hk where ta_user_id = #{userId} and community_id = #{communityId}")
25
+    TaUserHk selectByUserIdAndCommunityId(@Param("userId") Integer userId, @Param("communityId") Integer communityId);
26
+
27
+}

+ 105
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TaUserHk.java Прегледај датотеку

@@ -0,0 +1,105 @@
1
+package com.community.huiju.model;
2
+
3
+import java.util.Date;
4
+
5
+public class TaUserHk {
6
+    private Integer id;
7
+
8
+    private Integer communityId;
9
+
10
+    private Integer taUserId;
11
+
12
+    private Long hkPersonNo;
13
+
14
+    private Integer hkUserId;
15
+
16
+    private String hkCardNo;
17
+
18
+    private Integer createUser;
19
+
20
+    private Date createDate;
21
+
22
+    private Integer updateUser;
23
+
24
+    private Date updateDate;
25
+
26
+    public Integer getId() {
27
+        return id;
28
+    }
29
+
30
+    public void setId(Integer id) {
31
+        this.id = id;
32
+    }
33
+
34
+    public Integer getCommunityId() {
35
+        return communityId;
36
+    }
37
+
38
+    public void setCommunityId(Integer communityId) {
39
+        this.communityId = communityId;
40
+    }
41
+
42
+    public Integer getTaUserId() {
43
+        return taUserId;
44
+    }
45
+
46
+    public void setTaUserId(Integer taUserId) {
47
+        this.taUserId = taUserId;
48
+    }
49
+
50
+    public Long getHkPersonNo() {
51
+        return hkPersonNo;
52
+    }
53
+
54
+    public void setHkPersonNo(Long hkPersonNo) {
55
+        this.hkPersonNo = hkPersonNo;
56
+    }
57
+
58
+    public Integer getHkUserId() {
59
+        return hkUserId;
60
+    }
61
+
62
+    public void setHkUserId(Integer hkUserId) {
63
+        this.hkUserId = hkUserId;
64
+    }
65
+
66
+    public String getHkCardNo() {
67
+        return hkCardNo;
68
+    }
69
+
70
+    public void setHkCardNo(String hkCardNo) {
71
+        this.hkCardNo = hkCardNo == null ? null : hkCardNo.trim();
72
+    }
73
+
74
+    public Integer getCreateUser() {
75
+        return createUser;
76
+    }
77
+
78
+    public void setCreateUser(Integer createUser) {
79
+        this.createUser = createUser;
80
+    }
81
+
82
+    public Date getCreateDate() {
83
+        return createDate;
84
+    }
85
+
86
+    public void setCreateDate(Date createDate) {
87
+        this.createDate = createDate;
88
+    }
89
+
90
+    public Integer getUpdateUser() {
91
+        return updateUser;
92
+    }
93
+
94
+    public void setUpdateUser(Integer updateUser) {
95
+        this.updateUser = updateUser;
96
+    }
97
+
98
+    public Date getUpdateDate() {
99
+        return updateDate;
100
+    }
101
+
102
+    public void setUpdateDate(Date updateDate) {
103
+        this.updateDate = updateDate;
104
+    }
105
+}

+ 16
- 7
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java Прегледај датотеку

@@ -76,6 +76,9 @@ public class FaceServicelimpl implements FaceServiceI {
76 76
     @Autowired
77 77
     private ToCommunitiesMapper toCommunitiesMapper;
78 78
 
79
+    @Autowired
80
+    private TaUserHkMapper taUserHkMapper;
81
+
79 82
     @Override
80 83
     @Transactional(rollbackFor = Exception.class)
81 84
     public ResponseBean addFace(UserElement userElement, MultipartFile uploadFile, Integer otherUserId) {
@@ -155,6 +158,9 @@ public class FaceServicelimpl implements FaceServiceI {
155 158
             userVerifyId = otherUserVerify.getId();
156 159
         }
157 160
 
161
+        // 海康数据
162
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userElement.getId(), userElement.getCommunityId());
163
+
158 164
         /**
159 165
          * 删除的时候,将所有的海康设备的关联关系删除了,需要重新下发一次
160 166
          */
@@ -173,7 +179,7 @@ public class FaceServicelimpl implements FaceServiceI {
173 179
         face.setFaceImg(faceImg);
174 180
         face.setUpdateUser(userElement.getId());
175 181
         face.setUpdateDate(new Date());
176
-        ResponseBean resps = checKout(faceImg, face, false, uploadFile, activeUser, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
182
+        ResponseBean resps = checKout(faceImg, face, false, uploadFile, activeUser, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
177 183
         if (resps.getCode().equals("0")) {
178 184
             resps.addSuccess((Object) faceImg);
179 185
         } else {
@@ -197,10 +203,10 @@ public class FaceServicelimpl implements FaceServiceI {
197 203
      * @param openapi_ip_port_http 海康服务器地址
198 204
      * @return
199 205
      */
200
-    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) {
206
+    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) {
201 207
         ResponseBean responseBean = new ResponseBean();
202 208
         TaUser user = taUserMapper.selectByPrimaryKey(userId);
203
-        if (user.getHkUserId() == null) {
209
+        if (taUserHk.getHkUserId() == null) {
204 210
             responseBean.addError("海康人员ID不存在,无法录入");
205 211
             log.error("本地库人员ID:{}  的海康人员ID不存在", userId);
206 212
             return responseBean;
@@ -214,7 +220,7 @@ public class FaceServicelimpl implements FaceServiceI {
214 220
             Integer faceNum = (Integer) jsonObject.get("face_num");
215 221
 
216 222
             /*推送海康*/
217
-            String data = HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getHkPersonNo(), user.getUserName(), user.getHkCardNo(), appkey, secret, openapi_ip_port_http);
223
+            String data = HKOpenApi.HKpersonGroupId(uploadFile, taUserHk.getHkUserId(), taUserHk.getHkPersonNo(), user.getUserName(), taUserHk.getHkCardNo(), appkey, secret, openapi_ip_port_http, opUserUuid);
218 224
             /*boolean isA为true进行添加,为false进行修改*/
219 225
             if (0 == type && 1 == faceNum) {
220 226
                 if (null == data) {
@@ -250,7 +256,7 @@ public class FaceServicelimpl implements FaceServiceI {
250 256
                     Map<String,Object> map = Maps.newHashMap();
251 257
                     map.put("appkey", tpEquipmentTree.getAppkey());
252 258
                     map.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
253
-                    map.put("personIds", String.valueOf(user.getHkUserId()));
259
+                    map.put("personIds", String.valueOf(taUserHk.getHkUserId()));
254 260
                     map.put("deviceUuids", deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
255 261
                     map.put("type", 1);
256 262
                     map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
@@ -260,7 +266,7 @@ public class FaceServicelimpl implements FaceServiceI {
260 266
 
261 267
                 //可视对讲时 指定人员人脸权限下载
262 268
                 List<Integer> userIdList = new ArrayList<>();
263
-                userIdList.add(user.getHkUserId());
269
+                userIdList.add(taUserHk.getHkUserId());
264 270
                 //临时设备编号
265 271
                 // TODO 根据期楼栋号,来查询出门口机
266 272
 
@@ -396,12 +402,15 @@ public class FaceServicelimpl implements FaceServiceI {
396 402
             return response;
397 403
         }
398 404
 
405
+        // 海康数据
406
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userVerify.getUserId(), userVerify.getCommunityId());
407
+
399 408
         //查询当前用户是否有人脸记录
400 409
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
401 410
         if (null == face) {
402 411
             boolean isA = true;
403 412
             if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
404
-                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
413
+                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer(), tpEquipmentTree.getOpUserUuid(), taUserHk);
405 414
                 if (responseBean.getCode().equals("0")) {
406 415
                     responseBean.addSuccess("图片录入成功");
407 416
                 } else {

+ 47
- 18
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java Прегледај датотеку

@@ -54,6 +54,9 @@ public class HKServiceImpl implements IHKService {
54 54
     @Autowired
55 55
     private TaRemotelyDoorMapper taRemotelyDoorMapper;
56 56
 
57
+    @Autowired
58
+    private TaUserHkMapper taUserHkMapper;
59
+
57 60
     /**
58 61
      * 获取设备UUID
59 62
      * @param equipmentList
@@ -79,30 +82,37 @@ public class HKServiceImpl implements IHKService {
79 82
         if (null == userVerify) {
80 83
             throw new WisdomException("审核数据不存在!");
81 84
         }
85
+
86
+        // 海康数据
87
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(userVerify.getUserId(), userVerify.getCommunityId());
88
+        if (null == taUserHk) {
89
+            taUserHk = new TaUserHk();
90
+        }
91
+
82 92
         TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(userVerify.getCommunityId());
83 93
 
84 94
         // 这两个值一般都是同时存在的
85 95
         // 当这两个值不存在的时候,就添加海康人员
86
-        if (null == user.getHkUserId() && null == user.getHkPersonNo()) {
96
+        if (null == taUserHk.getHkUserId() && null == taUserHk.getHkPersonNo()) {
87 97
             // 设置 海康id
88
-            user.setHkPersonNo(idGen.nextId());
98
+            taUserHk.setHkPersonNo(idGen.nextId());
89 99
             /**
90 100
              * 1.获取部门(比如 住户)
91 101
              * 2.根据部门编号推送 海康
92 102
              */
93 103
             taUserMapper.updateByPrimaryKeySelective(user);
94
-            addUserAndOpenCard(responseBean, user, tpEquipmentTree);
104
+            addUserAndOpenCard(responseBean, user, tpEquipmentTree, taUserHk);
95 105
         }
96 106
 
97 107
         // 卡片操作
98 108
         // 没有卡片就开卡
99
-        if (StringUtils.isBlank(user.getHkCardNo())) {
109
+        if (StringUtils.isBlank(taUserHk.getHkCardNo())) {
100 110
 
101 111
             // 添加卡片
102
-            responseBean = addCards(user, tpEquipmentTree);
112
+            responseBean = addCards(taUserHk, tpEquipmentTree);
103 113
 
104 114
             // 开卡
105
-            responseBean = openCard(user.getHkUserId(), Long.valueOf(user.getHkCardNo()), null,tpEquipmentTree);
115
+            responseBean = openCard(taUserHk.getHkUserId(), Long.valueOf(taUserHk.getHkCardNo()), null,tpEquipmentTree);
106 116
 
107 117
         }
108 118
 
@@ -126,22 +136,24 @@ public class HKServiceImpl implements IHKService {
126 136
         if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
127 137
 
128 138
             Map<String, Object> map = Maps.newHashMap();
129
-            map.put("personIds",String.valueOf(user.getHkUserId()));
139
+            map.put("personIds",String.valueOf(taUserHk.getHkUserId()));
130 140
             map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
131 141
             map.put("secret", tpEquipmentTree.getSecret());
132 142
             map.put("appkey", tpEquipmentTree.getAppkey());
133 143
             map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
144
+            map.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
134 145
             HKOpenApi.addAuthoritiesByPersonIds(map);
135 146
 
136 147
             // 下发门禁权限
137 148
             Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
138
-            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
149
+            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(taUserHk.getHkUserId()));
139 150
             downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
140 151
             downloadAuthorityByPersonIdsMap.put("operateType",1);
141 152
             downloadAuthorityByPersonIdsMap.put("includeFinger",1);
142 153
             downloadAuthorityByPersonIdsMap.put("secret", tpEquipmentTree.getSecret());
143 154
             downloadAuthorityByPersonIdsMap.put("appkey", tpEquipmentTree.getAppkey());
144 155
             downloadAuthorityByPersonIdsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
156
+            downloadAuthorityByPersonIdsMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
145 157
             HKOpenApi.downloadAuthorityByPersonIds(downloadAuthorityByPersonIdsMap);
146 158
 
147 159
         }
@@ -150,10 +162,11 @@ public class HKServiceImpl implements IHKService {
150 162
 
151 163
         Map<String,Object> addOutDoorAuthMap = Maps.newHashMap();
152 164
         addOutDoorAuthMap.put("authName", "app用户权限勿动");
153
-        addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
165
+        addOutDoorAuthMap.put("personIds", Arrays.asList(taUserHk.getHkUserId()));
154 166
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
155 167
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
156 168
         addOutDoorAuthMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
169
+        addOutDoorAuthMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
157 170
 
158 171
         // 单元门口机
159 172
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
@@ -189,7 +202,7 @@ public class HKServiceImpl implements IHKService {
189 202
      * @param response
190 203
      * @param user
191 204
      */
192
-    private void addUserAndOpenCard(ResponseBean response, TaUser user, TpEquipmentTree tpEquipmentTree) {
205
+    private void addUserAndOpenCard(ResponseBean response, TaUser user, TpEquipmentTree tpEquipmentTree, TaUserHk taUserHk) {
193 206
         Map<String, Object> parDept = Maps.newHashMap();
194 207
         parDept.put("pageNo", 1);
195 208
         parDept.put("pageSize", 100);
@@ -197,18 +210,21 @@ public class HKServiceImpl implements IHKService {
197 210
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
198 211
         parDept.put("appkey", tpEquipmentTree.getAppkey());
199 212
         parDept.put("secret", tpEquipmentTree.getSecret());
213
+        parDept.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
200 214
         // 部门UUID
201 215
         //String deptUuid = getDeptUUID(parDept);
202 216
 
203 217
         // 添加人员
204 218
         Map<String, Object> parUser = Maps.newHashMap();
205
-        parUser.put("personNo", user.getHkPersonNo());
219
+        parUser.put("personNo", taUserHk.getHkPersonNo());
206 220
         parUser.put("personName", user.getUserName());
207
-        parUser.put("phoneNo", user.getLoginName());
221
+        // parUser.put("phoneNo", user.getLoginName());
222
+        parUser.put("remark", user.getLoginName());
208 223
         //parUser.put("deptUuid", deptUuid);
209 224
         parUser.put("secret", tpEquipmentTree.getSecret());
210 225
         parUser.put("appkey", tpEquipmentTree.getAppkey());
211 226
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
227
+        parUser.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
212 228
         Map<String, Object> resultMap = JSONObject.parseObject(HKOpenApi.addUser(parUser), HashMap.class);
213 229
         Integer errorCode = (Integer) resultMap.get("errorCode");
214 230
         if (errorCode == 0) {
@@ -217,9 +233,18 @@ public class HKServiceImpl implements IHKService {
217 233
             // 海康人员ID
218 234
             Integer personId = (Integer) resultDataMap.get("personId");
219 235
 
220
-            user.setHkUserId(personId);
221
-            // 存储海康人员ID
222
-            int row = taUserMapper.updateByPrimaryKeySelective(user);
236
+            taUserHk.setHkUserId(personId);
237
+
238
+            int row = 0;
239
+            if (null == taUserHk.getId()) {
240
+                taUserHk.setTaUserId(user.getId());
241
+                taUserHk.setCommunityId(tpEquipmentTree.getCommunityId());
242
+                // 存储海康人员ID
243
+                row = taUserHkMapper.insertSelective(taUserHk);
244
+            } else {
245
+                row = taUserHkMapper.updateByPrimaryKeySelective(taUserHk);
246
+            }
247
+
223 248
             if (row > 0) {
224 249
                 response.addSuccess("操作成功!");
225 250
             } else {
@@ -239,7 +264,7 @@ public class HKServiceImpl implements IHKService {
239 264
      * 添加卡片
240 265
      * @return
241 266
      */
242
-    public ResponseBean addCards(TaUser user, TpEquipmentTree tpEquipmentTree) {
267
+    public ResponseBean addCards(TaUserHk taUserHk, TpEquipmentTree tpEquipmentTree) {
243 268
 
244 269
         ResponseBean response = new ResponseBean();
245 270
 
@@ -253,6 +278,7 @@ public class HKServiceImpl implements IHKService {
253 278
         addCardsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
254 279
         addCardsMap.put("startCardNo", cardNo);
255 280
         addCardsMap.put("endCardNo", cardNo);
281
+        addCardsMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
256 282
         String addCardsJSON = HKOpenApi.addCards(addCardsMap);
257 283
         JSONObject addCardsJsonObject = JSONObject.parseObject(addCardsJSON);
258 284
         Integer addCardsResultCode = addCardsJsonObject.getInteger("errorCode");
@@ -262,8 +288,8 @@ public class HKServiceImpl implements IHKService {
262 288
         }
263 289
 
264 290
         // 卡片入库
265
-        user.setHkCardNo(cardNo + "");
266
-        taUserMapper.updateByPrimaryKeySelective(user);
291
+        taUserHk.setHkCardNo(cardNo + "");
292
+        taUserHkMapper.updateByPrimaryKeySelective(taUserHk);
267 293
         return response;
268 294
     }
269 295
 
@@ -306,6 +332,7 @@ public class HKServiceImpl implements IHKService {
306 332
         parOpenCard.put("secret", tpEquipmentTree.getSecret());
307 333
         parOpenCard.put("appkey", tpEquipmentTree.getAppkey());
308 334
         parOpenCard.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
335
+        parOpenCard.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
309 336
         JSONObject openCardJSON = JSONObject.parseObject(HKOpenApi.openCard(parOpenCard));
310 337
         int code = (int) openCardJSON.get("errorCode");
311 338
         if (code == 0) {
@@ -365,6 +392,7 @@ public class HKServiceImpl implements IHKService {
365 392
         downloadFingerMap.put("personIds", map.get("personIds"));
366 393
         downloadFingerMap.put("longNums", map.get("longNums"));
367 394
         downloadFingerMap.put("openapi_ip_port_http", map.get("openapi_ip_port_http"));
395
+        downloadFingerMap.put("opUserUuid", map.get("opUserUuid"));
368 396
         // 可视对讲 指定人员指纹权限下载
369 397
         HKOpenApi.downloadFinger(downloadFingerMap);
370 398
     }
@@ -402,6 +430,7 @@ public class HKServiceImpl implements IHKService {
402 430
         parMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
403 431
         parMap.put("secret", tpEquipmentTree.getSecret());
404 432
         parMap.put("appkey", tpEquipmentTree.getAppkey());
433
+        parMap.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
405 434
         String data = HKOpenApi.syncControl(parMap);
406 435
         JSONObject jsonObject = JSONObject.parseObject(data);
407 436
         int errorCode = jsonObject.getInteger("errorCode");

+ 2
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java Прегледај датотеку

@@ -104,7 +104,7 @@ public class MonitoringServiceImpl implements IMonitoringService {
104 104
 //
105 105
 //        response.addSuccess(urlList);
106 106
         ResponseBean response = new ResponseBean();
107
-        Page<TpEquipment> page = PageHelper.startPage(pageNo, pageSize);
107
+        Page<TpEquipment> page = PageHelper.startPage(pageNo, 100);
108 108
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityId(communityId);
109 109
 
110 110
         if (CollectionUtils.isEmpty(tpEquipments)) {
@@ -210,7 +210,7 @@ public class MonitoringServiceImpl implements IMonitoringService {
210 210
     @Override
211 211
     public ResponseBean getHlsByCommunityId(UserElement userElement, Integer communityId, Integer pageNo, Integer pageSize) {
212 212
         ResponseBean response = new ResponseBean();
213
-        Page<TpEquipment> page = PageHelper.startPage(pageNo, pageSize);
213
+        Page<TpEquipment> page = PageHelper.startPage(pageNo, 100);
214 214
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectHlsByCommunityId(communityId);
215 215
 
216 216
         if (CollectionUtils.isEmpty(tpEquipments)) {

+ 12
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java Прегледај датотеку

@@ -170,6 +170,9 @@ public class TaUserServiceImpl implements ITaUserService {
170 170
     @Autowired
171 171
     private ToOperateTelMapper toOperateTelMapper;
172 172
 
173
+    @Autowired
174
+    private TaUserHkMapper taUserHkMapper;
175
+
173 176
     @Override
174 177
     @Transactional(rollbackFor = Exception.class)
175 178
     public ResponseBean login(String loginName, String code, HttpSession session) {
@@ -1080,6 +1083,15 @@ public class TaUserServiceImpl implements ITaUserService {
1080 1083
         taUserVO.setUserVerifyId(userVerify.getId());
1081 1084
         taUserVO.setVerifyStatus(userVerify.getVerifyStatus());
1082 1085
 
1086
+        // 设置海康数据
1087
+        TaUserHk taUserHk = taUserHkMapper.selectByUserIdAndCommunityId(taUserVO.getId(), userVerify.getCommunityId());
1088
+        if (null != taUserHk) {
1089
+            taUserVO.setHkUserId(taUserHk.getHkUserId() + "");
1090
+            taUserVO.setHkPersonNo(taUserHk.getHkPersonNo() + "");
1091
+            taUserVO.setHkCardNo(taUserHk.getHkCardNo());
1092
+        }
1093
+
1094
+
1083 1095
         // 认证状态  0 是未审核   1是审核通过   2是审核不通过
1084 1096
         String verifyStatus = userVerify.getVerifyStatus();
1085 1097
         // 有一个审核通过的房产

+ 15
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/vo/TaUserVO.java Прегледај датотеку

@@ -103,4 +103,19 @@ public class TaUserVO {
103 103
      * 备注 /  审核不通过原因
104 104
      */
105 105
     private String remark;
106
+
107
+    /**
108
+     * 海康人员编号
109
+     */
110
+    private String hkPersonNo;
111
+
112
+    /**
113
+     * 海康用户id
114
+     */
115
+    private String hkUserId;
116
+
117
+    /**
118
+     * 海康卡片号码
119
+     */
120
+    private String hkCardNo;
106 121
 }

+ 153
- 0
CODE/smart-community/app-api/src/main/resources/mapper/TaUserHkMapper.xml Прегледај датотеку

@@ -0,0 +1,153 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3
+<mapper namespace="com.community.huiju.dao.TaUserHkMapper" >
4
+  <resultMap id="BaseResultMap" type="com.community.huiju.model.TaUserHk" >
5
+    <id column="id" property="id" jdbcType="INTEGER" />
6
+    <result column="community_id" property="communityId" jdbcType="INTEGER" />
7
+    <result column="ta_user_id" property="taUserId" jdbcType="INTEGER" />
8
+    <result column="hk_person_no" property="hkPersonNo" jdbcType="BIGINT" />
9
+    <result column="hk_user_id" property="hkUserId" jdbcType="INTEGER" />
10
+    <result column="hk_card_no" property="hkCardNo" jdbcType="VARCHAR" />
11
+    <result column="create_user" property="createUser" jdbcType="INTEGER" />
12
+    <result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
13
+    <result column="update_user" property="updateUser" jdbcType="INTEGER" />
14
+    <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
15
+  </resultMap>
16
+  <sql id="Base_Column_List" >
17
+    id, community_id, ta_user_id, hk_person_no, hk_user_id, hk_card_no, create_user, 
18
+    create_date, update_user, update_date
19
+  </sql>
20
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
21
+    select 
22
+    <include refid="Base_Column_List" />
23
+    from ta_user_hk
24
+    where id = #{id,jdbcType=INTEGER}
25
+  </select>
26
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
27
+    delete from ta_user_hk
28
+    where id = #{id,jdbcType=INTEGER}
29
+  </delete>
30
+  <insert id="insert" parameterType="com.community.huiju.model.TaUserHk"  useGeneratedKeys="true" keyColumn="id" keyProperty="id">
31
+    insert into ta_user_hk (id, community_id, ta_user_id, 
32
+      hk_person_no, hk_user_id, hk_card_no, 
33
+      create_user, create_date, update_user, 
34
+      update_date)
35
+    values (#{id,jdbcType=INTEGER}, #{communityId,jdbcType=INTEGER}, #{taUserId,jdbcType=INTEGER}, 
36
+      #{hkPersonNo,jdbcType=BIGINT}, #{hkUserId,jdbcType=INTEGER}, #{hkCardNo,jdbcType=VARCHAR}, 
37
+      #{createUser,jdbcType=INTEGER}, #{createDate,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=INTEGER}, 
38
+      #{updateDate,jdbcType=TIMESTAMP})
39
+  </insert>
40
+  <insert id="insertSelective" parameterType="com.community.huiju.model.TaUserHk" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
41
+    insert into ta_user_hk
42
+    <trim prefix="(" suffix=")" suffixOverrides="," >
43
+      <if test="id != null" >
44
+        id,
45
+      </if>
46
+      <if test="communityId != null" >
47
+        community_id,
48
+      </if>
49
+      <if test="taUserId != null" >
50
+        ta_user_id,
51
+      </if>
52
+      <if test="hkPersonNo != null" >
53
+        hk_person_no,
54
+      </if>
55
+      <if test="hkUserId != null" >
56
+        hk_user_id,
57
+      </if>
58
+      <if test="hkCardNo != null" >
59
+        hk_card_no,
60
+      </if>
61
+      <if test="createUser != null" >
62
+        create_user,
63
+      </if>
64
+      <if test="createDate != null" >
65
+        create_date,
66
+      </if>
67
+      <if test="updateUser != null" >
68
+        update_user,
69
+      </if>
70
+      <if test="updateDate != null" >
71
+        update_date,
72
+      </if>
73
+    </trim>
74
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
75
+      <if test="id != null" >
76
+        #{id,jdbcType=INTEGER},
77
+      </if>
78
+      <if test="communityId != null" >
79
+        #{communityId,jdbcType=INTEGER},
80
+      </if>
81
+      <if test="taUserId != null" >
82
+        #{taUserId,jdbcType=INTEGER},
83
+      </if>
84
+      <if test="hkPersonNo != null" >
85
+        #{hkPersonNo,jdbcType=BIGINT},
86
+      </if>
87
+      <if test="hkUserId != null" >
88
+        #{hkUserId,jdbcType=INTEGER},
89
+      </if>
90
+      <if test="hkCardNo != null" >
91
+        #{hkCardNo,jdbcType=VARCHAR},
92
+      </if>
93
+      <if test="createUser != null" >
94
+        #{createUser,jdbcType=INTEGER},
95
+      </if>
96
+      <if test="createDate != null" >
97
+        #{createDate,jdbcType=TIMESTAMP},
98
+      </if>
99
+      <if test="updateUser != null" >
100
+        #{updateUser,jdbcType=INTEGER},
101
+      </if>
102
+      <if test="updateDate != null" >
103
+        #{updateDate,jdbcType=TIMESTAMP},
104
+      </if>
105
+    </trim>
106
+  </insert>
107
+  <update id="updateByPrimaryKeySelective" parameterType="com.community.huiju.model.TaUserHk" >
108
+    update ta_user_hk
109
+    <set >
110
+      <if test="communityId != null" >
111
+        community_id = #{communityId,jdbcType=INTEGER},
112
+      </if>
113
+      <if test="taUserId != null" >
114
+        ta_user_id = #{taUserId,jdbcType=INTEGER},
115
+      </if>
116
+      <if test="hkPersonNo != null" >
117
+        hk_person_no = #{hkPersonNo,jdbcType=BIGINT},
118
+      </if>
119
+      <if test="hkUserId != null" >
120
+        hk_user_id = #{hkUserId,jdbcType=INTEGER},
121
+      </if>
122
+      <if test="hkCardNo != null" >
123
+        hk_card_no = #{hkCardNo,jdbcType=VARCHAR},
124
+      </if>
125
+      <if test="createUser != null" >
126
+        create_user = #{createUser,jdbcType=INTEGER},
127
+      </if>
128
+      <if test="createDate != null" >
129
+        create_date = #{createDate,jdbcType=TIMESTAMP},
130
+      </if>
131
+      <if test="updateUser != null" >
132
+        update_user = #{updateUser,jdbcType=INTEGER},
133
+      </if>
134
+      <if test="updateDate != null" >
135
+        update_date = #{updateDate,jdbcType=TIMESTAMP},
136
+      </if>
137
+    </set>
138
+    where id = #{id,jdbcType=INTEGER}
139
+  </update>
140
+  <update id="updateByPrimaryKey" parameterType="com.community.huiju.model.TaUserHk" >
141
+    update ta_user_hk
142
+    set community_id = #{communityId,jdbcType=INTEGER},
143
+      ta_user_id = #{taUserId,jdbcType=INTEGER},
144
+      hk_person_no = #{hkPersonNo,jdbcType=BIGINT},
145
+      hk_user_id = #{hkUserId,jdbcType=INTEGER},
146
+      hk_card_no = #{hkCardNo,jdbcType=VARCHAR},
147
+      create_user = #{createUser,jdbcType=INTEGER},
148
+      create_date = #{createDate,jdbcType=TIMESTAMP},
149
+      update_user = #{updateUser,jdbcType=INTEGER},
150
+      update_date = #{updateDate,jdbcType=TIMESTAMP}
151
+    where id = #{id,jdbcType=INTEGER}
152
+  </update>
153
+</mapper>

+ 17
- 26
CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKOpenApi.java Прегледај датотеку

@@ -1,6 +1,7 @@
1 1
 package com.community.commom.hk;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4
+import com.alibaba.fastjson.JSONObject;
4 5
 import com.google.common.collect.Maps;
5 6
 import lombok.extern.slf4j.Slf4j;
6 7
 import org.springframework.web.multipart.MultipartFile;
@@ -99,7 +100,8 @@ public class HKOpenApi {
99 100
         parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
100 101
         parMap.put("personNo",map.get("personNo"));
101 102
         parMap.put("personName",map.get("personName"));
102
-        parMap.put("phoneNo",map.get("phoneNo"));
103
+        // parMap.put("phoneNo",map.get("phoneNo"));
104
+        parMap.put("remark", map.get("remark"));
103 105
         parMap.put("deptUuid",map.get("deptUuid"));
104 106
         // parMap.put("cardNo",map.get("cardNo"));
105 107
         String params =  JSON.toJSONString(parMap);
@@ -498,7 +500,7 @@ public class HKOpenApi {
498 500
      *  * personName 卡号
499 501
      * @return
500 502
      */
501
-    public static String HKpersonGroupId(MultipartFile faceImg,Integer personId,Long personNo,String personName,String cardNo, String  appkey, String secret, String openapi_ip_port_http) {
503
+    public static String HKpersonGroupId(MultipartFile faceImg,Integer personId,Long personNo,String personName,String cardNo, String  appkey, String secret, String openapi_ip_port_http, String opUserUuid) {
502 504
         byte [] fileByte = new byte[0];
503 505
         try {
504 506
             if (null!=faceImg) {
@@ -515,7 +517,7 @@ public class HKOpenApi {
515 517
         map.put("appkey", appkey == null?HKConstant.APPKEY:appkey);
516 518
         map.put("time", System.currentTimeMillis());
517 519
 //        map.put("token",map.get("secret") == null ? HKConstant.SECRET : String.valueOf(map.get("secret")));
518
-        map.put("opUserUuid", HKConstant.OP_USER_UUID);
520
+        map.put("opUserUuid", opUserUuid == null ? HKConstant.OP_USER_UUID : opUserUuid);
519 521
         map.put("personId", personId);
520 522
         map.put("personNo", personNo);
521 523
         map.put("personName", personName);
@@ -993,29 +995,18 @@ public class HKOpenApi {
993 995
     }
994 996
 
995 997
     public static void main(String[] args) {
996
-//         getDefaultUserUuid();
997
-        Map<String,Object> parMap = Maps.newHashMap();
998
-        String url = "http://qsp80.ngrok.jcjyhn.com:8888" + HKConstant.ITF_MONITORY_POINT;
999
-        //设置APPKEY
1000
-        parMap.put("appkey", "d30396a0");
1001
-        //设置时间参数
1002
-        parMap.put("time", System.currentTimeMillis());
1003
-        parMap.put("pageNo","1");
1004
-        parMap.put("pageSize","100");
1005
-        parMap.put("opUserUuid","5b2eb534696b11e89c2e438f92627767");
1006
-        parMap.put("unitUuids","1048576");
1007
-        String params =  JSON.toJSONString(parMap);
1008
-        log.info("获取 监控列表 请求参数:{}", params);
1009
-        String data = null;
1010
-        try {
1011
-            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, "6a939cf0b2914004a2755e70c6c96e02"), params);
1012
-            log.info("获取 监控列表 请求返回结果:{}",data);
1013
-        } catch (Exception e) {
1014
-            e.printStackTrace();
1015
-            log.error("获取监控列表失败!",e);
1016
-            throw new RuntimeException("获取监控列表失败!");
1017
-        }
1018
-        //getDoorsByRegionUuids();
998
+       // 添加人员
999
+        Map<String, Object> parUser = Maps.newHashMap();
1000
+        parUser.put("personNo", "13");
1001
+        parUser.put("personName", "测试备注");
1002
+        // parUser.put("phoneNo", user.getLoginName());
1003
+        parUser.put("remark", "15871301022");
1004
+        //parUser.put("deptUuid", deptUuid);
1005
+        parUser.put("secret", "64a1f32d53784ce2a34bd81822db1b91");
1006
+        parUser.put("appkey", "b4434b13");
1007
+        parUser.put("opUserUuid", "5b2eb534696b11e89c2e438f92627767");
1008
+        parUser.put("openapi_ip_port_http", "http://222.190.241.190:888");
1009
+        System.out.println(HKOpenApi.addUser(parUser));
1019 1010
     }
1020 1011
     /**
1021 1012
      *     删除当前人脸设备信息

+ 18
- 0
CODE/smart-community/community-common/src/main/java/com/community/commom/session/UserElement.java Прегледај датотеку

@@ -57,6 +57,21 @@ public class UserElement implements Serializable {
57 57
     /** 当前登录 户号id **/
58 58
     private Integer roomNoId;
59 59
 
60
+    /**
61
+     * 海康人员编号
62
+     */
63
+    private String hkPersonNo;
64
+
65
+    /**
66
+     * 海康用户id
67
+     */
68
+    private String hkUserId;
69
+
70
+    /**
71
+     * 海康卡片号码
72
+     */
73
+    private String hkCardNo;
74
+
60 75
     @Override
61 76
     public String toString() {
62 77
         return "UserElement{" +
@@ -73,6 +88,9 @@ public class UserElement implements Serializable {
73 88
                 ", unitId=" + unitId +
74 89
                 ", levelId=" + levelId +
75 90
                 ", roomNoId=" + roomNoId +
91
+                ", hkPersonNo='" + hkPersonNo + '\'' +
92
+                ", hkUserId='" + hkUserId + '\'' +
93
+                ", hkCardNo='" + hkCardNo + '\'' +
76 94
                 '}';
77 95
     }
78 96
 }

+ 4
- 13
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HkDoorsController.java Прегледај датотеку

@@ -126,22 +126,13 @@ public class HkDoorsController {
126 126
             videoConfiguration.setCommunityId(communityId);
127 127
             videoConfiguration.setDoorUuid(null);
128 128
             videoConfiguration.setDeviceUuid(doorJson.getString("deviceUuid"));
129
-//            videoConfiguration.setDeviceType(1);
130 129
             tpConfigurationService.save(videoConfiguration);
131 130
 
132 131
             //插入设备
133
-            TpEquipment videoEquipment = new TpEquipment();
134
-            videoEquipment.setCommunityId(communityId);
135
-            videoEquipment.setCreateTime(LocalDateTime.now());
136
-            videoEquipment.setCreateUser(1);
137
-            videoEquipment.setUpdateTime(LocalDateTime.now());
138
-            videoEquipment.setUpdateUser(1);
139
-            videoEquipment.setEquipmentType("5");
140
-            videoEquipment.setUuidId(videoConfiguration.getId());
141
-            videoEquipment.setEquipmentTreeId(equipmentTreeId);
142
-            videoEquipment.setAppkey("dbeb0f364e9149c19b06a858c5bb7c29");
143
-            videoEquipment.setSecret("0b1933480ffbf01e9e5e5f4447033d12");
144
-            tpEquipmentService.save(videoEquipment);
132
+            tpEquipment.setUrlId(videoConfiguration.getId());
133
+            tpEquipment.setAppkey("dbeb0f364e9149c19b06a858c5bb7c29");
134
+            tpEquipment.setSecret("0b1933480ffbf01e9e5e5f4447033d12");
135
+            tpEquipmentService.updateById(tpEquipment);
145 136
         }
146 137
 
147 138
     }

+ 1
- 1
文档/MYSQL/smartCommunity.pdb Прегледај датотеку

@@ -1,5 +1,5 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2
-<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1560136364" Name="smartCommunity" Objects="1289" Symbols="142" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
2
+<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1560136364" Name="smartCommunity" Objects="1278" Symbols="142" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
3 3
 <!-- do not edit this file -->
4 4
 
5 5
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">

+ 1
- 1
文档/MYSQL/smartCommunity.pdm Прегледај датотеку

@@ -1,5 +1,5 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2
-<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1560136364" Name="smartCommunity" Objects="1289" Symbols="142" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
2
+<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1560136364" Name="smartCommunity" Objects="1278" Symbols="142" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
3 3
 <!-- do not edit this file -->
4 4
 
5 5
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">