From 6a2b571ae07795d8dbe5c02cc705999eba04b4ce Mon Sep 17 00:00:00 2001
From: chenrui <1950717904@qq.com>
Date: Wed, 19 Jun 2024 19:39:34 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=89=8D=E7=AB=AFtoken?=
=?UTF-8?q?=E6=8B=A6=E6=88=AA=20=E6=B0=91=E7=94=9F=E8=AF=89=E6=B1=82?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/AppThirdLoginController.java | 50 +++---------
.../framework/config/ResourcesConfig.java | 53 ++++++------
.../src/main/resources/templates/login.html | 48 +++++++++--
.../com/zdxt/code/domain/MssqAddOrder.java | 1 +
.../com/zdxt/code/domain/MssqBaseDomain.java | 13 +++
.../com/zdxt/code/service/MssqApiService.java | 20 +++++
.../code/service/impl/MssqApiServiceImpl.java | 81 +++++++++++++++++++
.../service/impl/ThirdLoginServiceImpl.java | 13 +++
.../zdxt/code/utils/ServiceInvocation.java | 2 +-
9 files changed, 212 insertions(+), 69 deletions(-)
create mode 100644 lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
create mode 100644 lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
index 838aa543..5fcea426 100644
--- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
+++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
@@ -6,7 +6,9 @@ import com.auth0.jwt.JWTVerifier;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
import com.zdxt.auth.project.system.user.service.IUserService;
+import com.zdxt.code.domain.MssqAddOrder;
import com.zdxt.code.domain.SiqLogin;
+import com.zdxt.code.service.MssqApiService;
import com.zdxt.code.service.ThirdLoginService;
import com.zdxt.code.utils.HttpUtil;
import com.zdxt.code.utils.ServiceInvocation;
@@ -67,6 +69,8 @@ public class AppThirdLoginController {
@Autowired
private ZwSmsClient zwSmsClient;
+ @Autowired
+ private MssqApiService mssqApiService;
@@ -300,45 +304,15 @@ public class AppThirdLoginController {
return ZDResponse.success("校验成功",aBoolean);
}
- @GetMapping("/getMssqToken")
+ @PostMapping("/getMssqToken")
@ResponseBody
- public ZDResponse getMssqToken(String appId,String appKey,String generateTokenUrl) throws Exception {
-// zwSmsClient.sendMessage(phone,content);
-// Boolean aBoolean = thirdLoginService.checkIsLawOfficer(idCards);
- // 参数设定
-// String appId = "67a83c8a136346cd98f844359902a23c";
-// String appKey = "NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=";
- /*String appId = "ea5acb3cceb24365b415e9affa560d49";
- String appKey = "ZWE1YWNiM2NjZWIyNDM2NWI0MTVlOWFmZmE1NjBkNDk6eDEyMzQ1Ng==";*/
-
- String currTime = String.valueOf(System.currentTimeMillis());
- //服务聚合获取tokenUrl
-// String generateTokenUrl = "http://10.132.108.3/mssqApi/auth/token";
-// String invokingServiceUrl="http://10.132.108.3/mssqApi/auth/token";
- String invokingServiceRequestMethod="POST";
- // 服务调用的请求方法
- // 1.获取本地签名
- String tokenSign = gatewaySignEncode(appId, appKey, currTime);
- // 2.调用获取token接口
- JSONObject jsonObject = ServiceInvocation.httpRequest(generateTokenUrl, "POST", "", appId, currTime, tokenSign);
- JSONObject jsonObjectBody = JSONObject.parseObject(jsonObject.getString("body"));
- log.info("民生诉求获取token接口:{}",jsonObject);
- if (jsonObjectBody != null) {
- String accessToken = jsonObjectBody.getString("access_token");
- // 3.在获得服务调用秘钥access_token后,根据自己的appKey使用AES解密算法对返回值进行解密,最终获取签名密钥secretKey
- String secretKey = ServiceInvocation.gatewayAesDecode(appKey, accessToken);
- // 4.获取本地签名
- String sign = ServiceInvocation.gatewaySignEncode(appId, secretKey, currTime);
-// //4.调用服务接口
-// JSONObject serviceJsonData = httpRequestForInterface(invokingServiceUrl, invokingServiceRequestMethod, "", appId, currTime, sign);
-// String codeValue = serviceJsonData.getString("code");
-// if (codeValue.equals("200")) {
-// log.info("请求url:{},响应成功!",invokingServiceUrl);
-// } else {
-// log.error("请求url:{},响应失败!",invokingServiceUrl);
-// }
- } else {}
- return ZDResponse.success("校验成功",null);
+ public ZDResponse getMssqToken(MssqAddOrder mssqAddOrder) throws Exception {
+ Boolean aBoolean = mssqApiService.addMssqOrder(mssqAddOrder);
+ if(aBoolean){
+ return ZDResponse.success("工单新增成功");
+ }else{
+ return ZDResponse.error("工单新增失败");
+ }
}
}
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
index 03a6dfdd..303bee90 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
@@ -63,30 +63,33 @@ public class ResourcesConfig implements WebMvcConfigurer
public void addInterceptors(InterceptorRegistry registry)
{
// registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
-// registry.addInterceptor(new JWTInterceptor())
-// .addPathPatterns("/app/**")
-// .excludePathPatterns("/app/thirdLogin/siqLogin", "/appLogin","/login","/index",
-// "/enterpriseInformation",
-// "/code/registration",
-// "/code/linkage",
-// "/code/ruleList",
-// "/code/LawEnforcementWarningList",
-// "/system/dept",
-// "/system/user",
-// "/system/role",
-// "/system/post",
-// "/system/menu",
-// "/monitor/operlog",
-// "/monitor/logininfor",
-// "/system/dict",
-// "/system/config",
-// "/monitor/job",
-// "/statistical/analysis",
-// "/statistical/view",
-// "/**/*.css",
-// "/**/*.js", "/**/*.png", "/**/*.jpg",
-// "/**/*.jpeg", "/**/*.gif", "/**/fonts/*"
-// ).addPathPatterns("/**");
- // 除了登录放行,其他接口都token验证
+ registry.addInterceptor(new JWTInterceptor())
+ .addPathPatterns("/app/**")
+ .excludePathPatterns("/app/thirdLogin/siqLogin","/app/thirdLogin/siqLoginTest",
+ "/app/thirdLogin/szyptLogin/**",
+ "/captcha/captchaImage/**",
+ "/appLogin","/login","/index",
+ "/enterpriseInformation",
+ "/code/registration",
+ "/code/linkage",
+ "/code/ruleList",
+ "/code/LawEnforcementWarningList",
+ "/system/dept",
+ "/system/user",
+ "/system/role",
+ "/system/post",
+ "/system/menu",
+ "/monitor/operlog",
+ "/monitor/logininfor",
+ "/system/dict",
+ "/system/config",
+ "/monitor/job",
+ "/statistical/analysis",
+ "/statistical/view",
+ "/**/*.css",
+ "/**/*.js", "/**/*.png", "/**/*.jpg",
+ "/**/*.jpeg", "/**/*.gif", "/**/fonts/*"
+ ).addPathPatterns("/**");
+// 除了登录放行,其他接口都token验证
}
}
\ No newline at end of file
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html
index 3c5a4d5e..3f6079ac 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/login.html
@@ -19,14 +19,14 @@
+ .logindiv{
+ display: flex;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: center;
+ align-content: stretch;
+ flex-direction: row-reverse;
+ }
+ .loginpassword{
+ width: 40%;
+ }
+
+ .loginbox input .checksty{
+ width: 16px !important;
+ margin-top: 0;
+ }
+ .remtxt {
+ display: inherit;
+ margin: -38px 0 0 42px !important;
+ color: #666666;
+ }
+ .loginbtn {
+ margin: 5% auto 0;
+ background-color: #1367fe;
+ border-radius: 50px;
+ color: #fff;
+ font-size: 16px;
+ line-height: 40px;
+ text-align: center;
+ box-shadow: 0 0 10px rgba(19, 103, 254, .8);
+ width: 49% !important;
+ }
+
+
@@ -51,7 +84,7 @@
密码
-记住密码
+
-登录
+
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqAddOrder.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqAddOrder.java
index 1d61c3c4..40f430b3 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqAddOrder.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqAddOrder.java
@@ -117,6 +117,7 @@ public class MssqAddOrder extends MssqBaseDomain {
private List fileDatas;
+
private class FileData{
/**
* 附件名称
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqBaseDomain.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqBaseDomain.java
index 9a96142d..1341ca20 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqBaseDomain.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/MssqBaseDomain.java
@@ -18,6 +18,11 @@ public class MssqBaseDomain {
* 请求头携带的签名
*/
private String gatewaySig;
+
+ /**
+ * 请求方式
+ */
+ private String invokingServiceRequestMethod;
/**
* 请求头携带的当前时间的时间戳
*/
@@ -62,4 +67,12 @@ public class MssqBaseDomain {
public void setGatewayRtime(String gatewayRtime) {
this.gatewayRtime = gatewayRtime;
}
+
+ public String getInvokingServiceRequestMethod() {
+ return invokingServiceRequestMethod;
+ }
+
+ public void setInvokingServiceRequestMethod(String invokingServiceRequestMethod) {
+ this.invokingServiceRequestMethod = invokingServiceRequestMethod;
+ }
}
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
new file mode 100644
index 00000000..50f01d47
--- /dev/null
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
@@ -0,0 +1,20 @@
+package com.zdxt.code.service;
+
+import com.zdxt.code.domain.MssqAddOrder;
+import com.zdxt.code.domain.MssqBaseDomain;
+import org.springframework.beans.factory.annotation.Value;
+
+/**
+ * 民生诉求接口实现类
+ */
+public interface MssqApiService {
+
+ /**
+ * 添加民生诉求工单
+ * @param mssqAddOrder
+ * @return
+ */
+ Boolean addMssqOrder(MssqAddOrder mssqAddOrder) throws Exception;
+
+ MssqBaseDomain getMssqToken() throws Exception;
+}
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
new file mode 100644
index 00000000..f62aac7f
--- /dev/null
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
@@ -0,0 +1,81 @@
+package com.zdxt.code.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zdxt.code.domain.MssqAddOrder;
+import com.zdxt.code.domain.MssqBaseDomain;
+import com.zdxt.code.service.MssqApiService;
+import com.zdxt.code.utils.ServiceInvocation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import static com.zdxt.code.utils.ServiceInvocation.gatewaySignEncode;
+import static com.zdxt.code.utils.ServiceInvocation.httpRequest;
+
+@Slf4j
+@Service
+public class MssqApiServiceImpl implements MssqApiService {
+
+ @Value("mssq.apiUrl")
+ private String mssqUrl;
+
+ @Value("mssq.appId")
+ private String appId;
+
+ @Value("mssq.appKey")
+ private String appKey;
+
+ @Override
+ public Boolean addMssqOrder(MssqAddOrder mssqAddOrder) throws Exception {
+ MssqBaseDomain mssqToken = this.getMssqToken();
+ mssqAddOrder.setAccessToken(mssqToken.getAccessToken());
+ //appId
+ mssqAddOrder.setAppId(appId);
+ //签名
+ mssqAddOrder.setGatewaySig(mssqToken.getGatewaySig());
+ //请求时间戳
+ mssqAddOrder.setGatewayRtime(mssqToken.getGatewayRtime());
+ String s = JSONObject.toJSONString(mssqAddOrder);
+ log.info("民生诉求token:{}",JSONObject.toJSONString(mssqToken));
+ log.info("民生诉求工单新增,上传参数:{}",s);
+ JSONObject serviceJsonData = ServiceInvocation.httpRequestForInterface(mssqUrl + "/handlerProcess/channelAddOrder",
+ mssqAddOrder.getInvokingServiceRequestMethod(), s, appId, mssqToken.getGatewayRtime(), mssqToken.getGatewaySig());
+ String codeValue = serviceJsonData.getString("code");
+ if (codeValue.equals("200")) {
+ log.info("请求url:{},响应成功!",mssqUrl + "/handlerProcess/channelAddOrder");
+ return Boolean.TRUE;
+ } else {
+ log.error("请求url:{},响应失败!,响应结果:{}",mssqUrl + "/handlerProcess/channelAddOrder",serviceJsonData);
+ return Boolean.FALSE;
+ }
+// return null;
+ }
+
+ @Override
+ public MssqBaseDomain getMssqToken() throws Exception {
+ MssqBaseDomain mssqBaseDomain = new MssqBaseDomain();
+ String currTime = String.valueOf(System.currentTimeMillis());
+ String invokingServiceRequestMethod="POST";
+ // 服务调用的请求方法
+ // 1.获取本地签名
+ String tokenSign = gatewaySignEncode(appId, appKey, currTime);
+ // 2.调用获取token接口
+ JSONObject jsonObject = httpRequest(mssqUrl + "/auth/token", "POST", "", appId, currTime, tokenSign);
+ JSONObject jsonObjectBody = JSONObject.parseObject(jsonObject.getString("body"));
+// log.info("民生诉求获取token接口:{}",jsonObject);
+ if (jsonObjectBody != null) {
+ String accessToken = jsonObjectBody.getString("access_token");
+ // 3.在获得服务调用秘钥access_token后,根据自己的appKey使用AES解密算法对返回值进行解密,最终获取签名密钥secretKey
+ String secretKey = ServiceInvocation.gatewayAesDecode(appKey, accessToken);
+ // 4.获取本地签名
+ String sign = gatewaySignEncode(appId, secretKey, currTime);
+ mssqBaseDomain.setAccessToken(accessToken);
+ //签名
+ mssqBaseDomain.setGatewaySig(sign);
+ }
+ //当前时间戳
+ mssqBaseDomain.setGatewayRtime(currTime);
+
+ return mssqBaseDomain;
+ }
+}
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
index f9a3a49d..a1ed200b 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
@@ -7,6 +7,7 @@ import com.zdxt.auth.dto.DeptBean;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.feign.DeptApi;
import com.zdxt.auth.feign.UserApi;
+import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
import com.zdxt.auth.framework.shiro.nopaddword.LoginType;
import com.zdxt.auth.framework.shiro.nopaddword.UserToken;
import com.zdxt.code.domain.EnterpriseInformation;
@@ -27,7 +28,9 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
@Slf4j
@Service
@@ -71,6 +74,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
Subject subject = SecurityUtils.getSubject();
subject.login(sysToken);
user.setEnterpriseNumber(jsonObject.getString("corpCid"));
+ Map payload = new HashMap<>();
+ payload.put("id", user.getUserId());
+ payload.put("name", user.getLoginName());
+ String token1 = JWTUtils.sign(payload);
+ user.setToken(token1);
return ZDResponse.success("登录成功",user);
} catch (Exception e) {
e.printStackTrace();
@@ -97,6 +105,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
// }else{
// user.setLawOfficer(false);
// }
+ Map payload = new HashMap<>();
+ payload.put("id", user.getUserId());
+ payload.put("name", user.getLoginName());
+ String token1 = JWTUtils.sign(payload);
+ user.setToken(token1);
return ZDResponse.success("登录成功",user);
} catch (Exception e) {
e.printStackTrace();
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
index 496c005e..b58855dc 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
@@ -160,7 +160,7 @@ public class ServiceInvocation {
}
return jsonObject;
}
- private static JSONObject httpRequestForInterface(String requestUrl, String requestMethod, String reqBody, String appIdorSecretKey,
+ public static JSONObject httpRequestForInterface(String requestUrl, String requestMethod, String reqBody, String appIdorSecretKey,
String currTime, String sign) throws Exception {
JSONObject jsonObject=new JSONObject();
StringBuffer buffer = new StringBuffer();