dingxin 6 年前
父节点
当前提交
baeb2fb935
共有 22 个文件被更改,包括 494 次插入195 次删除
  1. 12
    12
      CODE/foreign-service/src/main/java/com/community/huiju/controller/FSController.java
  2. 16
    16
      CODE/foreign-service/src/main/java/com/community/huiju/controller/TaFceController.java
  3. 4
    4
      CODE/foreign-service/src/main/java/com/community/huiju/controller/TaUserController.java
  4. 1
    1
      CODE/foreign-service/src/main/java/com/community/huiju/filter/SignFilter.java
  5. 108
    56
      CODE/foreign-service/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java
  6. 1
    1
      CODE/foreign-service/src/main/resources/application-dev.yml
  7. 2
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/MonitoringController.java
  8. 13
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TaUserVerify.java
  9. 13
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpEquipment.java
  10. 24
    19
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  11. 81
    35
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java
  12. 12
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java
  13. 1
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java
  14. 2
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserVerifyServicelmpl.java
  15. 1
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/WxLoginServiceImpl.java
  16. 5
    0
      CODE/smart-community/community-common/src/main/java/com/community/commom/constant/Constant.java
  17. 16
    1
      CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKConstant.java
  18. 153
    28
      CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKOpenApi.java
  19. 6
    6
      CODE/smart-community/zuul/src/main/java/com/community/huiju/ZuulApplication.java
  20. 1
    1
      VUECODE/smart-operate-manage/src/views/login/index.vue
  21. 15
    9
      VUECODE/smart-property-manage/src/views/building/audit/index.vue
  22. 7
    1
      VUECODE/smart-property-manage/src/views/building/info/index.vue

+ 12
- 12
CODE/foreign-service/src/main/java/com/community/huiju/controller/FSController.java 查看文件

24
     @ApiImplicitParams({
24
     @ApiImplicitParams({
25
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
25
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
26
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
26
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
27
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
28
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
29
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
30
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
27
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
28
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
29
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
30
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
31
     })
31
     })
32
     public ResponseBean getParkInfoByCarNo(@PathVariable("carNo") String carNo,
32
     public ResponseBean getParkInfoByCarNo(@PathVariable("carNo") String carNo,
33
                                            @RequestParam(value = "communityId") Integer communityId) {
33
                                            @RequestParam(value = "communityId") Integer communityId) {
41
     @ApiImplicitParams({
41
     @ApiImplicitParams({
42
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
42
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
43
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
43
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
44
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
45
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
46
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
47
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
44
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
45
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
46
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
47
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
48
     })
48
     })
49
     public ResponseBean parkGetMonthCardInfoByCarNo(@PathVariable("carNo") String carNo,
49
     public ResponseBean parkGetMonthCardInfoByCarNo(@PathVariable("carNo") String carNo,
50
                                                     @RequestParam(value = "communityId") Integer communityId) {
50
                                                     @RequestParam(value = "communityId") Integer communityId) {
58
     @ApiImplicitParams({
58
     @ApiImplicitParams({
59
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
59
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
60
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
60
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
61
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
62
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
63
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
64
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
61
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
62
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
63
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
64
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
65
     })
65
     })
66
     public ResponseBean parkGetTempCarPaymentInfoByCarNo(@PathVariable("carNo") String carNo,
66
     public ResponseBean parkGetTempCarPaymentInfoByCarNo(@PathVariable("carNo") String carNo,
67
                                                          @RequestParam(value = "communityId") Integer communityId) {
67
                                                          @RequestParam(value = "communityId") Integer communityId) {

+ 16
- 16
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaFceController.java 查看文件

32
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
32
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
33
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
33
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
34
             @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
34
             @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
35
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
36
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
37
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
38
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
35
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
36
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
37
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
38
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
39
     })
39
     })
40
     public ResponseBean addFace(@RequestParam(value = "userId") Integer userId,
40
     public ResponseBean addFace(@RequestParam(value = "userId") Integer userId,
41
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
41
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
54
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
54
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
55
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
55
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
56
             @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
56
             @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
57
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
58
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
59
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
60
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
57
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
58
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
59
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
60
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
61
     })
61
     })
62
     public ResponseBean updateFace(@RequestParam(value = "userId") Integer userId,
62
     public ResponseBean updateFace(@RequestParam(value = "userId") Integer userId,
63
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
63
                                 @RequestParam(value = "userVerifyId") Integer userVerifyId,
74
     @ApiImplicitParams({
74
     @ApiImplicitParams({
75
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
75
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
76
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
76
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
77
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
78
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
79
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
80
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
77
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
80
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
81
     })
81
     })
82
     public ResponseBean deleteFace(@RequestParam(value = "userId") Integer userId,
82
     public ResponseBean deleteFace(@RequestParam(value = "userId") Integer userId,
83
                                    @RequestParam(value = "userVerifyId") Integer userVerifyId) {
83
                                    @RequestParam(value = "userVerifyId") Integer userVerifyId) {
94
     @ApiImplicitParams({
94
     @ApiImplicitParams({
95
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userId", value = "用户Id"),
95
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userId", value = "用户Id"),
96
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userVerifyId", value = "房产审核Id"),
96
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userVerifyId", value = "房产审核Id"),
97
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
98
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
99
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
100
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
97
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
98
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
99
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
100
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
101
     })
101
     })
102
     public ResponseBean getTaFaceByUserId(@RequestParam(value = "userId") Integer userId,
102
     public ResponseBean getTaFaceByUserId(@RequestParam(value = "userId") Integer userId,
103
                                    @RequestParam(value = "userVerifyId") Integer userVerifyId) {
103
                                    @RequestParam(value = "userVerifyId") Integer userVerifyId) {

+ 4
- 4
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaUserController.java 查看文件

74
     @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
74
     @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
75
     @ApiImplicitParams({
75
     @ApiImplicitParams({
76
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id"),
76
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id"),
77
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
78
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
79
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
80
-//            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
77
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
80
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
81
     })
81
     })
82
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId){
82
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId){
83
         ResponseBean responseBean = iTaUserService.getTaUser(userId);
83
         ResponseBean responseBean = iTaUserService.getTaUser(userId);

+ 1
- 1
CODE/foreign-service/src/main/java/com/community/huiju/filter/SignFilter.java 查看文件

29
  *
29
  *
30
  * @author weiximei on 2019-05-17
30
  * @author weiximei on 2019-05-17
31
  */
31
  */
32
-//@Component
32
+@Component
33
 @Slf4j
33
 @Slf4j
34
 public class SignFilter implements Filter {
34
 public class SignFilter implements Filter {
35
 
35
 

+ 108
- 56
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java 查看文件

3
 import com.alibaba.fastjson.JSONArray;
3
 import com.alibaba.fastjson.JSONArray;
4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
5
 import com.community.commom.constant.Constant;
5
 import com.community.commom.constant.Constant;
6
-import com.community.commom.hk.HKOpenApi;
7
 import com.community.commom.mode.ResponseBean;
6
 import com.community.commom.mode.ResponseBean;
8
 import com.community.commom.uuid.IdGen;
7
 import com.community.commom.uuid.IdGen;
8
+import com.community.commom.hk.HKOpenApi;
9
 import com.community.huiju.dao.*;
9
 import com.community.huiju.dao.*;
10
-import com.community.huiju.enums.ResponseErrorsMessages;
11
 import com.community.huiju.exception.WisdomException;
10
 import com.community.huiju.exception.WisdomException;
12
 import com.community.huiju.model.*;
11
 import com.community.huiju.model.*;
13
 import com.community.huiju.service.IHKService;
12
 import com.community.huiju.service.IHKService;
15
 import com.google.common.collect.Maps;
14
 import com.google.common.collect.Maps;
16
 import lombok.extern.slf4j.Slf4j;
15
 import lombok.extern.slf4j.Slf4j;
17
 import org.apache.commons.collections.CollectionUtils;
16
 import org.apache.commons.collections.CollectionUtils;
17
+import org.apache.commons.lang.StringUtils;
18
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.beans.factory.annotation.Autowired;
19
 import org.springframework.stereotype.Service;
19
 import org.springframework.stereotype.Service;
20
 import org.springframework.transaction.annotation.Transactional;
20
 import org.springframework.transaction.annotation.Transactional;
22
 import java.text.ParseException;
22
 import java.text.ParseException;
23
 import java.text.SimpleDateFormat;
23
 import java.text.SimpleDateFormat;
24
 import java.time.LocalDate;
24
 import java.time.LocalDate;
25
-import java.util.Arrays;
26
-import java.util.HashMap;
27
-import java.util.List;
28
-import java.util.Map;
25
+import java.util.*;
29
 import java.util.stream.Collectors;
26
 import java.util.stream.Collectors;
30
 
27
 
31
 /**
28
 /**
53
     @Autowired
50
     @Autowired
54
     private TaUserVerifyMapper taUserVerifyMapper;
51
     private TaUserVerifyMapper taUserVerifyMapper;
55
 
52
 
53
+//    @Autowired
54
+//    private TaRemotelyDoorMapper taRemotelyDoorMapper;
55
+
56
     /**
56
     /**
57
      * 获取设备UUID
57
      * 获取设备UUID
58
      * @param equipmentList
58
      * @param equipmentList
69
     }
69
     }
70
 
70
 
71
     @Override
71
     @Override
72
-    @Transactional(rollbackFor = Exception.class)
72
+    // @Transactional(rollbackFor = Exception.class)
73
     public ResponseBean pushPerson(String appUserId, Integer userVerifyId) {
73
     public ResponseBean pushPerson(String appUserId, Integer userVerifyId) {
74
         ResponseBean responseBean = new ResponseBean();
74
         ResponseBean responseBean = new ResponseBean();
75
         TaUser user = taUserMapper.selectById(Integer.parseInt(appUserId));
75
         TaUser user = taUserMapper.selectById(Integer.parseInt(appUserId));
93
             addUserAndOpenCard(responseBean, user, tpEquipmentTree);
93
             addUserAndOpenCard(responseBean, user, tpEquipmentTree);
94
         }
94
         }
95
 
95
 
96
+        // 卡片操作
97
+        // 没有卡片就开卡
98
+        if (StringUtils.isBlank(user.getHkCardNo())) {
99
+
100
+            // 添加卡片
101
+            responseBean = addCards(user, tpEquipmentTree);
102
+
103
+            // 开卡
104
+            responseBean = openCard(user.getHkUserId(), Long.valueOf(user.getHkCardNo()), null,tpEquipmentTree);
105
+
106
+        }
107
+
108
+
96
 
109
 
97
         // 推送海康
110
         // 推送海康
98
 
111
 
99
         // 给用户添加 海康门禁权限
112
         // 给用户添加 海康门禁权限
100
 
113
 
101
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 4);
114
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 4);
102
-        if (CollectionUtils.isEmpty(tpEquipments)) {
103
-            throw new WisdomException(ResponseErrorsMessages.NOT_EQUIPMENT.getCode(), ResponseErrorsMessages.NOT_EQUIPMENT.getMsg());
104
-        }
105
         List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
115
         List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
106
         StringBuilder doorUuids = new StringBuilder();
116
         StringBuilder doorUuids = new StringBuilder();
107
         StringBuilder deviceUuids = new StringBuilder();
117
         StringBuilder deviceUuids = new StringBuilder();
112
             deviceUuids.append(",");
122
             deviceUuids.append(",");
113
         });
123
         });
114
 
124
 
115
-        Map<String, Object> map = Maps.newHashMap();
116
-        map.put("personIds",String.valueOf(user.getHkUserId()));
117
-        map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
118
-        map.put("secret", tpEquipmentTree.getSecret());
119
-        map.put("appkey", tpEquipmentTree.getAppkey());
120
-        map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
121
-        HKOpenApi.addAuthoritiesByPersonIds(map);
125
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
126
+
127
+            Map<String, Object> map = Maps.newHashMap();
128
+            map.put("personIds",String.valueOf(user.getHkUserId()));
129
+            map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
130
+            map.put("secret", tpEquipmentTree.getSecret());
131
+            map.put("appkey", tpEquipmentTree.getAppkey());
132
+            map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
133
+            HKOpenApi.addAuthoritiesByPersonIds(map);
134
+
135
+            // 下发门禁权限
136
+            Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
137
+            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
138
+            downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
139
+            downloadAuthorityByPersonIdsMap.put("operateType",1);
140
+            downloadAuthorityByPersonIdsMap.put("includeFinger",1);
141
+            downloadAuthorityByPersonIdsMap.put("secret", tpEquipmentTree.getSecret());
142
+            downloadAuthorityByPersonIdsMap.put("appkey", tpEquipmentTree.getAppkey());
143
+            downloadAuthorityByPersonIdsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
144
+            HKOpenApi.downloadAuthorityByPersonIds(downloadAuthorityByPersonIdsMap);
122
 
145
 
123
-        // 下发门禁权限
124
-        Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
125
-        downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
126
-        downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
127
-        downloadAuthorityByPersonIdsMap.put("operateType",1);
128
-        downloadAuthorityByPersonIdsMap.put("includeFinger",1);
129
-        downloadAuthorityByPersonIdsMap.put("secret", tpEquipmentTree.getSecret());
130
-        downloadAuthorityByPersonIdsMap.put("appkey", tpEquipmentTree.getAppkey());
131
-        downloadAuthorityByPersonIdsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
132
-        HKOpenApi.downloadAuthorityByPersonIds(downloadAuthorityByPersonIdsMap);
146
+        }
133
 
147
 
134
         //--------- 可视对讲 ----------
148
         //--------- 可视对讲 ----------
135
 
149
 
138
         addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
152
         addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
139
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
153
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
140
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
154
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
155
+        addOutDoorAuthMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
141
 
156
 
142
         // 单元门口机
157
         // 单元门口机
143
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
158
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
168
 
183
 
169
     /**
184
     /**
170
      * 公共方法
185
      * 公共方法
171
-     * 添加人员, 开卡
186
+     * 添加人员
172
      *
187
      *
173
      * @param response
188
      * @param response
174
      * @param user
189
      * @param user
179
         parDept.put("pageSize", 100);
194
         parDept.put("pageSize", 100);
180
         parDept.put("deptName", Constant.DEPT_RESIDENTS);
195
         parDept.put("deptName", Constant.DEPT_RESIDENTS);
181
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
196
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
197
+        parDept.put("appkey", tpEquipmentTree.getAppkey());
198
+        parDept.put("secret", tpEquipmentTree.getSecret());
182
         // 部门UUID
199
         // 部门UUID
183
-        String deptUuid = getDeptUUID(parDept);
200
+        //String deptUuid = getDeptUUID(parDept);
184
 
201
 
185
         // 添加人员
202
         // 添加人员
186
         Map<String, Object> parUser = Maps.newHashMap();
203
         Map<String, Object> parUser = Maps.newHashMap();
187
         parUser.put("personNo", user.getHkPersonNo());
204
         parUser.put("personNo", user.getHkPersonNo());
188
         parUser.put("personName", user.getUserName());
205
         parUser.put("personName", user.getUserName());
189
         parUser.put("phoneNo", user.getLoginName());
206
         parUser.put("phoneNo", user.getLoginName());
190
-        parUser.put("deptUuid", deptUuid);
207
+        //parUser.put("deptUuid", deptUuid);
191
         parUser.put("secret", tpEquipmentTree.getSecret());
208
         parUser.put("secret", tpEquipmentTree.getSecret());
192
         parUser.put("appkey", tpEquipmentTree.getAppkey());
209
         parUser.put("appkey", tpEquipmentTree.getAppkey());
193
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
210
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
195
         int errorCode = (int) resultMap.get("errorCode");
212
         int errorCode = (int) resultMap.get("errorCode");
196
         if (errorCode == 0) {
213
         if (errorCode == 0) {
197
             Map<String, Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
214
             Map<String, Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
198
-            // 开卡 卡号
199
-            long cardNo = System.currentTimeMillis();
215
+
200
             // 海康人员ID
216
             // 海康人员ID
201
             Integer personId = (Integer) resultDataMap.get("personId");
217
             Integer personId = (Integer) resultDataMap.get("personId");
202
-            TaUser tempUser = taUserMapper.selectById(user.getUserId());
203
-            tempUser.setHkUserId(personId);
204
-            tempUser.setHkCardNo(cardNo + "");
205
 
218
 
206
             user.setHkUserId(personId);
219
             user.setHkUserId(personId);
207
             // 存储海康人员ID
220
             // 存储海康人员ID
208
-            int row = taUserMapper.updateById(tempUser);
221
+            int row = taUserMapper.updateById(user);
209
             if (row > 0) {
222
             if (row > 0) {
210
                 response.addSuccess("操作成功!");
223
                 response.addSuccess("操作成功!");
211
             } else {
224
             } else {
213
                 throw new RuntimeException("数据库添加 家属/租客 人员失败!");
226
                 throw new RuntimeException("数据库添加 家属/租客 人员失败!");
214
             }
227
             }
215
 
228
 
216
-            // 开卡
217
-            List<String> cardAndPersonList = Lists.newArrayList();
218
-            cardAndPersonList.add(cardNo + "," + personId);
219
-            response = openCard(cardAndPersonList, null, tpEquipmentTree);
220
         } else {
229
         } else {
221
             String errorMessage = String.valueOf(resultMap.get("errorMessage"));
230
             String errorMessage = String.valueOf(resultMap.get("errorMessage"));
222
             response.addError(errorMessage);
231
             response.addError(errorMessage);
226
     }
235
     }
227
 
236
 
228
     /**
237
     /**
229
-     * 批量开卡
238
+     * 添加卡片
239
+     * @return
240
+     */
241
+    public ResponseBean addCards(TaUser user, TpEquipmentTree tpEquipmentTree) {
242
+
243
+        ResponseBean response = new ResponseBean();
244
+
245
+        // 开卡 卡号
246
+        long cardNo = System.currentTimeMillis();
247
+
248
+        // 添加卡片
249
+        Map<String,Object> addCardsMap = new HashMap<>();
250
+        addCardsMap.put("secret", tpEquipmentTree.getSecret());
251
+        addCardsMap.put("appkey", tpEquipmentTree.getAppkey());
252
+        addCardsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
253
+        addCardsMap.put("startCardNo", cardNo);
254
+        addCardsMap.put("endCardNo", cardNo);
255
+        String addCardsJSON = HKOpenApi.addCards(addCardsMap);
256
+        JSONObject addCardsJsonObject = JSONObject.parseObject(addCardsJSON);
257
+        Integer addCardsResultCode = addCardsJsonObject.getInteger("errorCode");
258
+        if (0 != addCardsResultCode) {
259
+            response.addError("操作失败");
260
+            throw new RuntimeException(addCardsJsonObject.getString("errorMessage"));
261
+        }
262
+
263
+        // 卡片入库
264
+        user.setHkCardNo(cardNo + "");
265
+        taUserMapper.updateById(user);
266
+        return response;
267
+    }
268
+
269
+    /**
270
+     * 卡片开卡
230
      *
271
      *
231
-     * @param cardIdAndHKUserID list.add("卡号,人员ID")
272
+     * @param personId 人员海康id
273
+     * @param cardNo 卡号
232
      * @param expirationTime    有效期为多少? 单位为 年
274
      * @param expirationTime    有效期为多少? 单位为 年
233
      * @return
275
      * @return
234
      */
276
      */
235
-    private ResponseBean openCard(List<String> cardIdAndHKUserID, Integer expirationTime, TpEquipmentTree tpEquipmentTree) {
277
+    private ResponseBean openCard(Integer personId, Long cardNo, Integer expirationTime, TpEquipmentTree tpEquipmentTree) {
236
         ResponseBean response = new ResponseBean();
278
         ResponseBean response = new ResponseBean();
237
 
279
 
238
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
280
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
256
 
298
 
257
         // 开卡
299
         // 开卡
258
         Map<String, Object> parOpenCard = Maps.newHashMap();
300
         Map<String, Object> parOpenCard = Maps.newHashMap();
259
-        parOpenCard.put("cardAndPerson", cardIdAndHKUserID);
301
+        parOpenCard.put("personId", personId);
302
+        parOpenCard.put("cardNo", cardNo);
260
         parOpenCard.put("startTime", System.currentTimeMillis());
303
         parOpenCard.put("startTime", System.currentTimeMillis());
261
         parOpenCard.put("endTime", time);
304
         parOpenCard.put("endTime", time);
262
         parOpenCard.put("secret", tpEquipmentTree.getSecret());
305
         parOpenCard.put("secret", tpEquipmentTree.getSecret());
337
         // 单元门口机
380
         // 单元门口机
338
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
381
         List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
339
 
382
 
340
-         if (CollectionUtils.isEmpty(tpEquipments)) {
341
-             responseBean.addError("无设备信息!");
342
-             return responseBean;
343
-         }
383
+        if (CollectionUtils.isEmpty(tpEquipments)) {
384
+            responseBean.addError("无设备信息!");
385
+            return responseBean;
386
+        }
344
 
387
 
345
-         String str = "";
346
-         for (TpEquipment e : tpEquipments) {
347
-             TpConfiguration tpConfiguration = tpConfigurationMapper.selectById(e.getUuidId());
348
-             str += tpConfiguration.getConfigurationValue();
349
-             str += ",";
350
-         }
388
+        String str = "";
389
+        for (TpEquipment e : tpEquipments) {
390
+            TpConfiguration tpConfiguration = tpConfigurationMapper.selectById(e.getUuidId());
391
+            str += tpConfiguration.getConfigurationValue();
392
+            str += ",";
393
+        }
351
 
394
 
352
         // 查询设备编号
395
         // 查询设备编号
353
 
396
 
360
         JSONObject jsonObject = JSONObject.parseObject(data);
403
         JSONObject jsonObject = JSONObject.parseObject(data);
361
         int errorCode = jsonObject.getInteger("errorCode");
404
         int errorCode = jsonObject.getInteger("errorCode");
362
         if (errorCode == 0) {
405
         if (errorCode == 0) {
363
-            responseBean.addSuccess("操作成功!");
364
-            return responseBean;
406
+//
407
+//            // 记录 远程开门次数
408
+//            TaRemotelyDoor taRemotelyDoor = new TaRemotelyDoor();
409
+//            taRemotelyDoor.setCommunityId(userVerify.getCommunityId());
410
+//            taRemotelyDoor.setTaUserVerifyId(userVerify.getUserId());
411
+//            taRemotelyDoor.setUnitId(userVerify.getUnitId());
412
+//            taRemotelyDoor.setCreateDate(new Date());
413
+//            taRemotelyDoorMapper.insertSelective(taRemotelyDoor);
414
+//
415
+//            responseBean.addSuccess("操作成功!");
416
+//            return responseBean;
365
         }
417
         }
366
         responseBean.addError("操作失败!");
418
         responseBean.addError("操作失败!");
367
         return responseBean;
419
         return responseBean;

+ 1
- 1
CODE/foreign-service/src/main/resources/application-dev.yml 查看文件

4
       driver-class-name: com.mysql.jdbc.Driver
4
       driver-class-name: com.mysql.jdbc.Driver
5
       username: root
5
       username: root
6
       password: DQ@0lW##kBb2+-jPZC1s$Ma0h5$9W((q
6
       password: DQ@0lW##kBb2+-jPZC1s$Ma0h5$9W((q
7
-      url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/smart_community2.0?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
7
+      url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/smart_community2.2?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

+ 2
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/MonitoringController.java 查看文件

80
     @RequestMapping(value = "/monitoring/hls/{communityId}",method = RequestMethod.GET)
80
     @RequestMapping(value = "/monitoring/hls/{communityId}",method = RequestMethod.GET)
81
     public ResponseBean getListHLS(@PathVariable("communityId") Integer communityId,
81
     public ResponseBean getListHLS(@PathVariable("communityId") Integer communityId,
82
                                    @RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
82
                                    @RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
83
-                                   @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
83
+                                   @RequestParam(value = "pageSize",defaultValue = "100") Integer pageSize,
84
                                    HttpSession session) {
84
                                    HttpSession session) {
85
 
85
 
86
         ResponseBean responseBean = new ResponseBean();
86
         ResponseBean responseBean = new ResponseBean();
87
         UserElement userElement = getUserElement(session);
87
         UserElement userElement = getUserElement(session);
88
-        responseBean = iMonitoringService.getHlsByCommunityId(userElement,communityId, pageNo, pageSize);
88
+        responseBean = iMonitoringService.getHlsByCommunityId(userElement,communityId, pageNo, 100);
89
         return responseBean;
89
         return responseBean;
90
     }
90
     }
91
 
91
 

+ 13
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TaUserVerify.java 查看文件

68
      */
68
      */
69
     private String verifyUrl;
69
     private String verifyUrl;
70
 
70
 
71
+    /**
72
+     * 用户手机号
73
+     */
74
+    private String loginName;
75
+
71
     public Integer getId() {
76
     public Integer getId() {
72
         return id;
77
         return id;
73
     }
78
     }
251
     public void setVerifyUrl(String verifyUrl) {
256
     public void setVerifyUrl(String verifyUrl) {
252
         this.verifyUrl = verifyUrl;
257
         this.verifyUrl = verifyUrl;
253
     }
258
     }
259
+
260
+    public String getLoginName() {
261
+        return loginName;
262
+    }
263
+
264
+    public void setLoginName(String loginName) {
265
+        this.loginName = loginName;
266
+    }
254
 }
267
 }

+ 13
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpEquipment.java 查看文件

82
      */
82
      */
83
     private String monitoringAddress;
83
     private String monitoringAddress;
84
 
84
 
85
+    /**
86
+     * 图片,比如: 监控封面图片
87
+     */
88
+    private String image;
89
+
85
     public Integer getId() {
90
     public Integer getId() {
86
         return id;
91
         return id;
87
     }
92
     }
257
     public void setUnitUuids(String unitUuids) {
262
     public void setUnitUuids(String unitUuids) {
258
         this.unitUuids = unitUuids;
263
         this.unitUuids = unitUuids;
259
     }
264
     }
265
+
266
+    public String getImage() {
267
+        return image;
268
+    }
269
+
270
+    public void setImage(String image) {
271
+        this.image = image;
272
+    }
260
 }
273
 }

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

16
 import com.google.common.collect.Maps;
16
 import com.google.common.collect.Maps;
17
 import lombok.extern.slf4j.Slf4j;
17
 import lombok.extern.slf4j.Slf4j;
18
 import org.apache.commons.collections.CollectionUtils;
18
 import org.apache.commons.collections.CollectionUtils;
19
+import org.apache.commons.lang3.StringUtils;
19
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.http.HttpEntity;
21
 import org.springframework.http.HttpEntity;
21
 import org.springframework.http.HttpHeaders;
22
 import org.springframework.http.HttpHeaders;
226
                 // 所有设备
227
                 // 所有设备
227
                 // List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(communityId, unitId, 4);
228
                 // List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(communityId, unitId, 4);
228
                 List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitIdAndFace(communityId, unitId, 4);
229
                 List<TpEquipment> tpEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitIdAndFace(communityId, unitId, 4);
229
-                if (CollectionUtils.isEmpty(tpEquipments)) {
230
-                    throw new WisdomException("未配置设备!");
230
+                if (CollectionUtils.isNotEmpty(tpEquipments)) {
231
+                    List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
232
+                    StringBuilder doorUuids = new StringBuilder();
233
+                    StringBuilder deviceUuids = new StringBuilder();
234
+                    equipmentUUID.forEach(e-> {
235
+                        doorUuids.append(e.get("doorUuid"));
236
+                        doorUuids.append(",");
237
+                        deviceUuids.append(e.get("deviceUuid"));
238
+                        deviceUuids.append(",");
239
+                    });
240
+                    if (StringUtils.isBlank(deviceUuids)) {
241
+                        responseBean.addError("系统未配置设备!");
242
+                        throw new WisdomException("系统未配置设备!");
243
+                    }
244
+                    Map<String,Object> map = Maps.newHashMap();
245
+                    map.put("appkey", tpEquipmentTree.getAppkey());
246
+                    map.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
247
+                    map.put("personIds", String.valueOf(user.getHkUserId()));
248
+                    map.put("deviceUuids", deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
249
+                    map.put("type", 1);
250
+                    map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
251
+                    HKOpenApi.downloadFaceAndFingerInfos(map);
231
                 }
252
                 }
232
-                List<Map<String, Object>> equipmentUUID = getEquipmentUUID(tpEquipments);
233
-                StringBuilder doorUuids = new StringBuilder();
234
-                StringBuilder deviceUuids = new StringBuilder();
235
-                equipmentUUID.forEach(e-> {
236
-                    doorUuids.append(e.get("doorUuid"));
237
-                    doorUuids.append(",");
238
-                    deviceUuids.append(e.get("deviceUuid"));
239
-                    deviceUuids.append(",");
240
-                });
241
-                Map<String,Object> map = Maps.newHashMap();
242
-                map.put("appkey", tpEquipmentTree.getAppkey());
243
-                map.put("opUserUuid", tpEquipmentTree.getOpUserUuid());
244
-                map.put("personIds", String.valueOf(user.getHkUserId()));
245
-                map.put("deviceUuids", deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
246
-                map.put("type", 1);
247
-                map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
248
-                HKOpenApi.downloadFaceAndFingerInfos(map);
253
+
249
 
254
 
250
                 //可视对讲时 指定人员人脸权限下载
255
                 //可视对讲时 指定人员人脸权限下载
251
                 List<Integer> userIdList = new ArrayList<>();
256
                 List<Integer> userIdList = new ArrayList<>();

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

69
     }
69
     }
70
 
70
 
71
     @Override
71
     @Override
72
-    @Transactional(rollbackFor = Exception.class)
72
+    // @Transactional(rollbackFor = Exception.class)
73
     public ResponseBean pushPerson(String appUserId, Integer userVerifyId) {
73
     public ResponseBean pushPerson(String appUserId, Integer userVerifyId) {
74
         ResponseBean responseBean = new ResponseBean();
74
         ResponseBean responseBean = new ResponseBean();
75
         TaUser user = taUserMapper.selectByPrimaryKey(Integer.parseInt(appUserId));
75
         TaUser user = taUserMapper.selectByPrimaryKey(Integer.parseInt(appUserId));
93
             addUserAndOpenCard(responseBean, user, tpEquipmentTree);
93
             addUserAndOpenCard(responseBean, user, tpEquipmentTree);
94
         }
94
         }
95
 
95
 
96
+        // 卡片操作
97
+        // 没有卡片就开卡
98
+        if (StringUtils.isBlank(user.getHkCardNo())) {
99
+
100
+            // 添加卡片
101
+            responseBean = addCards(user, tpEquipmentTree);
102
+
103
+            // 开卡
104
+            responseBean = openCard(user.getHkUserId(), Long.valueOf(user.getHkCardNo()), null,tpEquipmentTree);
105
+
106
+        }
107
+
108
+
96
 
109
 
97
         // 推送海康
110
         // 推送海康
98
 
111
 
109
             deviceUuids.append(",");
122
             deviceUuids.append(",");
110
         });
123
         });
111
 
124
 
112
-        Map<String, Object> map = Maps.newHashMap();
113
-        map.put("personIds",String.valueOf(user.getHkUserId()));
114
-        map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
115
-        map.put("secret", tpEquipmentTree.getSecret());
116
-        map.put("appkey", tpEquipmentTree.getAppkey());
117
-        map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
118
-        HKOpenApi.addAuthoritiesByPersonIds(map);
125
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
126
+
127
+            Map<String, Object> map = Maps.newHashMap();
128
+            map.put("personIds",String.valueOf(user.getHkUserId()));
129
+            map.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
130
+            map.put("secret", tpEquipmentTree.getSecret());
131
+            map.put("appkey", tpEquipmentTree.getAppkey());
132
+            map.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
133
+            HKOpenApi.addAuthoritiesByPersonIds(map);
134
+
135
+            // 下发门禁权限
136
+            Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
137
+            downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
138
+            downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
139
+            downloadAuthorityByPersonIdsMap.put("operateType",1);
140
+            downloadAuthorityByPersonIdsMap.put("includeFinger",1);
141
+            downloadAuthorityByPersonIdsMap.put("secret", tpEquipmentTree.getSecret());
142
+            downloadAuthorityByPersonIdsMap.put("appkey", tpEquipmentTree.getAppkey());
143
+            downloadAuthorityByPersonIdsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
144
+            HKOpenApi.downloadAuthorityByPersonIds(downloadAuthorityByPersonIdsMap);
119
 
145
 
120
-        // 下发门禁权限
121
-        Map<String, Object> downloadAuthorityByPersonIdsMap = Maps.newHashMap();
122
-        downloadAuthorityByPersonIdsMap.put("personIds",String.valueOf(user.getHkUserId()));
123
-        downloadAuthorityByPersonIdsMap.put("doorUuids", doorUuids.substring(0, doorUuids.lastIndexOf(",")));
124
-        downloadAuthorityByPersonIdsMap.put("operateType",1);
125
-        downloadAuthorityByPersonIdsMap.put("includeFinger",1);
126
-        downloadAuthorityByPersonIdsMap.put("secret", tpEquipmentTree.getSecret());
127
-        downloadAuthorityByPersonIdsMap.put("appkey", tpEquipmentTree.getAppkey());
128
-        downloadAuthorityByPersonIdsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
129
-        HKOpenApi.downloadAuthorityByPersonIds(downloadAuthorityByPersonIdsMap);
146
+        }
130
 
147
 
131
         //--------- 可视对讲 ----------
148
         //--------- 可视对讲 ----------
132
 
149
 
135
         addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
152
         addOutDoorAuthMap.put("personIds", Arrays.asList(user.getHkUserId()));
136
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
153
         addOutDoorAuthMap.put("secret", tpEquipmentTree.getSecret());
137
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
154
         addOutDoorAuthMap.put("appkey", tpEquipmentTree.getAppkey());
155
+        addOutDoorAuthMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
138
 
156
 
139
         // 单元门口机
157
         // 单元门口机
140
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
158
         List<TpEquipment> visualEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 3);
165
 
183
 
166
     /**
184
     /**
167
      * 公共方法
185
      * 公共方法
168
-     * 添加人员, 开卡
186
+     * 添加人员
169
      *
187
      *
170
      * @param response
188
      * @param response
171
      * @param user
189
      * @param user
176
         parDept.put("pageSize", 100);
194
         parDept.put("pageSize", 100);
177
         parDept.put("deptName", Constant.DEPT_RESIDENTS);
195
         parDept.put("deptName", Constant.DEPT_RESIDENTS);
178
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
196
         parDept.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
197
+        parDept.put("appkey", tpEquipmentTree.getAppkey());
198
+        parDept.put("secret", tpEquipmentTree.getSecret());
179
         // 部门UUID
199
         // 部门UUID
180
-        String deptUuid = getDeptUUID(parDept);
200
+        //String deptUuid = getDeptUUID(parDept);
181
 
201
 
182
         // 添加人员
202
         // 添加人员
183
         Map<String, Object> parUser = Maps.newHashMap();
203
         Map<String, Object> parUser = Maps.newHashMap();
184
         parUser.put("personNo", user.getHkPersonNo());
204
         parUser.put("personNo", user.getHkPersonNo());
185
         parUser.put("personName", user.getUserName());
205
         parUser.put("personName", user.getUserName());
186
         parUser.put("phoneNo", user.getLoginName());
206
         parUser.put("phoneNo", user.getLoginName());
187
-        parUser.put("deptUuid", deptUuid);
207
+        //parUser.put("deptUuid", deptUuid);
188
         parUser.put("secret", tpEquipmentTree.getSecret());
208
         parUser.put("secret", tpEquipmentTree.getSecret());
189
         parUser.put("appkey", tpEquipmentTree.getAppkey());
209
         parUser.put("appkey", tpEquipmentTree.getAppkey());
190
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
210
         parUser.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
192
         int errorCode = (int) resultMap.get("errorCode");
212
         int errorCode = (int) resultMap.get("errorCode");
193
         if (errorCode == 0) {
213
         if (errorCode == 0) {
194
             Map<String, Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
214
             Map<String, Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
195
-            // 开卡 卡号
196
-            long cardNo = System.currentTimeMillis();
215
+
197
             // 海康人员ID
216
             // 海康人员ID
198
             Integer personId = (Integer) resultDataMap.get("personId");
217
             Integer personId = (Integer) resultDataMap.get("personId");
199
-            TaUser tempUser = taUserMapper.selectByPrimaryKey(user.getId());
200
-            tempUser.setHkUserId(personId);
201
-            tempUser.setHkCardNo(cardNo + "");
202
 
218
 
203
             user.setHkUserId(personId);
219
             user.setHkUserId(personId);
204
             // 存储海康人员ID
220
             // 存储海康人员ID
205
-            int row = taUserMapper.updateByPrimaryKeySelective(tempUser);
221
+            int row = taUserMapper.updateByPrimaryKeySelective(user);
206
             if (row > 0) {
222
             if (row > 0) {
207
                 response.addSuccess("操作成功!");
223
                 response.addSuccess("操作成功!");
208
             } else {
224
             } else {
210
                 throw new RuntimeException("数据库添加 家属/租客 人员失败!");
226
                 throw new RuntimeException("数据库添加 家属/租客 人员失败!");
211
             }
227
             }
212
 
228
 
213
-            // 开卡
214
-            List<String> cardAndPersonList = Lists.newArrayList();
215
-            cardAndPersonList.add(cardNo + "," + personId);
216
-            response = openCard(cardAndPersonList, null, tpEquipmentTree);
217
         } else {
229
         } else {
218
             String errorMessage = String.valueOf(resultMap.get("errorMessage"));
230
             String errorMessage = String.valueOf(resultMap.get("errorMessage"));
219
             response.addError(errorMessage);
231
             response.addError(errorMessage);
223
     }
235
     }
224
 
236
 
225
     /**
237
     /**
226
-     * 批量开卡
238
+     * 添加卡片
239
+     * @return
240
+     */
241
+    public ResponseBean addCards(TaUser user, TpEquipmentTree tpEquipmentTree) {
242
+
243
+        ResponseBean response = new ResponseBean();
244
+
245
+        // 开卡 卡号
246
+        long cardNo = System.currentTimeMillis();
247
+
248
+        // 添加卡片
249
+        Map<String,Object> addCardsMap = new HashMap<>();
250
+        addCardsMap.put("secret", tpEquipmentTree.getSecret());
251
+        addCardsMap.put("appkey", tpEquipmentTree.getAppkey());
252
+        addCardsMap.put("openapi_ip_port_http", tpEquipmentTree.getHttpServer());
253
+        addCardsMap.put("startCardNo", cardNo);
254
+        addCardsMap.put("endCardNo", cardNo);
255
+        String addCardsJSON = HKOpenApi.addCards(addCardsMap);
256
+        JSONObject addCardsJsonObject = JSONObject.parseObject(addCardsJSON);
257
+        Integer addCardsResultCode = addCardsJsonObject.getInteger("errorCode");
258
+        if (0 != addCardsResultCode) {
259
+            response.addError("操作失败");
260
+            throw new RuntimeException(addCardsJsonObject.getString("errorMessage"));
261
+        }
262
+
263
+        // 卡片入库
264
+        user.setHkCardNo(cardNo + "");
265
+        taUserMapper.updateByPrimaryKeySelective(user);
266
+        return response;
267
+    }
268
+
269
+    /**
270
+     * 卡片开卡
227
      *
271
      *
228
-     * @param cardIdAndHKUserID list.add("卡号,人员ID")
272
+     * @param personId 人员海康id
273
+     * @param cardNo 卡号
229
      * @param expirationTime    有效期为多少? 单位为 年
274
      * @param expirationTime    有效期为多少? 单位为 年
230
      * @return
275
      * @return
231
      */
276
      */
232
-    private ResponseBean openCard(List<String> cardIdAndHKUserID, Integer expirationTime, TpEquipmentTree tpEquipmentTree) {
277
+    private ResponseBean openCard(Integer personId, Long cardNo, Integer expirationTime, TpEquipmentTree tpEquipmentTree) {
233
         ResponseBean response = new ResponseBean();
278
         ResponseBean response = new ResponseBean();
234
 
279
 
235
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
280
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
253
 
298
 
254
         // 开卡
299
         // 开卡
255
         Map<String, Object> parOpenCard = Maps.newHashMap();
300
         Map<String, Object> parOpenCard = Maps.newHashMap();
256
-        parOpenCard.put("cardAndPerson", cardIdAndHKUserID);
301
+        parOpenCard.put("personId", personId);
302
+        parOpenCard.put("cardNo", cardNo);
257
         parOpenCard.put("startTime", System.currentTimeMillis());
303
         parOpenCard.put("startTime", System.currentTimeMillis());
258
         parOpenCard.put("endTime", time);
304
         parOpenCard.put("endTime", time);
259
         parOpenCard.put("secret", tpEquipmentTree.getSecret());
305
         parOpenCard.put("secret", tpEquipmentTree.getSecret());

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

1
 package com.community.huiju.service.impl;
1
 package com.community.huiju.service.impl;
2
 import com.alibaba.fastjson.JSON;
2
 import com.alibaba.fastjson.JSON;
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
+import com.community.commom.constant.Constant;
4
 import com.community.commom.hk.Digests;
5
 import com.community.commom.hk.Digests;
5
 import com.community.commom.hk.HttpClientSSLUtils;
6
 import com.community.commom.hk.HttpClientSSLUtils;
6
 import com.community.commom.mode.ResponseBean;
7
 import com.community.commom.mode.ResponseBean;
75
     @Autowired
76
     @Autowired
76
     private TaRemotelyMonitorMapper taRemotelyMonitorMapper;
77
     private TaRemotelyMonitorMapper taRemotelyMonitorMapper;
77
 
78
 
79
+    @Autowired
80
+    private TdImagesMapper tdImagesMapper;
81
+
78
     @Override
82
     @Override
79
     public ResponseBean getByCommunityId(UserElement userElement, Integer communityId,Integer pageNo, Integer pageSize) {
83
     public ResponseBean getByCommunityId(UserElement userElement, Integer communityId,Integer pageNo, Integer pageSize) {
80
 
84
 
217
         // TODO 过滤 rtsp 的流地址,后面拆表后,就可以将改代码移除
221
         // TODO 过滤 rtsp 的流地址,后面拆表后,就可以将改代码移除
218
         tpEquipments = tpEquipments.stream().filter(e-> e.getMonitoringUrl().contains("m3u8")).collect(Collectors.toList());
222
         tpEquipments = tpEquipments.stream().filter(e-> e.getMonitoringUrl().contains("m3u8")).collect(Collectors.toList());
219
 
223
 
224
+        tpEquipments.forEach(e-> {
225
+            List<TdImages> tdImages = tdImagesMapper.selectImages(e.getId(), Constant.MONITORING);
226
+            if (CollectionUtils.isNotEmpty(tdImages)) {
227
+                e.setImage(tdImages.get(0).getImageUrl());
228
+            }
229
+        });
230
+
220
         Map<String, Object> map = Maps.newHashMap();
231
         Map<String, Object> map = Maps.newHashMap();
221
         map.put("pageNo", page.getPageNum());
232
         map.put("pageNo", page.getPageNum());
222
         map.put("pageSize", page.getPageSize());
233
         map.put("pageSize", page.getPageSize());
260
         TpConfiguration tpConfiguration = tpConfigurationMapper.selectByPrimaryKey(tpEquipment.getUuidId());
271
         TpConfiguration tpConfiguration = tpConfigurationMapper.selectByPrimaryKey(tpEquipment.getUuidId());
261
 
272
 
262
         // 判断视频流地址,是否过期
273
         // 判断视频流地址,是否过期
263
-        if (System.currentTimeMillis() >= Long.valueOf(tpEquipment.getUnitUuids())) {
274
+        if (StringUtils.isBlank(tpEquipment.getOpUserUuid()) || System.currentTimeMillis() >= Long.valueOf(tpEquipment.getUnitUuids())) {
264
             // 开始更新视频Token
275
             // 开始更新视频Token
265
             Map<String,Object> queryMap = new HashMap<>();
276
             Map<String,Object> queryMap = new HashMap<>();
266
             queryMap.put("appKey", tpEquipment.getAppkey());
277
             queryMap.put("appKey", tpEquipment.getAppkey());

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

272
         taUserVO.setUserVerifyList(taUserVerifies);
272
         taUserVO.setUserVerifyList(taUserVerifies);
273
         // 无关联房产
273
         // 无关联房产
274
         if (null == taUserVerifies || taUserVerifies.size() == 0) {
274
         if (null == taUserVerifies || taUserVerifies.size() == 0) {
275
-            response.addError(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg(), taUserVO, loginCodePerproties.getLoginCode().get(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode()) + "&token=" + token);
275
+            response.addError(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg(), taUserVO, loginCodePerproties.getLoginCode().get(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode()) + "&token=" + token + "&phone=" + currentUser.getLoginName());
276
             return response;
276
             return response;
277
         }
277
         }
278
 
278
 

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

95
         taUserVerify.setRoleName(taSysRole.getRoleName());
95
         taUserVerify.setRoleName(taSysRole.getRoleName());
96
         ToCommunities toCommunities = toCommunitiesMapper.selectByPrimaryKey(taUserVerify.getCommunityId());
96
         ToCommunities toCommunities = toCommunitiesMapper.selectByPrimaryKey(taUserVerify.getCommunityId());
97
         taUserVerify.setCommunityName(toCommunities.getCommunityName());
97
         taUserVerify.setCommunityName(toCommunities.getCommunityName());
98
+        TaUser currentUser = taUserMapper.selectByPrimaryKey(taUserVerify.getUserId());
99
+        taUserVerify.setLoginName(currentUser.getLoginName());
98
         if ("2".equals(taUserVerify.getVerifyStatus()) || "1".equals(taUserVerify.getVerifyStatus())) {
100
         if ("2".equals(taUserVerify.getVerifyStatus()) || "1".equals(taUserVerify.getVerifyStatus())) {
99
 
101
 
100
             // 开始查询 业主
102
             // 开始查询 业主

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

259
 		TaUserVO userVO = new TaUserVO();
259
 		TaUserVO userVO = new TaUserVO();
260
 		BeanTools.copyProperties(user, userVO);
260
 		BeanTools.copyProperties(user, userVO);
261
 		// 刚注册的用户,跳转到绑定房产页面
261
 		// 刚注册的用户,跳转到绑定房产页面
262
-		response.addError(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg(), userVO, loginCodePerproties.getLoginCode().get(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode()) + "&token=" + request.getSession().getId());
262
+		response.addError(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg(), userVO, loginCodePerproties.getLoginCode().get(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode()) + "&token=" + request.getSession().getId() + "&phone=" + user.getLoginName());
263
 
263
 
264
 		/**
264
 		/**
265
 		 * 这里是因为 手机号注册 和 社交登录的手机号注册,公用的一个接口,所以有 openid 的时候,表示是微信那边的社交登录
265
 		 * 这里是因为 手机号注册 和 社交登录的手机号注册,公用的一个接口,所以有 openid 的时候,表示是微信那边的社交登录

+ 5
- 0
CODE/smart-community/community-common/src/main/java/com/community/commom/constant/Constant.java 查看文件

69
     /** 社交/图片 租贷类型**/
69
     /** 社交/图片 租贷类型**/
70
     public static final String TRANSACTION = "transaction";
70
     public static final String TRANSACTION = "transaction";
71
 
71
 
72
+    /** 监控封面 图片类型 **/
73
+    public static final String MONITORING = "monitoring";
74
+
72
     /** 社交二手租赁类型**/
75
     /** 社交二手租赁类型**/
73
     public static final String LEASE = "lease";
76
     public static final String LEASE = "lease";
74
 
77
 
241
 
244
 
242
     /** 缴费类型 车缴费 **/
245
     /** 缴费类型 车缴费 **/
243
     public static final String PAY_TYPE_CAR = "car";
246
     public static final String PAY_TYPE_CAR = "car";
247
+
248
+
244
 }
249
 }

+ 16
- 1
CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKConstant.java 查看文件

142
     /**
142
     /**
143
      * 批量开卡
143
      * 批量开卡
144
      */
144
      */
145
-    public static final String ITF_OPEN_CARD = "/openapi/service/base/person/batchOpenCards";
145
+    public static final String batchOpenCards = "/openapi/service/base/person/batchOpenCards";
146
 
146
 
147
     /**
147
     /**
148
      * 根据人员ID集获取人员
148
      * 根据人员ID集获取人员
201
      */
201
      */
202
     public static final String GET_DOORS = "/openapi/service/acs/res/getDoors";
202
     public static final String GET_DOORS = "/openapi/service/acs/res/getDoors";
203
 
203
 
204
+
205
+    /**
206
+     * 添加卡片
207
+     */
208
+    public static final String ADD_CARDS = "/openapi/service/base/card/addCards";
209
+
210
+    /**
211
+     * 卡片开卡
212
+     */
213
+    public static final String OPEN_CARD = "/openapi/service/base/card/openCard";
214
+
215
+    /**
216
+     * 可是对讲,分页获取
217
+     */
218
+    public static final String GETDOORDEVICES = "/openapi/service/vis/res/getDoorDevices";
204
 }
219
 }

+ 153
- 28
CODE/smart-community/community-common/src/main/java/com/community/commom/hk/HKOpenApi.java 查看文件

123
      * 其中参数 cardAndPerson 形式为“卡号,人员ID”,开卡数量不得超过50个,若没有该卡号,则添加一张新卡进行绑定 List<String>
123
      * 其中参数 cardAndPerson 形式为“卡号,人员ID”,开卡数量不得超过50个,若没有该卡号,则添加一张新卡进行绑定 List<String>
124
      * @return
124
      * @return
125
      */
125
      */
126
-    public static String openCard(Map<String,Object> map){
126
+    public static String batchOpenCards(Map<String,Object> map){
127
         Map<String,Object> parMap = Maps.newHashMap();
127
         Map<String,Object> parMap = Maps.newHashMap();
128
-        String url = (map.get("openapi_ip_port_http") == null ? HKConstant.OPENAPI_IP_PORT_HTTP : map.get("openapi_ip_port_http")) + HKConstant.ITF_OPEN_CARD;
128
+        String url = (map.get("openapi_ip_port_http") == null ? HKConstant.OPENAPI_IP_PORT_HTTP : map.get("openapi_ip_port_http")) + HKConstant.batchOpenCards;
129
         //设置APPKEY
129
         //设置APPKEY
130
         parMap.put("appkey", map.get("appkey") == null?HKConstant.APPKEY:map.get("appkey"));
130
         parMap.put("appkey", map.get("appkey") == null?HKConstant.APPKEY:map.get("appkey"));
131
         //设置时间参数
131
         //设置时间参数
194
         //设置时间参数
194
         //设置时间参数
195
         parMap.put("time", System.currentTimeMillis());
195
         parMap.put("time", System.currentTimeMillis());
196
         parMap.put("pageNo",1);
196
         parMap.put("pageNo",1);
197
-        parMap.put("pageSize",10);
197
+        parMap.put("pageSize",100);
198
         parMap.put("opUserUuid", map.get("opUserUuid") == null ? HKConstant.OP_USER_UUID : map.get("opUserUuid"));
198
         parMap.put("opUserUuid", map.get("opUserUuid") == null ? HKConstant.OP_USER_UUID : map.get("opUserUuid"));
199
         String params =  JSON.toJSONString(parMap);
199
         String params =  JSON.toJSONString(parMap);
200
         log.info("分页获取门禁点信息请求参数:{}", params);
200
         log.info("分页获取门禁点信息请求参数:{}", params);
691
 
691
 
692
     }
692
     }
693
 
693
 
694
+
695
+    /**
696
+     * 可视对讲 分页获取门口机
697
+     *
698
+     * pageNo 当前页码
699
+     *
700
+     * pageSize 每页数据记录数 建议400以下,不超过1000
701
+     *
702
+     * opUserUuid 操作用户UUID 详见opUserUuid的获取
703
+     *
704
+     *
705
+     * @param map
706
+     * @return
707
+     */
708
+    public static String getDoorDevices(Map<String, Object> map){
709
+
710
+        String url = (map.get("openapi_ip_port_http") == null ? HKConstant.OPENAPI_IP_PORT_HTTP : map.get("openapi_ip_port_http")) + HKConstant.GETDOORDEVICES;
711
+        Map<String, Object> parMap = new HashMap<>();
712
+        parMap.put("appkey", map.get("appkey") == null?HKConstant.APPKEY:map.get("appkey"));
713
+        parMap.put("time", System.currentTimeMillis());
714
+        parMap.put("pageNo", map.get("pageNo"));
715
+        parMap.put("pageSize", map.get("pageSize"));
716
+        parMap.put("opUserUuid", map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
717
+
718
+        String params = JSON.toJSONString(parMap);
719
+        log.info("可视对讲 分页获取门口机 请求参数:{}",params);
720
+
721
+        String data = null;
722
+        try {
723
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params,map.get("secret") == null ? HKConstant.SECRET : String.valueOf(map.get("secret"))), params);
724
+            log.info("可视对讲 分页获取门口机 返回结果:{}",data);
725
+        } catch (Exception e) {
726
+            e.printStackTrace();
727
+            log.error("可视对讲 分页获取门口机 请求失败:{}",e);
728
+            throw new RuntimeException("可视对讲 分页获取门口机失败!");
729
+        }
730
+        return data;
731
+
732
+    }
733
+
734
+
694
     /**
735
     /**
695
      * 可视对讲 异步反控开门【V2.8.2】
736
      * 可视对讲 异步反控开门【V2.8.2】
696
      *
737
      *
743
         map.put("personIds", personIds);
784
         map.put("personIds", personIds);
744
         map.put("longNums", longNums);
785
         map.put("longNums", longNums);
745
         String param = JSON.toJSONString(map);
786
         String param = JSON.toJSONString(map);
746
-        log.info("人脸下发请求参数:" + param);
787
+        log.info("可是对讲人脸请求地址:{}", url);
788
+        log.info("可视对讲人脸下发请求参数:" + param);
747
         String data = null;
789
         String data = null;
748
         try {
790
         try {
749
             data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + param, param,secret == null ? HKConstant.SECRET : secret), param);
791
             data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + param, param,secret == null ? HKConstant.SECRET : secret), param);
750
-            log.info("可视对讲人脸权限下发:{}", data);
792
+            log.info("可视对讲人脸下发:{}", data);
751
         } catch (Exception e) {
793
         } catch (Exception e) {
752
             e.printStackTrace();
794
             e.printStackTrace();
753
-            log.error("可视对讲人脸权限下发错误:{}", e);
795
+            log.error("可视对讲人脸下发错误:{}", e);
754
             throw new RuntimeException("下发错误!");
796
             throw new RuntimeException("下发错误!");
755
         }
797
         }
756
         return null;
798
         return null;
951
     }
993
     }
952
 
994
 
953
     public static void main(String[] args) {
995
     public static void main(String[] args) {
954
-        // getDefaultUserUuid();
955
-        //Map<String,Object> parMap = Maps.newHashMap();
956
-        //String url = "http://pingtai.vipgz1.idcfengye.com" + HKConstant.ITF_MONITORY_POINT;
957
-        ////设置APPKEY
958
-        //parMap.put("appkey", "d30396a0");
959
-        ////设置时间参数
960
-        //parMap.put("time", System.currentTimeMillis());
961
-        //parMap.put("pageNo","1");
962
-        //parMap.put("pageSize","100");
963
-        //parMap.put("opUserUuid","5b2eb534696b11e89c2e438f92627767");
964
-        //parMap.put("unitUuids","1048576");
965
-        //String params =  JSON.toJSONString(parMap);
966
-        //log.info("获取 监控列表 请求参数:{}", params);
967
-        //String data = null;
968
-        //try {
969
-        //    data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, "6a939cf0b2914004a2755e70c6c96e02"), params);
970
-        //    log.info("获取 监控列表 请求返回结果:{}",data);
971
-        //} catch (Exception e) {
972
-        //    e.printStackTrace();
973
-        //    log.error("获取监控列表失败!",e);
974
-        //    throw new RuntimeException("获取监控列表失败!");
975
-        //}
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
+        }
976
         //getDoorsByRegionUuids();
1018
         //getDoorsByRegionUuids();
977
     }
1019
     }
978
     /**
1020
     /**
1093
         return data;
1135
         return data;
1094
     }
1136
     }
1095
 
1137
 
1138
+
1139
+    /**
1140
+     * 添加卡片
1141
+     *
1142
+     * 关键参数
1143
+     * startCardNo 起始卡号 String 为数字字符串,起始卡号和结束卡号位数保持一致;新增一张卡片起始和结束卡号要保持一致
1144
+     *
1145
+     * endCardNo 结束卡号 String 为数字字符串,起始卡号和结束卡号位数保持一致;新增一张卡片起始和结束卡号要保持一致
1146
+     *
1147
+     *
1148
+     *
1149
+     * @return
1150
+     */
1151
+    public static String addCards(Map<String,Object> map){
1152
+        Map<String,Object> parMap = Maps.newHashMap();
1153
+        String url = (map.get("openapi_ip_port_http") == null ? HKConstant.OPENAPI_IP_PORT_HTTP : map.get("openapi_ip_port_http")) + HKConstant.ADD_CARDS;
1154
+        //设置APPKEY
1155
+        parMap.put("appkey", map.get("appkey") == null?HKConstant.APPKEY:map.get("appkey"));
1156
+        //设置时间参数
1157
+        parMap.put("time", System.currentTimeMillis());
1158
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
1159
+        parMap.put("startCardNo",map.get("startCardNo"));
1160
+        parMap.put("endCardNo",map.get("endCardNo"));
1161
+        String params =  JSON.toJSONString(parMap);
1162
+        log.info("添加卡片 请求参数:{}", params);
1163
+        String data = null;
1164
+        try {
1165
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params,map.get("secret") == null ? HKConstant.SECRET : String.valueOf(map.get("secret"))), params);
1166
+            log.info("添加卡片 请求返回结果:{}",data);
1167
+        } catch (Exception e) {
1168
+            e.printStackTrace();
1169
+            log.error("添加卡片失败!",e);
1170
+            throw new RuntimeException("添加卡片失败!");
1171
+        }
1172
+
1173
+        return data;
1174
+    }
1175
+
1176
+
1177
+    /**
1178
+     * 卡片开卡
1179
+     *
1180
+     * personId 人员ID Integer 该字段可通过【分页获取人员】接口获得
1181
+     *
1182
+     * cardNo 卡号 String 该字段可通过【分页获取卡片】接口获得
1183
+     *
1184
+     * subSystems 子系统编码集合 String 以“,”分割,详见子系统编码
1185
+     *
1186
+     * startTime 开卡开始有效期 Long 单位:毫秒;开卡开始有效期和开卡截止有效期要同时存在
1187
+     *
1188
+     * endTime 开卡截止有效期 Long 单位:毫秒;开卡开始有效期和开卡截止有效期要同时存在
1189
+     *
1190
+     * @return
1191
+     */
1192
+    public static String openCard(Map<String,Object> map){
1193
+        Map<String,Object> parMap = Maps.newHashMap();
1194
+        String url = (map.get("openapi_ip_port_http") == null ? HKConstant.OPENAPI_IP_PORT_HTTP : map.get("openapi_ip_port_http")) + HKConstant.OPEN_CARD;
1195
+        //设置APPKEY
1196
+        parMap.put("appkey", map.get("appkey") == null?HKConstant.APPKEY:map.get("appkey"));
1197
+        //设置时间参数
1198
+        parMap.put("time", System.currentTimeMillis());
1199
+        parMap.put("opUserUuid",map.get("opUserUuid") == null?HKConstant.OP_USER_UUID:map.get("opUserUuid"));
1200
+        parMap.put("personId",map.get("personId"));
1201
+        parMap.put("cardNo",map.get("cardNo"));
1202
+        parMap.put("startTime",map.get("startTime"));
1203
+        parMap.put("endTime",map.get("endTime"));
1204
+        parMap.put("subSystems","1048576,3145728,2097152,9437184,25165824,10485760");
1205
+        String params =  JSON.toJSONString(parMap);
1206
+        log.info("卡片开卡 请求参数:{}", params);
1207
+        String data = null;
1208
+        try {
1209
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params,map.get("secret") == null ? HKConstant.SECRET : String.valueOf(map.get("secret"))), params);
1210
+            log.info("卡片开卡 请求返回结果:{}",data);
1211
+        } catch (Exception e) {
1212
+            e.printStackTrace();
1213
+            log.error("卡片开卡失败!",e);
1214
+            throw new RuntimeException("卡片开卡失败!");
1215
+        }
1216
+
1217
+        return data;
1218
+    }
1219
+
1220
+
1096
 }
1221
 }

+ 6
- 6
CODE/smart-community/zuul/src/main/java/com/community/huiju/ZuulApplication.java 查看文件

57
     /**
57
     /**
58
      * 文件上传临时路径
58
      * 文件上传临时路径
59
      */
59
      */
60
-    //@Bean
61
-    //public MultipartConfigElement multipartConfigElement() {
62
-    //    MultipartConfigFactory factory = new MultipartConfigFactory();
63
-    //    factory.setLocation("/tmp/smart-community");
64
-    //    return factory.createMultipartConfig();
65
-    //}
60
+    @Bean
61
+    public MultipartConfigElement multipartConfigElement() {
62
+        MultipartConfigFactory factory = new MultipartConfigFactory();
63
+        factory.setLocation("/tmp/smart-community");
64
+        return factory.createMultipartConfig();
65
+    }
66
 
66
 
67
 }
67
 }

+ 1
- 1
VUECODE/smart-operate-manage/src/views/login/index.vue 查看文件

33
               v-model="loginForm.password"
33
               v-model="loginForm.password"
34
               name="password"
34
               name="password"
35
               type="text"
35
               type="text"
36
-              auto-complete="on"
36
+              auto-complete="off"
37
               placeholder="请输入验证码"
37
               placeholder="请输入验证码"
38
               @keyup.enter.native="handleLogin"
38
               @keyup.enter.native="handleLogin"
39
             />
39
             />

+ 15
- 9
VUECODE/smart-property-manage/src/views/building/audit/index.vue 查看文件

2
   <div id="root">
2
   <div id="root">
3
     <el-form :inline="true" :model="formInline" class="demo-form-inline">
3
     <el-form :inline="true" :model="formInline" class="demo-form-inline">
4
       <el-dialog
4
       <el-dialog
5
-        title="提示"
6
         :visible.sync="dialogVisible"
5
         :visible.sync="dialogVisible"
6
+        title="提示"
7
         width="30%">
7
         width="30%">
8
         <span><el-radio v-model="formInline.remark" label="不认识的人的手机号">不认识的人的手机号</el-radio>
8
         <span><el-radio v-model="formInline.remark" label="不认识的人的手机号">不认识的人的手机号</el-radio>
9
-              <el-radio v-model="formInline.remark" label="其他原因需要沟通">其他原因需要沟通</el-radio>
9
+          <el-radio v-model="formInline.remark" label="其他原因需要沟通">其他原因需要沟通</el-radio>
10
         </span>
10
         </span>
11
         <span slot="footer" class="dialog-footer">
11
         <span slot="footer" class="dialog-footer">
12
           <el-button @click="dialogVisible = false">取 消</el-button>
12
           <el-button @click="dialogVisible = false">取 消</el-button>
116
       },
116
       },
117
       total: 0, // 总数
117
       total: 0, // 总数
118
       tableData: [], // 数据体
118
       tableData: [], // 数据体
119
-      dialogVisible: false
119
+      dialogVisible: false,
120
+      fullscreen: true // 是否开启菊花转
120
     }
121
     }
121
   },
122
   },
122
   mounted() {
123
   mounted() {
160
       })
161
       })
161
     },
162
     },
162
     // 展示弹框
163
     // 展示弹框
163
-    passTheAudit(verifyId, vstatus){
164
+    passTheAudit(verifyId, vstatus) {
164
       this.formInline.userVerifyId = verifyId
165
       this.formInline.userVerifyId = verifyId
165
       this.formInline.verifyStatus = vstatus
166
       this.formInline.verifyStatus = vstatus
166
       this.dialogVisible = true
167
       this.dialogVisible = true
167
     },
168
     },
168
     // 提交
169
     // 提交
169
-    submitAudit(){    
170
+    submitAudit() {
170
       this.userVerifyAudit()
171
       this.userVerifyAudit()
171
     },
172
     },
172
 
173
 
173
-    userVerifyAudit(verifyId, vstatus,isA) {
174
-      if(isA=='1'){
175
-      this.formInline.userVerifyId = verifyId
176
-      this.formInline.verifyStatus = vstatus
174
+    userVerifyAudit(verifyId, vstatus, isA) {
175
+      this.fullscreen = true
176
+      const loading = this.$loading({ fullscreen: this.fullscreen, background: 'rgba(0, 0, 0, 0.8)' })
177
+      if (isA === 1) {
178
+        this.formInline.userVerifyId = verifyId
179
+        this.formInline.verifyStatus = vstatus
177
       }
180
       }
178
       this.$store.dispatch('UserVerifyAudit', this.formInline).then((res) => {
181
       this.$store.dispatch('UserVerifyAudit', this.formInline).then((res) => {
179
         const resCode = res.code
182
         const resCode = res.code
183
             type: 'success'
186
             type: 'success'
184
           })
187
           })
185
           this.dialogVisible = false
188
           this.dialogVisible = false
189
+          loading.close()
186
           this.getData()
190
           this.getData()
187
           return
191
           return
188
         }
192
         }
193
+        loading.close()
189
         this.$message.error(res.message)
194
         this.$message.error(res.message)
190
       }).catch(() => {
195
       }).catch(() => {
196
+        loading.close()
191
         console.log('UserVerifyAudit error')
197
         console.log('UserVerifyAudit error')
192
       })
198
       })
193
     },
199
     },

+ 7
- 1
VUECODE/smart-property-manage/src/views/building/info/index.vue 查看文件

133
         remark: ''
133
         remark: ''
134
       },
134
       },
135
       total: 0, // 数据总数
135
       total: 0, // 数据总数
136
-      dialogVisible: false
136
+      dialogVisible: false,
137
+      fullscreen: true
137
       
138
       
138
     }
139
     }
139
   },
140
   },
190
     },
191
     },
191
     // 审核结果提交
192
     // 审核结果提交
192
     submit(){
193
     submit(){
194
+      this.fullscreen = true
195
+      const loading = this.$loading({ fullscreen: this.fullscreen, background: 'rgba(0, 0, 0, 0.8)' })
193
       this.$store.dispatch('VerifyinfoAdd', this.listQuery).then((res) => {
196
       this.$store.dispatch('VerifyinfoAdd', this.listQuery).then((res) => {
194
         const resCode = res.code
197
         const resCode = res.code
195
         if (resCode === '0') {
198
         if (resCode === '0') {
197
             message: res.message,
200
             message: res.message,
198
             type: 'success'
201
             type: 'success'
199
           })
202
           })
203
+          loading.close()
200
           this.$router.push({ name: 'building-index' })
204
           this.$router.push({ name: 'building-index' })
201
         }
205
         }
202
         if (resCode === '1') {
206
         if (resCode === '1') {
207
+          loading.close()
203
           this.$message.error(res.message)
208
           this.$message.error(res.message)
204
         }
209
         }
205
       }).catch(() => {
210
       }).catch(() => {
211
+        loading.close()
206
         console.log('UserVerifyAudit error')
212
         console.log('UserVerifyAudit error')
207
       })
213
       })
208
     }
214
     }