新增第三方免登陆授权接口

nanfang_branch
kevin 4 years ago
parent 239e02e35c
commit f24f58ba7d

3
.gitignore vendored

@ -1,3 +0,0 @@
/target/
/.idea/
*.iml

8
.idea/.gitignore vendored

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="power-service" />
<module name="power-admin" />
<module name="power-dao" />
<module name="power-foundaton" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="emr_record" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/power-admin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-admin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-admin/src/main/webapp/权限系统版本说明.txt" charset="GBK" />
<file url="file://$PROJECT_DIR$/power-dao/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-dao/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-foundaton/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-service/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$/../../fs_hospital/EMR_Record_gm" />
<file type="web" url="file://$PROJECT_DIR$/power-admin" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../../fs_hospital/EMR_Record_gm" vcs="Git" />
</component>
</project>

@ -13,10 +13,15 @@
Date: 08/07/2020 17:32:07
*/
DROP DATABASE IF EXISTS `Nanfang_hospital`;
CREATE DATABASE `Nanfang_hospital` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
USE `Nanfang_hospital`;
-- ----------------------------
-- Table structure for power_dept
-- ----------------------------

@ -51,6 +51,7 @@
<poi.version>3.9</poi.version>
<sigar.version>1.6.3</sigar.version>
<base64.version>138</base64.version>
<cxf.version>3.1.8</cxf.version>
</properties>
<!-- maven依赖 -->
@ -217,6 +218,60 @@
<version>${base64.version}</version>
<scope>compile</scope>
</dependency>
<!--以下是王和坤添加的jar包--> <!--webService-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.6</version>
</dependency>
<!-- 进行jaxes 服务开发 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 内置jetty web服务器 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.0.1</version>
</dependency>
<!-- xml转换工具 -->
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>

@ -29,6 +29,8 @@ public class WebServiceConfig {
EndpointImpl endpoint = new EndpointImpl(springBus(),powerWebService());
endpoint.publish("PowerWebService");
return endpoint;
}
}

@ -0,0 +1,47 @@
package com.manage.config;
import com.manage.interfaces.webservice.PowerWebService;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* @author by CLP
* @Classname BeanConfig
* @Description
* @Date 2020/9/8 15:28
*/
@Component
public class WebServiceCxf implements InitializingBean, ApplicationContextAware {
private static Map<String, PowerWebService> queryServiceImplMap = new HashMap<>();
private ApplicationContext applicationContext;
public static PowerWebService createQueryService(String type) {
PowerWebService powerWebService = queryServiceImplMap.get(type);
if (powerWebService == null) {
return queryServiceImplMap.get("PowerServiceImpl");
}
return powerWebService;
}
@Override
public void afterPropertiesSet() throws Exception {
Map<String, PowerWebService> beanMap = applicationContext.getBeansOfType(PowerWebService.class);
//遍历该接口的所有实现将其放入map中
for (PowerWebService serviceImpl : beanMap.values()) {
queryServiceImplMap.put(serviceImpl.getClass().getSimpleName(), serviceImpl);
}
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}

@ -1,11 +1,14 @@
package com.manage.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.manage.config.WebServiceCxf;
import com.manage.dao.Power_NoticeMapper;
import com.manage.dao.Power_UserMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
import com.manage.entity.*;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.interfaces.webservice.impl.PowerWebServiceImpl;
import com.manage.service.*;
import com.manage.service.cache.Cache;
import com.manage.service.cache.CacheManager;
@ -16,16 +19,17 @@ 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.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @ProjectName:
@ -63,6 +67,10 @@ public class FontController {
@Autowired
private Power_DeptService power_deptService;
public static Class getUserClass(Object root) {
return null;
}
/**
* 2.1
* @ProjectName: getRolePowerTreeBySysFlag
@ -363,6 +371,172 @@ public class FontController {
return Msg.success().add("list",list);
}
/**
* 2.10
* @ProjectName: getToken
* @Description: token
* @Param
* @Return Msg
* @Author:
* @CreateDate: 2019/11/06 10:00
* @UpdateUser:
* @UpdateDate: 2019/11/06 10:00
* @UpdateRemark:
* @Version: 1.0
*/
@RequestMapping(value = "getTokenForHis",method = RequestMethod.POST)
@ResponseBody
public Msg getTokenForHis(@RequestBody token token1) throws Exception{
if(StringUtils.isBlank(token1.getUsername())){
return Msg.fail("用户名不能为空");
}
if(StringUtils.isBlank(token1.getPassword())){
return Msg.fail("密码不能为空");
}
String username = token1.getUsername();
String password = token1.getPassword();
//1.根据userName,password调用webService,校验第三方系统中是否有此账号
if (!linkHisLogin(username,password)) {
return Msg.fail("校验第三方系统失败");
}
//2.根据userName查询我们的用户表是否存在
Power_UserVo userVo = new Power_UserVo();
// 判断数据库中是否有此用户,如果没有则插入数据库
List<Power_UserVo> user = userMapper.selectList().stream().filter(u -> username.equals(u.getUserName())).limit(1).collect(Collectors.toList());
userVo = user.get(0);
if (user.size() == 0) {
//2.1不存在往用户表新增这条用户
userVo.setUserName(username);
// userVo.setUserPwd(Base64.encode(MD5.KL("1C821B22D0402F317E40D93213C66843")));
userVo.setUserPwd(Base64.encode(MD5.KL(password)));
userVo.setRoleId(1);
userVo.setDeptId("3");
userVo.setEffective(1);
userVo.setCreater("his");
SimpleDateFormat fmt= new SimpleDateFormat();
userVo.setCreateDate(fmt.format(new Date()));
//插入00
userMapper.insert(userVo);
}
String token = setToken(userVo);
return Msg.success().add("token","token");
}
private boolean linkHisLogin(String userName, String password) {
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
Object[] objects = new Object[0];
Client client = null;
try {
//医院给的webservice地址
String url = "http://192.168.128.170/csp/hsb/DHC.Published.PUB0025.BS.PUB0025.CLS?WSDL=1";
client = dcf.createClient(url);
//动态调用getInfosByUserId方法
//获取请求参数xml字符串
String xmlStr = getXml(userName,password);
objects = client.invoke("HIPManagerInfo", "S0110",xmlStr);
//应答信息
String re = objects[0].toString();
System.out.println(re);
//新用户存到数据库
if (re.contains("成功")) {
return true;
}
return false;
} catch (Exception e) {
e.printStackTrace();
} finally {
if(null != client) {
client.destroy();
}
}
return false;
}
private String getXml(String userName, String password) {
String Request="<Request> <SourceSystem>"+"嘉时软件"+"" +
"</SourceSystem> <TargetSystem>医院信息平台</TargetSystem> " +
" <username>"+userName+"</username> <password>"+password+"" +
"</password> </Request> ";
return Request;
}
/**
* getInfosByUserId
* @param
* @return
*/
@RestController
public class TestController{
@Autowired
private PowerWebServiceImpl powerWebService;
@Autowired
private WebServiceCxf webServiceCxf;
@GetMapping("/call")
public String call(String id) {
PowerWebService queryService = WebServiceCxf.createQueryService(id);
System.out.println(queryService.toString());
// return queryService.getInfosByUserId("token","sj");
String token = CacheManager.getCacheByUserId(id);
return queryService.getInfosByUserId(token, id);
}
}
private String setToken(Power_UserVo userVo){
String date = String.valueOf(DateUtils.getDate());
String token = Base64.encode(MD5.KL(date));
List<Power_Menu> list = null;
List<User_Dept_Menu> menuList = new ArrayList<>();
Set<String> menus = new TreeSet<>();
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<Power_Dept> powerDeptList = power_deptService.selectByPrimaryKeys(userVo.getDeptId());
for(int j = 0;j < powerDeptList.size();j++){
if(j<powerDeptList.size()-1){
powerDepts.append(powerDeptList.get(j).getDeptName()).append(",");
}else{
powerDepts.append(powerDeptList.get(j).getDeptName());
}
}
userVo.setRemark(powerDepts.toString());
//移除缓存
CacheManager.removeCacheByObject(userVo);
CacheManager.putCache(date,new Cache(date,userVo,TOKEN_EXPIRE_TIME));
return token;
}
/**
* 2.10
* @ProjectName: getToken

@ -3,6 +3,7 @@ package com.manage.interfaces.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
@ -11,6 +12,9 @@ public interface PowerWebService {
@WebMethod()
String getInfosByUserId(@WebParam(name = "token") String token,String sysId);
@WebMethod
String tempTest();
}

@ -1,6 +1,7 @@
package com.manage.interfaces.webservice.impl;
import com.alibaba.fastjson.JSON;
import com.manage.controller.JAXDynamicClientFactory;
import com.manage.dao.Power_MenuMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
@ -11,10 +12,13 @@ import com.manage.service.cache.CacheManager;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.service.User_Dept_MenuService;
import com.manage.util.Constant;
import com.manage.util.XmlUtil;
import com.manage.vo.AuthUserVO;
import com.manage.vo.Power_UserVo;
import com.manage.vo.Power_UserWebServiceVo;
import com.manage.vo.User_Dept_Menu;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.endpoint.Client;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -67,11 +71,19 @@ public class PowerWebServiceImpl implements PowerWebService {
return JSON.toJSONString(userWebServiceVo);
}
@Override
public String tempTest() {
return "aaaa~~~~~~~~~~~~~~~~~~~~~~~";
}
// @Override
// public String helloWebService(String name) {
// return "<Response> <ResultCode>0</ResultCode> <ResultCount>成功</ResultCount> <Id>270</Id> <Name>苏*瑾</Name> <Code>SJ</Code> <Sex></Sex> < Age ></Age> <CareType>副主任医师</CareType> <Group>住院医生</Group> <Loc>HXYWZZYXKBF-呼吸与危重症医学科病房</Loc> <Tel></Tel> </Response> ";
// }
private List<Power_Menu> getPowerMenuMethods(Power_User powerUser, String sysId){
// 根据用户ID以及系统Id查出所有的用户菜单
List<Power_Menu> powerUserMenus = powerMenuMapper.selectUserMenuByUserIdAndDictId(powerUser.getUserId(), Integer.parseInt(sysId));

@ -19,6 +19,12 @@
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<!-- xml转换工具 -->
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
</dependencies>
<build>

@ -0,0 +1,58 @@
package com.manage.vo;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root(name = "Request")
public class AuthUserVO {
private String SourceSystem;
@Element(required = false)
private String TargetSystem;
private String username;
private String password;
public String getSourceSystem() {
return SourceSystem;
}
public void setSourceSystem(String sourceSystem) {
SourceSystem = sourceSystem;
}
public String getTargetSystem() {
return TargetSystem;
}
public void setTargetSystem(String targetSystem) {
TargetSystem = targetSystem;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "AuthUserVO{" +
"SourceSystem='" + SourceSystem + '\'' +
", TargetSystem='" + TargetSystem + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

@ -2,7 +2,7 @@ jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc\:mysql\://localhost\:3306/power?useUnicode\=true&characterEncoding\=utf-8
jdbc.url=jdbc\:mysql\://120.27.212.36\:3306/power?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=docus702
jdbc.password=mamba1998
#执行:右键 Run As ---->Maven build ---->Goals:mybatis-generator:generate
#输出目录

@ -51,6 +51,12 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<!-- xml转换工具 -->
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
<!--系统使用率导包开始-->
<!--<dependency> &lt;!&ndash;工具类 小数格式化 可以改为其他&ndash;&gt;
<groupId>cn.hutool</groupId>

@ -0,0 +1,27 @@
package com.manage.util;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import javax.xml.bind.JAXBException;
public class XmlUtil {
/**
* xml
*/
public static <T> T xmlToEntity(Class<T> clazz, String str) {
try {
Serializer serializer = new Persister();
T entity = serializer.read(clazz, str);
return entity;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

@ -1,6 +1,7 @@
package com.manage.service.cache;
import com.manage.vo.Power_UserVo;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
@ -154,4 +155,29 @@ public class CacheManager {
}
} catch (Exception ex) {}
}
/**
* idtoken
* @param userId
* @return
*/
public static String getCacheByUserId(Object userId) {
if (StringUtils.isBlank(String.valueOf(userId)))
return "";
String token = "";
try {
Iterator i = cacheMap.entrySet().iterator();
while (i.hasNext()) {
Map.Entry entry = (Map.Entry) i.next();
Cache cache = CacheManager.getCacheInfo((String)entry.getKey());
Power_UserVo o = (Power_UserVo)cache.getValue();
// 通过用户id获取缓存
if (userId.equals(o.getUserId())) {
token = (String) entry.getKey();
break;
}
}
} catch (Exception ex) {}
return token;
}
}
Loading…
Cancel
Save