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 @@
密码
-记住密码 +
验证码
@@ -62,7 +95,12 @@
-
登录
+
+
+ 记住密码 +
+
登录
+
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();