From 3d518cfba507e41b6515c405d457349120334f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=AF=E6=B7=BB=E7=91=9E?= <576249985@qq,com> Date: Sun, 23 Apr 2023 12:11:11 +0800 Subject: [PATCH] =?UTF-8?q?his=E5=AF=B9=E6=8E=A5=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/dao/master/MasterUsersMapper.java | 2 + .../com/lyms/platform/permission/model/Users.java | 12 +++ .../platform/permission/service/UsersService.java | 5 ++ .../permission/service/impl/UsersServiceImpl.java | 15 ++-- .../main/resources/mainOrm/master/MasterUsers.xml | 7 ++ .../com/lyms/platform/common/utils/LoginUtil.java | 8 +- .../operate/web/controller/UsersController.java | 89 ++++++++++++++++++++++ 7 files changed, 131 insertions(+), 7 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java index 54e8dbd..5e8d1bb 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java @@ -44,4 +44,6 @@ public interface MasterUsersMapper { Map getSmnSeq(String hospitalId); void insertSmnSeq(Map map); void updateSmnSeq(Map map); + + public Users queryUsers3(String hisId); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Users.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Users.java index ba8be7b..2aea97b 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Users.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Users.java @@ -37,6 +37,18 @@ public class Users { private String teamName; private String orgName; private String deptName; + //his工号 + private String hisId; + + public String getHisId() { + return hisId; + } + + public void setHisId(String hisId) { + this.hisId = hisId; + } + + public String getDeptName() { return deptName; diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java index 0b9c30f..e4dfba5 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java @@ -34,4 +34,9 @@ public interface UsersService { String getUsersByDept(String hospitalId); String getSmnSeq(String hospitalId); + + Users queryUsers3(String query); + + + } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java index e925f58..aa14004 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java @@ -1,11 +1,6 @@ package com.lyms.platform.permission.service.impl; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import com.google.common.util.concurrent.ListenableFuture; import com.lyms.platform.biz.dal.ISyncDataDao; -import com.lyms.platform.common.exception.BusinessException; -import com.lyms.platform.common.utils.CacheHelper; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.permission.DataAccessLayerService; import com.lyms.platform.permission.dao.master.MasterUsersMapper; @@ -14,7 +9,6 @@ import com.lyms.platform.permission.model.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; import com.lyms.platform.permission.service.UsersService; -import com.lyms.platform.pojo.BasicConfig; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -167,4 +161,13 @@ public class UsersServiceImpl extends DataAccessLayerService implements UsersSer } + + @Override + public Users queryUsers3(String query) { + + return usersMapper.queryUsers3(query); + } + + + } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml index 17831eb..fbe6959 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml @@ -26,6 +26,7 @@ + @@ -381,4 +382,10 @@ select id,logincenter_id,type,org_id,dept_id,name,account,pwd,phone,publish_id,p update lyms_smn_seq set seq = #{seq} where hospital_id=#{hospitalId} + + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java index 117469a..5db58d6 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java @@ -55,10 +55,16 @@ public class LoginUtil { stopWatch.start("init http client"); HttpClient client = new HttpClient(); PostMethod post = new MessageUtil.UTF8PostMethod("http://passport.healthbaby.com.cn/v1/userLogin.action"); + //密码超过20位进行md5加密 + String password = pwd; + if (pwd.length()<20){ + password = org.apache.commons.lang.StringUtils.isBlank(pwd) ? "p" : MD5Utils.md5(pwd).toUpperCase(); + } NameValuePair[] data = { new NameValuePair("account", account), new NameValuePair("typeId", typeId), - new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd) ? "p" : MD5Utils.md5(pwd).toUpperCase()) + new NameValuePair("password", password) +// new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd) ? "p" : MD5Utils.md5(pwd).toUpperCase()) }; post.setRequestBody(data); post.setRequestHeader("Authorization", token); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java index bf440a3..901819b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java @@ -93,6 +93,7 @@ public class UsersController extends BaseController { @Autowired private OperateLogFacade operateLogFacade; + private static final String LYMS = "龙源美生"; private static final String ADMIN = "管理员"; @@ -1494,4 +1495,92 @@ public class UsersController extends BaseController { Long seq = usersService.getBabySeq(year); return String.valueOf(seq); } + + //his对接接口登录验证 + + @RequestMapping(value = "/hisAbutting", method = RequestMethod.POST) + public void login(@RequestParam(value = "hisId") String hisId, + @RequestParam(value = "idNumber", required = false)String idNumber, + HttpServletResponse response, + HttpServletRequest request) { + Map resultMsgMap = new HashMap<>(); + + String idNumbers = null; + if (idNumber!=null){ + idNumbers =idNumber; + } + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setYn(YnEnums.YES.getId()); + Users users = usersService.queryUsers3(hisId); + System.out.println(users.toString()); + + if((StringUtils.isEmpty(users.getAccount()) && StringUtils.isEmpty(hisId))){ + resultMsgMap.put(ResultUtils.ERROR_CODE, ConstantInterface.PARAMETER_ERROR);//参数错误 + resultMsgMap.put(ResultUtils.ERROR_MSG, "登录账户或者验证码为空,请输入"); + writeJson(response, JsonUtil.obj2JsonString(resultMsgMap)); + } + + if (users == null) { + ResultUtils.buildParameterErrorResultAndWrite(response, "该账户不存在"); + return; + } + + + if (!users.getEnable().equals(1)) { + ResultUtils.buildParameterErrorResultAndWrite(response, "该账户已被禁用"); + return; + } + + + String ip = IpUtils.getIpAddress(request); + if ("xxx".equals(users.getRemarks())) { + if ("2100001452".equals(users.getOrgId().toString()) && "10.0.61.50".equals(ip)) { + ResultUtils.buildParameterErrorResultAndWrite(response, ""); + return; + } + } + + if (null != users.getOrgId()) { + Organization organization = organizationService.getOrganization(users.getOrgId()); + if (null != organization) { + if (null != organization.getStatus() && HospitalStatusEnums.TZYX.getId() == organization.getStatus()) { + ResultUtils.buildParameterErrorResultAndWrite(response, "该账户已被禁用"); + return; + } + } + } + + String account=users.getAccount(); + String password= users.getPwd(); + String code = null; + LoginContext loginContext = new LoginContext(); + loginContext.setErrormsg("服务器内部错误!"); + loginContext = iSessionProvider.login(account, password, code); + /* if(null != code) { + loginContext =LoginUtil.loginByPhone(account, code, typeId, token); + } + if(null != password) { + loginContext = LoginUtil.loginByAccount(account, password, typeId, token); + }*/ + + if (null != loginContext && loginContext.getErrorcode().equals(0)) { + if (users.getLastLoginTime() != null) { + Users users1 = new Users(); + users1.setId(users.getId()); + users1.setLastLoginTime(new Date()); + usersService.updateUsers(users1); + + operateLogFacade.addAddOptLog(users.getId(), users.getOrgId(), users, OptActionEnums.ADD.getId(), "登陆成功"); + } + + Map result = new HashMap<>(); + result.put("token", loginContext.getToken()); + result.put("IdNumber",idNumbers); + ResultUtils.buildSuccessResultAndWrite(response, result); + } else { + ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.PARAMETER_ERROR, loginContext.getErrormsg()); + } + + } + } -- 1.8.3.1