From dccf9de0b138463bb9f58a00c7e75adfc9e1310e Mon Sep 17 00:00:00 2001 From: ALW <850658129@qq.com> Date: Tue, 20 Sep 2022 10:13:03 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=81=B5=E4=B9=89=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/manage/controller/FontController.java | 330 ++++++++++++++---- .../java/com/manage/dao/Power_UserMapper.java | 10 + .../main/java/com/manage/vo/Power_UserVo.java | 10 + .../resources/mapper/Power_UserMapper.xml | 21 ++ 4 files changed, 307 insertions(+), 64 deletions(-) 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 39c8456..0fcb599 100644 --- a/power-admin/src/main/java/com/manage/controller/FontController.java +++ b/power-admin/src/main/java/com/manage/controller/FontController.java @@ -1,4 +1,6 @@ package com.manage.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; import com.manage.dao.Power_NoticeMapper; @@ -11,12 +13,12 @@ import com.manage.service.cache.Cache; import com.manage.service.cache.CacheManager; import com.manage.service.ipml.Power_NoticeServiceImpl; import com.manage.service.webSocket.WsPool; +import com.manage.util.ActionScopeUtils; import com.manage.util.DateUtils; import com.manage.util.ExceptionPrintUtil; import com.manage.util.Msg; import com.manage.vo.*; import org.apache.commons.lang3.StringUtils; -import org.apache.cxf.endpoint.Client; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -29,6 +31,7 @@ import org.springframework.stereotype.Controller; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.io.StringReader; import java.text.SimpleDateFormat; import java.util.*; @@ -50,6 +53,8 @@ import java.util.*; public class FontController { @Value("${STR_SPLIT}") private String STR_SPLIT; + @Value("${EMRRECORD_URLHEAD}") + private String EMRRECORD_URLHEAD; @Autowired private PowerService powerService; @Autowired @@ -397,44 +402,208 @@ public class FontController { * @UpdateRemark: 更新说明 * @Version: 1.0 */ - @RequestMapping(value = "getTokenForHis",method = RequestMethod.POST) +// @RequestMapping(value = "getTokenForHis",method = RequestMethod.POST) +// @ResponseBody +// public Msg getTokenForHis(@RequestParam("username") String userName,@RequestParam("password")String password) throws Exception{ +// if(StringUtils.isBlank(userName)){ +// return Msg.fail("用户名不能为空"); +// } +// if(StringUtils.isBlank(password)){ +// return Msg.fail("密码不能为空"); +// } +// //2.根据userName查询我们的用户表是否存在 +// Power_UserVo userVo = new Power_UserVo(); +// // 判断数据库中是否有此用户,如果没有则插入数据库 +// String result = linkHisLogin(userName, password); +//// if(StringUtils.isBlank(result)){ +//// return Msg.fail("调用第三方认证失败"); +//// } +// List userList = userMapper.checkUserName(userName); +// if (CollectionUtils.isEmpty(userList)) { +// //2.1不存在往用户表新增这条用户 +// userVo.setUserName(userName); +//// userVo.setUserPwd(Base64.encode(MD5.KL("1C821B22D0402F317E40D93213C66843"))); +// userVo.setUserPwd(Base64.encode(MD5.KL("123456"))); +// //TODO name从应答的xml解析 +//// String name = analysis(result,"Name"); +// userVo.setName(name); +// userVo.setRoleId(1); +// userVo.setDeptId("3"); +// userVo.setEffective(1); +// userVo.setCreater("his"); +// SimpleDateFormat fmt= new SimpleDateFormat("yyyy-MM-dd"); +// userVo.setCreateDate(fmt.format(new Date())); +// //插入00 +// userMapper.insert(userVo); +// } +// String token = setToken(userVo); +// return Msg.success().add("token",token); +// } + + + + @RequestMapping(value = "saveThirdUser",method = RequestMethod.POST) @ResponseBody - public Msg getTokenForHis(@RequestParam("username") String userName,@RequestParam("password")String password) throws Exception{ + public Msg saveThirdUser(@RequestParam("userName") String userName,@RequestParam("passWord")String passWord) throws Exception{ if(StringUtils.isBlank(userName)){ - return Msg.fail("用户名不能为空"); + return Msg.fail("用户名不能为空"); } - if(StringUtils.isBlank(password)){ + if(StringUtils.isBlank(passWord)){ return Msg.fail("密码不能为空"); } - //2.根据userName查询我们的用户表是否存在 Power_UserVo userVo = new Power_UserVo(); - // 判断数据库中是否有此用户,如果没有则插入数据库 - String result = linkHisLogin(userName, password); - if(StringUtils.isBlank(result)){ - return Msg.fail("调用第三方认证失败"); - } - List userList = userMapper.checkUserName(userName); - if (CollectionUtils.isEmpty(userList)) { - //2.1不存在往用户表新增这条用户 + List userInfo = userMapper.getUserInfo(userName, passWord); + if (CollectionUtils.isEmpty(userInfo)) { userVo.setUserName(userName); -// userVo.setUserPwd(Base64.encode(MD5.KL("1C821B22D0402F317E40D93213C66843"))); - userVo.setUserPwd(Base64.encode(MD5.KL("123456"))); - //TODO name从应答的xml解析 - String name = analysis(result,"Name"); - userVo.setName(name); - userVo.setRoleId(1); - userVo.setDeptId("3"); - userVo.setEffective(1); - userVo.setCreater("his"); - SimpleDateFormat fmt= new SimpleDateFormat("yyyy-MM-dd"); - userVo.setCreateDate(fmt.format(new Date())); - //插入00 - userMapper.insert(userVo); - } - String token = setToken(userVo); - return Msg.success().add("token",token); + userVo.setPassWord(passWord); + userMapper.insertUserInfo(userVo); + return Msg.fail("同步用户密码成功"); + }else { + userVo.setUserName(userName); + userVo.setPassWord(passWord); + userMapper.updateinsertUserInfo(userVo); + return Msg.fail("同步用户密码成功"); + } + } + @RequestMapping(value = "getThirdToken",method = RequestMethod.POST) + @ResponseBody + public Msg getThirdToken(String userName,String passWord) throws Exception { + if (StringUtils.isBlank(userName)) { + return Msg.fail("账号不能为空"); + } + if (StringUtils.isBlank(passWord)) { + return Msg.fail("密码不能为空"); + } + Power_UserVo userVo = new Power_UserVo(); + List userInfo = userMapper.getUserInfoOne(userName, passWord); + if (!CollectionUtils.isEmpty(userInfo)) { + String date = String.valueOf(DateUtils.getDate()); + String token = Base64.encode(MD5.KL(date)); + ActionScopeUtils.setSessionAttribute("token",token,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))/1000); + //设置用户登录次数缓存 + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + CacheManager.addloginUserCount(fmt.format(new Date()),userName); + CacheManager.addExcCount("noExc"); + List list = null; + List menuList = new ArrayList<>(); + Set menus = new LinkedHashSet<>(); + userVo.setRoleId(0); + if (userVo.getRoleId().equals(0) || userVo.getRoleId().equals(-100)) { + list = powerMenuService.queryAllPowerMenu(null,userVo.getRoleId()); + } else { + list = powerMenuService.selectUserAndRoleMenuListPower(userVo.getUserId(),null); + } + if(null != list && !list.isEmpty()){ + for (Power_Menu powerMenu : list) { + User_Dept_Menu deptMenu = new User_Dept_Menu(); + String menuUrl = powerMenu.getMenuUrl(); + if (StringUtils.isNotBlank(menuUrl)) { + BeanUtils.copyProperties(powerMenu, deptMenu); + deptMenu.setMethodParent(powerMenu.getParentId()); + menuList.add(deptMenu); + } + if (StringUtils.isNotBlank(powerMenu.getMethod())) { + menus.add(powerMenu.getMenuUrl()); + } + } + } + userVo.setMenuList(menuList); + userVo.setMenus(menus); + userVo.setRemark("HIS科室"); + + //设置进缓存 + CacheManager.putCache(date,new Cache(date,userVo,TOKEN_EXPIRE_TIME)); + ActionScopeUtils.setSessionAttribute("CURRENT_USER",userVo,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))/1000); +// UserVo userVo1 =new UserVo(); +//// userVo1.setUserName("admin"); +//// userVo1.setPassWord("123456"); +//// CloseableHttpClient httpClient = HttpClientBuilder.create().build(); +//// // 创建Post请求 +//// HttpPost httpPost = new HttpPost(EMRRECORD_URLHEAD+"/login"); +//// String jsonString = JSON.toJSONString(userVo1); +//// 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; +//// try { +//// // 由客户端执行(发送)Post请求 +//// response = httpClient.execute(httpPost); +//// // 从响应模型中获取响应实体 +//// responseEntity = response.getEntity(); +//// System.out.println("responseEntity::::"+responseEntity); +//// System.out.println("响应状态为:" + response.getStatusLine()); +//// } catch (ClientProtocolException e) { +//// e.printStackTrace(); +//// } catch (IOException e) { +//// e.printStackTrace(); +//// } finally { +//// try { +//// // 释放资源 +//// if (httpClient != null) { +//// httpClient.close(); +//// } +//// if (response != null) { +//// response.close(); +//// } +//// } catch (IOException e) { +//// e.printStackTrace(); +//// } +//// } +//// String date = String.valueOf(DateUtils.getDate()); +//// String token = Base64.encode(MD5.KL(date)); +//// ActionScopeUtils.setSessionAttribute("token", token, Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME)) / 1000); +//// SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); +//// CacheManager.addloginUserCount(fmt.format(new Date()), userVo.getUserName()); +//// CacheManager.addExcCount("noExc"); +//// List list = null; +//// List menuList = new ArrayList<>(); +//// Set menus = new LinkedHashSet<>(); +//// userVo.setRoleId(0); +//// if (userVo.getRoleId().equals(0) || userVo.getRoleId().equals(-100)) { +//// list = powerMenuService.queryAllPowerMenu(null, userVo.getRoleId()); +//// } else { +//// list = powerMenuService.selectUserAndRoleMenuListPower(userVo.getUserId(), null); +//// } +//// if (null != list && !list.isEmpty()) { +//// for (Power_Menu powerMenu : list) { +//// User_Dept_Menu deptMenu = new User_Dept_Menu(); +//// String menuUrl = powerMenu.getMenuUrl(); +//// if (StringUtils.isNotBlank(menuUrl)) { +//// BeanUtils.copyProperties(powerMenu, deptMenu); +//// deptMenu.setMethodParent(powerMenu.getParentId()); +//// menuList.add(deptMenu); +//// } +//// if (StringUtils.isNotBlank(powerMenu.getMethod())) { +//// menus.add(powerMenu.getMenuUrl()); +//// } +//// } +//// } +//// userVo.setMenuList(menuList); +//// userVo.setMenus(menus); +//// +//// //设置科室 +////// StringBuilder powerDepts = new StringBuilder(); +////// List powerDeptList = power_deptService.selectByPrimaryKeys(user.getDeptId()); +////// for(int j=0;j list = null; +// List menuList = new ArrayList<>(); +// Set menus = new TreeSet<>(); +// userVo.setRoleId(0); +// if (userVo.getRoleId().equals(0) || userVo.getRoleId().equals(-100)) { +// list = powerMenuService.queryAllPowerMenu(null,userVo.getRoleId()); +// } else { +// list = powerMenuService.selectUserAndRoleMenuListPower(userVo.getUserId(),null); +// } +// if(null != list && !list.isEmpty()){ +// for (Power_Menu powerMenu : list) { +// User_Dept_Menu deptMenu = new User_Dept_Menu(); +// String menuUrl = powerMenu.getMenuUrl(); +// if (StringUtils.isNotBlank(menuUrl)) { +// BeanUtils.copyProperties(powerMenu, deptMenu); +// deptMenu.setMethodParent(powerMenu.getParentId()); +// menuList.add(deptMenu); +// } +// if (StringUtils.isNotBlank(powerMenu.getMethod())) { +// menus.add(powerMenu.getMenuUrl()); +// } +// } +// } +// userVo.setMenuList(menuList); +// userVo.setMenus(menus); +// userVo.setRemark("HIS科室"); +// //移除缓存 +// CacheManager.removeCacheByObject(userVo); +// CacheManager.putCache(date,new Cache(date,userVo,TOKEN_EXPIRE_TIME)); +// return token; +// } private String setToken(Power_UserVo userVo){ String date = String.valueOf(DateUtils.getDate()); String token = Base64.encode(MD5.KL(date)); diff --git a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java index ac006ec..be267c7 100644 --- a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java +++ b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java @@ -66,4 +66,14 @@ public interface Power_UserMapper { List selectUserIdsWithApprove(@Param("menuUrl")String menuUrl); List loadPosition(); + + + List getUserInfo(@Param("userName") String userName,@Param("passWord")String passWord); + + List getUserInfoOne(@Param("userName") String userName,@Param("passWord")String passWord); + + int insertUserInfo(Power_UserVo record); + + Integer updateinsertUserInfo(Power_UserVo record); + } \ No newline at end of file diff --git a/power-dao/src/main/java/com/manage/vo/Power_UserVo.java b/power-dao/src/main/java/com/manage/vo/Power_UserVo.java index 8a73667..b404484 100644 --- a/power-dao/src/main/java/com/manage/vo/Power_UserVo.java +++ b/power-dao/src/main/java/com/manage/vo/Power_UserVo.java @@ -26,6 +26,16 @@ public class Power_UserVo extends Power_User { private String sex; + public String getPassWord() { + return passWord; + } + + public void setPassWord(String passWord) { + this.passWord = passWord; + } + + private String passWord; + private Integer isUpdate; private Integer isDelete; diff --git a/power-dao/src/main/resources/mapper/Power_UserMapper.xml b/power-dao/src/main/resources/mapper/Power_UserMapper.xml index 57d49cc..26c7cb3 100644 --- a/power-dao/src/main/resources/mapper/Power_UserMapper.xml +++ b/power-dao/src/main/resources/mapper/Power_UserMapper.xml @@ -643,6 +643,7 @@ ) + select dept_id from power_dept where dept_code = #{deptCode} and effective = 1 + + + + + + update qfUserInfo + + passWord = #{passWord,jdbcType=VARCHAR}, + + where userName = #{userName,jdbcType=VARCHAR} + + + insert into qfUserInfo (userName,passWord) + values (#{userName,jdbcType=VARCHAR},#{passWord,jdbcType=VARCHAR}) + + \ No newline at end of file