From ccb933362251344091a3881a4950dcab33c5008f Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期六, 28 三月 2020 11:47:55 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java | 104 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 88 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java index bd2ab63..f0d93e5 100644 --- a/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java +++ b/src/main/java/com/highdatas/mdm/controller/MasterAuthorController.java @@ -1,17 +1,14 @@ package com.highdatas.mdm.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.highdatas.mdm.entity.MasterAuthor; -import com.highdatas.mdm.entity.MasterAuthorDetail; -import com.highdatas.mdm.entity.TUser; -import com.highdatas.mdm.entity.TUserRole; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.highdatas.mdm.entity.*; import com.highdatas.mdm.pojo.CodeMsg; import com.highdatas.mdm.pojo.MasterAuthorType; import com.highdatas.mdm.pojo.Result; -import com.highdatas.mdm.service.IMasterAuthorDetailService; -import com.highdatas.mdm.service.IMasterAuthorService; -import com.highdatas.mdm.service.ITUserRoleService; +import com.highdatas.mdm.service.*; import com.highdatas.mdm.util.Constant; import com.highdatas.mdm.util.DbUtils; import org.apache.commons.lang3.StringUtils; @@ -19,8 +16,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -41,12 +37,19 @@ IMasterAuthorDetailService authorDetailService; @Autowired ITUserRoleService userRoleService; + @Autowired + IMenuMappingService menuMappingService; + @Autowired + ISysMenuService menuService; public static final String masterAuthorType = "masterAuthorType"; public static final String masterId = "masterId"; + public static final String tableName = "table_name"; public static final String characterId = "characterId"; + public static final String character_id = "character_id"; public static final String fields = "fields"; private String maintainFieldId = "maintainFieldId"; + private String maintain_field_id = "maintain_field_id"; @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST) public Result deleteModel(@RequestBody MasterAuthor masterAuthor) { @@ -55,7 +58,9 @@ }else { masterAuthor.setId(DbUtils.getUUID()).setCreateTime(new Date()); } - + String menuId = masterAuthor.getMenuId(); + String tableName = menuMappingService.getTableNameByMenu(menuId); + masterAuthor.setTableName(tableName); //delete pre boolean delete = authorDetailService.delete(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, masterAuthor.getId())); if (!delete){ @@ -72,7 +77,6 @@ }else { return Result.error(CodeMsg.UPDATE_ERROR); } - } @RequestMapping(value = "/get/{characterId}", method = RequestMethod.GET) @@ -82,11 +86,25 @@ return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); }else if (type.equals(MasterAuthorType.user) && masterAuthorList.isEmpty()){ //user 鑾峰彇瑙掕壊 澶氳剼鑹叉贩鍚� - TUser user = DbUtils.getUser(request); - String userId = user.getUserId(); + String userId = characterId; List<TUserRole> tUserRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq(Constant.USERID, userId)); List<String> roleIdList = tUserRoles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); - return authorService.merageRoleAuthor(roleIdList); + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdList); + if (tableMasterAuthor == null) { + Result.success(null); + } + JSONObject object = new JSONObject(); + ArrayList<MasterAuthor> list = new ArrayList(tableMasterAuthor.values()); + + object.fluentPut("type", MasterAuthorType.role); + object.fluentPut("author",list); + + Set<String> collect = list.stream().map(masterAuthor -> masterAuthor.getMenuId()).collect(Collectors.toSet()); + LinkedHashSet<String> menuIds= new LinkedHashSet<>(collect); + LinkedHashSet<String> byParentId = menuService.getByParentId(menuIds); + List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); + object.fluentPut("audit",sysMenus); + return Result.success(object); } for (MasterAuthor masterAuthor : masterAuthorList) { @@ -96,7 +114,16 @@ masterAuthor.setFields(masterAuthorDetails); } - return Result.success(masterAuthorList); + JSONObject object = new JSONObject(); + Set<String> collect = masterAuthorList.stream().map(masterAuthor -> masterAuthor.getMenuId()).collect(Collectors.toSet()); + LinkedHashSet<String> menuIds= new LinkedHashSet<>(collect); + LinkedHashSet<String> byParentId = menuService.getByParentId(menuIds); + List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); + + object.fluentPut("type", MasterAuthorType.user); + object.fluentPut("author",masterAuthorList); + object.fluentPut("audit",sysMenus); + return Result.success(object); } @RequestMapping(value = "/delete/{characterId}", method = RequestMethod.GET) @@ -121,6 +148,47 @@ } } + + @RequestMapping(value = "/delete/menu/{menuId}", method = RequestMethod.GET) + public Result deleteTable(@PathVariable String menuId, @RequestParam String characterId, @RequestParam MasterAuthorType type, HttpServletRequest request){ + String maintainFieldId = request.getParameter(this.maintainFieldId); + Wrapper<MasterAuthor> masterAuthorWrapper = new EntityWrapper<MasterAuthor>() + .eq(Constant.TYPE, type) + .eq(character_id, characterId) + .eq("menu_id", menuId); + if (!StringUtils.isEmpty(maintainFieldId)) { + masterAuthorWrapper.eq(this.maintain_field_id, maintainFieldId); + } + + List<MasterAuthor> masterAuthorList = authorService.selectList(masterAuthorWrapper); + if (masterAuthorList.isEmpty()) { + return Result.success(null); + } + boolean partDel = false; + if (masterAuthorList.size() == 1 && !StringUtils.isEmpty(maintainFieldId)) { + // 鍙湁涓�涓笖鍒犻櫎 瀛楁鐗堟湰 淇濈暀鏈潯 + partDel = true; + } + boolean delete = false; + for (MasterAuthor masterAuthor : masterAuthorList) { + delete = authorDetailService.delete(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, masterAuthor.getId())); + if (delete) { + if (partDel) { + delete = masterAuthor.setMaintainFieldId(null).updateById(); + }else { + delete = masterAuthor.deleteById(); + } + + } + } + + if (delete) { + return Result.success(CodeMsg.DELETE_SUCCESS); + }else { + return Result.error(CodeMsg.DELETE_ERROR); + } + } + @RequestMapping(value = "/addRole/{roleId}", method = RequestMethod.GET) public Result addRole(@PathVariable String roleId, HttpServletRequest request){ TUser user = DbUtils.getUser(request); @@ -129,6 +197,10 @@ List<String> roleIdList = tUserRoles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); roleIdList.add(roleId); - return authorService.merageRoleAuthor(roleIdList); + HashMap<String, MasterAuthor> tableMasterAuthor = authorService.merageRoleAuthor(roleIdList); + if (tableMasterAuthor == null) { + Result.success(null); + } + return Result.success(tableMasterAuthor.values()); } } -- Gitblit v1.8.0