Commit d260b19ba066676cfe4caa54a99b29b43cc0f8af

Authored by hanshaofeng
1 parent de072cf25f

permission2

Showing 9 changed files with 154 additions and 28 deletions

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 }