Browse Source

完成 接口签名,以及 人脸相关接口

魏熙美 6 years ago
parent
commit
b4fd1c79f3

+ 7
- 0
CODE/foreign-service/pom.xml View File

107
             <version>3.11.0</version>
107
             <version>3.11.0</version>
108
         </dependency>
108
         </dependency>
109
 
109
 
110
+        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
111
+        <dependency>
112
+            <groupId>org.apache.commons</groupId>
113
+            <artifactId>commons-collections4</artifactId>
114
+            <version>4.1</version>
115
+        </dependency>
116
+
110
         <dependency>
117
         <dependency>
111
             <groupId>commons-httpclient</groupId>
118
             <groupId>commons-httpclient</groupId>
112
             <artifactId>commons-httpclient</artifactId>
119
             <artifactId>commons-httpclient</artifactId>

+ 85
- 0
CODE/foreign-service/src/main/java/com/community/huiju/common/sign/DaSuSign.java View File

1
+package com.community.huiju.common.sign;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.google.common.collect.Maps;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.apache.commons.codec.digest.DigestUtils;
7
+import org.apache.commons.lang3.StringUtils;
8
+
9
+import java.io.UnsupportedEncodingException;
10
+import java.util.Map;
11
+import java.util.Set;
12
+import java.util.TreeMap;
13
+
14
+/**
15
+ * 大苏签名校验
16
+ */
17
+@Slf4j
18
+public class DaSuSign {
19
+
20
+    /**
21
+     * 校验签名是否相等
22
+     * @param val_1
23
+     * @param val_2
24
+     * @return true 相等  false 不相等
25
+     */
26
+    public static boolean isMD5Sign(String val_1, String val_2) {
27
+        return StringUtils.equals(val_1, val_2);
28
+    }
29
+
30
+    /**
31
+     *
32
+     * 创建签名
33
+     * 对请求参数进行签名
34
+     *
35
+     *
36
+     *      参考参数
37
+     *      * @param appid
38
+     *      * @param appSecret
39
+     *      * @param datetime 时间戳
40
+     *      * @param encrypt 加密方式(目前就 MD5)
41
+     *      * @param communityId 小区id
42
+     *
43
+     * @return
44
+     */
45
+    public static String createSign(TreeMap<String ,Object> treeMap, String appSecret){
46
+
47
+        String sign = "";
48
+
49
+        StringBuilder sb = new StringBuilder();
50
+        Set<Map.Entry<String, Object>> entries = treeMap.entrySet();
51
+        entries.forEach(e-> {
52
+            sb.append(e.getKey());
53
+            sb.append("=");
54
+            sb.append(e.getValue());
55
+            sb.append("&");
56
+        });
57
+
58
+        sign = sb.toString();
59
+        sign = sign.substring(0, sign.lastIndexOf("&"));
60
+
61
+        log.info("签名之前参数: {}, appSecret: {}" , JSONObject.toJSONString(treeMap), appSecret);
62
+
63
+        try {
64
+            String str = new String(sign.getBytes("UTF-8"), "UTF-8");
65
+            sign = DigestUtils.md5Hex( str + appSecret);
66
+        } catch (UnsupportedEncodingException e) {
67
+            e.printStackTrace();
68
+        }
69
+
70
+        log.info("签名: {}" , sign);
71
+
72
+        return sign;
73
+    }
74
+
75
+    public static void main(String[] args) {
76
+
77
+        Long timeMillis = System.currentTimeMillis();
78
+        System.out.println(timeMillis);
79
+        TreeMap<String, Object> treeMap = new TreeMap<>();
80
+        treeMap.put("appid", "dssdw2576sd997");
81
+        treeMap.put("communityId", "100");
82
+        String sign = createSign(treeMap, "fgexhd855sf4");
83
+    }
84
+
85
+}

+ 30
- 6
CODE/foreign-service/src/main/java/com/community/huiju/controller/FSController.java View File

22
     @RequestMapping(value = "/car/getParkInfoByCarNo/{carNo}", method = RequestMethod.GET)
22
     @RequestMapping(value = "/car/getParkInfoByCarNo/{carNo}", method = RequestMethod.GET)
23
     @ApiOperation(value = "获取停车信息(通过车牌号)", notes = "获取停车信息(通过车牌号)")
23
     @ApiOperation(value = "获取停车信息(通过车牌号)", notes = "获取停车信息(通过车牌号)")
24
     @ApiImplicitParams({
24
     @ApiImplicitParams({
25
-            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
25
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
26
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
27
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
28
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
29
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
26
     })
30
     })
27
     public ResponseBean getParkInfoByCarNo(@PathVariable("carNo") String carNo) {
31
     public ResponseBean getParkInfoByCarNo(@PathVariable("carNo") String carNo) {
28
         ResponseBean responseBean = new ResponseBean();
32
         ResponseBean responseBean = new ResponseBean();
33
     @RequestMapping(value = "/car/parkGetMonthCardInfoByCarNo/{carNo}", method = RequestMethod.GET)
37
     @RequestMapping(value = "/car/parkGetMonthCardInfoByCarNo/{carNo}", method = RequestMethod.GET)
34
     @ApiOperation(value = "获取月租车信息(通过车牌号)", notes = "获取月租车信息(通过车牌号)")
38
     @ApiOperation(value = "获取月租车信息(通过车牌号)", notes = "获取月租车信息(通过车牌号)")
35
     @ApiImplicitParams({
39
     @ApiImplicitParams({
36
-            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
40
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
41
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
42
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
43
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
44
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
37
     })
45
     })
38
     public ResponseBean parkGetMonthCardInfoByCarNo(@PathVariable("carNo") String carNo) {
46
     public ResponseBean parkGetMonthCardInfoByCarNo(@PathVariable("carNo") String carNo) {
39
         ResponseBean responseBean = new ResponseBean();
47
         ResponseBean responseBean = new ResponseBean();
44
     @RequestMapping(value = "/car/parkGetTempCarPaymentInfoByCarNo/{carNo}", method = RequestMethod.GET)
52
     @RequestMapping(value = "/car/parkGetTempCarPaymentInfoByCarNo/{carNo}", method = RequestMethod.GET)
45
     @ApiOperation(value = "获取临时车信息(通过车牌号)", notes = "获取临时车信息(通过车牌号)")
53
     @ApiOperation(value = "获取临时车信息(通过车牌号)", notes = "获取临时车信息(通过车牌号)")
46
     @ApiImplicitParams({
54
     @ApiImplicitParams({
47
-            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
55
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号"),
56
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
57
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
58
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
59
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
48
     })
60
     })
49
     public ResponseBean parkGetTempCarPaymentInfoByCarNo(@PathVariable("carNo") String carNo) {
61
     public ResponseBean parkGetTempCarPaymentInfoByCarNo(@PathVariable("carNo") String carNo) {
50
         ResponseBean responseBean = new ResponseBean();
62
         ResponseBean responseBean = new ResponseBean();
60
                     "PayStyle交易方式(中文描述),例如:微信、 支付宝、 银联;" +
72
                     "PayStyle交易方式(中文描述),例如:微信、 支付宝、 银联;" +
61
                     "CarNo车牌号;" +
73
                     "CarNo车牌号;" +
62
                     "CardNo停车卡号;" +
74
                     "CardNo停车卡号;" +
63
-                    "RechargeAmt充值续费金额;")
75
+                    "RechargeAmt充值续费金额;"),
76
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
77
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
64
     })
80
     })
65
     public ResponseBean apiThirdPartyMonthCardPay(@RequestBody String parameter) {
81
     public ResponseBean apiThirdPartyMonthCardPay(@RequestBody String parameter) {
66
         ResponseBean responseBean = new ResponseBean();
82
         ResponseBean responseBean = new ResponseBean();
85
                     "PayStyle交易方式(汉字描述),例如:微信、支付宝、银联;" +
101
                     "PayStyle交易方式(汉字描述),例如:微信、支付宝、银联;" +
86
                     "CarNo车牌号;" +
102
                     "CarNo车牌号;" +
87
                     "CardNo停车卡号;" +
103
                     "CardNo停车卡号;" +
88
-                    "CouponList使用的优惠券列表")
104
+                    "CouponList使用的优惠券列表"),
105
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
106
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
107
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
108
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
89
     })
109
     })
90
     public ResponseBean apiThirdPartyTemporaryCardPay(@RequestBody String parameter) {
110
     public ResponseBean apiThirdPartyTemporaryCardPay(@RequestBody String parameter) {
91
         ResponseBean responseBean = new ResponseBean();
111
         ResponseBean responseBean = new ResponseBean();
105
     @RequestMapping(value = "/car/apiGetOfflineFee/{carNoOrCardNo}", method = RequestMethod.GET)
125
     @RequestMapping(value = "/car/apiGetOfflineFee/{carNoOrCardNo}", method = RequestMethod.GET)
106
     @ApiOperation(value = "获取线下算费结果", notes = "获取线下算费结果")
126
     @ApiOperation(value = "获取线下算费结果", notes = "获取线下算费结果")
107
     @ApiImplicitParams({
127
     @ApiImplicitParams({
108
-        @ApiImplicitParam(paramType = "path", dataTypeClass = String.class, name = "carNoOrCardNo" , value = "车牌号码或卡号")
128
+        @ApiImplicitParam(paramType = "path", dataTypeClass = String.class, name = "carNoOrCardNo" , value = "车牌号码或卡号"),
129
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
130
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
131
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
132
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
109
     })
133
     })
110
     public ResponseBean apiGetOfflineFee(@PathVariable("carNoOrCardNo") String carNoOrCardNo) {
134
     public ResponseBean apiGetOfflineFee(@PathVariable("carNoOrCardNo") String carNoOrCardNo) {
111
         ResponseBean responseBean = new ResponseBean();
135
         ResponseBean responseBean = new ResponseBean();

+ 111
- 0
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaFceController.java View File

1
+package com.community.huiju.controller;
2
+
3
+import com.community.huiju.common.base.BaseController;
4
+import com.community.huiju.common.base.ResponseBean;
5
+import com.community.huiju.service.FaceServiceI;
6
+import io.swagger.annotations.Api;
7
+import io.swagger.annotations.ApiImplicitParam;
8
+import io.swagger.annotations.ApiImplicitParams;
9
+import io.swagger.annotations.ApiOperation;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.web.bind.annotation.RequestMapping;
12
+import org.springframework.web.bind.annotation.RequestMethod;
13
+import org.springframework.web.bind.annotation.RequestParam;
14
+import org.springframework.web.bind.annotation.RestController;
15
+import org.springframework.web.multipart.MultipartFile;
16
+
17
+/**
18
+ * weiximei on 2019-05-17
19
+ */
20
+
21
+@RestController
22
+@RequestMapping("/")
23
+@Api(value = "人脸操作 API", description = "人脸操作 API")
24
+public class TaFceController extends BaseController {
25
+
26
+    @Autowired
27
+    private FaceServiceI faceServiceI;
28
+
29
+    @RequestMapping(value = "/face", method = RequestMethod.POST)
30
+    @ApiOperation(value = "录入人脸" , notes = "录入人脸")
31
+    @ApiImplicitParams({
32
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
33
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
34
+            @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
35
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
36
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
37
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
38
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
39
+    })
40
+    public ResponseBean addFace(@RequestParam(value = "userId") Integer userId,
41
+                                @RequestParam(value = "userVerifyId") Integer userVerifyId,
42
+                                @RequestParam(value = "uploadFile") MultipartFile uploadFile) {
43
+
44
+        ResponseBean responseBean = new ResponseBean();
45
+        responseBean = faceServiceI.addFace(userId, userVerifyId, uploadFile);
46
+        return responseBean;
47
+
48
+    }
49
+
50
+
51
+    @RequestMapping(value = "/face", method = RequestMethod.PUT)
52
+    @ApiOperation(value = "修改人脸" , notes = "修改人脸")
53
+    @ApiImplicitParams({
54
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
55
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
56
+            @ApiImplicitParam(dataTypeClass = MultipartFile.class, paramType = "form", name = "uploadFile", value = "图片"),
57
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
58
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
59
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
60
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
61
+    })
62
+    public ResponseBean updateFace(@RequestParam(value = "userId") Integer userId,
63
+                                @RequestParam(value = "userVerifyId") Integer userVerifyId,
64
+                                @RequestParam(value = "uploadFile") MultipartFile uploadFile) {
65
+
66
+        ResponseBean responseBean = new ResponseBean();
67
+        responseBean = faceServiceI.updateFace(userId, userVerifyId, uploadFile);
68
+        return responseBean;
69
+
70
+    }
71
+
72
+    @RequestMapping(value = "/face", method = RequestMethod.DELETE)
73
+    @ApiOperation(value = "删除人脸" , notes = "删除人脸")
74
+    @ApiImplicitParams({
75
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
76
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userVerifyId", value = "房产审核Id"),
77
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
80
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
81
+    })
82
+    public ResponseBean deleteFace(@RequestParam(value = "userId") Integer userId,
83
+                                   @RequestParam(value = "userVerifyId") Integer userVerifyId) {
84
+
85
+        ResponseBean responseBean = new ResponseBean();
86
+        responseBean = faceServiceI.deleteFace(userId, userVerifyId);
87
+        return responseBean;
88
+
89
+    }
90
+
91
+
92
+    @RequestMapping(value = "/face", method = RequestMethod.GET)
93
+    @ApiOperation(value = "查询人脸信息" , notes = "查询人脸信息")
94
+    @ApiImplicitParams({
95
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userId", value = "用户Id"),
96
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userVerifyId", value = "房产审核Id"),
97
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
98
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
99
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
100
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
101
+    })
102
+    public ResponseBean getTaFaceByUserId(@RequestParam(value = "userId") Integer userId,
103
+                                   @RequestParam(value = "userVerifyId") Integer userVerifyId) {
104
+
105
+        ResponseBean responseBean = new ResponseBean();
106
+        responseBean = faceServiceI.getTaFaceByUserId(userId, userVerifyId);
107
+        return responseBean;
108
+
109
+    }
110
+
111
+}

+ 13
- 1
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaUserController.java View File

35
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
35
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
36
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
36
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
37
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
37
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
38
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
39
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
40
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
41
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
38
     })
42
     })
39
     public ResponseBean addUser(@RequestParam(value = "userName") String userName,
43
     public ResponseBean addUser(@RequestParam(value = "userName") String userName,
40
                                 @RequestParam(value = "idCard") String idCard,
44
                                 @RequestParam(value = "idCard") String idCard,
52
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
56
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
53
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
57
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
54
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
58
             @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
59
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
60
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
61
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
62
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
55
     })
63
     })
56
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId,
64
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId,
57
                                 @RequestParam(value = "userName", required = false) String userName,
65
                                 @RequestParam(value = "userName", required = false) String userName,
65
     @RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
73
     @RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
66
     @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
74
     @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
67
     @ApiImplicitParams({
75
     @ApiImplicitParams({
68
-            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id")
76
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id"),
77
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
79
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
80
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
69
     })
81
     })
70
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId){
82
     public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId){
71
         ResponseBean responseBean = iTaUserService.getTaUser(userId);
83
         ResponseBean responseBean = iTaUserService.getTaUser(userId);

+ 13
- 1
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaUserVerifyController.java View File

39
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "unitId", value = "单元Id"),
39
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "unitId", value = "单元Id"),
40
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "levelId", value = "楼层Id"),
40
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "levelId", value = "楼层Id"),
41
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "roomNoId", value = "房间号Id"),
41
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "roomNoId", value = "房间号Id"),
42
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
43
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
44
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
45
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
42
 
46
 
43
     })
47
     })
44
     public ResponseBean addUserVerify(@RequestParam(value = "userId") Integer userId,
48
     public ResponseBean addUserVerify(@RequestParam(value = "userId") Integer userId,
59
     @ApiImplicitParams({
63
     @ApiImplicitParams({
60
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
64
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "form", name = "userId", value = "用户Id"),
61
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userVerifyId", value = "房产审核Id"),
65
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userVerifyId", value = "房产审核Id"),
66
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "appid", value = "appid"),
67
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "datetime", value = "时间戳"),
68
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "encrypt", value = "加密方式"),
69
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "sign", value = "签名"),
62
     })
70
     })
63
     public ResponseBean deleteUserVerify(@RequestParam(value = "userId") Integer userId,
71
     public ResponseBean deleteUserVerify(@RequestParam(value = "userId") Integer userId,
64
                                          @PathVariable(value = "userVerifyId") Integer userVerifyId) {
72
                                          @PathVariable(value = "userVerifyId") Integer userVerifyId) {
71
     @ApiOperation(value = "查询用户的房产关联关系列表", notes = "查询用户的房产关联关系列表")
79
     @ApiOperation(value = "查询用户的房产关联关系列表", notes = "查询用户的房产关联关系列表")
72
     @ApiImplicitParams({
80
     @ApiImplicitParams({
73
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userId", value = "用户Id"),
81
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "userId", value = "用户Id"),
74
-            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id")
82
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "communityId", value = "小区Id"),
83
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
84
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
85
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
86
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
75
     })
87
     })
76
     public ResponseBean getUserVerify(@RequestParam(value = "userId") Integer userId,
88
     public ResponseBean getUserVerify(@RequestParam(value = "userId") Integer userId,
77
                                       @RequestParam(value = "communityId") Integer communityId) {
89
                                       @RequestParam(value = "communityId") Integer communityId) {

+ 4
- 0
CODE/foreign-service/src/main/java/com/community/huiju/controller/TpAddressController.java View File

50
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "buildingId", value = "楼栋id"),
50
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "buildingId", value = "楼栋id"),
51
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "unitId", value = "单元id"),
51
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "unitId", value = "单元id"),
52
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "levelId", value = "楼层id"),
52
             @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "query", name = "levelId", value = "楼层id"),
53
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
54
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
55
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
56
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
53
     })
57
     })
54
     public ResponseBean getBuildingInfo(@RequestParam("communityId") Integer communityId,
58
     public ResponseBean getBuildingInfo(@RequestParam("communityId") Integer communityId,
55
                                         @RequestParam(value = "phaseId", required = false) Integer phaseId,
59
                                         @RequestParam(value = "phaseId", required = false) Integer phaseId,

+ 5
- 1
CODE/foreign-service/src/main/java/com/community/huiju/controller/TpEquipmentController.java View File

32
     @ApiImplicitParams({
32
     @ApiImplicitParams({
33
             @ApiImplicitParam(paramType = "path",dataType = "Integer",name = "communityId",value = "小区ID"),
33
             @ApiImplicitParam(paramType = "path",dataType = "Integer",name = "communityId",value = "小区ID"),
34
             @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageNo",value = "第几页"),
34
             @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageNo",value = "第几页"),
35
-            @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageSize",value = "一页多少行")
35
+            @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageSize",value = "一页多少行"),
36
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "appid", value = "appid"),
37
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "datetime", value = "时间戳"),
38
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "encrypt", value = "加密方式"),
39
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "sign", value = "签名"),
36
     })
40
     })
37
     @RequestMapping(value = "/equipment/monitoring/{communityId}",method = RequestMethod.GET)
41
     @RequestMapping(value = "/equipment/monitoring/{communityId}",method = RequestMethod.GET)
38
     public ResponseBean getListHLS(@PathVariable("communityId") Integer communityId,
42
     public ResponseBean getListHLS(@PathVariable("communityId") Integer communityId,

+ 1
- 7
CODE/foreign-service/src/main/java/com/community/huiju/dao/TaFaceMapper.java View File

16
 
16
 
17
 
17
 
18
     /**
18
     /**
19
-     * 查看当前用户信息
19
+     * 查看当前房产信息
20
      * @param userVerifyId
20
      * @param userVerifyId
21
      * @return
21
      * @return
22
      */
22
      */
23
     TaFace getByUserVerifyId(@Param("userVerifyId") Integer userVerifyId);
23
     TaFace getByUserVerifyId(@Param("userVerifyId") Integer userVerifyId);
24
 
24
 
25
-    /**
26
-     * 查看当前信息
27
-     * @param id
28
-     * @return
29
-     */
30
-    TaFace getById(@Param("id")Integer id);
31
 
25
 
32
     /**
26
     /**
33
      * 根据审核ID删除人脸信息
27
      * 根据审核ID删除人脸信息

+ 10
- 1
CODE/foreign-service/src/main/java/com/community/huiju/enums/ResponseErrorsMessages.java View File

24
     NO_ROOM_NO(1012, "户号不存在!"),
24
     NO_ROOM_NO(1012, "户号不存在!"),
25
     NOT_USER_VERIFY(1013, "无房产关联关系!"),
25
     NOT_USER_VERIFY(1013, "无房产关联关系!"),
26
     NOT_USER_FACE(1014, "未录入人脸信息!"),
26
     NOT_USER_FACE(1014, "未录入人脸信息!"),
27
-    NOT_PUSH_FACE(1015, "人脸推送失敗!")
27
+    NOT_PUSH_FACE(1015, "人脸推送失敗!"),
28
+    NOT_VERIFY(1016, "当前房产审核记录不存在!"),
29
+    NOT_IDENTITY_VERIFY(1017, "您的身份已停用!"),
30
+    EXIST_FACE(1018, "人脸信息已存在!"),
31
+    NOT_USER_VERIFY_1(1019, "房产审核未通过!"),
32
+    DELETE_FACE(1020, "人脸删除失败!"),
33
+    FACE_ERROR(1021, "请录入正确的人脸图片!"),
34
+    SIGN_ERROR(1022, "签名错误!"),
35
+    SIGN_DATETIME_ERROR(1023, "签名已过期!"),
36
+    SIGN_ENCRYPT_MD5_ERROR(1024, "未使用md5加密方式加密!")
28
     ;
37
     ;
29
 
38
 
30
 
39
 

+ 123
- 0
CODE/foreign-service/src/main/java/com/community/huiju/filter/SignFilter.java View File

1
+package com.community.huiju.filter;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.community.huiju.common.base.ResponseBean;
5
+import com.community.huiju.common.perproties.DaSuProperties;
6
+import com.community.huiju.common.sign.DaSuSign;
7
+import com.community.huiju.enums.ResponseErrorsMessages;
8
+import com.community.huiju.exception.WisdomException;
9
+import com.google.common.collect.Maps;
10
+import lombok.extern.slf4j.Slf4j;
11
+import org.apache.commons.lang3.StringUtils;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.stereotype.Component;
14
+import org.springframework.util.AntPathMatcher;
15
+
16
+import javax.servlet.*;
17
+import javax.servlet.http.HttpServletRequest;
18
+import java.io.IOException;
19
+import java.io.PrintWriter;
20
+import java.time.LocalDateTime;
21
+import java.time.ZoneId;
22
+import java.time.ZoneOffset;
23
+import java.util.Map;
24
+import java.util.TreeMap;
25
+
26
+/**
27
+ *
28
+ * 签名拦截器
29
+ *
30
+ * @author weiximei on 2019-05-17
31
+ */
32
+@Component
33
+@Slf4j
34
+public class SignFilter implements Filter {
35
+
36
+    private String [] urls = new String[]{
37
+            "/**/swagger-ui.html/**","/**/springfox-swagger-ui/**",
38
+            "/**/swagger-resources/**","/**/v2/api-docs/**",
39
+            "/**/swagger-resources/**"
40
+    };
41
+
42
+    private AntPathMatcher antPathMatcher = new AntPathMatcher();
43
+
44
+    @Autowired
45
+    private DaSuProperties daSuProperties;
46
+
47
+    @Override
48
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
49
+
50
+        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
51
+        for (String url : urls) {
52
+            if (antPathMatcher.match(url ,httpServletRequest.getRequestURI())) {
53
+                chain.doFilter(request, response);
54
+                return;
55
+            }
56
+        }
57
+
58
+        ResponseBean responseBean = new ResponseBean();
59
+        TreeMap<String, Object> treeMap = Maps.newTreeMap();
60
+
61
+        try {
62
+            // 加密方式
63
+            String encrypt = request.getParameter("encrypt");
64
+            if (!"md5".equals(encrypt.toLowerCase())) {
65
+                responseBean.addError(ResponseErrorsMessages.SIGN_ENCRYPT_MD5_ERROR.getCode(), ResponseErrorsMessages.SIGN_ENCRYPT_MD5_ERROR.getMsg());
66
+                responseWriter(response, responseBean);
67
+                return;
68
+            }
69
+
70
+            String datetime = request.getParameter("datetime");
71
+            LocalDateTime localDateTime =LocalDateTime.ofEpochSecond(Long.valueOf(datetime),0, ZoneOffset.ofHours(8));
72
+            localDateTime.plusMinutes(10);
73
+
74
+            // 校验签名是否过期
75
+            if (StringUtils.isBlank(datetime) || System.currentTimeMillis() > Long.valueOf(datetime)) {
76
+                responseBean.addError(ResponseErrorsMessages.SIGN_DATETIME_ERROR.getCode(), ResponseErrorsMessages.SIGN_DATETIME_ERROR.getMsg());
77
+                responseWriter(response, responseBean);
78
+                return;
79
+            }
80
+        } catch (Exception e) {
81
+            responseBean.addError(ResponseErrorsMessages.SIGN_ERROR.getCode(), ResponseErrorsMessages.SIGN_ERROR.getMsg());
82
+            responseWriter(response, responseBean);
83
+            return;
84
+        }
85
+
86
+
87
+
88
+
89
+        // 获取请求的所有参数
90
+        Map<String, String[]> parameterMap = request.getParameterMap();
91
+        parameterMap.entrySet().forEach(e-> {
92
+            String key = e.getKey();
93
+            String [] value = e.getValue();
94
+            if (!"sign".equals(key) && !"appSecret".equals(key)) {
95
+                treeMap.put(key, value[0]);
96
+            }
97
+        });
98
+
99
+        String sign = DaSuSign.createSign(treeMap, daSuProperties.getAppSecret());
100
+        String parameterSign = request.getParameter("sign");
101
+
102
+        if (DaSuSign.isMD5Sign(sign, parameterSign)) {
103
+            chain.doFilter(request, response);
104
+        } else {
105
+            responseBean.addError(ResponseErrorsMessages.SIGN_ERROR.getCode(), ResponseErrorsMessages.SIGN_ERROR.getMsg());
106
+            responseWriter(response, responseBean);
107
+        }
108
+
109
+    }
110
+
111
+    private void responseWriter(ServletResponse response, ResponseBean responseBean) {
112
+        response.setContentType("application/json;charset=UTF-8");
113
+        PrintWriter writer = null;
114
+        try {
115
+            writer = response.getWriter();
116
+        } catch (IOException e) {
117
+            e.printStackTrace();
118
+        }
119
+        writer.write(JSONObject.toJSONString(responseBean));
120
+        writer.flush();
121
+        writer.close();
122
+    }
123
+}

+ 6
- 6
CODE/foreign-service/src/main/java/com/community/huiju/service/FaceServiceI.java View File

29
 
29
 
30
     /**
30
     /**
31
      * 当前登入人是否有人脸信息
31
      * 当前登入人是否有人脸信息
32
-     * @param userElement
33
-     * @param otherUserId
32
+     * @param userId
33
+     * @param userVerifyId
34
      * @return
34
      * @return
35
      */
35
      */
36
-    ResponseBean getTaFaceByUserId(UserElement userElement, Integer otherUserId);
36
+    ResponseBean getTaFaceByUserId(Integer userId, Integer userVerifyId);
37
 
37
 
38
     /**
38
     /**
39
      * 删除人脸
39
      * 删除人脸
40
-     * @param userElement
41
-     * @param otherUserId
40
+     * @param userId
41
+     * @param userVerifyId
42
      * @return
42
      * @return
43
      */
43
      */
44
-    ResponseBean deleteFace(UserElement userElement, Integer otherUserId, Integer verifyId);
44
+    ResponseBean deleteFace(Integer userId, Integer userVerifyId);
45
 }
45
 }

+ 37
- 49
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/FaceServicelimpl.java View File

34
 import java.util.stream.Collectors;
34
 import java.util.stream.Collectors;
35
 
35
 
36
 @Service("faceServicel")
36
 @Service("faceServicel")
37
-@Transactional
37
+@Transactional(rollbackFor = Exception.class)
38
 @Slf4j
38
 @Slf4j
39
 public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> implements FaceServiceI {
39
 public class FaceServicelimpl  extends ServiceImpl<TaFaceMapper, TaFace> implements FaceServiceI {
40
 
40
 
106
     /**
106
     /**
107
      * 修改人脸信息
107
      * 修改人脸信息
108
      *
108
      *
109
-     * @param userElement 登入人ID
109
+     * @param userId 登入人ID
110
+     * @param userVerifyId 房产审核id
110
      * @param uploadFile
111
      * @param uploadFile
111
-     * @param otherUserId 关联家属或者租客ID
112
      * @return
112
      * @return
113
      */
113
      */
114
     @Override
114
     @Override
145
         face.setUpdateDate(new Date());
145
         face.setUpdateDate(new Date());
146
         ResponseBean resps = checKout(faceImg, face, false, uploadFile, userId, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
146
         ResponseBean resps = checKout(faceImg, face, false, uploadFile, userId, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(), tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
147
         if (resps.getCode().equals("0")) {
147
         if (resps.getCode().equals("0")) {
148
-            resps.addSuccess((Object) faceImg);
148
+            resps.addSuccess(face);
149
         } else {
149
         } else {
150
-            resps.addError(resps.getMessage());
150
+            resps.addError(resps.getCode(), resps.getMessage());
151
         }
151
         }
152
         return resps;
152
         return resps;
153
     }
153
     }
173
         if (user.getHkUserId() == null) {
173
         if (user.getHkUserId() == null) {
174
             log.error("本地库人员ID:{}  的海康人员ID不存在", userId);
174
             log.error("本地库人员ID:{}  的海康人员ID不存在", userId);
175
             throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
175
             throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
176
-            return responseBean;
177
         }
176
         }
178
         AESDecode aesd = new AESDecode();
177
         AESDecode aesd = new AESDecode();
179
         String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
178
         String body = "{\"type\": \"0\", \"image_url\":\"" + faceImg + "\"}";
196
                 } else {
195
                 } else {
197
                     taFaceMapper.updateById(taFace);
196
                     taFaceMapper.updateById(taFace);
198
                 }
197
                 }
199
-                responseBean.addSuccess("操作成功");
198
+                responseBean.addSuccess(taFace);
200
 
199
 
201
                 // 设备树
200
                 // 设备树
202
                 TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(communityId);
201
                 TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(communityId);
235
 //                visualList.add("10010100000");
234
 //                visualList.add("10010100000");
236
                 HKOpenApi.visualIntercom(tpEquipmentTree.getOpUserUuid(), 1, userIdList, visualList, tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
235
                 HKOpenApi.visualIntercom(tpEquipmentTree.getOpUserUuid(), 1, userIdList, visualList, tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
237
             } else {
236
             } else {
238
-                responseBean.addError("请录入正确图片");
237
+                responseBean.addError(ResponseErrorsMessages.FACE_ERROR.getCode(), ResponseErrorsMessages.FACE_ERROR.getMsg());
239
             }
238
             }
240
         } catch (Exception e) {
239
         } catch (Exception e) {
241
             e.printStackTrace();
240
             e.printStackTrace();
242
             log.error("海康人脸推送失敗! {}", e);
241
             log.error("海康人脸推送失敗! {}", e);
243
-            throw new RuntimeException("海康人脸推送失敗!");
242
+            throw new WisdomException(ResponseErrorsMessages.NOT_PUSH_FACE.getCode(), ResponseErrorsMessages.NOT_PUSH_FACE.getMsg());
244
         }
243
         }
245
         return responseBean;
244
         return responseBean;
246
     }
245
     }
264
      * 当前登入人是否有人脸信息
263
      * 当前登入人是否有人脸信息
265
      */
264
      */
266
     @Override
265
     @Override
267
-    public ResponseBean getTaFaceByUserId(UserElement userElement, Integer otherUserId) {
266
+    public ResponseBean getTaFaceByUserId(Integer userId, Integer userVerifyId) {
268
         ResponseBean responseBean = new ResponseBean();
267
         ResponseBean responseBean = new ResponseBean();
269
-        Integer userVerifyId = userElement.getUserVerifyId();
270
 
268
 
271
-        /**当otherUserId不为空时判断它是否是业主下的租客或者家属*/
272
-        if (null != otherUserId) {
273
-            TaUserVerify userVerify = getTaFaceParentId(userElement, otherUserId);
274
-            userVerifyId = userVerify.getUserVerifyId();
269
+        TaUserVerify userVerify = taUserVerifyMapper.selectByUserIdAndUserVerifyId(userId, userVerifyId);
270
+        if (null == userVerify) {
271
+            responseBean.addError(ResponseErrorsMessages.NOT_USER_VERIFY.getCode(), ResponseErrorsMessages.NOT_USER_VERIFY.getMsg());
272
+            return responseBean;
275
         }
273
         }
274
+
275
+
276
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
276
         TaFace face = taFaceMapper.getByUserVerifyId(userVerifyId);
277
         if (null != face) {
277
         if (null != face) {
278
             responseBean.addSuccess(face);
278
             responseBean.addSuccess(face);
279
             return responseBean;
279
             return responseBean;
280
         }
280
         }
281
-        responseBean.addError("当前用户暂无人脸图片");
281
+        responseBean.addError(ResponseErrorsMessages.NOT_USER_FACE.getCode(), ResponseErrorsMessages.NOT_USER_FACE.getMsg());
282
         return responseBean;
282
         return responseBean;
283
 
283
 
284
     }
284
     }
285
 
285
 
286
-    /**
287
-     * 判断当前用户下的人员关系(家属,租客)
288
-     */
289
-    public TaUserVerify getTaFaceParentId(UserElement userElement, Integer otherUserId) {
290
-        // 根据 家属/租客 的id, 和 当前的房产信息进行查询是否有值,有值就说明是 家属/租客
291
-        List<TaUserVerify> todUserVerify = taUserVerifyMapper.selectCommunityAndAddressAndVerifyStatus(otherUserId, userElement.getCommunityId(), userElement.getPhaseId(), userElement.getBuildingId(), userElement.getUnitId(), userElement.getLevelId(), userElement.getRoomNoId(), 1);
292
-        // 判断 家属或者租客 属不属于这个业主的下面
293
-        if (null == todUserVerify || todUserVerify.size() == 0) {
294
-            throw new WisdomException("您输入的家属或租户ID有误或审核未通过!");
295
-        }
296
-//        if (!Constant.VERIFY_STATUS.equals(todUserVerify.get(0).getVerifyStatus())) {
297
-//            throw new WisdomException("用户房产审核未通过!");
298
-//        }
299
-
300
-        return todUserVerify.get(0);
301
-    }
302
 
286
 
303
     /**
287
     /**
304
      * 得到当前图片
288
      * 得到当前图片
321
 
305
 
322
         TaUserVerify userVerify = taUserVerifyMapper.selectById(userVerifyId);
306
         TaUserVerify userVerify = taUserVerifyMapper.selectById(userVerifyId);
323
         if (null == userVerify) {
307
         if (null == userVerify) {
324
-            response.addError("当前房产审核记录不存在!");
308
+            response.addError(ResponseErrorsMessages.NOT_VERIFY.getCode(), ResponseErrorsMessages.NOT_VERIFY.getMsg());
325
             return response;
309
             return response;
326
         }
310
         }
327
         TaUser taUser = taUserMapper.selectById(userid);
311
         TaUser taUser = taUserMapper.selectById(userid);
328
 
312
 
329
         //身份为家属租客,状态为已停用
313
         //身份为家属租客,状态为已停用
330
         if (null != taUser && !Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
314
         if (null != taUser && !Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
331
-            response.addError("9996", "您的身份已停用,请联系物业");
315
+            response.addError(ResponseErrorsMessages.NOT_IDENTITY_VERIFY.getCode(), ResponseErrorsMessages.NOT_IDENTITY_VERIFY.getMsg());
332
             return response;
316
             return response;
333
         }
317
         }
334
 
318
 
339
             if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
323
             if (Constant.EFFECTIVE_STATUS.equals(taUser.getStatus())) {
340
                 ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
324
                 ResponseBean responseBean = checKout(faceImg, taFace, isA, uploadFile, userid, userVerify.getCommunityId(), userVerify.getRoomNoId(), userVerify.getUnitId(),tpEquipmentTree.getAppkey(), tpEquipmentTree.getSecret(), tpEquipmentTree.getHttpServer());
341
                 if (responseBean.getCode().equals("0")) {
325
                 if (responseBean.getCode().equals("0")) {
342
-                    responseBean.addSuccess("图片录入成功");
326
+                    responseBean.addSuccess("人脸录入成功");
343
                 } else {
327
                 } else {
344
-                    responseBean.addError(responseBean.getMessage());
328
+                    responseBean.addError(responseBean.getCode(),responseBean.getMessage());
345
                 }
329
                 }
346
                 return responseBean;
330
                 return responseBean;
347
             }
331
             }
348
         }
332
         }
349
-        response.addError("您的信息已存在");
333
+        response.addError(ResponseErrorsMessages.EXIST_FACE.getCode(), ResponseErrorsMessages.EXIST_FACE.getMsg());
350
         return response;
334
         return response;
351
     }
335
     }
352
 
336
 
353
     @Override
337
     @Override
354
-    public ResponseBean deleteFace(UserElement userElement, Integer otherUserId, Integer verifyId) {
338
+    public ResponseBean deleteFace(Integer userId, Integer userVerifyId) {
355
         ResponseBean responseBean= new ResponseBean();
339
         ResponseBean responseBean= new ResponseBean();
356
-        TaUserVerify taUserVerify= infoExist(userElement.getUserVerifyId());
340
+        TaUserVerify taUserVerify= infoExist(userVerifyId);
357
         if (null ==taUserVerify) {
341
         if (null ==taUserVerify) {
358
-            responseBean.addError("房产审核未通过");
342
+            responseBean.addError(ResponseErrorsMessages.NOT_USER_VERIFY_1.getCode(), ResponseErrorsMessages.NOT_USER_VERIFY_1.getMsg());
359
             return responseBean;
343
             return responseBean;
360
         }
344
         }
361
-            TaUser taUser = taUserMapper.selectById(taUserVerify.getUserId());
345
+        TaUser taUser = taUserMapper.selectById(taUserVerify.getUserId());
362
 
346
 
363
         // 设备树
347
         // 设备树
364
         TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(taUserVerify.getCommunityId());
348
         TpEquipmentTree tpEquipmentTree = tpEquipmentTreeMapper.selectByCommunityId(taUserVerify.getCommunityId());
401
 
385
 
402
         if (object.get("errorCode").equals(1)){
386
         if (object.get("errorCode").equals(1)){
403
             String errorMessage=  object.getString("errorMessage");
387
             String errorMessage=  object.getString("errorMessage");
404
-            responseBean.addError(errorMessage);
388
+            log.info("删除人脸信息异常:{}", data);
389
+            responseBean.addError(ResponseErrorsMessages.DELETE_FACE.getCode(), ResponseErrorsMessages.DELETE_FACE.getMsg());
405
             return responseBean;
390
             return responseBean;
406
         }
391
         }
407
-        Integer activeUser = otherUserId == null ? userElement.getUserVerifyId() : otherUserId;
408
-        taFaceMapper.deleteFace(activeUser);
392
+
393
+        taFaceMapper.deleteFace(userVerifyId);
409
         // 异动同步到设备
394
         // 异动同步到设备
410
         Map<String,Object> appointJurisdictionMap = Maps.newHashMap();
395
         Map<String,Object> appointJurisdictionMap = Maps.newHashMap();
411
         appointJurisdictionMap.put("appkey", tpEquipmentTree.getAppkey());
396
         appointJurisdictionMap.put("appkey", tpEquipmentTree.getAppkey());
424
 
409
 
425
     }
410
     }
426
 
411
 
427
-    /*校验房产是否审核通过*/
412
+    /**
413
+     * 校验房产是否审核通过
414
+     * @param verifyID
415
+     * @return
416
+     */
428
     public TaUserVerify infoExist(Integer verifyID){
417
     public TaUserVerify infoExist(Integer verifyID){
429
-        /*查询当前的房产ID*/
430
-        TaUserVerify taUserVerify = null;
431
-      if (!"".equals(verifyID)) {
418
+      TaUserVerify taUserVerify = null;
419
+      if (null != verifyID) {
432
         taUserVerify = taUserVerifyMapper.selectById(verifyID);
420
         taUserVerify = taUserVerifyMapper.selectById(verifyID);
433
       }
421
       }
434
       if (null!= taUserVerify && taUserVerify.getVerifyStatus().equals("1")) {
422
       if (null!= taUserVerify && taUserVerify.getVerifyStatus().equals("1")) {
435
           return taUserVerify;
423
           return taUserVerify;
436
       }
424
       }
437
-      return  null;
425
+      return  taUserVerify;
438
     }
426
     }
439
 }
427
 }
440
 
428
 

+ 12
- 0
CODE/foreign-service/src/main/resources/mapper/TaFaceMapper.xml View File

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.community.huiju.dao.TaFaceMapper">
3
 <mapper namespace="com.community.huiju.dao.TaFaceMapper">
4
 
4
 
5
+    <select id="getByUserVerifyId" resultType="com.community.huiju.model.TaFace" parameterType="java.lang.Integer">
6
+        select
7
+        *
8
+        from ta_face
9
+        where ta_user_verify_id = #{userVerifyId,jdbcType=INTEGER}
10
+    </select>
11
+
12
+    <delete id="deleteFace" >
13
+        delete from ta_face
14
+        where ta_user_verify_id = #{verifyId}
15
+    </delete>
16
+
5
 </mapper>
17
 </mapper>

+ 1
- 1
CODE/foreign-service/src/main/resources/mapper/TaUserVerifyMapper.xml View File

4
 
4
 
5
     <select id="selectCommunityAndAddressAndVerifyStatus" resultType="com.community.huiju.model.TaUserVerify">
5
     <select id="selectCommunityAndAddressAndVerifyStatus" resultType="com.community.huiju.model.TaUserVerify">
6
         select
6
         select
7
-        <include refid="Base_Column_List"/>
7
+        *
8
         from ta_user_verify
8
         from ta_user_verify
9
         where community_id = #{communityId,jdbcType=INTEGER}
9
         where community_id = #{communityId,jdbcType=INTEGER}
10
         and user_id = #{userId,jdbcType=INTEGER}
10
         and user_id = #{userId,jdbcType=INTEGER}