diff --git a/power-admin/src/main/java/com/manage/controller/FontController.java b/power-admin/src/main/java/com/manage/controller/FontController.java index ad5a4cd..494d9a9 100644 --- a/power-admin/src/main/java/com/manage/controller/FontController.java +++ b/power-admin/src/main/java/com/manage/controller/FontController.java @@ -598,28 +598,19 @@ public class FontController { @RequestMapping(value="getQRcode") @ResponseBody public QrBean getQRcode(QRcode qRcode, HttpServletRequest request){ - // 获得Http客户端 CloseableHttpClient httpClient = HttpClientBuilder.create().build(); // 创建Post请求 HttpPost httpPost = new HttpPost("http://192.168.1.212:8080/cloudkeyserver/api/login/qrcode/nostatus/2CKV1"); -// qRcode.setLoginTypeBitValue(16); -// qRcode.setType(3); -// qRcode.setProjectUid("cloudkey-fstth"); -// qRcode.setApplicationId("fstth-wzh"); - System.out.println("qRcode:::::"+qRcode.getApplicationId()); //json格式转换 String jsonString = JSON.toJSONString(qRcode); - System.out.println("jsonString1::::"+jsonString); StringEntity entity = new StringEntity(jsonString, "UTF-8"); - System.out.println("jsonString::::"+jsonString); // post请求是将参数放在请求体里面传过去的;这里将entity放入post请求体中 httpPost.setEntity(entity); httpPost.setHeader("Content-Type", "application/json;charset=utf8"); // 响应模型 CloseableHttpResponse response = null; HttpEntity responseEntity=null; - String s =""; QrBean qrBean=new QrBean(); try { // 由客户端执行(发送)Post请求 @@ -635,11 +626,8 @@ public class FontController { String qrCodeIdentity = contentsObject.getString("qrCodeIdentity"); JSONArray qrCodes = contentsObject.getJSONArray("qrCodes"); String qrCodeBase64 = qrCodes.getJSONObject(0).get("qrCodeBase64").toString(); - - qrBean.setQrCodeBase64(qrCodeBase64); qrBean.setQrCodeIdentity(qrCodeIdentity); - System.out.println("qrBean::::"+qrBean.getQrCodeIdentity()); } } catch (ClientProtocolException e) { e.printStackTrace(); @@ -671,7 +659,6 @@ public class FontController { @RequestMapping(value="getScanCode") @ResponseBody public ScanCodeRes getQRcode(ScanCode scanCode, HttpServletRequest request){ - System.out.println("scanCode123::::"+scanCode.getQrCodeIdentity()); // 获得Http客户端 CloseableHttpClient httpClient = HttpClientBuilder.create().build(); // 创建Post请求 @@ -739,18 +726,18 @@ public class FontController { //json格式转换 String jsonString = JSON.toJSONString(userCode); StringEntity entity = new StringEntity(jsonString, "UTF-8"); - // post请求是将参数放在请求体里面传过去的;这里将entity放入post请求体中 - httpPost.setEntity(entity); - httpPost.setHeader("Content-Type", "application/json;charset=utf8"); - // 响应模型 - CloseableHttpResponse response = null; - HttpEntity responseEntity=null; - UserCodeRes userCodeRes =new UserCodeRes(); - try { - // 由客户端执行(发送)Post请求 - response = httpClient.execute(httpPost); - // 从响应模型中获取响应实体 - responseEntity = response.getEntity(); + // post请求是将参数放在请求体里面传过去的;这里将entity放入post请求体中 + httpPost.setEntity(entity); + httpPost.setHeader("Content-Type", "application/json;charset=utf8"); + // 响应模型 + CloseableHttpResponse response = null; + HttpEntity responseEntity=null; + UserCodeRes userCodeRes =new UserCodeRes(); + try { + // 由客户端执行(发送)Post请求 + response = httpClient.execute(httpPost); + // 从响应模型中获取响应实体 + responseEntity = response.getEntity(); System.out.println("responseEntity::::"+responseEntity); System.out.println("响应状态为:" + response.getStatusLine()); if (responseEntity != null) { @@ -797,23 +784,11 @@ public class FontController { public Msg qRCodeLogin(Power_User powerUser, HttpServletResponse response, HttpServletRequest request, Model model){ try { Power_UserVo user = power_userService.findUserName(powerUser); - System.out.println("user:::::"+user); //添加进操作日志 Power_Log log = new Power_Log(); if(user != null){ -// //存session密码置空 -//// //是否记住密码功能 -//// MyCookieUtil.remember(request, response); - //设置token缓存 String token = UUID.randomUUID().toString(); //查询归属医院 - /*long start5 = System.currentTimeMillis(); - Power_User_Dict powerUserDict = powerUserDictMapper.selectDictIdByUserId(user.getUserId()); - long end5 = System.currentTimeMillis(); - System.out.println("查询医院时间="+(end5-start5)/1000.0+"s"); - user.setDictId(powerUserDict.getDictId());*/ - //设置用户登录次数缓存 - //CacheManager.addloginUserCount(fmt.format(new Date()),user.getUserName()); CacheManager.addExcCount("noExc"); List list = null; List menuList = new ArrayList<>(); @@ -867,10 +842,6 @@ public class FontController { url = "http://"+ip+":"+POWER_PORT+"/power/gatewayPage"; } - //request.getRequestDispatcher(url).forward(request, response); - - //response.sendRedirect(url); - //return "redirect:gatewayPage"; return Msg.success().add("url",url); }else{ //登录失败 diff --git a/power-admin/src/main/java/com/manage/controller/LoginController.java b/power-admin/src/main/java/com/manage/controller/LoginController.java index e20074b..d1b081b 100644 --- a/power-admin/src/main/java/com/manage/controller/LoginController.java +++ b/power-admin/src/main/java/com/manage/controller/LoginController.java @@ -69,7 +69,13 @@ public class LoginController { @ResponseBody public Msg login(Power_User powerUser,HttpServletResponse response, HttpServletRequest request,Model model){ try { + String userName = powerUser.getUserName(); + if (!userName.equals("admin")){ + String s ="00" + userName; + powerUser.setUserName(s); + } Power_UserVo user = powerUserService.findPowerUserByUserNameAndUserPwd(powerUser); + //添加进操作日志 Power_Log log = new Power_Log(); if(user != null){ @@ -78,14 +84,6 @@ public class LoginController { MyCookieUtil.remember(request, response); //设置token缓存 String token = UUID.randomUUID().toString(); - //查询归属医院 - /*long start5 = System.currentTimeMillis(); - Power_User_Dict powerUserDict = powerUserDictMapper.selectDictIdByUserId(user.getUserId()); - long end5 = System.currentTimeMillis(); - System.out.println("查询医院时间="+(end5-start5)/1000.0+"s"); - user.setDictId(powerUserDict.getDictId());*/ - //设置用户登录次数缓存 - //CacheManager.addloginUserCount(fmt.format(new Date()),user.getUserName()); CacheManager.addExcCount("noExc"); List list = null; List menuList = new ArrayList<>(); @@ -162,6 +160,7 @@ public class LoginController { log.setRemark("已错误【"+wrongNum+"】次"); logService.insert(log); request.setAttribute("msg", "用户名或密码不正确"); + return Msg.failUser(); } }catch (Exception e){ e.printStackTrace(); diff --git a/power-admin/src/main/java/com/manage/controller/SsoLogin.java b/power-admin/src/main/java/com/manage/controller/SsoLogin.java index 720adab..2dc8201 100644 --- a/power-admin/src/main/java/com/manage/controller/SsoLogin.java +++ b/power-admin/src/main/java/com/manage/controller/SsoLogin.java @@ -114,139 +114,137 @@ public class SsoLogin { * 单点登录 * author xuhx * */ - @RequestMapping(value = "login",method = RequestMethod.GET,produces = "text/html;charset=utf-8") + @RequestMapping(value = "login", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody - public String login(HttpServletRequest request,HttpServletResponse response,String code,String state) throws Exception { + public String login(HttpServletRequest request, HttpServletResponse response, String code, String state) throws Exception { String result = ""; CloseableHttpResponse responseNew = null; CloseableHttpClient httpClient = null; JSONObject jsonResultToken = null; - String url=oidcAddress+tokenEendpoint; + String url = oidcAddress + tokenEendpoint; String StringUrl = URLEncoder.encode(urlAddress, "GBK"); Map paramMap = new HashMap(); - paramMap.put("client_id",clientId); - paramMap.put("client_secret",clientSecret); - paramMap.put("code",code); - paramMap.put("grant_type","authorization_code"); - paramMap.put("redirect_uri",urlAddress); - String param="client_id="+clientId+"&client_secret="+clientSecret+"&code="+code+"&grant_type=authorization_code&redirect_uri="+StringUrl; - String returnObject =doPost(url,paramMap,null); - String userName=""; - if(returnObject!=null){ + paramMap.put("client_id", clientId); + paramMap.put("client_secret", clientSecret); + paramMap.put("code", code); + paramMap.put("grant_type", "authorization_code"); + paramMap.put("redirect_uri", urlAddress); + String param = "client_id=" + clientId + "&client_secret=" + clientSecret + "&code=" + code + "&grant_type=authorization_code&redirect_uri=" + StringUrl; + String returnObject = doPost(url, paramMap, null); + String userName = ""; + if (returnObject != null) { // 把json字符串转换成json对象 jsonResultToken = JSONObject.parseObject(returnObject); - String accessToken=jsonResultToken.getString("access_token"); - // 通过址默认配置创建一个httpClient实例 - httpClient = HttpClients.createDefault(); - // 创建httpGet远程连接实例 - String userUrl=oidcAddress+userinfoEndpoint; - HttpGet httpGet = new HttpGet(userUrl); - // 设置请求头信息,鉴权 - httpGet.setHeader("Authorization", "Bearer "+accessToken); - httpGet.setConfig(requestConfig); - // 执行get请求得到返回对象 - responseNew = httpClient.execute(httpGet); - // 通过返回对象获取返回数据 - HttpEntity entity = responseNew.getEntity(); - // 通过EntityUtils中的toString方法将结果转换为字符串 - String returnResult = EntityUtils.toString(entity); - // 把json字符串转换成json对象 - JSONObject jsonResult = JSONObject.parseObject(returnResult); - if(jsonResult!=null){ - /*if((jsonResult.getString("username"))!=null&&!"".equals(jsonResult.getString("username"))) { - userName=jsonResult.getString("username"); - }*/ - if((jsonResult.getString("name"))!=null&&!"".equals(jsonResult.getString("name"))) { - //接口返回的登录名为4位,我们系统为6位,接口登录名前追加两个0变成我们的6位 - userName="00"+jsonResult.getString("name"); - //根据登录名获取用户(需要确保用户登录名唯一) - Power_UserVo user = powerUserService.selectByUserName(userName); - if (user != null) { - String password = MD5.JM(Base64.decode(user.getUserPwd())); - if (password != null && !"".equals(password)) { - //加密(此部分代码来自FontController的getToken方法,用来获取token及相关操作) - String token = UUID.randomUUID().toString(); - List list = null; - List menuList = new ArrayList<>(); - Set menus = new TreeSet<>(); - if (user.getRoleId().equals(0) || user.getRoleId().equals(-100)) { - list = powerMenuService.queryAllPowerMenu(null,user.getRoleId()); - } else { - list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(),null); - } - if(null != list && !list.isEmpty()){ - for (Power_Menu power_menu : list) { - User_Dept_Menu deptMenu = new User_Dept_Menu(); - String menuUrl = power_menu.getMenuUrl(); - if (StringUtils.isNotBlank(menuUrl)) { - BeanUtils.copyProperties(power_menu, deptMenu); - deptMenu.setMethodParent(power_menu.getParentId()); - menuList.add(deptMenu); - } - if (StringUtils.isNotBlank(power_menu.getMethod())) { - menus.add(power_menu.getMenuUrl()); - } - } + String accessToken = jsonResultToken.getString("access_token"); + // 通过址默认配置创建一个httpClient实例 + httpClient = HttpClients.createDefault(); + // 创建httpGet远程连接实例 + String userUrl = oidcAddress + userinfoEndpoint; + HttpGet httpGet = new HttpGet(userUrl); + // 设置请求头信息,鉴权 + httpGet.setHeader("Authorization", "Bearer " + accessToken); + httpGet.setConfig(requestConfig); + // 执行get请求得到返回对象 + responseNew = httpClient.execute(httpGet); + // 通过返回对象获取返回数据 + HttpEntity entity = responseNew.getEntity(); + // 通过EntityUtils中的toString方法将结果转换为字符串 + String returnResult = EntityUtils.toString(entity); + // 把json字符串转换成json对象 + JSONObject jsonResult = JSONObject.parseObject(returnResult); + if (jsonResult != null) { + if ((jsonResult.getString("name")) != null && !"".equals(jsonResult.getString("name"))) { + //接口返回的登录名为4位,我们系统为6位,接口登录名前追加两个0变成我们的6位 + userName = "00" + jsonResult.getString("name"); + //根据登录名获取用户(需要确保用户登录名唯一) + Power_UserVo user = powerUserService.selectByUserName(userName); + if (user != null) { + String password = MD5.JM(Base64.decode(user.getUserPwd())); + if (password != null && !"".equals(password)) { + //加密(此部分代码来自FontController的getToken方法,用来获取token及相关操作) + String token = UUID.randomUUID().toString(); + List list = null; + List menuList = new ArrayList<>(); + Set menus = new TreeSet<>(); + if (user.getRoleId().equals(0) || user.getRoleId().equals(-100)) { + list = powerMenuService.queryAllPowerMenu(null, user.getRoleId()); + } else { + list = powerMenuService.selectUserAndRoleMenuListPower(user.getUserId(), null); + } + if (null != list && !list.isEmpty()) { + for (Power_Menu power_menu : list) { + User_Dept_Menu deptMenu = new User_Dept_Menu(); + String menuUrl = power_menu.getMenuUrl(); + if (StringUtils.isNotBlank(menuUrl)) { + BeanUtils.copyProperties(power_menu, deptMenu); + deptMenu.setMethodParent(power_menu.getParentId()); + menuList.add(deptMenu); } - user.setMenuList(menuList); - user.setMenus(menus); - - //设置科室 - StringBuilder powerDepts = new StringBuilder(); - List powerDeptsList = power_deptService.selectByPrimaryKeys(user.getDeptId()); - for(int j=0;j powerDeptsList = power_deptService.selectByPrimaryKeys(user.getDeptId()); + for (int j = 0; j < powerDeptsList.size(); j++) { + if (j < powerDeptsList.size() - 1) { + powerDepts.append(powerDeptsList.get(j).getDeptName()).append(","); + } else { + powerDepts.append(powerDeptsList.get(j).getDeptName()); + } + } + user.setRemark(powerDepts.toString()); //移除缓存 /*CacheManager.removeCacheByObject(user); CacheManager.putCache(date,new Cache(date,user,TOKEN_EXPIRE_TIME));*/ - ActionScopeUtils.setSessionAttribute("token",token,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); - ActionScopeUtils.setSessionAttribute("CURRENT_USER",user,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); - CacheManager.putCache(token,new Cache(user,System.currentTimeMillis(),TOKEN_EXPIRE_TIME*1000)); - - if (!"".equals(token)&&token!=null) { - //返回跳转url - result="http://"+ip+":"+port+"/emr_medical_record/login?token=" + token + "&userName="+userName; - //request.getRequestDispatcher(result).forward(request, response); - response.sendRedirect(result); - } else { - result = "获取登录token失败,请检查数据!!"; - } - } else { - result = "无法获取用户密码!!"; - } + ActionScopeUtils.setSessionAttribute("token", token, Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); + ActionScopeUtils.setSessionAttribute("CURRENT_USER", user, Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); + CacheManager.putCache(token, new Cache(user, System.currentTimeMillis(), TOKEN_EXPIRE_TIME * 1000)); + + if (!"".equals(token) && token != null) { + //返回跳转url + result = "http://" + ip + ":" + port + "/emr_medical_record/login?token=" + token + "&userName=" + userName; + //request.getRequestDispatcher(result).forward(request, response); + response.sendRedirect(result); } else { - result = "登录用户不存在!!"; + result = "获取登录token失败,请检查数据!!"; } + } else { + result = "无法获取用户密码!!"; } - }else{ - result = "SSO平台未成功返回用户信息!!"; + } else { + result = "登录用户不存在!!"; } + } + } else { + result = "SSO平台未成功返回用户信息!!"; } - return result; } - @RequestMapping(value = "into",method = RequestMethod.GET,produces = "text/html;charset=utf-8") + return result; + } + + @RequestMapping(value = "into", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody - public void in(HttpServletRequest request, HttpServletResponse response){ - //本项目中接收返回数据的地址 - String StringUrl = null; - try { - StringUrl = URLEncoder.encode(urlAddress, "GBK"); - try { - response.sendRedirect(oidcAddress+authorizationEndpoint+"?client_id="+clientId+"&redirect_uri="+StringUrl+"&response_type=code&state="+1+"&scope=openid%20profile"); - } catch (IOException e) { - e.printStackTrace(); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - } + public void in(HttpServletRequest request, HttpServletResponse response) { + //本项目中接收返回数据的地址 + String StringUrl = null; + try { + StringUrl = URLEncoder.encode(urlAddress, "GBK"); + try { + response.sendRedirect(oidcAddress + authorizationEndpoint + "?client_id=" + clientId + "&redirect_uri=" + StringUrl + "&response_type=code&state=" + 1 + "&scope=openid%20profile"); + } catch (IOException e) { + e.printStackTrace(); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + } public static String doPost(String url, Map paramMap, Map headerMap) { @@ -268,7 +266,7 @@ public class SsoLogin { // 为httpPost实例设置配置 //httpPost.setConfig(requestConfig); // 设置请求头 - if (headerMap == null){ + if (headerMap == null) { httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");// "application/json" } else { for (String key : headerMap.keySet()) { @@ -329,9 +327,9 @@ public class SsoLogin { * @MethodName sendMessage * @Description: 获取用户信息 */ - @RequestMapping(value ="getUser",method = RequestMethod.GET) + @RequestMapping(value = "getUser", method = RequestMethod.GET) @ResponseBody - public Power_UserVo sendMessage(String userName) throws Exception{ + public Power_UserVo sendMessage(String userName) throws Exception { return powerUserService.selectByUserName(userName); } diff --git a/power-admin/src/main/resources/config/config.properties b/power-admin/src/main/resources/config/config.properties index f43b867..a9abc47 100644 --- a/power-admin/src/main/resources/config/config.properties +++ b/power-admin/src/main/resources/config/config.properties @@ -23,11 +23,11 @@ POWER_PORT = ${SERVER_PORT} #\u75C5\u6848\u5F52\u6863\u7CFB\u7EDFip EMRMEDICALRECORD_IP = ${SERVER_IP} #\u75C5\u6848\u5F52\u6863\u7CFB\u7EDF\u7AEF\u53E3 -EMRMEDICALRECORD_PORT = ${SERVER_PORT} +EMRMEDICALRECORD_PORT = 8084 #\u75C5\u6848\u7BA1\u7406\u7CFB\u7EDFip EMRRECORD_IP = ${SERVER_IP} #\u75C5\u6848\u7BA1\u7406\u7CFB\u7EDF\u7AEF\u53E3 -EMRRECORD_PORT = ${SERVER_PORT} +EMRRECORD_PORT = 8083 #\u75C5\u6848\u590D\u5370\u9884\u7EA6ip EMRAPPLYCOPY_IP = ${SERVER_IP} diff --git a/power-admin/src/main/resources/config/jdbc.properties b/power-admin/src/main/resources/config/jdbc.properties index 6602083..41610c1 100644 --- a/power-admin/src/main/resources/config/jdbc.properties +++ b/power-admin/src/main/resources/config/jdbc.properties @@ -1,11 +1,17 @@ #jdbc.url=jdbc\:mysql\://200.100.104.40\:3306/power?useUnicode\=true&characterEncoding\=utf-8 #jdbc.password=AbcXyz123 -jdbc.url=jdbc\:mysql\://localhost\:3306/gmpower?useUnicode\=true&characterEncoding\=utf-8 -jdbc.password=docus702 - -jdbc.driver=com.mysql.jdbc.Driver -jdbc.username=root +dataBaseIp=10.100.23.103 +#\u6570\u636E\u5E93\u540D\u79F0 +dataBaseName=power +\u6570\u636E\u5E93\u8D26\u53F7 +dataBaseUserName=power +#\u6570\u636E\u5E93\u5BC6\u7801 +dataBasePassword=power@fstth +jdbc.url=jdbc\:mysql\://${dataBaseIp}\:3346/${dataBaseName}?useUnicode\=true&characterEncoding\=utf-8&useSSL\=false&serverTimeZone\=Shanghai +jdbc.username=${dataBaseUserName} +jdbc.password=${dataBasePassword} +jdbc.driver=com.mysql.cj.jdbc.Driver filters: stat maxActive: 20 diff --git a/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp b/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp index 547abac..dca2d9f 100644 --- a/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp +++ b/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp @@ -83,7 +83,6 @@
-

${msg}

diff --git a/power-admin/src/main/webapp/static/bootstrap-3.3.7/bower_components/bootstrap-table/bootstrap-table.js b/power-admin/src/main/webapp/static/bootstrap-3.3.7/bower_components/bootstrap-table/bootstrap-table.js index ac65a6c..80ff7cf 100644 --- a/power-admin/src/main/webapp/static/bootstrap-3.3.7/bower_components/bootstrap-table/bootstrap-table.js +++ b/power-admin/src/main/webapp/static/bootstrap-3.3.7/bower_components/bootstrap-table/bootstrap-table.js @@ -218,7 +218,7 @@ return item[field]; } var props = field.split('.'); - // IE8 for...in ὫҲöٳ ʹ for loop + // ��IE8 �� for...in �Ὣ����Ҳö�ٳ��� ʹ�� for loop // for (var p in props) { // value = value[props[p]]; // } @@ -1247,8 +1247,8 @@ html.push(''); html.push( - '
', - '
תҳ
', + '
', + '
��ת����ҳ
', '', '