浏览代码

完成 硬件服务

魏熙美 6 年前
父节点
当前提交
3ec8dd9d2b
共有 15 个文件被更改,包括 157 次插入74 次删除
  1. 15
    0
      CODE/smart-community/app-api/pom.xml
  2. 20
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/config/FeignUploadConfig.java
  3. 2
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/IFuShiServer.java
  4. 12
    9
      CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/IHKServer.java
  5. 5
    4
      CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/impl/FuShiServerImpl.java
  6. 8
    7
      CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/impl/HKServerFallbackImpl.java
  7. 10
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpEquipment.java
  8. 34
    28
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/EquipmentServiceImpl.java
  9. 12
    6
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java
  10. 9
    5
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/HKServiceImpl.java
  11. 4
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserLicenseServiceImpl.java
  12. 13
    0
      CODE/smart-community/app-api/src/main/resources/bootstrap.yml
  13. 5
    4
      CODE/smart-community/hardware-server/src/main/java/com/community/huiju/controller/HardwareController.java
  14. 2
    2
      CODE/smart-community/hardware-server/src/main/java/com/community/huiju/service/impl/HkHardwareServiceImpl.java
  15. 6
    6
      CODE/smart-community/property-api/src/main/java/com/community/huiju/PropertyApplication.java

+ 15
- 0
CODE/smart-community/app-api/pom.xml 查看文件

196
             <artifactId>mysql-connector-java</artifactId>
196
             <artifactId>mysql-connector-java</artifactId>
197
         </dependency>
197
         </dependency>
198
 
198
 
199
+		<dependency>
200
+			<groupId>io.github.openfeign.form</groupId>
201
+			<artifactId>feign-form</artifactId>
202
+			<version>3.0.3</version>
203
+		</dependency>
204
+		<dependency>
205
+			<groupId>io.github.openfeign.form</groupId>
206
+			<artifactId>feign-form-spring</artifactId>
207
+			<version>3.0.3</version>
208
+		</dependency>
209
+		<dependency>
210
+			<groupId>commons-fileupload</groupId>
211
+			<artifactId>commons-fileupload</artifactId>
212
+			<version>1.3.3</version>
213
+		</dependency>
199
 
214
 
200
     </dependencies>
215
     </dependencies>
201
 
216
 

+ 20
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/config/FeignUploadConfig.java 查看文件

1
+package com.community.huiju.config;
2
+
3
+import feign.codec.Encoder;
4
+import feign.form.spring.SpringFormEncoder;
5
+import org.springframework.beans.factory.ObjectFactory;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
8
+import org.springframework.cloud.openfeign.support.SpringEncoder;
9
+import org.springframework.context.annotation.Bean;
10
+
11
+public class FeignUploadConfig {
12
+
13
+    @Autowired
14
+    private ObjectFactory<HttpMessageConverters> messageConverters;
15
+    @Bean
16
+    public Encoder feignEncoder() {
17
+        return new SpringFormEncoder(new SpringEncoder(messageConverters));
18
+    }
19
+
20
+}

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

17
      * @return
17
      * @return
18
      */
18
      */
19
     @GetMapping("/car/getParkInfoByCarNo")
19
     @GetMapping("/car/getParkInfoByCarNo")
20
-    ResponseBean getParkInfoByCarNo(@RequestParam("carNo") String carNo);
20
+    String getParkInfoByCarNo(@RequestParam("carNo") String carNo);
21
 
21
 
22
     /**
22
     /**
23
      * 缴费
23
      * 缴费
25
      * @return
25
      * @return
26
      */
26
      */
27
     @PostMapping("/car/apiThirdPartyMonthCardPay")
27
     @PostMapping("/car/apiThirdPartyMonthCardPay")
28
-    ResponseBean apiThirdPartyMonthCardPay(@RequestBody String parameter);
28
+    String apiThirdPartyMonthCardPay(@RequestBody String parameter);
29
 
29
 
30
 }
30
 }

+ 12
- 9
CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/IHKServer.java 查看文件

1
 package com.community.huiju.feign;
1
 package com.community.huiju.feign;
2
 
2
 
3
 import com.community.commom.mode.ResponseBean;
3
 import com.community.commom.mode.ResponseBean;
4
+import com.community.huiju.config.FeignUploadConfig;
4
 import com.community.huiju.feign.impl.HKServerFallbackImpl;
5
 import com.community.huiju.feign.impl.HKServerFallbackImpl;
5
 import org.springframework.cloud.openfeign.FeignClient;
6
 import org.springframework.cloud.openfeign.FeignClient;
7
+import org.springframework.http.MediaType;
6
 import org.springframework.web.bind.annotation.PostMapping;
8
 import org.springframework.web.bind.annotation.PostMapping;
7
 import org.springframework.web.bind.annotation.RequestBody;
9
 import org.springframework.web.bind.annotation.RequestBody;
8
 import org.springframework.web.bind.annotation.RequestParam;
10
 import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.RequestPart;
9
 import org.springframework.web.multipart.MultipartFile;
12
 import org.springframework.web.multipart.MultipartFile;
10
 
13
 
11
-@FeignClient(value = "hardware-server", fallback = HKServerFallbackImpl.class)
14
+@FeignClient(value = "hardware-server", fallback = HKServerFallbackImpl.class, configuration = FeignUploadConfig.class)
12
 public interface IHKServer {
15
 public interface IHKServer {
13
 
16
 
14
     /**
17
     /**
32
      * @param jsonString
35
      * @param jsonString
33
      * @return
36
      * @return
34
      */
37
      */
35
-    @PostMapping("/pushPerson")
36
-    ResponseBean pushPerson(@RequestBody String jsonString);
38
+    @PostMapping(value = "/pushPerson", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
39
+    String pushPerson(@RequestBody String jsonString);
37
 
40
 
38
     /**
41
     /**
39
      * 修改人员
42
      * 修改人员
56
      * @param jsonString
59
      * @param jsonString
57
      * @return
60
      * @return
58
      */
61
      */
59
-    @PostMapping("/updatePerson")
60
-    ResponseBean updatePerson(@RequestBody String jsonString);
62
+    @PostMapping(value = "/updatePerson", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
63
+    String updatePerson(@RequestBody String jsonString);
61
 
64
 
62
     /**
65
     /**
63
      * 添加人脸
66
      * 添加人脸
121
      * @param jsonString json字符串
124
      * @param jsonString json字符串
122
      * @return
125
      * @return
123
      */
126
      */
124
-    @PostMapping("/addFace")
125
-    ResponseBean addFace(@RequestParam("faceImg") MultipartFile faceImg, @RequestParam("jsonString") String jsonString);
127
+    @PostMapping(value = "/addFace", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
128
+    String addFace(@RequestPart MultipartFile faceImg, @RequestParam("jsonString") String jsonString);
126
 
129
 
127
 
130
 
128
     /**
131
     /**
169
      * @param jsonString json字符串
172
      * @param jsonString json字符串
170
      * @return
173
      * @return
171
      */
174
      */
172
-    @PostMapping("/updateFace")
173
-    ResponseBean updateFace(@RequestParam("faceImg") MultipartFile faceImg, @RequestParam("jsonString") String jsonString);
175
+    @PostMapping(value = "/updateFace", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
176
+    String updateFace(@RequestPart MultipartFile faceImg, @RequestParam("jsonString") String jsonString);
174
 
177
 
175
 
178
 
176
 }
179
 }

+ 5
- 4
CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/impl/FuShiServerImpl.java 查看文件

1
 package com.community.huiju.feign.impl;
1
 package com.community.huiju.feign.impl;
2
 
2
 
3
+import com.alibaba.fastjson.JSONObject;
3
 import com.community.commom.mode.ResponseBean;
4
 import com.community.commom.mode.ResponseBean;
4
 import com.community.huiju.feign.IFuShiServer;
5
 import com.community.huiju.feign.IFuShiServer;
5
 import lombok.extern.slf4j.Slf4j;
6
 import lombok.extern.slf4j.Slf4j;
8
 public class FuShiServerImpl implements IFuShiServer {
9
 public class FuShiServerImpl implements IFuShiServer {
9
 
10
 
10
     @Override
11
     @Override
11
-    public ResponseBean getParkInfoByCarNo(String carNo) {
12
+    public String getParkInfoByCarNo(String carNo) {
12
         return back();
13
         return back();
13
     }
14
     }
14
 
15
 
15
     @Override
16
     @Override
16
-    public ResponseBean apiThirdPartyMonthCardPay(String parameter) {
17
+    public String apiThirdPartyMonthCardPay(String parameter) {
17
         return back();
18
         return back();
18
     }
19
     }
19
 
20
 
20
-    private ResponseBean back() {
21
+    private String back() {
21
         log.error("hardware-server 远端服务请求失败!");
22
         log.error("hardware-server 远端服务请求失败!");
22
         ResponseBean responseBean = new ResponseBean();
23
         ResponseBean responseBean = new ResponseBean();
23
         responseBean.addError("hardware-server 远端服务请求失败!");
24
         responseBean.addError("hardware-server 远端服务请求失败!");
24
-        return responseBean;
25
+        return JSONObject.toJSONString(responseBean);
25
     }
26
     }
26
 }
27
 }

+ 8
- 7
CODE/smart-community/app-api/src/main/java/com/community/huiju/feign/impl/HKServerFallbackImpl.java 查看文件

1
 package com.community.huiju.feign.impl;
1
 package com.community.huiju.feign.impl;
2
 
2
 
3
 
3
 
4
+import com.alibaba.fastjson.JSONObject;
4
 import com.community.commom.mode.ResponseBean;
5
 import com.community.commom.mode.ResponseBean;
5
 import com.community.huiju.feign.IHKServer;
6
 import com.community.huiju.feign.IHKServer;
6
 import lombok.extern.slf4j.Slf4j;
7
 import lombok.extern.slf4j.Slf4j;
10
 public class HKServerFallbackImpl implements IHKServer {
11
 public class HKServerFallbackImpl implements IHKServer {
11
 
12
 
12
     @Override
13
     @Override
13
-    public ResponseBean pushPerson(String jsonString) {
14
-        return back();
14
+    public String pushPerson(String jsonString) {
15
+        return "444";
15
     }
16
     }
16
 
17
 
17
     @Override
18
     @Override
18
-    public ResponseBean updatePerson(String jsonString) {
19
+    public String updatePerson(String jsonString) {
19
         return back();
20
         return back();
20
     }
21
     }
21
 
22
 
22
     @Override
23
     @Override
23
-    public ResponseBean addFace(MultipartFile faceImg, String jsonString) {
24
+    public String addFace(MultipartFile faceImg, String jsonString) {
24
         return back();
25
         return back();
25
     }
26
     }
26
 
27
 
27
     @Override
28
     @Override
28
-    public ResponseBean updateFace(MultipartFile faceImg, String jsonString) {
29
+    public String updateFace(MultipartFile faceImg, String jsonString) {
29
         return back();
30
         return back();
30
     }
31
     }
31
 
32
 
32
-    private ResponseBean back() {
33
+    private String back() {
33
         log.error("hardware-server 远端服务请求失败!");
34
         log.error("hardware-server 远端服务请求失败!");
34
         ResponseBean responseBean = new ResponseBean();
35
         ResponseBean responseBean = new ResponseBean();
35
         responseBean.addError("hardware-server 远端服务请求失败!");
36
         responseBean.addError("hardware-server 远端服务请求失败!");
36
-        return responseBean;
37
+        return JSONObject.toJSONString(responseBean);
37
     }
38
     }
38
 }
39
 }

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

92
      */
92
      */
93
     private String factory;
93
     private String factory;
94
 
94
 
95
+    private String device;
96
+
95
     public Integer getId() {
97
     public Integer getId() {
96
         return id;
98
         return id;
97
     }
99
     }
283
     public void setFactory(String factory) {
285
     public void setFactory(String factory) {
284
         this.factory = factory;
286
         this.factory = factory;
285
     }
287
     }
288
+
289
+    public String getDevice() {
290
+        return device;
291
+    }
292
+
293
+    public void setDevice(String device) {
294
+        this.device = device;
295
+    }
286
 }
296
 }

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

16
 import org.springframework.web.multipart.MultipartFile;
16
 import org.springframework.web.multipart.MultipartFile;
17
 
17
 
18
 import java.util.Arrays;
18
 import java.util.Arrays;
19
+import java.util.HashMap;
19
 import java.util.List;
20
 import java.util.List;
20
 
21
 
21
 @Slf4j
22
 @Slf4j
25
     @Autowired
26
     @Autowired
26
     private IHKServer ihkServer;
27
     private IHKServer ihkServer;
27
 
28
 
29
+    private ResponseBean getResponseBean(String result){
30
+        JSONObject jsonObject = JSONObject.parseObject(result);
31
+        ResponseBean responseBean = jsonObject.toJavaObject(ResponseBean.class);
32
+        if ("1".equals(responseBean.getCode())) {
33
+            throw new WisdomException(responseBean.getMessage());
34
+        }
35
+
36
+        responseBean.addSuccess(jsonObject.getJSONObject("data").getInnerMap());
37
+        return responseBean;
38
+    }
39
+
28
     @Override
40
     @Override
29
     public String pushPerson(TpEquipmentTree tpEquipmentTree, TpUnitHkSetting unitHkSetting, TaUser user, TaUserHk taUserHk, Integer expirationTime) {
41
     public String pushPerson(TpEquipmentTree tpEquipmentTree, TpUnitHkSetting unitHkSetting, TaUser user, TaUserHk taUserHk, Integer expirationTime) {
30
 
42
 
45
         pushPerson.setType(tpEquipmentTree.getFactory());
57
         pushPerson.setType(tpEquipmentTree.getFactory());
46
         pushPerson.setPerson(personBean);
58
         pushPerson.setPerson(personBean);
47
 
59
 
48
-        ResponseBean responseBean = ihkServer.pushPerson(JSONObject.toJSONString(pushPerson));
49
-        if ("1".equals(responseBean.getCode())) {
50
-            throw new WisdomException(responseBean.getMessage());
51
-        }
60
+        String result = ihkServer.pushPerson(JSONObject.toJSONString(pushPerson));
61
+        ResponseBean responseBean = getResponseBean(result);
52
         return JSONObject.toJSONString(responseBean.getData());
62
         return JSONObject.toJSONString(responseBean.getData());
53
     }
63
     }
54
 
64
 
63
 
73
 
64
         // 人脸图片
74
         // 人脸图片
65
         AddFace.FaceBean.PersonBean person = new AddFace.FaceBean.PersonBean();
75
         AddFace.FaceBean.PersonBean person = new AddFace.FaceBean.PersonBean();
66
-        person.setAppkey(tpEquipmentTree.getSecret());
67
-        person.setSecret(tpEquipmentTree.getAppkey());
76
+        person.setAppkey(tpEquipmentTree.getAppkey());
77
+        person.setSecret(tpEquipmentTree.getSecret());
68
         person.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
78
         person.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
69
         person.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
79
         person.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
70
         person.setPersonId(taUserHk.getHkUserId());
80
         person.setPersonId(taUserHk.getHkUserId());
78
         if (CollectionUtils.isNotEmpty(visualList)) {
88
         if (CollectionUtils.isNotEmpty(visualList)) {
79
             // 门口机卡权限(可是对讲)
89
             // 门口机卡权限(可是对讲)
80
             AddFace.FaceBean.DoorPermissionsBean doorPermissionsBean = new AddFace.FaceBean.DoorPermissionsBean();
90
             AddFace.FaceBean.DoorPermissionsBean doorPermissionsBean = new AddFace.FaceBean.DoorPermissionsBean();
81
-            doorPermissionsBean.setAppkey(tpEquipmentTree.getSecret());
82
-            doorPermissionsBean.setSecret(tpEquipmentTree.getAppkey());
91
+            doorPermissionsBean.setAppkey(tpEquipmentTree.getAppkey());
92
+            doorPermissionsBean.setSecret(tpEquipmentTree.getSecret());
83
             doorPermissionsBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
93
             doorPermissionsBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
84
             doorPermissionsBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
94
             doorPermissionsBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
85
             doorPermissionsBean.setAuthName(user.getUserName()+userVerify.getId());
95
             doorPermissionsBean.setAuthName(user.getUserName()+userVerify.getId());
88
 
98
 
89
             // 门口机人脸权限(可视对讲)
99
             // 门口机人脸权限(可视对讲)
90
             AddFace.FaceBean.DoorFaceBean doorFaceBean = new AddFace.FaceBean.DoorFaceBean();
100
             AddFace.FaceBean.DoorFaceBean doorFaceBean = new AddFace.FaceBean.DoorFaceBean();
91
-            doorFaceBean.setAppkey(tpEquipmentTree.getSecret());
92
-            doorFaceBean.setSecret(tpEquipmentTree.getAppkey());
101
+            doorFaceBean.setAppkey(tpEquipmentTree.getAppkey());
102
+            doorFaceBean.setSecret(tpEquipmentTree.getSecret());
93
             doorFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
103
             doorFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
94
             doorFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
104
             doorFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
95
             doorFaceBean.setOpType(1);
105
             doorFaceBean.setOpType(1);
104
         if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
114
         if (org.apache.commons.lang3.StringUtils.isNotBlank(doorUuids)) {
105
             // 门禁卡权限下发
115
             // 门禁卡权限下发
106
             AddFace.FaceBean.EntranceGuardPermissionsBean entranceGuardPermissionsBean = new AddFace.FaceBean.EntranceGuardPermissionsBean();
116
             AddFace.FaceBean.EntranceGuardPermissionsBean entranceGuardPermissionsBean = new AddFace.FaceBean.EntranceGuardPermissionsBean();
107
-            entranceGuardPermissionsBean.setAppkey(tpEquipmentTree.getSecret());
108
-            entranceGuardPermissionsBean.setSecret(tpEquipmentTree.getAppkey());
117
+            entranceGuardPermissionsBean.setAppkey(tpEquipmentTree.getAppkey());
118
+            entranceGuardPermissionsBean.setSecret(tpEquipmentTree.getSecret());
109
             entranceGuardPermissionsBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
119
             entranceGuardPermissionsBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
110
             entranceGuardPermissionsBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
120
             entranceGuardPermissionsBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
111
             entranceGuardPermissionsBean.setPersonIds(String.valueOf(taUserHk.getHkUserId()));
121
             entranceGuardPermissionsBean.setPersonIds(String.valueOf(taUserHk.getHkUserId()));
118
 
128
 
119
             // 门禁人脸权限下发
129
             // 门禁人脸权限下发
120
             AddFace.FaceBean.EntranceGuardFaceBean entranceGuardFaceBean = new AddFace.FaceBean.EntranceGuardFaceBean();
130
             AddFace.FaceBean.EntranceGuardFaceBean entranceGuardFaceBean = new AddFace.FaceBean.EntranceGuardFaceBean();
121
-            entranceGuardFaceBean.setAppkey(tpEquipmentTree.getSecret());
122
-            entranceGuardFaceBean.setSecret(tpEquipmentTree.getAppkey());
131
+            entranceGuardFaceBean.setAppkey(tpEquipmentTree.getAppkey());
132
+            entranceGuardFaceBean.setSecret(tpEquipmentTree.getSecret());
123
             entranceGuardFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
133
             entranceGuardFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
124
             entranceGuardFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
134
             entranceGuardFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
125
             entranceGuardFaceBean.setDeviceUuids(deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
135
             entranceGuardFaceBean.setDeviceUuids(deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
132
         addFace.setType(tpEquipmentTree.getFactory());
142
         addFace.setType(tpEquipmentTree.getFactory());
133
         addFace.setFace(faceBean);
143
         addFace.setFace(faceBean);
134
         // 添加人脸
144
         // 添加人脸
135
-        ResponseBean responseBean = ihkServer.addFace(faceImg, JSONObject.toJSONString(addFace));
136
-        if ("1".equals(responseBean.getCode())) {
137
-            throw new WisdomException(responseBean.getMessage());
138
-        }
145
+        String result = ihkServer.addFace(faceImg, JSONObject.toJSONString(addFace));
146
+        ResponseBean responseBean = getResponseBean(result);
139
         return JSONObject.toJSONString(responseBean.getData());
147
         return JSONObject.toJSONString(responseBean.getData());
140
     }
148
     }
141
 
149
 
147
 
155
 
148
         // 人脸图片
156
         // 人脸图片
149
         UpdateFace.FaceBean.PersonBean person = new UpdateFace.FaceBean.PersonBean();
157
         UpdateFace.FaceBean.PersonBean person = new UpdateFace.FaceBean.PersonBean();
150
-        person.setAppkey(tpEquipmentTree.getSecret());
151
-        person.setSecret(tpEquipmentTree.getAppkey());
158
+        person.setAppkey(tpEquipmentTree.getAppkey());
159
+        person.setSecret(tpEquipmentTree.getSecret());
152
         person.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
160
         person.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
153
         person.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
161
         person.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
154
         person.setPersonId(taUserHk.getHkUserId());
162
         person.setPersonId(taUserHk.getHkUserId());
163
 
171
 
164
             // 门口机人脸权限(可视对讲)
172
             // 门口机人脸权限(可视对讲)
165
             UpdateFace.FaceBean.DoorFaceBean doorFaceBean = new UpdateFace.FaceBean.DoorFaceBean();
173
             UpdateFace.FaceBean.DoorFaceBean doorFaceBean = new UpdateFace.FaceBean.DoorFaceBean();
166
-            doorFaceBean.setAppkey(tpEquipmentTree.getSecret());
167
-            doorFaceBean.setSecret(tpEquipmentTree.getAppkey());
174
+            doorFaceBean.setAppkey(tpEquipmentTree.getAppkey());
175
+            doorFaceBean.setSecret(tpEquipmentTree.getSecret());
168
             doorFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
176
             doorFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
169
             doorFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
177
             doorFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
170
             doorFaceBean.setOpType(1);
178
             doorFaceBean.setOpType(1);
178
 
186
 
179
             // 门禁人脸权限下发
187
             // 门禁人脸权限下发
180
             UpdateFace.FaceBean.EntranceGuardFaceBean entranceGuardFaceBean = new UpdateFace.FaceBean.EntranceGuardFaceBean();
188
             UpdateFace.FaceBean.EntranceGuardFaceBean entranceGuardFaceBean = new UpdateFace.FaceBean.EntranceGuardFaceBean();
181
-            entranceGuardFaceBean.setAppkey(tpEquipmentTree.getSecret());
182
-            entranceGuardFaceBean.setSecret(tpEquipmentTree.getAppkey());
189
+            entranceGuardFaceBean.setAppkey(tpEquipmentTree.getAppkey());
190
+            entranceGuardFaceBean.setSecret(tpEquipmentTree.getSecret());
183
             entranceGuardFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
191
             entranceGuardFaceBean.setOpenapi_ip_port_http(tpEquipmentTree.getHttpServer());
184
             entranceGuardFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
192
             entranceGuardFaceBean.setOpUserUuid(tpEquipmentTree.getOpUserUuid());
185
             entranceGuardFaceBean.setDeviceUuids(deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
193
             entranceGuardFaceBean.setDeviceUuids(deviceUuids.substring(0, deviceUuids.lastIndexOf(",")));
192
         addFace.setType(tpEquipmentTree.getFactory());
200
         addFace.setType(tpEquipmentTree.getFactory());
193
         addFace.setFace(faceBean);
201
         addFace.setFace(faceBean);
194
         // 添加人脸
202
         // 添加人脸
195
-        ResponseBean responseBean = ihkServer.updateFace(faceImg, JSONObject.toJSONString(addFace));
196
-        if ("1".equals(responseBean.getCode())) {
197
-            throw new WisdomException(responseBean.getMessage());
198
-        }
203
+        String result = ihkServer.updateFace(faceImg, JSONObject.toJSONString(addFace));
204
+        ResponseBean responseBean = getResponseBean(result);
199
         return JSONObject.toJSONString(responseBean.getData());
205
         return JSONObject.toJSONString(responseBean.getData());
200
     }
206
     }
201
 }
207
 }

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

238
             Integer faceNum = (Integer) jsonObject.get("face_num");
238
             Integer faceNum = (Integer) jsonObject.get("face_num");
239
 
239
 
240
             // 等待 1s
240
             // 等待 1s
241
-            Thread.sleep(1000);
241
+            // Thread.sleep(1000);
242
 
242
 
243
             /*boolean isA为true进行添加,为false进行修改*/
243
             /*boolean isA为true进行添加,为false进行修改*/
244
             if (0 == type && 1 == faceNum) {
244
             if (0 == type && 1 == faceNum) {
247
                 List<TpEquipment> doorEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 4);
247
                 List<TpEquipment> doorEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitId(userVerify.getCommunityId(), userVerify.getUnitId(), 4);
248
                 List<Map<String, Object>> equipmentUUID = getEquipmentUUID(doorEquipments);
248
                 List<Map<String, Object>> equipmentUUID = getEquipmentUUID(doorEquipments);
249
                 StringBuilder doorUuids = new StringBuilder();
249
                 StringBuilder doorUuids = new StringBuilder();
250
-                StringBuilder deviceUuids = new StringBuilder();
251
                 equipmentUUID.forEach(e-> {
250
                 equipmentUUID.forEach(e-> {
252
                     doorUuids.append(e.get("doorUuid"));
251
                     doorUuids.append(e.get("doorUuid"));
253
                     doorUuids.append(",");
252
                     doorUuids.append(",");
254
-                    deviceUuids.append(e.get("deviceUuid"));
255
-                    deviceUuids.append(",");
253
+                });
254
+
255
+                // 门禁人脸设备
256
+                List<TpEquipment> doorFaceEquipments = tpEquipmentMapper.selectByCommunityIdAndUnitIdAndFace(userVerify.getCommunityId(), userVerify.getUnitId(), 4);
257
+                List<Map<String, Object>> doorFaceEquipmentUUID = getEquipmentUUID(doorFaceEquipments);
258
+                StringBuilder doorFaceDeviceUuids = new StringBuilder();
259
+                doorFaceEquipmentUUID.forEach(e-> {
260
+                    doorFaceDeviceUuids.append(e.get("deviceUuid"));
261
+                    doorFaceDeviceUuids.append(",");
256
                 });
262
                 });
257
 
263
 
258
                 // 单元门口机
264
                 // 单元门口机
266
                     /**
272
                     /**
267
                      * 添加人脸的时候下发可视对讲卡权限,修改人脸的时候不下发卡权限
273
                      * 添加人脸的时候下发可视对讲卡权限,修改人脸的时候不下发卡权限
268
                      */
274
                      */
269
-                    iEquipmentService.addFace(uploadFile, unitHkSetting, tpEquipmentTree, taUserHk, userVerify, user,visualList,doorUuids.toString(), deviceUuids.toString());
275
+                    iEquipmentService.addFace(uploadFile, unitHkSetting, tpEquipmentTree, taUserHk, userVerify, user,visualList,doorUuids.toString(), doorFaceDeviceUuids.toString());
270
 
276
 
271
                     taFaceMapper.insertSelective(taFace);
277
                     taFaceMapper.insertSelective(taFace);
272
                 } else {
278
                 } else {
273
                     taFaceMapper.updateByPrimaryKeySelective(taFace);
279
                     taFaceMapper.updateByPrimaryKeySelective(taFace);
274
-                    iEquipmentService.updateFace(uploadFile, unitHkSetting, tpEquipmentTree, taUserHk, userVerify, user,visualList, deviceUuids.toString());
280
+                    iEquipmentService.updateFace(uploadFile, unitHkSetting, tpEquipmentTree, taUserHk, userVerify, user,visualList, doorFaceDeviceUuids.toString());
275
                 }
281
                 }
276
 
282
 
277
                 responseBean.addSuccess(taFace);
283
                 responseBean.addSuccess(taFace);

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

17
 import com.google.common.collect.Maps;
17
 import com.google.common.collect.Maps;
18
 import lombok.extern.slf4j.Slf4j;
18
 import lombok.extern.slf4j.Slf4j;
19
 import org.apache.commons.collections.CollectionUtils;
19
 import org.apache.commons.collections.CollectionUtils;
20
-import org.apache.commons.lang.StringUtils;
20
+import org.apache.commons.lang3.StringUtils;
21
 import org.springframework.beans.factory.annotation.Autowired;
21
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.stereotype.Service;
22
 import org.springframework.stereotype.Service;
23
 import org.springframework.transaction.annotation.Transactional;
23
 import org.springframework.transaction.annotation.Transactional;
256
         // 开卡 卡号
256
         // 开卡 卡号
257
         long cardNo = System.currentTimeMillis();
257
         long cardNo = System.currentTimeMillis();
258
 
258
 
259
+        if (StringUtils.isBlank(taUserHk.getHkCardNo())) {
260
+            taUserHk.setHkCardNo(cardNo + "");
261
+        }
262
+
259
         String resultString = iEquipmentService.pushPerson(tpEquipmentTree, unitHkSetting, user, taUserHk, 0);
263
         String resultString = iEquipmentService.pushPerson(tpEquipmentTree, unitHkSetting, user, taUserHk, 0);
260
         Map<String, Object> resultMap = JSONObject.parseObject(resultString, HashMap.class);
264
         Map<String, Object> resultMap = JSONObject.parseObject(resultString, HashMap.class);
261
-        Integer errorCode = (Integer) resultMap.get("errorCode");
262
-        if (errorCode == 0) {
263
-            Map<String, Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
265
+        if (null != resultMap) {
266
+            JSONObject jsonObject = (JSONObject)resultMap.get("person");
267
+            Map<String, Object> resultDataMap =  jsonObject.getJSONObject("data").getInnerMap();
264
 
268
 
265
             // 海康人员ID
269
             // 海康人员ID
266
             Integer personId = (Integer) resultDataMap.get("personId");
270
             Integer personId = (Integer) resultDataMap.get("personId");
274
                 taUserHk.setCommunityId(tpEquipmentTree.getCommunityId());
278
                 taUserHk.setCommunityId(tpEquipmentTree.getCommunityId());
275
                 taUserHk.setCreateDate(new Date());
279
                 taUserHk.setCreateDate(new Date());
276
                 taUserHk.setUpdateDate(new Date());
280
                 taUserHk.setUpdateDate(new Date());
277
-                taUserHk.setHkCardNo(cardNo + "");
281
+
278
                 // 存储海康人员ID
282
                 // 存储海康人员ID
279
                 row = taUserHkMapper.insertSelective(taUserHk);
283
                 row = taUserHkMapper.insertSelective(taUserHk);
280
             } else {
284
             } else {

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

1
 package com.community.huiju.service.impl;
1
 package com.community.huiju.service.impl;
2
 
2
 
3
+import com.alibaba.fastjson.JSONObject;
3
 import com.community.commom.mode.ResponseBean;
4
 import com.community.commom.mode.ResponseBean;
4
 import com.community.commom.session.UserElement;
5
 import com.community.commom.session.UserElement;
5
 import com.community.huiju.dao.TaUserLicenseMapper;
6
 import com.community.huiju.dao.TaUserLicenseMapper;
17
 import java.text.ParseException;
18
 import java.text.ParseException;
18
 import java.text.SimpleDateFormat;
19
 import java.text.SimpleDateFormat;
19
 import java.util.Date;
20
 import java.util.Date;
21
+import java.util.HashMap;
20
 import java.util.List;
22
 import java.util.List;
21
 import java.util.Map;
23
 import java.util.Map;
22
 import java.util.logging.SimpleFormatter;
24
 import java.util.logging.SimpleFormatter;
128
     private TaUserLicense getTaUserLicense(String carNo, TaUserLicense taUserLicense) {
130
     private TaUserLicense getTaUserLicense(String carNo, TaUserLicense taUserLicense) {
129
 
131
 
130
         // 查询车牌
132
         // 查询车牌
131
-        ResponseBean responseBean = iFuShiServer.getParkInfoByCarNo(carNo);
133
+        String result = iFuShiServer.getParkInfoByCarNo(carNo);
134
+        ResponseBean responseBean = JSONObject.parseObject(result, ResponseBean.class);
132
         Object resultCar = responseBean.getData();
135
         Object resultCar = responseBean.getData();
133
         if (null == resultCar) {
136
         if (null == resultCar) {
134
             throw new WisdomException("无此车牌记录!");
137
             throw new WisdomException("无此车牌记录!");

+ 13
- 0
CODE/smart-community/app-api/src/main/resources/bootstrap.yml 查看文件

21
     service-url:
21
     service-url:
22
       defaultZone: http://localhost:8080/eureka/
22
       defaultZone: http://localhost:8080/eureka/
23
 
23
 
24
+hystrix:
25
+  command:
26
+    default:
27
+      execution:
28
+        isolation:
29
+          thread:
30
+            timeoutInMilliseconds: 180000
31
+
32
+ribbon:
33
+  ReadTimeout: 38000
34
+  ConnectTimeout: 38000
35
+  eureka.enabled: true
36
+

+ 5
- 4
CODE/smart-community/hardware-server/src/main/java/com/community/huiju/controller/HardwareController.java 查看文件

10
 import io.swagger.annotations.ApiOperation;
10
 import io.swagger.annotations.ApiOperation;
11
 import org.springframework.beans.factory.annotation.Autowired;
11
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.cloud.context.config.annotation.RefreshScope;
12
 import org.springframework.cloud.context.config.annotation.RefreshScope;
13
+import org.springframework.http.MediaType;
13
 import org.springframework.web.bind.annotation.*;
14
 import org.springframework.web.bind.annotation.*;
14
 import org.springframework.web.multipart.MultipartFile;
15
 import org.springframework.web.multipart.MultipartFile;
15
 
16
 
174
                     "}")
175
                     "}")
175
     })
176
     })
176
 	@ApiOperation(value = "添加人脸", notes = "添加人脸")
177
 	@ApiOperation(value = "添加人脸", notes = "添加人脸")
177
-	@PostMapping("/addFace")
178
-	public ResponseBean addFace(@RequestParam("faceImg") MultipartFile faceImg, @RequestParam("jsonString") String jsonString) {
178
+	@PostMapping(value = "/addFace", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
179
+	public ResponseBean addFace(@RequestPart("uploadFile") MultipartFile faceImg, @RequestParam("jsonString") String jsonString) {
179
 		ResponseBean responseBean = new ResponseBean();
180
 		ResponseBean responseBean = new ResponseBean();
180
 		JSONObject jsonObject = JSONObject.parseObject(jsonString);
181
 		JSONObject jsonObject = JSONObject.parseObject(jsonString);
181
 		String type = jsonObject.getString("type");
182
 		String type = jsonObject.getString("type");
226
                             "}")
227
                             "}")
227
     })
228
     })
228
     @ApiOperation(value = "修改人脸", notes = "修改人脸")
229
     @ApiOperation(value = "修改人脸", notes = "修改人脸")
229
-    @PostMapping("/updateFace")
230
-    public ResponseBean updateFace(@RequestParam("faceImg") MultipartFile faceImg, @RequestParam("jsonString") String jsonString) {
230
+    @PostMapping(value = "/updateFace", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
231
+    public ResponseBean updateFace(@RequestPart("uploadFile") MultipartFile faceImg, @RequestParam("jsonString") String jsonString) {
231
         ResponseBean responseBean = new ResponseBean();
232
         ResponseBean responseBean = new ResponseBean();
232
         JSONObject jsonObject = JSONObject.parseObject(jsonString);
233
         JSONObject jsonObject = JSONObject.parseObject(jsonString);
233
         String type = jsonObject.getString("type");
234
         String type = jsonObject.getString("type");

+ 2
- 2
CODE/smart-community/hardware-server/src/main/java/com/community/huiju/service/impl/HkHardwareServiceImpl.java 查看文件

191
         openCard(appkey, secret, openapi_ip_port_http, opUserUuid,(Integer) resultPersonDataMap.get("personId") ,card,0);
191
         openCard(appkey, secret, openapi_ip_port_http, opUserUuid,(Integer) resultPersonDataMap.get("personId") ,card,0);
192
 
192
 
193
         Map<String, Object> map = new HashMap<>();
193
         Map<String, Object> map = new HashMap<>();
194
-        map.put("person", resultPersonDataMap);
195
-        map.put("card", card);
194
+        map.put("person", resultPersonMap);
195
+        map.put("card", card + "");
196
 
196
 
197
         responseBean.addSuccess(map);
197
         responseBean.addSuccess(map);
198
         return responseBean;
198
         return responseBean;

+ 6
- 6
CODE/smart-community/property-api/src/main/java/com/community/huiju/PropertyApplication.java 查看文件

39
 	/**
39
 	/**
40
 	 * 文件上传临时路径
40
 	 * 文件上传临时路径
41
 	 */
41
 	 */
42
-	//@Bean
43
-	//public MultipartConfigElement multipartConfigElement() {
44
-	//	MultipartConfigFactory factory = new MultipartConfigFactory();
45
-	//	factory.setLocation("/tmp/smart-community");
46
-	//	return factory.createMultipartConfig();
47
-	//}
42
+	@Bean
43
+	public MultipartConfigElement multipartConfigElement() {
44
+		MultipartConfigFactory factory = new MultipartConfigFactory();
45
+		factory.setLocation("/tmp/smart-community");
46
+		return factory.createMultipartConfig();
47
+	}
48
 }
48
 }