Browse Source

合并本地分支

weiximei 6 years ago
parent
commit
fe984e5f7c

+ 17
- 5
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/PicUtils.java View File

@@ -3,11 +3,16 @@ package com.community.huiju.common;
3 3
 import net.coobird.thumbnailator.Thumbnails;
4 4
 import org.slf4j.Logger;
5 5
 import org.slf4j.LoggerFactory;
6
+import org.springframework.util.StringUtils;
6 7
 import org.springframework.web.multipart.MultipartFile;
7 8
 
9
+import javax.imageio.ImageIO;
10
+import java.awt.image.BufferedImage;
8 11
 import java.io.ByteArrayInputStream;
9 12
 import java.io.ByteArrayOutputStream;
13
+import java.io.File;
10 14
 import java.io.IOException;
15
+import java.math.BigDecimal;
11 16
 
12 17
 /**
13 18
  * 图片压缩Utils
@@ -77,16 +82,16 @@ public class PicUtils {
77 82
      * @param fileBytes
78 83
      * @return
79 84
      */
80
-/*    public static String getImgStr(byte [] fileBytes) {
85
+      public static String getImgStr(byte [] fileBytes) {
81 86
         return new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileBytes));
82
-    }*/
87
+    }
83 88
 
84 89
     /**
85 90
      * 图片进行Base64位编码
86 91
      * @param imgFile
87 92
      * @return
88 93
      */
89
-    public static String getImgStr(MultipartFile imgFile){
94
+   /* public static String getImgStr(MultipartFile imgFile){
90 95
         byte[] data = null;
91 96
         try
92 97
         {
@@ -97,6 +102,13 @@ public class PicUtils {
97 102
             e.printStackTrace();
98 103
         }
99 104
         return new String(org.apache.commons.codec.binary.Base64.encodeBase64(data));
100
-    }
105
+    }*/
106
+}
107
+
108
+
109
+
110
+
111
+
112
+
113
+
101 114
 
102
-}

+ 2
- 4
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java View File

@@ -387,7 +387,6 @@ public class HKOpenApi {
387 387
      * @return
388 388
      */
389 389
     public static String HKpersonGroupId(MultipartFile faceImg,Integer personNo,String personName){
390
-        String  img= PicUtils.getImgStr(faceImg);
391 390
         String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_ADD_USER;
392 391
         Map<String, Object> map = new HashMap<String, Object>();
393 392
         map.put("appkey", HKConstant.APPKEY);
@@ -396,7 +395,6 @@ public class HKOpenApi {
396 395
         map.put("opUserUuid",HKConstant.OP_USER_UUID);
397 396
         map.put("personNo",personNo);
398 397
         map.put("personName",personName);
399
-        map.put("facePhoto",img);
400 398
         String params =  JSON.toJSONString(map);
401 399
         String data = null;
402 400
         try {
@@ -424,9 +422,9 @@ public class HKOpenApi {
424 422
         } catch (IOException e) {
425 423
             e.printStackTrace();
426 424
         }
427
-        PicUtils.compressPicForScale(fileByte,99L,"x");
425
+        byte[] imgs=PicUtils.compressPicForScale(fileByte,99L,"x");
428 426
 
429
-        String img = PicUtils.getImgStr(faceImg);
427
+        String img = PicUtils.getImgStr(imgs);
430 428
         String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_UPDATE_USER;
431 429
         Map<String, Object> map = new HashMap<String, Object>();
432 430
         map.put("appkey", HKConstant.APPKEY);

+ 2
- 3
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/TicketController.java View File

@@ -164,9 +164,8 @@ public class TicketController extends BaseController {
164 164
     @ApiOperation(value = "物业,门卫,领导电话", notes = "物业,门卫,领导电话")
165 165
     @RequestMapping(value = "/allTpAnnouncementTel", method = RequestMethod.GET)
166 166
     public ResponseBean getTpAnnouncementTel() {
167
-        ResponseBean responseBean = new ResponseBean();
168
-        responseBean = agreementServicel.getTpAnnouncementTel();
169
-        return responseBean;
167
+        ResponseBean agreement = agreementServicel.getTpAnnouncementTel();
168
+        return agreement;
170 169
     }
171 170
 
172 171
     @ApiOperation(value = "修改 报修/投诉/联系单", notes = "修改 报修/投诉/联系单")

+ 119
- 81
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java View File

@@ -39,73 +39,29 @@ public class FaceServicelimpl implements FaceServiceI {
39 39
     private ImageServiceI imageServiceI;
40 40
 
41 41
     @Override
42
+    @Transactional(rollbackFor = Exception.class)
42 43
     public ResponseBean addFace(Integer userid, MultipartFile uploadFile,Integer otherUserID) {
43
-        String faceImg = null;
44
-        try {
45
-            faceImg = imageServiceI.getImageUrl(uploadFile);
46
-        } catch (IOException e) {
47
-            e.printStackTrace();
48
-        }
44
+        String faceImg =img(uploadFile);
45
+        /**判断是业主,还是结束或租客*/
49 46
         ResponseBean responseBean = getTaFaceParentId(userid,otherUserID);
50 47
         if ("1".equals(responseBean.getCode())){
51 48
             responseBean.getMessage();
52 49
             return responseBean;
53 50
         }
54
-        Integer id = otherUserID == null?userid:otherUserID;
55
-        TaUser user = taUserMapper.selectByPrimaryKey(id);
56
-        ResponseBean response = new ResponseBean();
57
-        TaFace taFace = new TaFace();
58
-        taFace.setCommunityId(user.getCommunityId());
59
-        taFace.setTaUserId(userid);
60
-        taFace.setCreateUser(userid);
61
-        taFace.setUpdateUser(id);
62
-        taFace.setCreateDate(new Date());
63
-        taFace.setUpdateDate(new Date());
64
-        //判断身份是否为业主且状态为已停用
65
-        TaSysRole sysRole = taSysRoleMapper.findRoleByUserId(userid);
66
-        TaUser taUser = taUserMapper.selectByPrimaryKey(userid);
67
-        if (null!=taUser && null!=sysRole
68
-                && Constant.INVALID.equals(taUser.getStatus())&& Constant.OWNER.equals(sysRole.getRoleName())) {
69
-            response.addError("9996", "您的身份已停用,请联系物业");
70
-            return response;
71
-        }
72
-        //身份为家属租客,状态为已停用
73
-        if (null!=taUser && null!=sysRole){
74
-                if (Constant.INVALID.equals(taUser.getStatus()) && (Constant.RELATION.equals(sysRole.getRoleName())) || Constant.TENANT.equals(sysRole.getRoleName())){
75
-                response.addError("9996", "您的身份已停用,请联系物业");
76
-                return response;
77
-            }
78
-        }
79
-        //查询当前用户是否有人脸记录
80
-        TaFace User = taFaceMapper.getByUserId(userid);
81
-        if (null == User) {
82
-            boolean isA = true;
83
-            if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
84
-                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
85
-                if (resps.getCode().equals("0")) {
86
-                    taUser.setFaceStatus("1");
87
-                    taUserMapper.updateByPrimaryKeySelective(taUser);
88
-                    resps.addSuccess("图片录入成功");
89
-                } else {
90
-                    resps.addError(resps.getMessage());
91
-                }
92
-                return resps;
93
-            }
94
-            //家属或者租客,已认证
95
-            if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getDescription()) && "1".equals(taUser.getVerifyStatus())) {
96
-                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
97
-                if (resps.getCode().equals("0")) {
98
-                    taUser.setFaceStatus("1");
99
-                    taUserMapper.updateByPrimaryKeySelective(taUser);
100
-                    resps.addSuccess("图片录入成功");
101
-                } else {
102
-                    resps.addError(resps.getMessage());
103
-                }
104
-                return resps;
105
-            }
106
-        }
107
-        response.addError("您的信息已存在");
108
-        return response;
51
+            Integer id = otherUserID == null?userid:otherUserID;
52
+            TaUser user = taUserMapper.selectByPrimaryKey(id);
53
+            TaFace taFace = new TaFace();
54
+            taFace.setFaceImg(faceImg);
55
+            taFace.setCommunityId(user.getCommunityId());
56
+            taFace.setTaUserId(id);
57
+            taFace.setCreateUser(userid);
58
+            taFace.setUpdateUser(id);
59
+            taFace.setCreateDate(new Date());
60
+            taFace.setUpdateDate(new Date());
61
+
62
+        /*验证身份*/
63
+        responseBean=addVerify( id,  uploadFile, otherUserID, faceImg, taFace) ;
64
+        return responseBean;
109 65
     }
110 66
 
111 67
     /**
@@ -116,21 +72,25 @@ public class FaceServicelimpl implements FaceServiceI {
116 72
      * @return
117 73
      */
118 74
     @Override
75
+    @Transactional(rollbackFor = Exception.class)
119 76
     public ResponseBean upDateFace(Integer userId, MultipartFile uploadFile,Integer otherUserID) {
120 77
         boolean isA = false;
121
-        String faceImg = null;
122
-        try {
123
-            faceImg = imageServiceI.getImageUrl(uploadFile);
124
-        } catch (IOException e) {
125
-            e.printStackTrace();
126
-        }
78
+        String faceImg =img(uploadFile);
127 79
         ResponseBean responseBean=getTaFaceParentId(userId,otherUserID);
128 80
         if ("1".equals(responseBean.getCode())){
129 81
                 responseBean.getMessage();
130 82
                 return responseBean;
131
-        }
83
+             }
132 84
             Integer id = otherUserID == null?userId:otherUserID;
85
+            //当前修改的id否存在
86
+             TaFace User = taFaceMapper.getByUserId(id);
87
+             if (null == User){
88
+                 responseBean.addError("您的信息不存在,请录入人脸");
89
+                 return responseBean;
90
+             }
133 91
             TaFace taFace = new TaFace();
92
+            taFace.setTaUserId(id);
93
+            taFace.setFaceImg(faceImg);
134 94
             taFace.setUpdateUser(userId);
135 95
             taFace.setUpdateDate(new Date());
136 96
             ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, id);
@@ -142,6 +102,9 @@ public class FaceServicelimpl implements FaceServiceI {
142 102
         return resps;
143 103
     }
144 104
 
105
+    /**
106
+     *验证图片是否为人脸,推送海康
107
+     */
145 108
     public ResponseBean checKout(String faceImg, TaFace taFace, boolean isA, MultipartFile uploadFile, Integer userId) {
146 109
         ResponseBean responseBean = new ResponseBean();
147 110
         TaUser user = taUserMapper.selectByPrimaryKey(userId);
@@ -157,31 +120,39 @@ public class FaceServicelimpl implements FaceServiceI {
157 120
                 JSONObject jsonObject = JSONObject.parseObject(responseBean.getMessage());
158 121
                 Integer type = (Integer) jsonObject.get("errno");
159 122
                 Integer faceNum = (Integer) jsonObject.get("face_num");
160
-            /*boolean isA为true进行添加,为false进行修改*/
123
+
124
+             /*推送海康*/
125
+            String data=HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getId(), user.getUserName(), user.getHkCardNo());
126
+              /*boolean isA为true进行添加,为false进行修改*/
161 127
             if (0 == type && 1 == faceNum && isA) {
162
-                /*推送海康*/
163
-                HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getId(), user.getUserName(), user.getHkCardNo());
164
-                taFace.setFaceImg(faceImg);
128
+                if (null == data){
129
+                    throw new RuntimeException("海康人脸推送失敗!");
130
+                }
165 131
                 taFaceMapper.insertSelective(taFace);
166 132
                 responseBean.addSuccess("操作成功");
133
+
167 134
                 HKOpenApi.downloadFaceAndFingerInfos(String.valueOf(user.getHkUserId()));
168
-                return responseBean;
169
-            } else if (0 == type && 1 == faceNum && isA == false) {
170
-                HKOpenApi.HKpersonGroupId(uploadFile, user.getHkUserId(), user.getId(), user.getUserName(), user.getHkCardNo());
171
-                taFace.setFaceImg(faceImg);
172
-                taFaceMapper.updateByPrimaryKeySelective(taFace);
173
-                responseBean.addSuccess("操作成功");
135
+            } else if (isA == false){
136
+                    if (null == data) {
137
+                        throw new RuntimeException("海康人脸推送失敗!");
138
+                    }
139
+                    taFaceMapper.updateByPrimaryKeySelective(taFace);
140
+                    responseBean.addSuccess("操作成功");
174 141
                 HKOpenApi.downloadFaceAndFingerInfos(String.valueOf(user.getHkUserId()));
175
-                return responseBean;
142
+                } else {
143
+                responseBean.addError("请录入正确图片");
176 144
             }
177 145
         } catch (Exception e) {
178 146
             e.printStackTrace();
147
+            log.error("海康人脸推送失敗! {}",e);
148
+            throw new RuntimeException("海康人脸推送失敗!");
179 149
         }
180
-        responseBean.addError("请录入正确图片");
181 150
         return responseBean;
182 151
     }
183 152
 
184
-
153
+    /**
154
+     *获得用户,租客,家属,其中一种身份的信息
155
+     */
185 156
     @Override
186 157
     public ResponseBean getTaFaceByUserId(Integer userId,Integer otherUserID) {
187 158
         ResponseBean responseBean= new ResponseBean();
@@ -214,4 +185,71 @@ public class FaceServicelimpl implements FaceServiceI {
214 185
         return responseBean;
215 186
     }
216 187
 
188
+    /**
189
+     * 得到当前图片
190
+     */
191
+    private String img(MultipartFile uploadFile){
192
+        String faceImg = null;
193
+        try {
194
+            faceImg = imageServiceI.getImageUrl(uploadFile);
195
+        } catch (IOException e) {
196
+            e.printStackTrace();
197
+        }
198
+        return faceImg;
199
+    }
200
+
201
+    /**
202
+     *各种身份校验
203
+     */
204
+    public ResponseBean addVerify(Integer userid, MultipartFile uploadFile,Integer otherUserID,String faceImg,TaFace taFace) {
205
+        ResponseBean response = new ResponseBean();
206
+        TaSysRole sysRole = taSysRoleMapper.findRoleByUserId(userid);
207
+        TaUser taUser = taUserMapper.selectByPrimaryKey(userid);
208
+        if (null!=taUser && null!=sysRole
209
+                && Constant.INVALID.equals(taUser.getStatus())&& Constant.OWNER.equals(sysRole.getRoleName())) {
210
+            response.addError("9996", "您的身份已停用,请联系物业");
211
+            return response;
212
+        }
213
+        //身份为家属租客,状态为已停用
214
+        if (null!=taUser && null!=sysRole){
215
+            if (Constant.INVALID.equals(taUser.getStatus()) && (Constant.RELATION.equals(sysRole.getRoleName())) || Constant.TENANT.equals(sysRole.getRoleName())){
216
+                response.addError("9996", "您的身份已停用,请联系物业");
217
+                return response;
218
+            }
219
+        }
220
+        //查询当前用户是否有人脸记录
221
+        TaFace User = taFaceMapper.getByUserId(userid);
222
+        if (null == User) {
223
+            boolean isA = true;
224
+            if (Constant.OWNER.equals(sysRole.getRoleName()) && "1".equals(taUser.getVerifyStatus())) {
225
+                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
226
+                if (resps.getCode().equals("0")) {
227
+                    taUser.setFaceStatus("1");
228
+                    taUserMapper.updateByPrimaryKeySelective(taUser);
229
+                    resps.addSuccess("图片录入成功");
230
+                } else {
231
+                    resps.addError(resps.getMessage());
232
+                }
233
+                return resps;
234
+            }
235
+            //家属或者租客,已认证
236
+            if (Constant.RELATION.equals(sysRole.getRoleName()) || Constant.TENANT.equals(sysRole.getDescription()) && "1".equals(taUser.getVerifyStatus())) {
237
+                ResponseBean resps = checKout(faceImg, taFace, isA, uploadFile, userid);
238
+                if (resps.getCode().equals("0")) {
239
+                    taUser.setFaceStatus("1");
240
+                    taUserMapper.updateByPrimaryKeySelective(taUser);
241
+                    resps.addSuccess("图片录入成功");
242
+                } else {
243
+                    resps.addError(resps.getMessage());
244
+                }
245
+                return resps;
246
+            }
247
+        }
248
+        response.addError("您的信息已存在");
249
+        return response;
250
+    }
251
+
252
+
217 253
 }
254
+
255
+

+ 2
- 2
CODE/smart-community/app-api/src/main/resources/mapper/TaUserMapper.xml View File

@@ -313,9 +313,9 @@
313 313
     select
314 314
     <include refid="Base_Column_List" />
315 315
     from ta_user
316
-    where id = #{id,jdbcType=INTEGER}
316
+    where id = #{otherUserID,jdbcType=INTEGER}
317 317
     <if test="otherUserID != null" >
318
-     and parent_id = #{otherUserID}
318
+     and parent_id = #{id}
319 319
     </if>
320 320
 
321 321
   </select>