Procházet zdrojové kódy

优化上上签个人用户注册

gy b před 2 roky
rodič
revize
ba49e0e018

+ 0
- 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/bestsign/RegisterController.java Zobrazit soubor

3
 import com.ruoyi.bestsign.domain.PersonRegisterVO;
3
 import com.ruoyi.bestsign.domain.PersonRegisterVO;
4
 import com.ruoyi.bestsign.service.SignRegisterService;
4
 import com.ruoyi.bestsign.service.SignRegisterService;
5
 import com.ruoyi.common.core.domain.AjaxResult;
5
 import com.ruoyi.common.core.domain.AjaxResult;
6
-import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
7
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.beans.factory.annotation.Autowired;
8
 import org.springframework.validation.annotation.Validated;
7
 import org.springframework.validation.annotation.Validated;
9
 import org.springframework.web.bind.annotation.PostMapping;
8
 import org.springframework.web.bind.annotation.PostMapping;

+ 1
- 1
ruoyi-admin/src/main/resources/application.yml Zobrazit soubor

106
 ssq:
106
 ssq:
107
   developerId: 1695872832013855470
107
   developerId: 1695872832013855470
108
   privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCiDRuz+dxqkWqHdov0hK+KEWLw/e8MQSqkZZ4c01Yr6cSmQiWyV8Xin0u5S/EA02FWxpjLi1nLriVtOBhZGsoryFmcJrwzSnQ5PORP/HhfcAWFE/Y+3qSQS1OiU7e5wbReCgEUvx4GHZuhdu8cOvq5DG9l33YFZrIEMBTmnf8eKT54STx0tjcKl7U6B6nsiThy3zVtpWXVv6H1HGmxC0KT4EQ388s/PFjrwmk+GFb3EpKCns/GQHf7QrtNz1ZOgCXfgQiQ+91/tcngzUH+zMCIxn5lS+ENAxVI6Ev3W9Y0QHtKwmO4ORVuAskJYzBB2xKI/gw8+PUXNziMAKXuoUAjAgMBAAECggEAd7yHw6vTGUrpE76cGsgPjEzcdoSqpLth7qbG9TWSblAEZXRqtiP0q0ZYhUl/gcSuH5gOPhdw+fZq4RCZrP0GdONMkvxsAtn4lnJPoGpD5wC2k2X0hO+tWJDP8xk4n6BozTNHKTUt0gb+f4eJlapep2xwwy0h30vKLR3504zafEV9j/2D8l5TFSv6rd3UVxUvrDKQ9mhfATEUlrTpjs0SfWupMkr4j7TuJJ8qSUSiEADe4hyUB6+LouDZCt8jV4aLojQBJKrQ6VPVdDFkHGsePu4tHtvcKsaOZJ0pjpJ7MT6D5ElD/sJjo0g/3qK5/FToVFVbrxtykVreK6mE5oSTQQKBgQDpEFSgH1d4N7NsZhviaCIUkB97hO0jpRbD7UZirzZ9ok96Fk+SmfhdmypDMoiaRHCNhQuu5dI9mg5RbUhz9mCZnAhzJRL+DmE4bhNvQmbtJA7KT6n/AdH2zy0mYulrcG17dQspvTr/5421PTEE2+FRoCbG6hBsSSUit9HLvAU13QKBgQCx/7ql+hbx+t0Yb02XckBHiA+MWrFLO4dMX9cKf3LldC0nhn0K9HOSoZmM0KcmXRnMo+/4t89xOJRl7JRXwcLoy/64OaUBVv+8FFV1yY4THka3nEnQE40vVWy+vuNJtt+eKlEhJ35N1GIHXo7/4j0POtEuNU7KSqMnLUD+Oy/t/wKBgEiajcJUASuyLnLWXFlrlzJQs34HKtiv1Se0Avk7G/6HUbr2uFMzI+wFKmVEmMl2CJoNmFYjwhruowc6xBdb6TvxH7C/G+uJD0BFCkjeprG5SeI8bvjB2GbKo4YRyiVuIK0VCSU3jemqeLq9FUguN0L2YR4WTIdvQeJO4UxWhkkBAoGBAJk7TxDHZK1XirIYTzGK928c4FWxVWMwkd7buqGc6epBwwV9r3OY0U1vtGIW1W4fQ7B5iIISqpALZyT/Lw0FDqedxWAOr8+hd3IQBynpI1et/q7d6mUoD6ip332tkrjIp2TfhQwHlaGmreUuL+h0eJ/9wEoJNhTLf/yf5o11omM9AoGBAOLVlXR9FbU2Ubpp3HwTumSzKDWzq3T5eQcqC1zE3BPOo29uAf9BQTumPxe51U64egttW/nif5FH4v4Gentmxb2B2ckdOs/u9zIWz3JPfHU7RqMyMokuWrQ6lMoiSYpH3MSHoavLyAEhAnpceX3oktXgpYHO9d8MfON3XKJl23ip
108
   privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCiDRuz+dxqkWqHdov0hK+KEWLw/e8MQSqkZZ4c01Yr6cSmQiWyV8Xin0u5S/EA02FWxpjLi1nLriVtOBhZGsoryFmcJrwzSnQ5PORP/HhfcAWFE/Y+3qSQS1OiU7e5wbReCgEUvx4GHZuhdu8cOvq5DG9l33YFZrIEMBTmnf8eKT54STx0tjcKl7U6B6nsiThy3zVtpWXVv6H1HGmxC0KT4EQ388s/PFjrwmk+GFb3EpKCns/GQHf7QrtNz1ZOgCXfgQiQ+91/tcngzUH+zMCIxn5lS+ENAxVI6Ev3W9Y0QHtKwmO4ORVuAskJYzBB2xKI/gw8+PUXNziMAKXuoUAjAgMBAAECggEAd7yHw6vTGUrpE76cGsgPjEzcdoSqpLth7qbG9TWSblAEZXRqtiP0q0ZYhUl/gcSuH5gOPhdw+fZq4RCZrP0GdONMkvxsAtn4lnJPoGpD5wC2k2X0hO+tWJDP8xk4n6BozTNHKTUt0gb+f4eJlapep2xwwy0h30vKLR3504zafEV9j/2D8l5TFSv6rd3UVxUvrDKQ9mhfATEUlrTpjs0SfWupMkr4j7TuJJ8qSUSiEADe4hyUB6+LouDZCt8jV4aLojQBJKrQ6VPVdDFkHGsePu4tHtvcKsaOZJ0pjpJ7MT6D5ElD/sJjo0g/3qK5/FToVFVbrxtykVreK6mE5oSTQQKBgQDpEFSgH1d4N7NsZhviaCIUkB97hO0jpRbD7UZirzZ9ok96Fk+SmfhdmypDMoiaRHCNhQuu5dI9mg5RbUhz9mCZnAhzJRL+DmE4bhNvQmbtJA7KT6n/AdH2zy0mYulrcG17dQspvTr/5421PTEE2+FRoCbG6hBsSSUit9HLvAU13QKBgQCx/7ql+hbx+t0Yb02XckBHiA+MWrFLO4dMX9cKf3LldC0nhn0K9HOSoZmM0KcmXRnMo+/4t89xOJRl7JRXwcLoy/64OaUBVv+8FFV1yY4THka3nEnQE40vVWy+vuNJtt+eKlEhJ35N1GIHXo7/4j0POtEuNU7KSqMnLUD+Oy/t/wKBgEiajcJUASuyLnLWXFlrlzJQs34HKtiv1Se0Avk7G/6HUbr2uFMzI+wFKmVEmMl2CJoNmFYjwhruowc6xBdb6TvxH7C/G+uJD0BFCkjeprG5SeI8bvjB2GbKo4YRyiVuIK0VCSU3jemqeLq9FUguN0L2YR4WTIdvQeJO4UxWhkkBAoGBAJk7TxDHZK1XirIYTzGK928c4FWxVWMwkd7buqGc6epBwwV9r3OY0U1vtGIW1W4fQ7B5iIISqpALZyT/Lw0FDqedxWAOr8+hd3IQBynpI1et/q7d6mUoD6ip332tkrjIp2TfhQwHlaGmreUuL+h0eJ/9wEoJNhTLf/yf5o11omM9AoGBAOLVlXR9FbU2Ubpp3HwTumSzKDWzq3T5eQcqC1zE3BPOo29uAf9BQTumPxe51U64egttW/nif5FH4v4Gentmxb2B2ckdOs/u9zIWz3JPfHU7RqMyMokuWrQ6lMoiSYpH3MSHoavLyAEhAnpceX3oktXgpYHO9d8MfON3XKJl23ip
109
-  serverHost: http://openapi.bestsign.info/openapi/v2/
109
+  serverHost: https://openapi.bestsign.info/openapi/v2/
110
 
110
 
111
 # token配置
111
 # token配置
112
 token:
112
 token:

+ 4
- 0
ruoyi-system/src/main/java/com/ruoyi/bestsign/service/SignRegisterService.java Zobrazit soubor

11
      * @return
11
      * @return
12
      */
12
      */
13
     AjaxResult registerPerson(PersonRegisterVO personRegisterVO);
13
     AjaxResult registerPerson(PersonRegisterVO personRegisterVO);
14
+    /**
15
+     * 查询用户认证状态/user/async/applyCert/status/
16
+     */
17
+    AjaxResult queryRegisterStatus(PersonRegisterVO personRegisterVO);
14
 }
18
 }

+ 27
- 3
ruoyi-system/src/main/java/com/ruoyi/bestsign/service/impl/RegisterServiceImpl.java Zobrazit soubor

1
 package com.ruoyi.bestsign.service.impl;
1
 package com.ruoyi.bestsign.service.impl;
2
 
2
 
3
 
3
 
4
+import com.alibaba.fastjson.JSONObject;
4
 import com.ruoyi.bestsign.domain.PersonRegisterVO;
5
 import com.ruoyi.bestsign.domain.PersonRegisterVO;
5
 import com.ruoyi.bestsign.service.SignRegisterService;
6
 import com.ruoyi.bestsign.service.SignRegisterService;
6
 import com.ruoyi.bestsign.utils.BestsignOpenApiClient;
7
 import com.ruoyi.bestsign.utils.BestsignOpenApiClient;
22
     @Override
23
     @Override
23
     public AjaxResult registerPerson(PersonRegisterVO personRegisterVO) {
24
     public AjaxResult registerPerson(PersonRegisterVO personRegisterVO) {
24
         try {
25
         try {
25
-            String s = bestsignOpenApiClient.userPersonalReg(personRegisterVO.getAccount(),
26
+            JSONObject jsonObject = bestsignOpenApiClient.userPersonalReg(personRegisterVO.getAccount(),
26
                     personRegisterVO.getName(),
27
                     personRegisterVO.getName(),
27
                     personRegisterVO.getMail(),
28
                     personRegisterVO.getMail(),
28
                     personRegisterVO.getMobile(),
29
                     personRegisterVO.getMobile(),
29
                     personRegisterVO.getCredential().getIdentity(),
30
                     personRegisterVO.getCredential().getIdentity(),
30
                     personRegisterVO.getCredential().getIdentityType(),
31
                     personRegisterVO.getCredential().getIdentityType(),
31
-                    null, null, null, null, null);
32
-            AjaxResult.success(s);
32
+                    null, null, null, null, null, "/user/reg/");
33
+            AjaxResult.success(jsonObject);
34
+        } catch (Exception e) {
35
+            e.printStackTrace();
36
+            return AjaxResult.error(e.getMessage());
37
+        }
38
+        return AjaxResult.success();
39
+    }
40
+
41
+    /**
42
+     * 查询用户认证状态/user/async/applyCert/status/
43
+     *
44
+     * @param personRegisterVO
45
+     */
46
+    @Override
47
+    public AjaxResult queryRegisterStatus(PersonRegisterVO personRegisterVO) {
48
+        try {
49
+            JSONObject jsonObject = bestsignOpenApiClient.userPersonalReg(personRegisterVO.getAccount(),
50
+                    personRegisterVO.getName(),
51
+                    personRegisterVO.getMail(),
52
+                    personRegisterVO.getMobile(),
53
+                    personRegisterVO.getCredential().getIdentity(),
54
+                    personRegisterVO.getCredential().getIdentityType(),
55
+                    null, null, null, null, null, "/user/async/applyCert/status/");
56
+            AjaxResult.success(jsonObject);
33
         } catch (Exception e) {
57
         } catch (Exception e) {
34
             e.printStackTrace();
58
             e.printStackTrace();
35
             return AjaxResult.error(e.getMessage());
59
             return AjaxResult.error(e.getMessage());

+ 39
- 29
ruoyi-system/src/main/java/com/ruoyi/bestsign/utils/BestsignOpenApiClient.java Zobrazit soubor

7
 import org.springframework.beans.factory.annotation.Value;
7
 import org.springframework.beans.factory.annotation.Value;
8
 import org.springframework.stereotype.Component;
8
 import org.springframework.stereotype.Component;
9
 
9
 
10
+import javax.validation.constraints.NotNull;
10
 import java.io.IOException;
11
 import java.io.IOException;
11
 
12
 
12
 /**
13
 /**
24
     /**
25
     /**
25
      * 开发者私钥
26
      * 开发者私钥
26
      */
27
      */
27
-    @Value("${ssq.privateKey}")
28
-    private String privateKey;
28
+//    @Value("${ssq.privateKey}")
29
+    private String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCiDRuz+dxqkWqHdov0hK+KEWLw/e8MQSqkZZ4c01Yr6cSmQiWyV8Xin0u5S/EA02FWxpjLi1nLriVtOBhZGsoryFmcJrwzSnQ5PORP/HhfcAWFE/Y+3qSQS1OiU7e5wbReCgEUvx4GHZuhdu8cOvq5DG9l33YFZrIEMBTmnf8eKT54STx0tjcKl7U6B6nsiThy3zVtpWXVv6H1HGmxC0KT4EQ388s/PFjrwmk+GFb3EpKCns/GQHf7QrtNz1ZOgCXfgQiQ+91/tcngzUH+zMCIxn5lS+ENAxVI6Ev3W9Y0QHtKwmO4ORVuAskJYzBB2xKI/gw8+PUXNziMAKXuoUAjAgMBAAECggEAd7yHw6vTGUrpE76cGsgPjEzcdoSqpLth7qbG9TWSblAEZXRqtiP0q0ZYhUl/gcSuH5gOPhdw+fZq4RCZrP0GdONMkvxsAtn4lnJPoGpD5wC2k2X0hO+tWJDP8xk4n6BozTNHKTUt0gb+f4eJlapep2xwwy0h30vKLR3504zafEV9j/2D8l5TFSv6rd3UVxUvrDKQ9mhfATEUlrTpjs0SfWupMkr4j7TuJJ8qSUSiEADe4hyUB6+LouDZCt8jV4aLojQBJKrQ6VPVdDFkHGsePu4tHtvcKsaOZJ0pjpJ7MT6D5ElD/sJjo0g/3qK5/FToVFVbrxtykVreK6mE5oSTQQKBgQDpEFSgH1d4N7NsZhviaCIUkB97hO0jpRbD7UZirzZ9ok96Fk+SmfhdmypDMoiaRHCNhQuu5dI9mg5RbUhz9mCZnAhzJRL+DmE4bhNvQmbtJA7KT6n/AdH2zy0mYulrcG17dQspvTr/5421PTEE2+FRoCbG6hBsSSUit9HLvAU13QKBgQCx/7ql+hbx+t0Yb02XckBHiA+MWrFLO4dMX9cKf3LldC0nhn0K9HOSoZmM0KcmXRnMo+/4t89xOJRl7JRXwcLoy/64OaUBVv+8FFV1yY4THka3nEnQE40vVWy+vuNJtt+eKlEhJ35N1GIHXo7/4j0POtEuNU7KSqMnLUD+Oy/t/wKBgEiajcJUASuyLnLWXFlrlzJQs34HKtiv1Se0Avk7G/6HUbr2uFMzI+wFKmVEmMl2CJoNmFYjwhruowc6xBdb6TvxH7C/G+uJD0BFCkjeprG5SeI8bvjB2GbKo4YRyiVuIK0VCSU3jemqeLq9FUguN0L2YR4WTIdvQeJO4UxWhkkBAoGBAJk7TxDHZK1XirIYTzGK928c4FWxVWMwkd7buqGc6epBwwV9r3OY0U1vtGIW1W4fQ7B5iIISqpALZyT/Lw0FDqedxWAOr8+hd3IQBynpI1et/q7d6mUoD6ip332tkrjIp2TfhQwHlaGmreUuL+h0eJ/9wEoJNhTLf/yf5o11omM9AoGBAOLVlXR9FbU2Ubpp3HwTumSzKDWzq3T5eQcqC1zE3BPOo29uAf9BQTumPxe51U64egttW/nif5FH4v4Gentmxb2B2ckdOs/u9zIWz3JPfHU7RqMyMokuWrQ6lMoiSYpH3MSHoavLyAEhAnpceX3oktXgpYHO9d8MfON3XKJl23ip";
29
     /**
30
     /**
30
      * Host地址
31
      * Host地址
31
      */
32
      */
32
     @Value("${ssq.serverHost}")
33
     @Value("${ssq.serverHost}")
33
     private String serverHost;
34
     private String serverHost;
35
+    /**
36
+     * 签名参数
37
+     */
34
     private static String urlSignParams = "?developerId=%s&rtick=%s&signType=rsa&sign=%s";
38
     private static String urlSignParams = "?developerId=%s&rtick=%s&signType=rsa&sign=%s";
35
 
39
 
36
 //	public BestsignOpenApiClient(String developerId, String privateKey,
40
 //	public BestsignOpenApiClient(String developerId, String privateKey,
55
      * @param province      省份
59
      * @param province      省份
56
      * @param city          城市
60
      * @param city          城市
57
      * @param address       地址
61
      * @param address       地址
62
+     * @param method       地址
58
      * @return 异步申请任务单号
63
      * @return 异步申请任务单号
59
      * @throws IOException
64
      * @throws IOException
60
      */
65
      */
61
-    public String userPersonalReg(String account, String name, String mail,
66
+    public JSONObject userPersonalReg(String account, String name, String mail,
62
                                   String mobile, String identity, String identityType,
67
                                   String mobile, String identity, String identityType,
63
                                   String contactMail, String contactMobile, String province,
68
                                   String contactMail, String contactMobile, String province,
64
-                                  String city, String address) throws Exception {
65
-        String host = this.serverHost;
66
-        String method = "/user/reg/";
67
-
68
-        // 组装请求参数,作为requestbody
69
+                                  String city, String address,@NotNull String method) throws Exception {
70
+        //body参数
69
         JSONObject requestBody = new JSONObject();
71
         JSONObject requestBody = new JSONObject();
72
+
73
+        //用户帐号
70
         requestBody.put("account", account);
74
         requestBody.put("account", account);
75
+        //用户名称
71
         requestBody.put("name", name);
76
         requestBody.put("name", name);
77
+        //用户类型
72
         requestBody.put("userType", "1");
78
         requestBody.put("userType", "1");
73
-        requestBody.put("mail", mail);
79
+        //用户邮箱
80
+        requestBody.put("mail",mail);
81
+        //用户手机号
74
         requestBody.put("mobile", mobile);
82
         requestBody.put("mobile", mobile);
75
-
83
+        //用户证件信息对象
76
         JSONObject credential = new JSONObject();
84
         JSONObject credential = new JSONObject();
85
+        //用户证件号
77
         credential.put("identity", identity);
86
         credential.put("identity", identity);
87
+        //用户证件类型
78
         credential.put("identityType", identityType);
88
         credential.put("identityType", identityType);
79
-        credential.put("contactMail", contactMail);
80
-        credential.put("contactMobile", contactMobile);
81
-        credential.put("province", province);
82
-        credential.put("city", city);
83
-        credential.put("address", address);
84
         requestBody.put("credential", credential);
89
         requestBody.put("credential", credential);
90
+
85
         //是否申请证书
91
         //是否申请证书
86
-        requestBody.put("applyCert", "2");
92
+        requestBody.put("applyCert", "1");
87
         // 生成一个时间戳参数
93
         // 生成一个时间戳参数
88
         String rtick = RSAUtils.getRtick();
94
         String rtick = RSAUtils.getRtick();
89
         // 计算参数签名
95
         // 计算参数签名
100
         System.out.println(responseBody);
106
         System.out.println(responseBody);
101
         // 返回结果解析
107
         // 返回结果解析
102
         JSONObject userObj = JSON.parseObject(responseBody);
108
         JSONObject userObj = JSON.parseObject(responseBody);
109
+        System.out.println(JSON.toJSONString(userObj));
110
+        return userObj;
103
         // 返回errno为0,表示成功,其他表示失败
111
         // 返回errno为0,表示成功,其他表示失败
104
-        if (userObj.getIntValue("errno") == 0) {
105
-            JSONObject data = userObj.getJSONObject("data");
106
-            if (data != null) {
107
-                //对返回data进行处理
108
-                String taskId = data.getString("taskId");
109
-                return taskId;
110
-            }
111
-        } else {
112
-            //接口返回异常
113
-            System.out.println(userObj.getIntValue("errno"));
114
-            System.out.println(userObj.getString("errmsg"));
115
-        }
116
-        return userObj.toJSONString();
112
+//        if (userObj.getIntValue("errno") == 0) {
113
+//            JSONObject data = userObj.getJSONObject("data");
114
+//            if (data != null) {
115
+//                //对返回data进行处理
116
+//                String taskId = data.getString("taskId");
117
+//                return taskId;
118
+//            }
119
+//            return null;
120
+//        } else {
121
+//            //接口返回异常
122
+//            System.out.println(userObj.getIntValue("errno"));
123
+//            System.out.println(userObj.getString("errmsg"));
124
+//            throw new Exception(userObj.getIntValue("errno") + ":"
125
+//                    + userObj.getString("errmsg"));
126
+//        }
117
     }
127
     }
118
 
128
 
119
     /**
129
     /**