Browse Source

Merge branch 'develop' of http://git.ycjcjy.com/fuxingfan/smartCommunity into develop

# Conflicts:
#	CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java
傅行帆 6 years ago
parent
commit
98d7a53d0c

+ 0
- 3
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/code/cache/AppkeyCache.java View File

@@ -1,12 +1,9 @@
1 1
 package com.community.huiju.common.code.cache;
2
-
3 2
 import com.community.commom.constant.Constant;
4 3
 import com.google.common.cache.CacheBuilder;
5 4
 import com.google.common.cache.CacheLoader;
6 5
 import com.google.common.cache.LoadingCache;
7 6
 import lombok.extern.slf4j.Slf4j;
8
-
9
-import java.util.concurrent.ExecutionException;
10 7
 import java.util.concurrent.TimeUnit;
11 8
 
12 9
 /**

+ 7
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKConstant.java View File

@@ -113,4 +113,11 @@ public class HKConstant {
113 113
      * 批量开卡
114 114
      */
115 115
     public static final String ITF_OPEN_CARD = "/openapi/service/base/person/batchOpenCards";
116
+
117
+    /**
118
+     * 根据人员ID集获取人员
119
+     */
120
+    public static final String ITF_GET_USER_ID = "/openapi/service/base/person/getPersonInfosByIds";
121
+
122
+
116 123
 }

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

@@ -2,13 +2,13 @@ package com.community.huiju.common.hk;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4 4
 import com.community.commom.hk.HttpClientSSLUtils;
5
+import com.community.huiju.common.PicUtils;
5 6
 import com.google.common.collect.Maps;
6 7
 import lombok.extern.slf4j.Slf4j;
7
-import net.coobird.thumbnailator.Thumbnails;
8 8
 import org.springframework.web.multipart.MultipartFile;
9
-import java.io.*;
10 9
 import com.community.commom.hk.Digests;
11 10
 
11
+import java.util.HashMap;
12 12
 import java.util.Map;
13 13
 
14 14
 /**
@@ -337,7 +337,68 @@ public class HKOpenApi {
337 337
         
338 338
         return data;
339 339
     }
340
+    
341
+    /**
342
+     * 修改人脸
343
+     * faceImg 图片
344
+     * personId人员ID
345
+     * personNo 人员编号
346
+     * personName 名称
347
+     *  * cardNo 卡号
348
+     * @return
349
+     */
350
+    public static String HKpersonGroupId(MultipartFile faceImg,Integer personId,Integer personNo,String personName,String cardNo) {
351
+        String img = PicUtils.getImgStr(faceImg);
352
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_UPDATE_USER;
353
+        Map<String, Object> map = new HashMap<String, Object>();
354
+        map.put("appkey", HKConstant.APPKEY);
355
+        map.put("time", System.currentTimeMillis());
356
+        map.put("token", HKConstant.SECRET);
357
+        map.put("opUserUuid", HKConstant.OP_USER_UUID);
358
+        map.put("personId", personId);
359
+        map.put("personNo", personNo);
360
+        map.put("personName", personName);
361
+        map.put("facePhoto", img);
362
+        map.put("cardNo", cardNo);
363
+        String params = JSON.toJSONString(map);
364
+        String data = null;
365
+        try {
366
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
367
+            log.info("修改人员 请求返回结果:{}",data);
368
+        } catch (Exception e) {
369
+            e.printStackTrace();
370
+            log.info("修改人员 请求返回结果:{}",data);
371
+        }
372
+        return data;
373
+    }
340 374
 
375
+    /**
376
+     * 根据人员ID集获取人员
377
+     * @return
378
+     */
379
+    public static String getPersonInfosByIds(String personIds){
380
+        Map<String,Object> parMap = Maps.newHashMap();
381
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_GET_USER_ID;
382
+        //设置APPKEY
383
+        parMap.put("appkey", HKConstant.APPKEY);
384
+        //设置时间参数
385
+        parMap.put("time", System.currentTimeMillis());
386
+        parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
387
+        parMap.put("personIds",personIds);
388
+        String params =  JSON.toJSONString(parMap);
389
+        log.info("根据人员ID集获取人员 请求参数:{}", params);
390
+        String data = null;
391
+        try {
392
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
393
+            log.info("根据人员ID集获取人员 请求返回结果:{}",data);
394
+        } catch (Exception e) {
395
+            e.printStackTrace();
396
+            log.error("根据人员ID集获取人员获取失败!",e);
397
+        }
398
+
399
+        return data;
400
+    }
401
+    
341 402
     public static void main(String[] args) {
342 403
     }
343 404
 }

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

@@ -1,6 +1,8 @@
1 1
 package com.community.huiju.controller;
2 2
 
3
+import com.community.commom.mode.ResponseBean;
3 4
 import com.community.huiju.service.ImageServiceI;
5
+import com.google.common.collect.Maps;
4 6
 import io.swagger.annotations.Api;
5 7
 import io.swagger.annotations.ApiOperation;
6 8
 import io.swagger.annotations.ApiParam;
@@ -11,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
11 13
 import org.springframework.web.bind.annotation.RestController;
12 14
 import org.springframework.web.multipart.MultipartFile;
13 15
 
16
+import java.util.Map;
17
+
14 18
 /**
15 19
  * @author weichaochao
16 20
  * @Title: ImageController
@@ -28,9 +32,12 @@ public class ImageController {
28 32
 
29 33
     @ApiOperation(value = "图片上传以及获取url", notes = "图片上传以及获取url")
30 34
     @PostMapping(value = "/uploadimage", consumes = "multipart/*", headers = "content-type=multipart/form-data")
31
-    public String uploadImgAndGetUrl(@ApiParam(value = "file" ,required = true) MultipartFile uploadFile) throws Exception {
32
-
35
+    public ResponseBean uploadImgAndGetUrl(@ApiParam(value = "file" ,required = true) MultipartFile uploadFile) throws Exception {
36
+        ResponseBean responseBean = new ResponseBean();
37
+        Map<String,Object> map = Maps.newHashMap();
33 38
         String url = imageService.getImageUrl(uploadFile);
34
-        return url;
39
+        map.put("url",url);
40
+        responseBean.addSuccess(map);
41
+        return responseBean;
35 42
     }
36 43
 }

+ 11
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TaUser.java View File

@@ -42,6 +42,9 @@ public class TaUser {
42 42
     // 海康UserId
43 43
     private Integer hkUserId;
44 44
 
45
+    // 海康 卡片号
46
+    private String hkCardNo;
47
+
45 48
     public Integer getId() {
46 49
         return id;
47 50
     }
@@ -193,4 +196,12 @@ public class TaUser {
193 196
     public void setHkUserId(Integer hkUserId) {
194 197
         this.hkUserId = hkUserId;
195 198
     }
199
+
200
+    public String getHkCardNo() {
201
+        return hkCardNo;
202
+    }
203
+
204
+    public void setHkCardNo(String hkCardNo) {
205
+        this.hkCardNo = hkCardNo;
206
+    }
196 207
 }

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

@@ -1,4 +1,5 @@
1 1
 package com.community.huiju.service.impl;
2
+import com.alibaba.fastjson.JSONArray;
2 3
 import com.alibaba.fastjson.JSONObject;
3 4
 import com.community.commom.ailiyun.AESDecode;
4 5
 import com.community.commom.constant.Constant;
@@ -19,6 +20,8 @@ import org.springframework.web.multipart.MultipartFile;
19 20
 
20 21
 import java.io.IOException;
21 22
 import java.util.Date;
23
+import java.util.HashMap;
24
+import java.util.Map;
22 25
 
23 26
 @Service("faceServicel")
24 27
 @Transactional
@@ -111,7 +114,7 @@ public class FaceServicelimpl implements FaceServiceI {
111 114
             e.printStackTrace();
112 115
         }
113 116
         TaUser user=taUserMapper.selectByPrimaryKey(userId);
114
-        ResponseBean responseBean = new ResponseBean();
117
+
115 118
         TaFace taFace = new TaFace();
116 119
         taFace.setCommunityId(user.getCommunityId());
117 120
         taFace.setTaUserId(userId);
@@ -121,11 +124,11 @@ public class FaceServicelimpl implements FaceServiceI {
121 124
         if (resps.getCode().equals("0")) {
122 125
 
123 126
 
124
-            responseBean.addSuccess("图片修改成功");
127
+            resps.addSuccess("图片修改成功");
125 128
         }else {
126
-            responseBean.addError(resps.getMessage());
129
+            resps.addError(resps.getMessage());
127 130
         }
128
-        return responseBean;
131
+        return resps;
129 132
     }
130 133
     
131 134
     /**
@@ -139,6 +142,7 @@ public class FaceServicelimpl implements FaceServiceI {
139 142
             responseBean.addError("人员Id不存在,无法录入");
140 143
             return responseBean;
141 144
         }
145
+
142 146
         AESDecode aesd = new AESDecode();
143 147
         String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
144 148
         try {
@@ -151,16 +155,16 @@ public class FaceServicelimpl implements FaceServiceI {
151 155
             if (0==type && 1==faceNum && isA) {
152 156
 
153 157
                     /*推送海康*/
154
-                String code=HKOpenApi.HKpersonGroupId( uploadFile, user.getHkUserId(), user.getId(), user.getUserName());
158
+                HKOpenApi.HKpersonGroupId( uploadFile, user.getHkUserId(), user.getId(), user.getUserName(),user.getHkCardNo());
155 159
 
156
-                    taFace.setFaceImg(faceImg);
157
-                    taFaceMapper.insertSelective(taFace);
158
-                    responseBean.addSuccess("操作成功");
160
+                taFace.setFaceImg(faceImg);
161
+                taFaceMapper.insertSelective(taFace);
162
+                responseBean.addSuccess("操作成功");
159 163
                 HKOpenApi.downloadFaceAndFingerInfos( String .valueOf(user.getHkUserId()));
160
-                    return responseBean;
164
+                return responseBean;
161 165
             }else if (0==type && 1==faceNum && isA==false){
162 166
 
163
-                String code=HKOpenApi.HKpersonGroupId( uploadFile, user.getHkUserId(), user.getId(), user.getUserName());
167
+                HKOpenApi.HKpersonGroupId( uploadFile, user.getHkUserId(), user.getId(), user.getUserName(),user.getHkCardNo());
164 168
 
165 169
                 taFace.setFaceImg(faceImg);
166 170
                 taFaceMapper.updateByPrimaryKeySelective(taFace);

+ 14
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java View File

@@ -324,7 +324,7 @@ public class TaUserServiceImpl implements ITaUserService {
324 324
 
325 325
         TaUser taUser = taUserMapper.selectByPrimaryKey(currentUserId);
326 326
         if (null == taUser) {
327
-            response.addError("用户不存在!");
327
+            response.addError("当前用户不存在!");
328 328
             return response;
329 329
         }
330 330
         if (taUser.getVerifyStatus().equals("0") || taUser.getVerifyStatus().equals("2")) {
@@ -338,6 +338,14 @@ public class TaUserServiceImpl implements ITaUserService {
338 338
             return response;
339 339
         }
340 340
 
341
+        Map<String,Object> parUserLogin = Maps.newHashMap();
342
+        parUserLogin.put("loginName",phone);
343
+        TaUser parUser = taUserMapper.selectByLoginName(parUserLogin);
344
+        if (null != parUser) {
345
+            response.addError("手机号 "+phone + " 已存在!");
346
+            return response;
347
+        }
348
+
341 349
         TaUser user = new TaUser();
342 350
         user.setUserName(userName);
343 351
         user.setLoginName(phone);
@@ -410,10 +418,14 @@ public class TaUserServiceImpl implements ITaUserService {
410 418
         int errorCode = (int) resultMap.get("errorCode");
411 419
         if (errorCode == 0) {
412 420
             Map<String,Object> resultDataMap = (Map<String, Object>) resultMap.get("data");
421
+            // 开卡 卡号
422
+            long cardNo = System.currentTimeMillis();
413 423
             // 海康人员ID
414 424
             Integer personId = (Integer) resultDataMap.get("personId");
415 425
             TaUser tempUser = taUserMapper.selectByPrimaryKey(user.getId());
416 426
             tempUser.setHkUserId(personId);
427
+            tempUser.setHkCardNo(cardNo+"");
428
+
417 429
             user.setHkUserId(personId);
418 430
             // 存储海康人员ID
419 431
             int row = taUserMapper.updateByPrimaryKeySelective(tempUser);
@@ -426,7 +438,7 @@ public class TaUserServiceImpl implements ITaUserService {
426 438
 
427 439
             // 开卡
428 440
             List<String> cardAndPersonList = Lists.newArrayList();
429
-            cardAndPersonList.add(System.currentTimeMillis() + "," + personId);
441
+            cardAndPersonList.add(cardNo + "," + personId);
430 442
             response = openCard(cardAndPersonList,null);
431 443
         }else {
432 444
             String errorMessage = String.valueOf(resultMap.get("errorMessage"));

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

@@ -21,11 +21,12 @@
21 21
     <result column="update_user" property="updateUser" jdbcType="INTEGER" />
22 22
     <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
23 23
     <result column="hk_user_id" property="hkUserId" javaType="INTEGER" />
24
+    <result column="hk_card_no" property="hkCardNo" />
24 25
   </resultMap>
25 26
   <sql id="Base_Column_List" >
26 27
     id, community_id, building_owner_info_id, head_portrait, user_name, login_name, login_password, 
27 28
     email, gender, status, remark, parent_id, accept_agreement_status, verify_status,
28
-    create_user, create_date, update_user, update_date,hk_user_id
29
+    create_user, create_date, update_user, update_date,hk_user_id,hk_card_no
29 30
   </sql>
30 31
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
31 32
     select
@@ -43,7 +44,7 @@
43 44
       login_password, email, gender,
44 45
       status, remark, parent_id,
45 46
       accept_agreement_status, verify_status, create_user,
46
-      create_date, update_user, update_date, hk_user_id
47
+      create_date, update_user, update_date, hk_user_id,hk_card_no
47 48
       )
48 49
     values (#{id,jdbcType=INTEGER}, #{communityId,jdbcType=INTEGER}, #{buildingOwnerInfoId,jdbcType=INTEGER},
49 50
       #{headPortrait,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{loginName,jdbcType=VARCHAR},
@@ -51,7 +52,7 @@
51 52
       #{status,jdbcType=CHAR}, #{remark,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER},
52 53
       #{acceptAgreementStatus,jdbcType=CHAR}, #{verifyStatus,jdbcType=CHAR}, #{createUser,jdbcType=INTEGER},
53 54
       #{createDate,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=INTEGER}, #{updateDate,jdbcType=TIMESTAMP},
54
-      #{hkUserId,jdbcType=INTEGER}
55
+      #{hkUserId,jdbcType=INTEGER},#{hkCardNo,jdbcType=VARCHAR}
55 56
       )
56 57
   </insert>
57 58
   <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id" parameterType="com.community.huiju.model.TaUser" >
@@ -114,6 +115,9 @@
114 115
       <if test="hkUserId != null">
115 116
         hk_user_id,
116 117
       </if>
118
+      <if test="hkCardNo != null">
119
+        hk_card_no,
120
+      </if>
117 121
     </trim>
118 122
     <trim prefix="values (" suffix=")" suffixOverrides="," >
119 123
       <if test="id != null" >
@@ -173,6 +177,9 @@
173 177
       <if test="hkUserId != null">
174 178
         #{hkUserId,jdbcType=INTEGER},
175 179
       </if>
180
+      <if test="hkCardNo != null">
181
+        #{hkCardNo,jdbcType=VARCHAR},
182
+      </if>
176 183
     </trim>
177 184
   </insert>
178 185
   <update id="updateByPrimaryKeySelective" parameterType="com.community.huiju.model.TaUser" >
@@ -232,6 +239,9 @@
232 239
       <if test="hkUserId != null">
233 240
         hk_user_id = #{hkUserId,jdbcType=INTEGER},
234 241
       </if>
242
+      <if test="hkCardNo">
243
+        hk_card_no = #{hkCardNo,jdbcType=VARCHAR},
244
+      </if>
235 245
     </set>
236 246
     where id = #{id,jdbcType=INTEGER}
237 247
   </update>
@@ -254,7 +264,8 @@
254 264
       create_date = #{createDate,jdbcType=TIMESTAMP},
255 265
       update_user = #{updateUser,jdbcType=INTEGER},
256 266
       update_date = #{updateDate,jdbcType=TIMESTAMP},
257
-      hk_user_id = #{hkUserId,jdbcType=INTEGER}
267
+      hk_user_id = #{hkUserId,jdbcType=INTEGER},
268
+      hk_card_no = #{hkCardNo,jdbcType=VARCHAR}
258 269
     where id = #{id,jdbcType=INTEGER}
259 270
   </update>
260 271
 

+ 2
- 1
VUECODE/smart-operate-manage/src/store/getters.js View File

@@ -4,6 +4,7 @@ const getters = {
4 4
   token: state => state.user.token,
5 5
   avatar: state => state.user.avatar,
6 6
   name: state => state.user.name,
7
-  roles: state => state.user.roles
7
+  roles: state => state.user.roles,
8
+  userData: state => state.user.userData
8 9
 }
9 10
 export default getters

+ 6
- 1
VUECODE/smart-operate-manage/src/store/modules/user.js View File

@@ -6,7 +6,8 @@ const user = {
6 6
     token: getToken(),
7 7
     name: '',
8 8
     avatar: '',
9
-    roles: []
9
+    roles: [],
10
+    userData: []
10 11
   },
11 12
 
12 13
   mutations: {
@@ -21,6 +22,9 @@ const user = {
21 22
     },
22 23
     SET_ROLES: (state, roles) => {
23 24
       state.roles = roles
25
+    },
26
+    SET_USER_DATA: (state, userData) => {
27
+      state.userData = userData
24 28
     }
25 29
   },
26 30
 
@@ -52,6 +56,7 @@ const user = {
52 56
           }
53 57
           commit('SET_NAME', data.userName)
54 58
           commit('SET_AVATAR', data.loginName)
59
+          commit('SET_USER_DATA', data)
55 60
           resolve(response)
56 61
         }).catch(error => {
57 62
           reject(error)

+ 6
- 4
VUECODE/smart-operate-manage/src/views/layout/components/Navbar.vue View File

@@ -4,17 +4,18 @@
4 4
     <breadcrumb />
5 5
     <el-dropdown class="avatar-container" trigger="click">
6 6
       <div class="avatar-wrapper">
7
-        <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar">
7
+        <span>{{ userData.userName }}</span>
8
+        <img :src="userData.headPortrait" class="user-avatar">
8 9
         <i class="el-icon-caret-bottom"/>
9 10
       </div>
10 11
       <el-dropdown-menu slot="dropdown" class="user-dropdown">
11 12
         <router-link class="inlineBlock" to="/">
12 13
           <el-dropdown-item>
13
-            Home
14
+            首页
14 15
           </el-dropdown-item>
15 16
         </router-link>
16 17
         <el-dropdown-item divided>
17
-          <span style="display:block;" @click="logout">LogOut</span>
18
+          <span style="display:block;" @click="logout">注销</span>
18 19
         </el-dropdown-item>
19 20
       </el-dropdown-menu>
20 21
     </el-dropdown>
@@ -34,7 +35,8 @@ export default {
34 35
   computed: {
35 36
     ...mapGetters([
36 37
       'sidebar',
37
-      'avatar'
38
+      'avatar',
39
+      'userData'
38 40
     ])
39 41
   },
40 42
   methods: {