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 | } |