瀏覽代碼

修复人脸

魏熙美 6 年之前
父節點
當前提交
680ad5955e

+ 7
- 10
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/FaceController.java 查看文件

19
 @RefreshScope
19
 @RefreshScope
20
 @RequestMapping("/")
20
 @RequestMapping("/")
21
 @Api(value = "人脸相关API", description = "人脸相关API")
21
 @Api(value = "人脸相关API", description = "人脸相关API")
22
-public class FaceController {
22
+public class FaceController extends BaseController {
23
     @Autowired
23
     @Autowired
24
     private FaceServiceI faceServicel;
24
     private FaceServiceI faceServicel;
25
 
25
 
34
                             @ApiParam(value = "file" ,required = true) MultipartFile uploadFile,
34
                             @ApiParam(value = "file" ,required = true) MultipartFile uploadFile,
35
                             @RequestParam(required = false) Integer otherUserId){
35
                             @RequestParam(required = false) Integer otherUserId){
36
         ResponseBean responseBean = new ResponseBean();
36
         ResponseBean responseBean = new ResponseBean();
37
-        UserElement userElement = (UserElement) session.getAttribute(Constant.APP_USER_SESSION);
38
-        Integer userId = userElement.getId();
39
-        responseBean = faceServicel.addFace(userId ,uploadFile,otherUserId);
37
+        UserElement userElement = getUserElement(session);
38
+        responseBean = faceServicel.addFace(userElement ,uploadFile,otherUserId);
40
         return responseBean;
39
         return responseBean;
41
     }
40
     }
42
 
41
 
51
                                @RequestParam(required = false) Integer otherUserId
50
                                @RequestParam(required = false) Integer otherUserId
52
                                ){
51
                                ){
53
         ResponseBean responseBean = new ResponseBean();
52
         ResponseBean responseBean = new ResponseBean();
54
-        UserElement userElement = (UserElement) session.getAttribute(Constant.APP_USER_SESSION);
55
-        Integer userId = userElement.getId();
56
-         responseBean = faceServicel.upDateFace(userId,uploadFile,otherUserId);
53
+        UserElement userElement = getUserElement(session);
54
+         responseBean = faceServicel.upDateFace(userElement,uploadFile,otherUserId);
57
         return responseBean;
55
         return responseBean;
58
     }
56
     }
59
 
57
 
64
     })
62
     })
65
     @RequestMapping(value = "/getUserIdFace",method = RequestMethod.GET)
63
     @RequestMapping(value = "/getUserIdFace",method = RequestMethod.GET)
66
     public Object getTaFaceByUserId(HttpSession session, @RequestParam(required = false) Integer otherUserId){
64
     public Object getTaFaceByUserId(HttpSession session, @RequestParam(required = false) Integer otherUserId){
67
-        UserElement userElement = (UserElement) session.getAttribute(Constant.APP_USER_SESSION);
68
-        Integer userId = userElement.getId();
69
-        ResponseBean responseBean = faceServicel.getTaFaceByUserId(userId,otherUserId);
65
+        UserElement userElement = getUserElement(session);
66
+        ResponseBean responseBean = faceServicel.getTaFaceByUserId(userElement,otherUserId);
70
         return responseBean;
67
         return responseBean;
71
     }
68
     }
72
 
69
 

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

19
 
19
 
20
     /**
20
     /**
21
      * 查看当前用户信息
21
      * 查看当前用户信息
22
-     * @param userid
22
+     * @param userVerifyId
23
      * @return
23
      * @return
24
      */
24
      */
25
-    TaFace getByUserId(@Param("userid") Integer userid);
25
+    TaFace getByUserVerifyId(@Param("userVerifyId") Integer userVerifyId);
26
 
26
 
27
     /**
27
     /**
28
      * 查看当前信息
28
      * 查看当前信息

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

19
     private Integer communityId;
19
     private Integer communityId;
20
 
20
 
21
     /**
21
     /**
22
-     * 用户ID
22
+     * 用户审核 ID
23
      */
23
      */
24
-    private Integer taUserId;
24
+    private Integer taUserVerifyId;
25
 
25
 
26
     /**
26
     /**
27
      *图片
27
      *图片

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

9
 public interface FaceServiceI {
9
 public interface FaceServiceI {
10
     /**
10
     /**
11
      * 添加人脸
11
      * 添加人脸
12
-     * @param userId 登入人ID
12
+     * @param userElement 登入人ID
13
      *  @param  uploadFile
13
      *  @param  uploadFile
14
      *  @param otherUserId 关联家属或者租客ID
14
      *  @param otherUserId 关联家属或者租客ID
15
      * @return
15
      * @return
16
      */
16
      */
17
-    ResponseBean addFace(Integer userId ,MultipartFile uploadFile,Integer otherUserId);
17
+    ResponseBean addFace(UserElement userElement, MultipartFile uploadFile,Integer otherUserId);
18
 
18
 
19
     /**
19
     /**
20
      * 更新当前人脸
20
      * 更新当前人脸
21
-     * @param userId 登入人ID
21
+     * @param userElement 登入人ID
22
      *  @param  uploadFile
22
      *  @param  uploadFile
23
      *  @param otherUserId 关联家属或者租客ID
23
      *  @param otherUserId 关联家属或者租客ID
24
      * @return
24
      * @return
25
      */
25
      */
26
-    ResponseBean upDateFace(Integer userId ,MultipartFile uploadFile,Integer otherUserId);
26
+    ResponseBean upDateFace(UserElement userElement, MultipartFile uploadFile,Integer otherUserId);
27
 
27
 
28
     /**
28
     /**
29
      * 当前登入人是否有人脸信息
29
      * 当前登入人是否有人脸信息
30
-     * @param userId
30
+     * @param userElement
31
+     * @param otherUserId
31
      * @return
32
      * @return
32
      */
33
      */
33
-    ResponseBean getTaFaceByUserId(Integer userId,Integer otherUserId);
34
+    ResponseBean getTaFaceByUserId(UserElement userElement,Integer otherUserId);
34
 
35
 
35
     /**
36
     /**
36
      * 迎宾人员 添加人脸
37
      * 迎宾人员 添加人脸

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

1
 package com.community.huiju.service.impl;
1
 package com.community.huiju.service.impl;
2
+
2
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.community.commom.ailiyun.AESDecode;
4
 import com.community.commom.ailiyun.AESDecode;
4
 import com.community.commom.constant.Constant;
5
 import com.community.commom.constant.Constant;
9
 import com.community.huiju.dao.TaFaceMapper;
10
 import com.community.huiju.dao.TaFaceMapper;
10
 import com.community.huiju.dao.TaSysRoleMapper;
11
 import com.community.huiju.dao.TaSysRoleMapper;
11
 import com.community.huiju.dao.TaUserMapper;
12
 import com.community.huiju.dao.TaUserMapper;
13
+import com.community.huiju.dao.TaUserVerifyMapper;
12
 import com.community.huiju.exception.WisdomException;
14
 import com.community.huiju.exception.WisdomException;
13
 import com.community.huiju.model.TaFace;
15
 import com.community.huiju.model.TaFace;
14
 import com.community.huiju.model.TaSysRole;
16
 import com.community.huiju.model.TaSysRole;
15
 import com.community.huiju.model.TaUser;
17
 import com.community.huiju.model.TaUser;
18
+import com.community.huiju.model.TaUserVerify;
16
 import com.community.huiju.service.FaceServiceI;
19
 import com.community.huiju.service.FaceServiceI;
17
 import com.community.huiju.service.ImageServiceI;
20
 import com.community.huiju.service.ImageServiceI;
18
 import lombok.extern.slf4j.Slf4j;
21
 import lombok.extern.slf4j.Slf4j;
25
 import org.springframework.transaction.annotation.Transactional;
28
 import org.springframework.transaction.annotation.Transactional;
26
 import org.springframework.web.client.RestTemplate;
29
 import org.springframework.web.client.RestTemplate;
27
 import org.springframework.web.multipart.MultipartFile;
30
 import org.springframework.web.multipart.MultipartFile;
31
+
28
 import java.io.IOException;
32
 import java.io.IOException;
29
 import java.util.ArrayList;
33
 import java.util.ArrayList;
30
 import java.util.Date;
34
 import java.util.Date;
51
     @Autowired
55
     @Autowired
52
     private WelcomeProperties welcomeProperties;
56
     private WelcomeProperties welcomeProperties;
53
 
57
 
58
+    @Autowired
59
+    private TaUserVerifyMapper taUserVerifyMapper;
60
+
54
     @Override
61
     @Override
55
     @Transactional(rollbackFor = Exception.class)
62
     @Transactional(rollbackFor = Exception.class)
56
-    public ResponseBean addFace(Integer userid, MultipartFile uploadFile,Integer otherUserId) {
57
-        ResponseBean responseBean= new ResponseBean();
63
+    public ResponseBean addFace(UserElement userElement, MultipartFile uploadFile, Integer otherUserId) {
64
+        ResponseBean responseBean = new ResponseBean();
58
 
65
 
59
         // 判断是否是迎宾系统人员
66
         // 判断是否是迎宾系统人员
60
         TaUser welcomeUser = taUserMapper.selectByPrimaryKey(otherUserId);
67
         TaUser welcomeUser = taUserMapper.selectByPrimaryKey(otherUserId);
64
             return responseBean;
71
             return responseBean;
65
         }
72
         }
66
 
73
 
74
+        // 当前人脸图片url
75
+        String faceImg = img(uploadFile);
76
+        // 房产审核id
77
+        Integer userVerifyId = userElement.getUserVerifyId();
67
 
78
 
68
-         String faceImg =img(uploadFile);
69
         /**当otherUserId不为空时判断它是否是业主下的租客或者家属*/
79
         /**当otherUserId不为空时判断它是否是业主下的租客或者家属*/
70
-        if (null!= otherUserId) {
71
-                 responseBean = getTaFaceParentId(userid, otherUserId);
72
-            if ("1".equals(responseBean.getCode())){
73
-                responseBean.getMessage();
74
-                return responseBean;
75
-            }
80
+        if (null != otherUserId) {
81
+            TaUserVerify otherUserVerify = getTaFaceParentId(userElement, otherUserId);
82
+            userVerifyId = otherUserVerify.getId();
76
         }
83
         }
77
-            Integer activeUser = otherUserId == null?userid:otherUserId;
78
-            TaUser user = taUserMapper.selectByPrimaryKey(activeUser);
79
-            TaFace taFace = new TaFace();
80
-            taFace.setFaceImg(faceImg);
81
-            taFace.setCommunityId(user.getCommunityId());
82
-            taFace.setTaUserId(activeUser);
83
-            taFace.setCreateUser(userid);
84
-            taFace.setUpdateUser(activeUser);
85
-            taFace.setCreateDate(new Date());
86
-            taFace.setUpdateDate(new Date());
84
+        Integer activeUser = otherUserId == null ? userElement.getId() : otherUserId;
85
+        TaUser user = taUserMapper.selectByPrimaryKey(activeUser);
86
+        TaFace taFace = new TaFace();
87
+        taFace.setFaceImg(faceImg);
88
+        taFace.setCommunityId(user.getCommunityId());
89
+        taFace.setTaUserVerifyId(userVerifyId);
90
+        taFace.setCreateUser(userElement.getId());
91
+        taFace.setUpdateUser(activeUser);
92
+        taFace.setCreateDate(new Date());
93
+        taFace.setUpdateDate(new Date());
87
 
94
 
88
         /*验证身份*/
95
         /*验证身份*/
89
-        responseBean=addVerify( activeUser,  uploadFile, faceImg, taFace) ;
96
+        responseBean = addVerify(activeUser, userVerifyId, uploadFile, faceImg, taFace);
90
         return responseBean;
97
         return responseBean;
91
     }
98
     }
92
 
99
 
93
     /**
100
     /**
94
      * 修改人脸信息
101
      * 修改人脸信息
95
-      * @param userId 登入人ID
96
-     * @param  uploadFile
102
+     *
103
+     * @param userElement 登入人ID
104
+     * @param uploadFile
97
      * @param otherUserId 关联家属或者租客ID
105
      * @param otherUserId 关联家属或者租客ID
98
      * @return
106
      * @return
99
      */
107
      */
100
     @Override
108
     @Override
101
     @Transactional(rollbackFor = Exception.class)
109
     @Transactional(rollbackFor = Exception.class)
102
-    public ResponseBean upDateFace(Integer userId, MultipartFile uploadFile,Integer otherUserId) {
103
-        boolean isA = false;
104
-      ResponseBean responseBean= new ResponseBean();
105
-        String faceImg =img(uploadFile);
106
-        if (null!= otherUserId) {
107
-                 responseBean = getTaFaceParentId(userId, otherUserId);
108
-            if ("1".equals(responseBean.getCode())) {
109
-                responseBean.getMessage();
110
-                return responseBean;
111
-               }}
112
-            Integer activeUser = otherUserId == null?userId:otherUserId;
113
-            //当前修改的id否存在
114
-             TaFace face = taFaceMapper.getByUserId(activeUser);
115
-             if (null == face){
116
-                 responseBean.addError("您的信息不存在,请录入人脸");
117
-                 return responseBean;
118
-             }
119
-           TaUser user = taUserMapper.selectByPrimaryKey(activeUser);
120
-            TaFace taFace = new TaFace();
121
-            taFace.setTaUserId(activeUser);
122
-            taFace.setFaceImg(faceImg);
123
-            taFace.setUpdateUser(userId);
124
-            taFace.setUpdateDate(new Date());
125
-            ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, activeUser);
110
+    public ResponseBean upDateFace(UserElement userElement, MultipartFile uploadFile, Integer otherUserId) {
111
+        ResponseBean responseBean = new ResponseBean();
112
+        // 人脸图片地址url
113
+        String faceImg = img(uploadFile);
114
+        // 房产 审核id
115
+        Integer userVerifyId = userElement.getUserVerifyId();
116
+        if (null != otherUserId) {
117
+            TaUserVerify otherUserVerify = getTaFaceParentId(userElement, otherUserId);
118
+            userVerifyId = otherUserVerify.getId();
119
+        }
120
+        Integer activeUser = otherUserId == null ? userElement.getId() : otherUserId;
121
+        //当前修改的id否存在
122
+        TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
123
+        if (null == face) {
124
+            responseBean.addError("您的信息不存在,请录入人脸");
125
+            return responseBean;
126
+        }
127
+        face.setTaUserVerifyId(userVerifyId);
128
+        face.setFaceImg(faceImg);
129
+        face.setUpdateUser(userElement.getId());
130
+        face.setUpdateDate(new Date());
131
+        ResponseBean resps = checKout(faceImg, face, false, uploadFile, activeUser);
126
         if (resps.getCode().equals("0")) {
132
         if (resps.getCode().equals("0")) {
127
             resps.addSuccess((Object) faceImg);
133
             resps.addSuccess((Object) faceImg);
128
         } else {
134
         } else {
132
     }
138
     }
133
 
139
 
134
     /**
140
     /**
135
-     *验证图片是否为人脸,推送海康
141
+     * 验证图片是否为人脸,推送海康
136
      */
142
      */
137
     public ResponseBean checKout(String faceImg, TaFace taFace, boolean isA, MultipartFile uploadFile, Integer userId) {
143
     public ResponseBean checKout(String faceImg, TaFace taFace, boolean isA, MultipartFile uploadFile, Integer userId) {
138
         ResponseBean responseBean = new ResponseBean();
144
         ResponseBean responseBean = new ResponseBean();
145
         AESDecode aesd = new AESDecode();
151
         AESDecode aesd = new AESDecode();
146
         String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
152
         String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
147
         try {
153
         try {
148
-                responseBean = aesd.send(body);
149
-                JSONObject jsonObject = JSONObject.parseObject(responseBean.getMessage());
150
-                Integer type = (Integer) jsonObject.get("errno");
151
-                Integer faceNum = (Integer) jsonObject.get("face_num");
152
-
153
-             /*推送海康*/
154
-            String data=HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getHkPersonNo(), user.getUserName(), user.getHkCardNo());
155
-              /*boolean isA为true进行添加,为false进行修改*/
154
+            responseBean = aesd.send(body);
155
+            JSONObject jsonObject = JSONObject.parseObject(responseBean.getMessage());
156
+            Integer type = (Integer) jsonObject.get("errno");
157
+            Integer faceNum = (Integer) jsonObject.get("face_num");
158
+
159
+            /*推送海康*/
160
+            String data = HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getHkPersonNo(), user.getUserName(), user.getHkCardNo());
161
+            /*boolean isA为true进行添加,为false进行修改*/
156
             if (0 == type && 1 == faceNum) {
162
             if (0 == type && 1 == faceNum) {
157
                 if (null == data) {
163
                 if (null == data) {
158
                     throw new RuntimeException("海康人脸推送失敗!");
164
                     throw new RuntimeException("海康人脸推送失敗!");
159
                 }
165
                 }
160
                 if (isA) {
166
                 if (isA) {
161
                     taFaceMapper.insertSelective(taFace);
167
                     taFaceMapper.insertSelective(taFace);
162
-                }else {
168
+                } else {
163
                     taFaceMapper.updateByPrimaryKeySelective(taFace);
169
                     taFaceMapper.updateByPrimaryKeySelective(taFace);
164
                 }
170
                 }
165
                 responseBean.addSuccess("操作成功");
171
                 responseBean.addSuccess("操作成功");
166
                 HKOpenApi.downloadFaceAndFingerInfos(String.valueOf(user.getHkUserId()));
172
                 HKOpenApi.downloadFaceAndFingerInfos(String.valueOf(user.getHkUserId()));
167
                 //可视对讲时 指定人员人脸权限下载
173
                 //可视对讲时 指定人员人脸权限下载
168
-                List<Integer> userIdList= new ArrayList<>();
174
+                List<Integer> userIdList = new ArrayList<>();
169
                 userIdList.add(user.getHkUserId());
175
                 userIdList.add(user.getHkUserId());
170
                 //临时设备编号
176
                 //临时设备编号
171
                 // TODO 根据期楼栋号,来查询出门口机
177
                 // TODO 根据期楼栋号,来查询出门口机
172
-                List<String> visualList= new ArrayList<>();
178
+                List<String> visualList = new ArrayList<>();
173
                 visualList.add("10010100000");
179
                 visualList.add("10010100000");
174
-                HKOpenApi.visualIntercom(null,1,userIdList,visualList);
175
-            }else {
180
+                HKOpenApi.visualIntercom(null, 1, userIdList, visualList);
181
+            } else {
176
                 responseBean.addError("请录入正确图片");
182
                 responseBean.addError("请录入正确图片");
177
             }
183
             }
178
         } catch (Exception e) {
184
         } catch (Exception e) {
179
             e.printStackTrace();
185
             e.printStackTrace();
180
-            log.error("海康人脸推送失敗! {}",e);
186
+            log.error("海康人脸推送失敗! {}", e);
181
             throw new RuntimeException("海康人脸推送失敗!");
187
             throw new RuntimeException("海康人脸推送失敗!");
182
         }
188
         }
183
         return responseBean;
189
         return responseBean;
184
     }
190
     }
185
 
191
 
186
     /**
192
     /**
187
-     *获得用户,租客,家属,其中一种身份的信息
193
+     * 当前登入人是否有人脸信息
188
      */
194
      */
189
     @Override
195
     @Override
190
-    public ResponseBean getTaFaceByUserId(Integer userId,Integer otherUserId) {
191
-        ResponseBean responseBean= new ResponseBean();
196
+    public ResponseBean getTaFaceByUserId(UserElement userElement, Integer otherUserId) {
197
+        ResponseBean responseBean = new ResponseBean();
198
+        Integer userVerifyId = userElement.getUserVerifyId();
199
+
192
         /**当otherUserId不为空时判断它是否是业主下的租客或者家属*/
200
         /**当otherUserId不为空时判断它是否是业主下的租客或者家属*/
193
-        if (null!= otherUserId) {
194
-            responseBean = getTaFaceParentId(userId, otherUserId);
195
-            if ("1".equals(responseBean.getCode())) {
196
-                responseBean.getMessage();
197
-                return responseBean;
198
-            }
201
+        if (null != otherUserId) {
202
+            TaUserVerify userVerify = getTaFaceParentId(userElement, otherUserId);
203
+            userVerifyId = userVerify.getId();
199
         }
204
         }
200
-        Integer id = otherUserId == null?userId:otherUserId;
201
-        TaFace face = taFaceMapper.getByUserId(id);
202
-         if (null!= face){
205
+        TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
206
+        if (null != face) {
203
             responseBean.addSuccess(face);
207
             responseBean.addSuccess(face);
204
             return responseBean;
208
             return responseBean;
205
         }
209
         }
206
-            responseBean.addError("当前用户暂无人脸图片");
207
-            return responseBean;
210
+        responseBean.addError("当前用户暂无人脸图片");
211
+        return responseBean;
208
 
212
 
209
     }
213
     }
210
 
214
 
211
     /**
215
     /**
212
-     *判断当前用户下的人员关系(家属,租客)
216
+     * 判断当前用户下的人员关系(家属,租客)
213
      */
217
      */
214
-    public ResponseBean getTaFaceParentId(Integer userId,Integer otherUserId){
215
-        ResponseBean  responseBean= new ResponseBean();
216
-        TaUser  users= taUserMapper.selectByPrimaryKey(otherUserId);
217
-        if (null == users || !userId.equals(users.getParentId())){
218
-                responseBean.addError("您输入的家属或租户ID有误");
219
-
220
-        }else if (userId.equals(otherUserId)){
221
-               responseBean.addError("您输入的家属或租户ID有误");
218
+    public TaUserVerify getTaFaceParentId(UserElement userElement, Integer otherUserId) {
219
+        // 根据 家属/租客 的id, 和 当前的房产信息进行查询是否有值,有值就说明是 家属/租客
220
+        TaUserVerify todUserVerify = taUserVerifyMapper.selectCommunityAndAddress(otherUserId, userElement.getCommunityId(), userElement.getPhaseId(), userElement.getBuildingId(), userElement.getUnitId(), userElement.getLevelId(), userElement.getRoomNoId());
221
+        // 判断 家属或者租客 属不属于这个业主的下面
222
+        if (null == todUserVerify) {
223
+            throw new WisdomException("您输入的家属或租户ID有误");
222
         }
224
         }
223
-        return responseBean;
225
+        if (!Constant.VERIFY_STATUS.equals(todUserVerify.getVerifyStatus())) {
226
+            throw new WisdomException("用户房产审核未通过!");
227
+        }
228
+
229
+        return todUserVerify;
224
     }
230
     }
225
 
231
 
226
     /**
232
     /**
227
      * 得到当前图片
233
      * 得到当前图片
228
      */
234
      */
229
-    private String img(MultipartFile uploadFile){
235
+    private String img(MultipartFile uploadFile) {
230
         String faceImg = null;
236
         String faceImg = null;
231
         try {
237
         try {
232
             faceImg = imageServiceI.getImageUrl(uploadFile);
238
             faceImg = imageServiceI.getImageUrl(uploadFile);
237
     }
243
     }
238
 
244
 
239
     /**
245
     /**
240
-     *各种身份校验
246
+     * 各种身份校验
241
      */
247
      */
242
-    public ResponseBean addVerify(Integer userid, MultipartFile uploadFile,String faceImg,TaFace taFace) {
248
+    public ResponseBean addVerify(Integer userid, Integer userVerifyId, MultipartFile uploadFile, String faceImg, TaFace taFace) {
243
         ResponseBean response = new ResponseBean();
249
         ResponseBean response = new ResponseBean();
244
-        TaSysRole sysRole = taSysRoleMapper.findRoleByUserId(userid);
250
+
251
+        TaUserVerify userVerify = taUserVerifyMapper.selectByPrimaryKey(userVerifyId);
245
         TaUser taUser = taUserMapper.selectByPrimaryKey(userid);
252
         TaUser taUser = taUserMapper.selectByPrimaryKey(userid);
246
-        if (null!=taUser && null!=sysRole
247
-                && Constant.INVALID.equals(taUser.getStatus())&& Constant.OWNER.equals(sysRole.getRoleName())) {
253
+
254
+        //身份为家属租客,状态为已停用
255
+        if (null != taUser && !Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
248
             response.addError("9996", "您的身份已停用,请联系物业");
256
             response.addError("9996", "您的身份已停用,请联系物业");
249
             return response;
257
             return response;
250
         }
258
         }
251
-        //身份为家属租客,状态为已停用
252
-        if (null!=taUser && null!=sysRole){
253
-            if (Constant.INVALID.equals(taUser.getStatus()) && ((Constant.RELATION.equals(sysRole.getRoleName())) || Constant.TENANT.equals(sysRole.getRoleName()))){
254
-                response.addError("9996", "您的身份已停用,请联系物业");
255
-                return response;
256
-            }
257
-        }
259
+
258
         //查询当前用户是否有人脸记录
260
         //查询当前用户是否有人脸记录
259
-        TaFace User = taFaceMapper.getByUserId(userid);
260
-        if (null == User) {
261
+        TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
262
+        if (null == face) {
261
             boolean isA = true;
263
             boolean isA = true;
262
-            if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
263
-                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
264
-                if (resps.getCode().equals("0")) {
265
-                    taUser.setFaceStatus("1");
266
-                    taUserMapper.updateByPrimaryKeySelective(taUser);
267
-                    resps.addSuccess("图片录入成功");
268
-                } else {
269
-                    resps.addError(resps.getMessage());
270
-                }
271
-                return resps;
272
-            }
273
-            //家属或者租客,已认证
274
-            if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
275
-                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
276
-                if (resps.getCode().equals("0")) {
264
+            if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus()) && "1".equals(taUser.getVerifyStatus())) {
265
+                ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid);
266
+                if (responseBean.getCode().equals("0")) {
277
                     taUser.setFaceStatus("1");
267
                     taUser.setFaceStatus("1");
278
                     taUserMapper.updateByPrimaryKeySelective(taUser);
268
                     taUserMapper.updateByPrimaryKeySelective(taUser);
279
-                    resps.addSuccess("图片录入成功");
269
+                    responseBean.addSuccess("图片录入成功");
280
                 } else {
270
                 } else {
281
-                    resps.addError(resps.getMessage());
271
+                    responseBean.addError(responseBean.getMessage());
282
                 }
272
                 }
283
-                return resps;
273
+                return responseBean;
284
             }
274
             }
285
         }
275
         }
286
         response.addError("您的信息已存在");
276
         response.addError("您的信息已存在");
313
         }
303
         }
314
 
304
 
315
         JSONObject jsonObject = JSONObject.parseObject(result);
305
         JSONObject jsonObject = JSONObject.parseObject(result);
316
-        if (!jsonObject.get("code").equals(200)){
306
+        if (!jsonObject.get("code").equals(200)) {
317
             String message = jsonObject.get("message").toString();
307
             String message = jsonObject.get("message").toString();
318
-            log.error(" 推送 迎宾系统失败! {}",message);
308
+            log.error(" 推送 迎宾系统失败! {}", message);
319
             throw new WisdomException(message);
309
             throw new WisdomException(message);
320
         }
310
         }
321
 
311
 
324
         taFace.setCommunityId(user.getCommunityId());
314
         taFace.setCommunityId(user.getCommunityId());
325
         taFace.setCreateDate(new Date());
315
         taFace.setCreateDate(new Date());
326
         taFace.setCreateUser(user.getId());
316
         taFace.setCreateUser(user.getId());
327
-        taFace.setTaUserId(user.getId());
317
+        //taFace.setTaUserId(user.getId());
328
         taFace.setUpdateDate(new Date());
318
         taFace.setUpdateDate(new Date());
329
         taFace.setUpdateUser(user.getId());
319
         taFace.setUpdateUser(user.getId());
330
         try {
320
         try {

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

116
         // 校验用户
116
         // 校验用户
117
         checkBlacklistStatusUser(currentUser);
117
         checkBlacklistStatusUser(currentUser);
118
 
118
 
119
+        TaUserVO taUserVO = new TaUserVO();
120
+        BeanUtils.copyProperties(currentUser, taUserVO);
121
+
119
         // 校验房产
122
         // 校验房产
120
         List<TaUserVerify> taUserVerifies = taUserVerifyMapper.selectByUserId(currentUser.getId());
123
         List<TaUserVerify> taUserVerifies = taUserVerifyMapper.selectByUserId(currentUser.getId());
121
         // 无关联房产
124
         // 无关联房产
122
         if (null == taUserVerifies || taUserVerifies.size() == 0) {
125
         if (null == taUserVerifies || taUserVerifies.size() == 0) {
123
-            response.addSuccess(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode(), UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg());
126
+            response.addSuccess(UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getCode(), UserVerifyEnum.NO_AUDIT_REAL_ESTATE.getMsg(), taUserVO);
124
             return response;
127
             return response;
125
         }
128
         }
126
-        TaUserVO taUserVO = new TaUserVO();
129
+
127
         // 关联一个审核通过的房产/关联一个待审核房产/关联一个审核未通过房产
130
         // 关联一个审核通过的房产/关联一个待审核房产/关联一个审核未通过房产
128
         if (taUserVerifies.size() == 1) {
131
         if (taUserVerifies.size() == 1) {
129
-            BeanUtils.copyProperties(currentUser, taUserVO);
130
             TaUserVerify userVerify = taUserVerifies.get(0);
132
             TaUserVerify userVerify = taUserVerifies.get(0);
131
 
133
 
132
             /**
134
             /**
136
 
138
 
137
             return checkHouse(response, taUserVO, userVerify);
139
             return checkHouse(response, taUserVO, userVerify);
138
         } else if (taUserVerifies.size() >= 2) {
140
         } else if (taUserVerifies.size() >= 2) {
139
-            BeanUtils.copyProperties(currentUser, taUserVO);
140
             response.addSuccess(UserVerifyEnum.A_MULTIPLE_REAL_ESTATE.getCode(), taUserVO);
141
             response.addSuccess(UserVerifyEnum.A_MULTIPLE_REAL_ESTATE.getCode(), taUserVO);
141
             return response;
142
             return response;
142
         }
143
         }
804
 
805
 
805
         // 查询 家属或者租客
806
         // 查询 家属或者租客
806
         if (null != userId) {
807
         if (null != userId) {
807
-            TaUser todUser = taUserMapper.selectByPrimaryKey(userId);
808
             TaUserVerify todUserVerify = taUserVerifyMapper.selectCommunityAndAddress(userId, userElement.getCommunityId(), userElement.getPhaseId(), userElement.getBuildingId(), userElement.getUnitId(), userElement.getLevelId(), userElement.getRoomNoId());
808
             TaUserVerify todUserVerify = taUserVerifyMapper.selectCommunityAndAddress(userId, userElement.getCommunityId(), userElement.getPhaseId(), userElement.getBuildingId(), userElement.getUnitId(), userElement.getLevelId(), userElement.getRoomNoId());
809
             // 判断 家属或者租客 属不属于这个业主的下面
809
             // 判断 家属或者租客 属不属于这个业主的下面
810
             if (null == todUserVerify) {
810
             if (null == todUserVerify) {
811
                 response.addError("您的下面没有该家属或者租客!");
811
                 response.addError("您的下面没有该家属或者租客!");
812
                 return response;
812
                 return response;
813
             }
813
             }
814
+            TaUser todUser = taUserMapper.selectByPrimaryKey(userId);
814
             user = todUser;
815
             user = todUser;
815
         }
816
         }
816
 
817
 
852
         setUserVoProperties(user.getCommunityId(), userVO);
853
         setUserVoProperties(user.getCommunityId(), userVO);
853
 
854
 
854
         // 人脸是否已录入
855
         // 人脸是否已录入
855
-        // 这里目前定死为已录入, 后期根据人脸业务做判断
856
-        if ("1".equals(user.getFaceStatus())) {
856
+        TaFace face = taFaceMapper.getByUserVerifyId(userVerify.getId());
857
+        if (null == face) {
857
             userVO.setFace("register");
858
             userVO.setFace("register");
858
         } else {
859
         } else {
859
             userVO.setFace("unregister");
860
             userVO.setFace("unregister");
971
             taUserVO.setRoomNoId(userVerify.getRoomNoId());
972
             taUserVO.setRoomNoId(userVerify.getRoomNoId());
972
             taUserVO.setAddressBuilding(userVerify.getPhaseName() + userVerify.getBuildingName() + userVerify.getUnitName() + userVerify.getLevelName() + userVerify.getRoomNoName());
973
             taUserVO.setAddressBuilding(userVerify.getPhaseName() + userVerify.getBuildingName() + userVerify.getUnitName() + userVerify.getLevelName() + userVerify.getRoomNoName());
973
 
974
 
975
+            // 人脸是否已录入
976
+            TaFace face = taFaceMapper.getByUserVerifyId(userVerify.getId());
977
+            if (null == face) {
978
+                taUserVO.setFace("register");
979
+            } else {
980
+                taUserVO.setFace("unregister");
981
+            }
974
 
982
 
975
             TaSysRole taSysRole = taSysRoleMapper.selectByPrimaryKey(userVerify.getRoleId());
983
             TaSysRole taSysRole = taSysRoleMapper.selectByPrimaryKey(userVerify.getRoleId());
976
             taUserVO.setRole(taSysRole.getRoleName());
984
             taUserVO.setRole(taSysRole.getRoleName());

+ 14
- 11
CODE/smart-community/app-api/src/main/resources/mapper/TaFaceMapper.xml 查看文件

4
     <resultMap id="BaseResultMap" type="com.community.huiju.model.TaFace" >
4
     <resultMap id="BaseResultMap" type="com.community.huiju.model.TaFace" >
5
         <id column="id" property="id" jdbcType="INTEGER" />
5
         <id column="id" property="id" jdbcType="INTEGER" />
6
         <result column="community_id" property="communityId" jdbcType="INTEGER" />
6
         <result column="community_id" property="communityId" jdbcType="INTEGER" />
7
-        <result column="ta_user_id" property="taUserId" jdbcType="INTEGER" />
7
+        <result column="ta_user_verify_id" property="taUserVerifyId" jdbcType="INTEGER" />
8
         <result column="face_img" property="faceImg" jdbcType="VARCHAR" />
8
         <result column="face_img" property="faceImg" jdbcType="VARCHAR" />
9
         <result column="create_user" property="createUser" jdbcType="INTEGER" />
9
         <result column="create_user" property="createUser" jdbcType="INTEGER" />
10
         <result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
10
         <result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
12
         <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
12
         <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
13
     </resultMap>
13
     </resultMap>
14
     <sql id="Base_Column_List" >
14
     <sql id="Base_Column_List" >
15
-        id, community_id,ta_user_id,face_img,create_user, create_date, update_user,
15
+        id, community_id,ta_user_verify_id,face_img,create_user, create_date, update_user,
16
         update_date
16
         update_date
17
     </sql>
17
     </sql>
18
     <select id="selectByPrimaryKey" resultMap="BaseResultMap">
18
     <select id="selectByPrimaryKey" resultMap="BaseResultMap">
26
         where id = #{id,jdbcType=INTEGER}
26
         where id = #{id,jdbcType=INTEGER}
27
     </delete>
27
     </delete>
28
     <insert id="insert" parameterType="com.community.huiju.model.TaFace" >
28
     <insert id="insert" parameterType="com.community.huiju.model.TaFace" >
29
-        insert into ta_face (id, community_id, ta_user_id,face_img, create_user, create_date,
29
+        insert into ta_face (id, community_id, ta_user_verify_id,face_img, create_user, create_date,
30
         update_user, update_date)
30
         update_user, update_date)
31
-        values (#{id,jdbcType=INTEGER}, #{communityId,jdbcType=INTEGER},#{taUserId,jdbcType=INTEGER},#{faceImg,jdbcType=VARCHAR},#{createUser,jdbcType=INTEGER}, #{createDate,jdbcType=TIMESTAMP},
31
+        values (#{id,jdbcType=INTEGER}, #{communityId,jdbcType=INTEGER},#{taUserVerifyId,jdbcType=INTEGER},#{faceImg,jdbcType=VARCHAR},#{createUser,jdbcType=INTEGER}, #{createDate,jdbcType=TIMESTAMP},
32
         #{updateUser,jdbcType=INTEGER}, #{updateDate,jdbcType=TIMESTAMP})
32
         #{updateUser,jdbcType=INTEGER}, #{updateDate,jdbcType=TIMESTAMP})
33
     </insert>
33
     </insert>
34
     <insert id="insertSelective"  parameterType="com.community.huiju.model.TaFace" >
34
     <insert id="insertSelective"  parameterType="com.community.huiju.model.TaFace" >
40
             <if test="communityId != null" >
40
             <if test="communityId != null" >
41
                 community_id,
41
                 community_id,
42
             </if>
42
             </if>
43
-            <if test="taUserId != null" >
44
-                ta_user_id,
43
+            <if test="taUserVerifyId != null" >
44
+                ta_user_verify_id,
45
             </if>
45
             </if>
46
             <if test="faceImg != null" >
46
             <if test="faceImg != null" >
47
                 face_img,
47
                 face_img,
66
             <if test="communityId != null" >
66
             <if test="communityId != null" >
67
                 #{communityId,jdbcType=INTEGER},
67
                 #{communityId,jdbcType=INTEGER},
68
             </if>
68
             </if>
69
-            <if test="taUserId != null" >
70
-                #{taUserId,jdbcType=INTEGER},
69
+            <if test="taUserVerifyId != null" >
70
+                #{taUserVerifyId,jdbcType=INTEGER},
71
             </if>
71
             </if>
72
             <if test="faceImg != null" >
72
             <if test="faceImg != null" >
73
                 #{faceImg,jdbcType=VARCHAR},
73
                 #{faceImg,jdbcType=VARCHAR},
92
             <if test="communityId != null" >
92
             <if test="communityId != null" >
93
                 community_id = #{communityId,jdbcType=INTEGER},
93
                 community_id = #{communityId,jdbcType=INTEGER},
94
             </if>
94
             </if>
95
+            <if test="taUserVerifyId != null" >
96
+                ta_user_verify_id = #{taUserVerifyId,jdbcType=INTEGER},
97
+            </if>
95
             <if test="faceImg != null" >
98
             <if test="faceImg != null" >
96
                 face_img = #{faceImg,jdbcType=VARCHAR},
99
                 face_img = #{faceImg,jdbcType=VARCHAR},
97
             </if>
100
             </if>
108
                 update_date = #{updateDate,jdbcType=TIMESTAMP},
111
                 update_date = #{updateDate,jdbcType=TIMESTAMP},
109
             </if>
112
             </if>
110
         </set>
113
         </set>
111
-        where ta_user_id = #{taUserId,jdbcType=INTEGER}
114
+        where id = #{id,jdbcType=INTEGER}
112
     </update>
115
     </update>
113
 
116
 
114
-    <select id="getByUserId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
117
+    <select id="getByUserVerifyId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
115
         select
118
         select
116
         <include refid="Base_Column_List" />
119
         <include refid="Base_Column_List" />
117
         from ta_face
120
         from ta_face
118
-        where ta_user_id = #{userid,jdbcType=INTEGER}
121
+        where ta_user_verify_id = #{userVerifyId,jdbcType=INTEGER}
119
     </select>
122
     </select>
120
 
123
 
121
     <select id="getById" resultMap="BaseResultMap"  parameterType="java.lang.Integer" >
124
     <select id="getById" resultMap="BaseResultMap"  parameterType="java.lang.Integer" >

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

209
      * 人员状态  拉黑 (运营端操作 APP端的用户)
209
      * 人员状态  拉黑 (运营端操作 APP端的用户)
210
      */
210
      */
211
     public static final String BLACKLIST_STATUS = "2";
211
     public static final String BLACKLIST_STATUS = "2";
212
+
213
+    /**
214
+     * 人员状态  有效
215
+     */
216
+    public static final String EFFECTIVE_STATUS = "1";
217
+
218
+    /**
219
+     * 人员状态  无效
220
+     */
221
+    public static final String INVALID_STATUS = "0";
212
 }
222
 }