From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期二, 31 三月 2020 13:25:47 +0800 Subject: [PATCH] fix 数据权限 --- src/main/java/com/highdatas/mdm/controller/SysFieldController.java | 76 +++++++++++++++++++++++++++++++++++--- 1 files changed, 70 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/SysFieldController.java b/src/main/java/com/highdatas/mdm/controller/SysFieldController.java index 470b1b2..b89ebd3 100644 --- a/src/main/java/com/highdatas/mdm/controller/SysFieldController.java +++ b/src/main/java/com/highdatas/mdm/controller/SysFieldController.java @@ -51,24 +51,55 @@ SysFieldMapper fieldMapper; @Autowired IFlowsService flowsService; + @Autowired + IMasterAuthorService masterAuthorService; @RequestMapping(value = "/{tableName}", method = RequestMethod.GET) public Result getFields(@PathVariable String tableName, HttpServletRequest request){ + TUser user = DbUtils.getUser(request); String maintainId = request.getParameter("maintainId"); if (StringUtils.isEmpty(maintainId)) { List<SysField> fieldList = fieldService.getFieldByTable(tableName); return Result.success(fieldList); }else { + List<SysField> field = masterAuthorService.getField(user.getUserId(), maintainId); + //List<SysField> fieldList = fieldService.getFieldByMaintain(maintainId); - List<SysField> fieldList = fieldService.getFieldByMaintain(maintainId); - return Result.success(fieldList); + return Result.success(field); } } - @RequestMapping(value = "total/{tableName}", method = RequestMethod.GET) - public Result getTotalFields(@PathVariable String tableName, HttpServletRequest request){ - return fieldService.getTotalFields(tableName); + @RequestMapping(value = "total/{tableName}/{pageNo}", method = RequestMethod.GET) + public Result getTotalFields(@PathVariable String tableName,@PathVariable Integer pageNo, HttpServletRequest request){ + String totalStr = request.getParameter("isTotal"); + String pageSize = request.getParameter("pageSize"); + + if (StringUtils.isEmpty(totalStr) || !Boolean.valueOf(totalStr)) { + // 璧版潈闄� + String maintainId = request.getParameter("maintainId"); + if (StringUtils.isEmpty(maintainId)){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + TUser user = DbUtils.getUser(request); + List<SysField> field = masterAuthorService.getField(user.getUserId(), maintainId); + Integer size; + if(StringUtils.isEmpty(pageSize)){ + size = 15; + }else { + size = Integer.valueOf(pageSize); + } + + return fieldService.getPagedDataByList(field, pageNo, size); + + } + + if(StringUtils.isEmpty(pageSize)){ + return fieldService.getTotalFields(tableName, pageNo, 15); + }else { + return fieldService.getTotalFields(tableName, pageNo, Integer.valueOf(pageSize)); + } + } @RequestMapping(value = "fix/{tableName}", method = RequestMethod.GET) @@ -78,6 +109,7 @@ data.fluentPut("aduit", true); return totalFields; } + @RequestMapping(value = "/menu/{id}", method = RequestMethod.GET) public Result getFieldByMenu(@PathVariable String id){ @@ -244,6 +276,16 @@ if (dataMaxVersion == null) { isInit = true; } + if (!StringUtils.isEmpty(sysField.getId())) { + String id = sysField.getId(); + SysField field = fieldService.selectById(id); + if (field != null){ + Operate operate = field.getOperate(); + if (operate != null) { + isInit = true; + } + } + } Operate operate = sysField.getOperate(); @@ -252,6 +294,7 @@ if (StringUtils.isEmpty(sysField.getId())) { sysField.setId(DbUtils.getUUID()); } + sysField.setOperate(null); boolean update = sysField.insertOrUpdate(); if (update) { return Result.success(CodeMsg.SUCCESS); @@ -262,13 +305,30 @@ } } if (isInit && operate.equals(Operate.delete)) { + String maintainFieldId = sysField.getMaintainFieldId(); boolean delete = sysField.deleteById(); if (delete) { + //鍒犻櫎鍚� 鍒ゆ柇鏄惁鏈夋湭鎻愪氦鐨勪簡 + if (StringUtils.isEmpty(maintainFieldId)) { + return Result.success(CodeMsg.SUCCESS); + } + List<SysField> fieldList = fieldService.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId)); + long count = fieldList.stream().filter(field -> field.getOperate() != null).count(); + if (count == 0) { + //璇存槑 褰撳墠鐗堟湰娌℃湁淇敼鐨勫瓧娈典簡 + delete = fieldService.delete(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId)); + delete = maintainFieldService.deleteById(maintainFieldId); + if (delete) { + return Result.success(CodeMsg.SUCCESS); + } + } return Result.success(CodeMsg.SUCCESS); + }else { return Result.error(CodeMsg.DELETE_ERROR); } } + if (operate.equals(Operate.update)) { String id = sysField.getId(); SysField field = fieldService.selectById(id); @@ -309,7 +369,11 @@ } } MaintainField maxVersion = maintainFieldService.getMaxVersion(sysField.getTableName()); - String maintainId = maxVersion.getId(); + String maintainId = null; + if(maxVersion != null) { + maintainId = maxVersion.getId(); + } + MaintainField nowMaintain = null; HttpSession session = request.getSession(); TUser user = (TUser) session.getAttribute("user"); -- Gitblit v1.8.0