From 728c9efab5b2f64091f8ebae2efec040b3560a6e Mon Sep 17 00:00:00 2001 From: "rui.zhang" Date: Thu, 5 May 2016 16:34:53 +0800 Subject: [PATCH] =?UTF-8?q?platform=20permission=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=E5=8F=82=E8=80=83=E5=80=BC=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/param/ReferConfigQuery.java | 40 +++---- .../platform/biz/service/ReferConfigService.java | 13 +++ .../platform/permission/model/Organization.java | 9 ++ .../web/controller/OrganizationController.java | 37 ++----- .../operate/web/controller/RegionController.java | 42 +++++++- .../operate/web/controller/UsersController.java | 119 ++++++++++++--------- 6 files changed, 159 insertions(+), 101 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/ReferConfigQuery.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/ReferConfigQuery.java index fe22212..229e755 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/ReferConfigQuery.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/param/ReferConfigQuery.java @@ -38,37 +38,37 @@ public class ReferConfigQuery extends BaseQuery { condition.and("name", keyword, MongoOper.LIKE); } } - if (null != referVal) { - if(1 == referVal) { - condition.andCondition(new MongoCondition("charRefer", null, MongoOper.NE).orCondition(new MongoCondition("charRefer", "", MongoOper.NE))); - } else if(2 == referVal) { - condition.orCondition(new MongoCondition[] {new MongoCondition("charRefer", null, MongoOper.IS), new MongoCondition("charRefer", "", MongoOper.IS)}); - } - } - if (null != emergencyVal) { - if(1 == emergencyVal) { - condition.andCondition(new MongoCondition("emergencyChar", null, MongoOper.NE).orCondition(new MongoCondition("emergencyChar", "", MongoOper.NE))); - - } else if(2 == emergencyVal) { - condition.orCondition(new MongoCondition[]{new MongoCondition("emergencyChar", null, MongoOper.IS), new MongoCondition("emergencyChar", "", MongoOper.IS)}); - } - } - // if (null != referVal) { // if(1 == referVal) { -// condition.and("charRefer", null, MongoOper.NE); +// condition.andCondition(new MongoCondition("charRefer", null, MongoOper.NE).orCondition(new MongoCondition("charRefer", "", MongoOper.NE))); // } else if(2 == referVal) { -// condition.and("charRefer", null, MongoOper.IS); +// condition.orCondition(new MongoCondition[] {new MongoCondition("charRefer", null, MongoOper.IS), new MongoCondition("charRefer", "", MongoOper.IS)}); // } // } // if (null != emergencyVal) { // if(1 == emergencyVal) { -// condition.and("emergencyChar", null, MongoOper.NE); +// condition.andCondition(new MongoCondition("emergencyChar", null, MongoOper.NE).orCondition(new MongoCondition("emergencyChar", "", MongoOper.NE))); +// // } else if(2 == emergencyVal) { -// condition.and("emergencyChar", null, MongoOper.IS); +// condition.orCondition(new MongoCondition[]{new MongoCondition("emergencyChar", null, MongoOper.IS), new MongoCondition("emergencyChar", "", MongoOper.IS)}); // } // } + if (null != referVal) { + if(1 == referVal) { + condition.and("charRefer", null, MongoOper.NE); + } else if(2 == referVal) { + condition.and("charRefer", null, MongoOper.IS); + } + } + if (null != emergencyVal) { + if(1 == emergencyVal) { + condition.and("emergencyChar", null, MongoOper.NE); + } else if(2 == emergencyVal) { + condition.and("emergencyChar", null, MongoOper.IS); + } + } + if(null != yn) { condition.and("yn", yn, MongoOper.IS); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ReferConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ReferConfigService.java index 4b26c94..455bd94 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ReferConfigService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ReferConfigService.java @@ -38,10 +38,23 @@ public class ReferConfigService { public void addRefer(ReferValue referValue) { referValue.setYn(YnEnums.YES.getId()); referValue.setCreateDate(System.currentTimeMillis()); + + if(null == referValue.getCharRefer() || 0 == referValue.getCharRefer().length()) { + referValue.setCharRefer(null); + } + if(null == referValue.getEmergencyChar() || 0 == referValue.getEmergencyChar().length()) { + referValue.setEmergencyChar(null); + } referConfigDao.addRefer(referValue); } public void updateRefer(ReferValue referValue) { + if(null == referValue.getCharRefer() || 0 == referValue.getCharRefer().length()) { + referValue.setCharRefer(null); + } + if(null == referValue.getEmergencyChar() || 0 == referValue.getEmergencyChar().length()) { + referValue.setEmergencyChar(null); + } MongoCondition mongoCondition = MongoCondition.newInstance("id",referValue.getId(), MongoOper.IS); referValue.setModifiedDate(System.currentTimeMillis()); referConfigDao.updateRefer(mongoCondition.toMongoQuery(), referValue); diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Organization.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Organization.java index 5eb75c9..2d157e8 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Organization.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/Organization.java @@ -32,10 +32,19 @@ public class Organization { private Object province; private Object city; private Object area; + private Object street; private String foreignId; Map departmentsMap = new HashMap<>(); + public Object getStreet() { + return street; + } + + public void setStreet(Object street) { + this.street = street; + } + public String getStreetId() { return streetId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java index 069cdd1..afc6535 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java @@ -256,45 +256,20 @@ public class OrganizationController extends BaseController { List data = new ArrayList<>(); boolean falg =StringUtils.isNotEmpty(f); for(Organization organization : organizations) { - if(null == organization.getAddress()) { - organization.setAddress(""); - } else { - organization.setAddress(", " + organization.getAddress()); - } - if(null != organization.getStreetId()) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(organization.getStreetId()); - if(null != basicConfig) { - organization.setAddress(basicConfig.getName() + organization.getAddress()); - } - } - if(null != organization.getAreaId()) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(organization.getAreaId()); - if(null != basicConfig) { - organization.setAddress(basicConfig.getName() + organization.getAddress()); - } - } - if(null != organization.getCityId()) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(organization.getCityId()); - if(null != basicConfig) { - organization.setAddress(basicConfig.getName() + organization.getAddress()); - } - } - if(null != organization.getProvinceId()) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(organization.getProvinceId()); - if(null != basicConfig) { - organization.setAddress(basicConfig.getName() + organization.getAddress()); - } - } + organization.setTypeObj(OrganizationLevelEnum.getById(organization.getLevel())); organization.setLevelObj(OrganizationTypeEnum.getById(organization.getType())); if(null != organization.getProvinceId()) { organization.setProvince(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getProvinceId()),falg)); } if(null != organization.getCityId()) { - organization.setCity(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getCityId()),falg)); + organization.setCity(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getCityId()), falg)); } if(null != organization.getAreaId()) { - organization.setArea(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getAreaId()),falg)); + organization.setArea(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getAreaId()), falg)); + } + if(null != organization.getStreetId()) { + organization.setStreet(CommonsHelper.convterToMap(basicConfigService.getOneBasicConfigById(organization.getStreetId()),falg)); } Object obj = organization; if(falg){ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RegionController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RegionController.java index 07452b9..d4fd6f1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RegionController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RegionController.java @@ -4,9 +4,15 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.ResultUtils; import com.lyms.platform.common.utils.SystemConfig; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.query.BasicConfigQuery; import org.apache.commons.collections.CollectionUtils; @@ -17,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; @@ -31,14 +38,45 @@ public class RegionController extends BaseController{ @Autowired private BasicConfigService basicConfigService; + @Autowired + private UsersService usersService; + @Autowired + private OrganizationService organizationService; @TokenRequired @RequestMapping(value = "/regions",method = RequestMethod.GET) public void getRegions(@RequestParam(value = "parentId", required = false) String parentId, - HttpServletResponse httpServletResponse){ - if ("0".equals(parentId) || StringUtils.isBlank(parentId)) { + HttpServletResponse httpServletResponse, HttpServletRequest request ){ + //获取登录用户 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + Users user = usersService.getUsers(loginState.getId()); + if(null == user) { + ResultUtils.buildResultAndWrite(httpServletResponse, ErrorCodeConstants.SYSTEM_ERROR, "not find login user!"); + return; + } + + if(user.getType().equals(1)) { + if(null != user.getOrgId()) { + ResultUtils.buildResultAndWrite(httpServletResponse, ErrorCodeConstants.SYSTEM_ERROR, "user data error!"); + return; + } + Organization organization = organizationService.getOrganization(user.getOrgId()); + if(null != organization.getStreetId()) { + parentId = organization.getStreetId(); + } else if(null != organization.getAreaId()) { + parentId = organization.getAreaId(); + } else if(null != organization.getCityId()) { + parentId = organization.getCityId(); + } else if (null != organization.getProvinceId()) { + parentId = organization.getProvinceId(); + } + } + + + if (user.getType().equals(0) && ("0".equals(parentId) || StringUtils.isBlank(parentId))) { parentId = SystemConfig.CHINA_BASIC_ID; } + BasicConfigQuery query = new BasicConfigQuery(); query.setYn(YnEnums.YES.getId()); query.setParentId(parentId); 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 ae5964e..a2d6db5 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 @@ -402,6 +402,10 @@ public class UsersController extends BaseController { } + private Boolean isPhone(String phone) { + return phone.matches("^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\\d{8})$"); + } + /** * 添加管理员信息 */ @@ -428,11 +432,19 @@ public class UsersController extends BaseController { return; } + if (!isPhone(phone)) { + ResultUtils.buildParameterErrorResultAndWrite(response, "手机号格式不正确"); + return; + } + + if (user != null) { //检查注册账户是否存在 UsersQuery usersQuery = new UsersQuery(); usersQuery.setPhone(phone); + usersQuery.setType(0); + usersQuery.setYn(YnEnums.YES.getId()); List usersList = usersService.queryUsers(usersQuery); if (usersList.size() != 0) { Map map = new HashMap<>(); @@ -460,35 +472,36 @@ public class UsersController extends BaseController { //关联登录中心ID LoginContext loginContext = LoginUtil.register(phone, token, typeId); - if(!loginContext.getErrorcode().equals(0)) { - ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); - return; - } - users.setLogincenterId(loginContext.getId()); - + //0 成功 4009 已注册 + if(loginContext.getErrorcode().equals(0) || loginContext.getErrorcode().equals(4009)) { + users.setLogincenterId(loginContext.getId()); + usersService.addUsers(users); - usersService.addUsers(users); + //如有角色,则对用户角色中间表新增 + UserRoleMaps userRoleMaps = new UserRoleMaps(); - //如有角色,则对用户角色中间表新增 - UserRoleMaps userRoleMaps = new UserRoleMaps(); + String[] roleArrayIds = roleIds.split(","); + List user1 = usersService.queryUsers(usersQuery); + for (String id : roleArrayIds) { + Roles roles = rolesService.getRoles(Integer.valueOf(id)); + if (roles == null || roles.getYn() == YnEnums.NO.getId()) { + continue; + } - String[] roleArrayIds = roleIds.split(","); - List user1 = usersService.queryUsers(usersQuery); - for (String id : roleArrayIds) { - Roles roles = rolesService.getRoles(Integer.valueOf(id)); - if (roles == null || roles.getYn() == YnEnums.NO.getId()) { - continue; + if (user1.get(0).getId() != null) { + userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(id))); + userRoleMaps.setUserId(user1.get(0).getId()); + userRoleMaps.setYn(YnEnums.YES.getId()); + userRoleMapsService.addUserRoleMaps(userRoleMaps); + } } + ResultUtils.buildSuccessResultAndWrite(response); - if (user1.get(0).getId() != null) { - userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(id))); - userRoleMaps.setUserId(user1.get(0).getId()); - userRoleMaps.setYn(YnEnums.YES.getId()); - userRoleMapsService.addUserRoleMaps(userRoleMaps); - } + } else { + ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); + return; } - ResultUtils.buildSuccessResultAndWrite(response); } } @@ -520,6 +533,12 @@ public class UsersController extends BaseController { ResultUtils.buildParameterErrorResultAndWrite(response); return; } + + if (!isPhone(phone)) { + ResultUtils.buildParameterErrorResultAndWrite(response, "手机号格式不正确"); + return; + } + if(deptId == null && ksId == null) { ResultUtils.buildParameterErrorResultAndWrite(response, "deptId or ksId required"); return; @@ -529,7 +548,9 @@ public class UsersController extends BaseController { //检查注册账户是否存在 UsersQuery usersQuery = new UsersQuery(); + usersQuery.setType(1); usersQuery.setPhone(phone); + usersQuery.setYn(YnEnums.YES.getId()); List usersList = usersService.queryUsers(usersQuery); if (usersList.size() != 0) { Map map = new HashMap<>(); @@ -560,34 +581,34 @@ public class UsersController extends BaseController { //关联登录中心ID LoginContext loginContext = LoginUtil.register(phone, token, typeId); - if(!loginContext.getErrorcode().equals(0)) { - ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); - return; - } - users.setLogincenterId(loginContext.getId()); - - usersService.addUsers(users); - + //0 成功 4009 已注册 + if(loginContext.getErrorcode().equals(0) || loginContext.getErrorcode().equals(4009)) { + users.setLogincenterId(loginContext.getId()); + usersService.addUsers(users); - //如有角色,则对用户角色中间表新增 - UserRoleMaps userRoleMaps = new UserRoleMaps(); + //如有角色,则对用户角色中间表新增 + UserRoleMaps userRoleMaps = new UserRoleMaps(); - String[] roleArrayIds = roleIds.split(","); - List user1 = usersService.queryUsers(usersQuery); - for (String id : roleArrayIds) { - Roles roles = rolesService.getRoles(Integer.valueOf(id)); - if (roles == null || roles.getYn() == YnEnums.NO.getId()) { - continue; - } + String[] roleArrayIds = roleIds.split(","); + List user1 = usersService.queryUsers(usersQuery); + for (String id : roleArrayIds) { + Roles roles = rolesService.getRoles(Integer.valueOf(id)); + if (roles == null || roles.getYn() == YnEnums.NO.getId()) { + continue; + } - if (user1.get(0).getId() != null) { - userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(id))); - userRoleMaps.setUserId(user1.get(0).getId()); - userRoleMaps.setYn(YnEnums.YES.getId()); - userRoleMapsService.addUserRoleMaps(userRoleMaps); + if (user1.get(0).getId() != null) { + userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(id))); + userRoleMaps.setUserId(user1.get(0).getId()); + userRoleMaps.setYn(YnEnums.YES.getId()); + userRoleMapsService.addUserRoleMaps(userRoleMaps); + } } + ResultUtils.buildSuccessResultAndWrite(response); + } else { + ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); + return; } - ResultUtils.buildSuccessResultAndWrite(response); } } @@ -737,12 +758,14 @@ public class UsersController extends BaseController { LoginContext loginContext = LoginUtil.register(phone, token, typeId); - if(!loginContext.getErrorcode().equals(0)) { + //0 成功 4009 已注册 + if(loginContext.getErrorcode().equals(0) || loginContext.getErrorcode().equals(4009)) { + users.setPhone(phone); + users.setLogincenterId(loginContext.getId()); + } else { ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); return; } - users.setPhone(phone); - users.setLogincenterId(loginContext.getId()); } users.setName(name); -- 1.8.3.1