Commit d260b19ba066676cfe4caa54a99b29b43cc0f8af
1 parent
de072cf25f
Exists in
master
and in
1 other branch
permission2
Showing 9 changed files with 154 additions and 28 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java
- platform-dal/src/main/java/com/lyms/platform/pojo/DataPermissionsModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AccessPermissionAddRequest.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
View file @
d260b19
| ... | ... | @@ -12,14 +12,11 @@ |
| 12 | 12 | import com.lyms.platform.common.dao.operator.MongoOper; |
| 13 | 13 | import com.lyms.platform.common.enums.YnEnums; |
| 14 | 14 | import com.lyms.platform.common.pojo.SyncDataModel; |
| 15 | -import com.lyms.platform.common.utils.JsonUtil; | |
| 16 | -import com.lyms.platform.common.utils.MessageUtil; | |
| 17 | -import com.lyms.platform.common.utils.PingYinUtil; | |
| 18 | -import com.lyms.platform.common.utils.SystemConfig; | |
| 15 | +import com.lyms.platform.common.utils.*; | |
| 19 | 16 | import com.lyms.platform.pojo.*; |
| 20 | -import com.lyms.platform.query.BasicConfigQuery; | |
| 21 | -import com.lyms.platform.query.SmsConfigQuery; | |
| 22 | -import com.lyms.platform.query.SmsTemplateQuery; | |
| 17 | +import com.lyms.platform.query.*; | |
| 18 | +import com.qiniu.util.Json; | |
| 19 | +import org.apache.commons.codec.binary.Base64; | |
| 23 | 20 | import org.apache.commons.httpclient.HttpClient; |
| 24 | 21 | import org.apache.commons.httpclient.NameValuePair; |
| 25 | 22 | import org.apache.commons.httpclient.methods.PostMethod; |
| ... | ... | @@ -29,7 +26,6 @@ |
| 29 | 26 | import org.springframework.context.ApplicationContext; |
| 30 | 27 | import org.springframework.context.support.ClassPathXmlApplicationContext; |
| 31 | 28 | |
| 32 | -import com.lyms.platform.query.PuerperaModelQuery; | |
| 33 | 29 | import org.springframework.data.mongodb.core.MongoTemplate; |
| 34 | 30 | |
| 35 | 31 | public class BasicConfigServiceTest { |
| ... | ... | @@ -98,7 +94,51 @@ |
| 98 | 94 | // saveHospitalMsgConfig(applicationContext); |
| 99 | 95 | // saveHospitalMsgTemplate(applicationContext); |
| 100 | 96 | // queryRisk(applicationContext); |
| 101 | - testtt(applicationContext); | |
| 97 | + saveQhdBabyCheckModel(applicationContext); | |
| 98 | + } | |
| 99 | + | |
| 100 | + | |
| 101 | + public static void saveQhdBabyCheckModel(ApplicationContext applicationContext) { | |
| 102 | + MongoTemplate mongoTemplate | |
| 103 | + =(MongoTemplate)applicationContext.getBean("mongoTemplate"); | |
| 104 | + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); | |
| 105 | + try { | |
| 106 | + BabyCheckModelQuery query = new BabyCheckModelQuery(); | |
| 107 | + query.setHospitalId("216"); | |
| 108 | + query.setYn(1); | |
| 109 | + for (int i=1;i<1000;i++) { | |
| 110 | + List<BabyCheckModel> list = mongoTemplate.find(query.convertToQuery().convertToMongoQuery().skip(i*100-100).limit(100), BabyCheckModel.class); | |
| 111 | + if (list == null || list.size() == 0) { | |
| 112 | + break; | |
| 113 | + } | |
| 114 | + List<String> strs = new ArrayList<>(); | |
| 115 | + for (BabyCheckModel model:list) { | |
| 116 | + strs.add(Base64.encodeBase64String(SerializUtils.objToByte(model))); | |
| 117 | + } | |
| 118 | + System.out.println(JsonUtil.array2JsonString(list)); | |
| 119 | + HttpClient client = new HttpClient(); | |
| 120 | + client.getHttpConnectionManager().getParams().setConnectionTimeout(30000); | |
| 121 | + client.getHttpConnectionManager().getParams().setSoTimeout(30000); | |
| 122 | + PostMethod post = new MessageUtil.UTF8PostMethod("http://121.22.16.246:18018/saveSerializMongoModel"); | |
| 123 | + NameValuePair[] pairs = { | |
| 124 | + new NameValuePair("className", BabyCheckModel.class.getName()), | |
| 125 | + new NameValuePair("json", JsonUtil.array2JsonString(strs)), | |
| 126 | + }; | |
| 127 | + post.setRequestBody(pairs); | |
| 128 | + client.executeMethod(post); | |
| 129 | + int statusCode = post.getStatusCode(); | |
| 130 | + String json = post.getResponseBodyAsString(); | |
| 131 | + System.out.println(i); | |
| 132 | + System.out.println(json); | |
| 133 | + post.releaseConnection(); | |
| 134 | + if (200 == statusCode) { | |
| 135 | + | |
| 136 | + } | |
| 137 | + } | |
| 138 | + | |
| 139 | + } catch (Exception e) { | |
| 140 | + e.printStackTrace(); | |
| 141 | + } | |
| 102 | 142 | } |
| 103 | 143 | |
| 104 | 144 | public static void testtt(ApplicationContext applicationContext) { |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java
View file @
d260b19
| ... | ... | @@ -8,6 +8,7 @@ |
| 8 | 8 | import com.lyms.platform.pojo.*; |
| 9 | 9 | import com.mongodb.DBObject; |
| 10 | 10 | import com.mongodb.Mongo; |
| 11 | +import org.apache.commons.codec.binary.Base64; | |
| 11 | 12 | import org.apache.commons.lang.*; |
| 12 | 13 | import org.apache.commons.lang.StringUtils; |
| 13 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -332,6 +333,43 @@ |
| 332 | 333 | int insert = 0; |
| 333 | 334 | int modified = 0; |
| 334 | 335 | for (Object obj:list) { |
| 336 | + String id = cls.getMethod("getId").invoke(obj).toString(); | |
| 337 | + if (StringUtils.isNotBlank(id)) { | |
| 338 | + Object temp = mongoTemplate.findById(id, cls); | |
| 339 | + if (temp == null) { | |
| 340 | + mongoTemplate.insert(obj); | |
| 341 | + insert++; | |
| 342 | + } else { | |
| 343 | + Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(obj)); | |
| 344 | + mongoTemplate.updateMulti(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), update, cls); | |
| 345 | + modified++; | |
| 346 | + } | |
| 347 | + } | |
| 348 | + } | |
| 349 | + sb.append(" insert:"); | |
| 350 | + sb.append(insert); | |
| 351 | + sb.append(" modified:"); | |
| 352 | + sb.append(modified); | |
| 353 | + sb.append("\r\n<br>"); | |
| 354 | + return sb.toString(); | |
| 355 | + } catch (Exception e) { | |
| 356 | + e.printStackTrace(); | |
| 357 | + return e.toString(); | |
| 358 | + } | |
| 359 | + } | |
| 360 | + | |
| 361 | + public String saveSerializMongoModel(String json, String className){ | |
| 362 | + if (StringUtils.isBlank(json) || StringUtils.isBlank(className)) { | |
| 363 | + return "param is null"; | |
| 364 | + } | |
| 365 | + StringBuffer sb = new StringBuffer(); | |
| 366 | + try { | |
| 367 | + Class cls = Class.forName(className); | |
| 368 | + List<String> list = JsonUtil.toList(json, String.class); | |
| 369 | + int insert = 0; | |
| 370 | + int modified = 0; | |
| 371 | + for (String s:list) { | |
| 372 | + Object obj = SerializUtils.byteToObj(Base64.decodeBase64(s)); | |
| 335 | 373 | String id = cls.getMethod("getId").invoke(obj).toString(); |
| 336 | 374 | if (StringUtils.isNotBlank(id)) { |
| 337 | 375 | Object temp = mongoTemplate.findById(id, cls); |
platform-dal/src/main/java/com/lyms/platform/pojo/DataPermissionsModel.java
View file @
d260b19
| ... | ... | @@ -26,6 +26,20 @@ |
| 26 | 26 | |
| 27 | 27 | private Map<String,SimplePermission> data=new HashMap<String,SimplePermission>(); |
| 28 | 28 | |
| 29 | + /* | |
| 30 | + 多个区域,省市区乡 如果为0代表全部,省不可为0 | |
| 31 | + [{"p":"1","c":"2","a":"3","s":"4"},{"p":"2","c":"0","a":"0","s":"0"}] | |
| 32 | + */ | |
| 33 | + private String areaPermission; | |
| 34 | + | |
| 35 | + public String getAreaPermission() { | |
| 36 | + return areaPermission; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public void setAreaPermission(String areaPermission) { | |
| 40 | + this.areaPermission = areaPermission; | |
| 41 | + } | |
| 42 | + | |
| 29 | 43 | public Integer getUserId() { |
| 30 | 44 | return userId; |
| 31 | 45 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java
View file @
d260b19
| ... | ... | @@ -58,6 +58,12 @@ |
| 58 | 58 | return mongoSyncService.saveMongoModel(json,className); |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | + @ResponseBody | |
| 62 | + @RequestMapping(method = RequestMethod.POST,value = "/saveSerializMongoModel") | |
| 63 | + public String saveSerializMongoModel(String json, String className){ | |
| 64 | + return mongoSyncService.saveSerializMongoModel(json, className); | |
| 65 | + } | |
| 66 | + | |
| 61 | 67 | |
| 62 | 68 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java
View file @
d260b19
| ... | ... | @@ -18,6 +18,7 @@ |
| 18 | 18 | import com.lyms.platform.permission.model.*; |
| 19 | 19 | import com.lyms.platform.permission.service.*; |
| 20 | 20 | import com.lyms.platform.pojo.BasicConfig; |
| 21 | +import com.lyms.platform.pojo.DataPermissionsModel; | |
| 21 | 22 | import org.apache.commons.collections.CollectionUtils; |
| 22 | 23 | import org.apache.commons.lang.StringUtils; |
| 23 | 24 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -225,7 +226,7 @@ |
| 225 | 226 | @RequestMapping(value = "/organization1", method = RequestMethod.GET) |
| 226 | 227 | @ResponseBody |
| 227 | 228 | @TokenRequired |
| 228 | - public FrontEndResult getOrganization(HttpServletRequest request, @RequestParam(value = "page", required = false) Integer page, | |
| 229 | + public Map getOrganization(HttpServletRequest request, @RequestParam(value = "page", required = false) Integer page, | |
| 229 | 230 | @RequestParam(value = "limit", required = false) Integer limit, |
| 230 | 231 | @RequestParam(value = "keyword", required = false) String keyword, |
| 231 | 232 | @RequestParam(value = "areaId", required = false) String aId) { |
| ... | ... | @@ -351,7 +352,16 @@ |
| 351 | 352 | data.add(organization); |
| 352 | 353 | } |
| 353 | 354 | } |
| 354 | - return new FrontEndResult().setData(data).setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setPageInfo(pageInfo); | |
| 355 | + Map<String,Object> map = new HashMap<>(); | |
| 356 | + map.put("data",data); | |
| 357 | + map.put("errormsg","成功"); | |
| 358 | + map.put("errorcode",ErrorCodeConstants.SUCCESS); | |
| 359 | + map.put("pageInfo",pageInfo); | |
| 360 | + List<DataPermissionsModel> dataPermissionsModelList = accessPermissionFacade.findAccessPerminssionByUserId(loginState.getId()); | |
| 361 | + if (dataPermissionsModelList != null && dataPermissionsModelList.size() > 0) { | |
| 362 | + map.put("areaPermission",dataPermissionsModelList.get(0).getAreaPermission()); | |
| 363 | + } | |
| 364 | + return map; | |
| 355 | 365 | } |
| 356 | 366 | |
| 357 | 367 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java
View file @
d260b19
| ... | ... | @@ -18,6 +18,7 @@ |
| 18 | 18 | import com.lyms.platform.operate.web.session.strategy.ISessionProvider; |
| 19 | 19 | import com.lyms.platform.permission.model.*; |
| 20 | 20 | import com.lyms.platform.permission.service.*; |
| 21 | +import com.lyms.platform.pojo.DataPermissionsModel; | |
| 21 | 22 | import org.apache.commons.collections.CollectionUtils; |
| 22 | 23 | import org.apache.commons.lang.StringUtils; |
| 23 | 24 | import org.springframework.beans.factory.annotation.Autowired; |
| 24 | 25 | |
| ... | ... | @@ -104,10 +105,9 @@ |
| 104 | 105 | //设置用户角色信息 |
| 105 | 106 | for(Users user : users) { |
| 106 | 107 | user.setRoles(this.getUserRoles(user.getId())); |
| 107 | - | |
| 108 | 108 | user.setDepartmentses(departmentsService.getDepartments(user.getDeptId())); |
| 109 | - | |
| 110 | - user.setOrganizations(accessPermissionFacade.findAccessPerminssionByUserId(user.getId())); | |
| 109 | + List<DataPermissionsModel> permissionsModelList = accessPermissionFacade.findAccessPerminssionByUserId(user.getId()); | |
| 110 | + user.setOrganizations(accessPermissionFacade.getOrganization(permissionsModelList)); | |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | FrontEndResult frontEndResult = new FrontEndResult(); |
| ... | ... | @@ -156,7 +156,7 @@ |
| 156 | 156 | return frontEndResult; |
| 157 | 157 | } |
| 158 | 158 | }else if(u.getType().equals(UserTypeEnum.PLATFORM_ADMIN.getId())) { |
| 159 | - List<Organization> organizations = accessPermissionFacade.findAccessPerminssionByUserId(u.getId()); | |
| 159 | + List<Organization> organizations = accessPermissionFacade.getOrganization(accessPermissionFacade.findAccessPerminssionByUserId(u.getId())); | |
| 160 | 160 | ids = new ArrayList<>(); |
| 161 | 161 | if(CollectionUtils.isNotEmpty(organizations)) { |
| 162 | 162 | for(Organization organization : organizations) { |
| ... | ... | @@ -425,7 +425,7 @@ |
| 425 | 425 | organizations.add(organization); |
| 426 | 426 | users.setOrganization(organization); |
| 427 | 427 | } else if (UserTypeEnum.PLATFORM_ADMIN.getId().equals(users.getType())) { //管理员 |
| 428 | - List<Organization> list2 =accessPermissionFacade.findAccessPerminssionByUserId(users.getId()); | |
| 428 | + List<Organization> list2 = accessPermissionFacade.getOrganization(accessPermissionFacade.findAccessPerminssionByUserId(users.getId())); | |
| 429 | 429 | if(CollectionUtils.isNotEmpty(list2)){ |
| 430 | 430 | for(Organization organization:list2){ |
| 431 | 431 | organizations.add(organization); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java
View file @
d260b19
| ... | ... | @@ -95,19 +95,13 @@ |
| 95 | 95 | } |
| 96 | 96 | } |
| 97 | 97 | } |
| 98 | - | |
| 98 | + dataPermissionsModel.setAreaPermission(accessPermissionAddRequest.getAreaPermission()); | |
| 99 | 99 | dataPermissionsModel.setUserId(Integer.valueOf(accessPermissionAddRequest.getUserId())); |
| 100 | 100 | dataPermissionService.addOrUpdatePermission(dataPermissionsModel); |
| 101 | 101 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功."); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | - public List findAccessPerminssionByUserId(Integer userId){ | |
| 105 | - Users users =usersService.getUsers(userId); | |
| 106 | - | |
| 107 | - Assert.notNull(users, "用户信息不存在."); | |
| 108 | - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 109 | - dataPermissionsModelQuery.setUserId(userId); | |
| 110 | - List<DataPermissionsModel> data =dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 104 | + public List<Organization> getOrganization(List<DataPermissionsModel> data) { | |
| 111 | 105 | List<Organization> dataList =new ArrayList<>(); |
| 112 | 106 | if(CollectionUtils.isNotEmpty(data)){ |
| 113 | 107 | Set<String > set = data.get(0).getData().keySet(); |
| ... | ... | @@ -124,6 +118,14 @@ |
| 124 | 118 | } |
| 125 | 119 | } |
| 126 | 120 | return dataList; |
| 121 | + } | |
| 122 | + | |
| 123 | + public List<DataPermissionsModel> findAccessPerminssionByUserId(Integer userId){ | |
| 124 | + Users users =usersService.getUsers(userId); | |
| 125 | + Assert.notNull(users, "用户信息不存在."); | |
| 126 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 127 | + dataPermissionsModelQuery.setUserId(userId); | |
| 128 | + return dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 127 | 129 | } |
| 128 | 130 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java
View file @
d260b19
| ... | ... | @@ -59,13 +59,14 @@ |
| 59 | 59 | if (CollectionUtils.isNotEmpty(list)) { |
| 60 | 60 | //用户角色 |
| 61 | 61 | if (UserTypeEnum.NORMAL_USER.getId().equals(list.get(0).getType())) { |
| 62 | - for(Users users:list){ | |
| 63 | - if(null!=users.getOrgId()){ | |
| 64 | - data.add(users.getOrgId()); | |
| 62 | + List<Organization> list2 = accessPermissionFacade.getOrganization(accessPermissionFacade.findAccessPerminssionByUserId(list.get(0).getId())); | |
| 63 | + if(CollectionUtils.isNotEmpty(list2)){ | |
| 64 | + for(Organization organization:list2){ | |
| 65 | + data.add(organization.getId()); | |
| 65 | 66 | } |
| 66 | 67 | } |
| 67 | 68 | } else if(UserTypeEnum.PLATFORM_ADMIN.getId().equals(list.get(0).getType())){ |
| 68 | - List<Organization> list2 =accessPermissionFacade.findAccessPerminssionByUserId(list.get(0).getId()); | |
| 69 | + List<Organization> list2 = accessPermissionFacade.getOrganization(accessPermissionFacade.findAccessPerminssionByUserId(list.get(0).getId())); | |
| 69 | 70 | if(CollectionUtils.isNotEmpty(list2)){ |
| 70 | 71 | for(Organization organization:list2){ |
| 71 | 72 | data.add(organization.getId()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AccessPermissionAddRequest.java
View file @
d260b19
| ... | ... | @@ -28,6 +28,21 @@ |
| 28 | 28 | @FormParam |
| 29 | 29 | private List deptId; |
| 30 | 30 | |
| 31 | + /* | |
| 32 | + 多个区域,省市区乡 如果为0代表全部,省不可为0 | |
| 33 | + [{"p":"1","c":"2","a":"3","s":"4"},{"p":"2","c":"0","a":"0","s":"0"}] | |
| 34 | + */ | |
| 35 | + @FormParam | |
| 36 | + private String areaPermission; | |
| 37 | + | |
| 38 | + public String getAreaPermission() { | |
| 39 | + return areaPermission; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setAreaPermission(String areaPermission) { | |
| 43 | + this.areaPermission = areaPermission; | |
| 44 | + } | |
| 45 | + | |
| 31 | 46 | public List getDeptId() { |
| 32 | 47 | return deptId; |
| 33 | 48 | } |