From 912ee45ea29637bfb8d9656bebab7304921d5cf6 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 13 May 2021 15:56:12 +0800
Subject: [PATCH] screen-manage 修改获取组织admin角色菜单接口 修改分配组织admin角色菜单接口
---
screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | 116 ++++++++++--
screen-manage/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java | 64 +++++++
screen-manage/src/main/java/com/moral/api/service/GroupService.java | 20 ++
screen-manage/src/main/java/com/moral/api/pojo/form/group/AdminGroupUpdateMenuForm.java | 6
screen-manage/src/main/java/com/moral/api/mapper/MenuMapper.java | 4
screen-manage/src/main/java/com/moral/api/controller/GroupController.java | 43 ++++
screen-manage/src/main/resources/mapper/MenuMapper.xml | 21 ++
screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java | 45 ----
/dev/null | 31 ---
screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java | 20 --
screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 98 ----------
screen-manage/src/main/java/com/moral/api/controller/MenuController.java | 22 ++
screen-manage/src/main/java/com/moral/api/pojo/dto/group/GroupDTO.java | 8
screen-manage/src/main/java/com/moral/api/service/MenuService.java | 13 +
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml | 2
15 files changed, 282 insertions(+), 231 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/controller/GroupController.java b/screen-manage/src/main/java/com/moral/api/controller/GroupController.java
new file mode 100644
index 0000000..72fdbaf
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/GroupController.java
@@ -0,0 +1,43 @@
+package com.moral.api.controller;
+
+import com.moral.api.pojo.dto.group.GroupDTO;
+import com.moral.api.pojo.form.group.AdminGroupUpdateMenuForm;
+import com.moral.api.service.GroupService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @ClassName GroupController
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/5/13 15:29
+ * @Version TODO
+ **/
+@Slf4j
+@Api(tags = {"������������������"})
+@RestController
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RequestMapping("/group")
+public class GroupController {
+
+ @Autowired
+ GroupService groupService;
+
+ @PostMapping("updateAdminGroupMenu")
+ public ResultMessage updateMenu(@RequestBody AdminGroupUpdateMenuForm form) {
+
+ //������������������������
+ if (!form.valid())
+ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+ ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+
+ //������������������
+ GroupDTO dto = groupService.updateAdminGroupMenu(form);
+
+ return new ResultMessage(dto.getCode(), dto.getMsg(), null);
+ }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java b/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java
index 2a228d4..ebe8c53 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java
@@ -1,16 +1,8 @@
package com.moral.api.controller;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuQueryDTO;
-import com.moral.api.pojo.form.groupMenu.GroupMenuQueryForm;
-import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm;
-import com.moral.api.pojo.vo.groupMenu.GroupMenuQueryVO;
-import com.moral.api.service.GroupMenuService;
-import com.moral.constant.ResponseCodeEnum;
-import com.moral.constant.ResultMessage;
+
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
@@ -26,40 +18,5 @@
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("/groupMenu")
public class GroupMenuController {
-
- @Autowired
- GroupMenuService groupMenuService;
-
-
- @PostMapping("update")
- public ResultMessage update(@RequestBody GroupMenuUpdateForm form) {
-
- //������������������������
- if (!form.valid())
- return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
- ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
-
- //������������������
- GroupMenuDTO dto = groupMenuService.updateGroupMenu(form);
-
- return new ResultMessage(dto.getCode(), dto.getMsg(), null);
- }
-
- @GetMapping("query")
- public ResultMessage query(GroupMenuQueryForm form){
-
- //������������������������
- if (!form.valid())
- return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
- ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
-
- //������������������
- GroupMenuQueryDTO dto = groupMenuService.queryGroupMenu(form);
-
- //������������������������
- GroupMenuQueryVO vo = GroupMenuQueryVO.convert(dto);
-
- return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
- }
}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/MenuController.java b/screen-manage/src/main/java/com/moral/api/controller/MenuController.java
index aef663a..2f657d1 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/MenuController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/MenuController.java
@@ -14,6 +14,7 @@
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
/**
@@ -35,8 +36,21 @@
@GetMapping("query")
public ResultMessage query() {
+
+ //������������admin���������������������������������������
+ MenuQueryDTO dto = menuService.queryAllMenus();
+
+ //���������������������������
+ MenuQueryVO vo = MenuQueryVO.convert(dto);
+
+ return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
+ }
+
+ @GetMapping("queryAdmin")
+ public ResultMessage queryAdmin(@RequestParam Integer organizationId) {
+
//������������������
- MenuQueryDTO dto = menuService.queryAllMenu();
+ MenuQueryDTO dto = menuService.queryAdminGroupMenusByOrganizationId(organizationId);
//���������������������������
MenuQueryVO vo = MenuQueryVO.convert(dto);
@@ -45,7 +59,7 @@
}
@GetMapping("queryNames")
- public ResultMessage queryNames(MenuQueryNamesForm form){
+ public ResultMessage queryNames(MenuQueryNamesForm form) {
//������������������
MenuQueryNamesDTO dto = menuService.queryNames(form);
@@ -72,7 +86,7 @@
}
@PostMapping("delete")
- public ResultMessage delete(@RequestBody MenuDeleteForm form){
+ public ResultMessage delete(@RequestBody MenuDeleteForm form) {
//������������������������
if (!form.valid())
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
@@ -88,7 +102,7 @@
}
@PostMapping("update")
- public ResultMessage update(@RequestBody MenuUpdateForm form){
+ public ResultMessage update(@RequestBody MenuUpdateForm form) {
//������������������������
if (!form.valid())
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/MenuMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/MenuMapper.java
index 2fafa8f..3fd0188 100644
--- a/screen-manage/src/main/java/com/moral/api/mapper/MenuMapper.java
+++ b/screen-manage/src/main/java/com/moral/api/mapper/MenuMapper.java
@@ -3,6 +3,8 @@
import com.moral.api.entity.Menu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.util.List;
+
/**
* <p>
* ������������ Mapper ������
@@ -12,5 +14,5 @@
* @since 2021-03-09
*/
public interface MenuMapper extends BaseMapper<Menu> {
-
+ List<Menu> getMenusByGroupId(Integer groupId);
}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/group/GroupDTO.java
similarity index 66%
rename from screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java
rename to screen-manage/src/main/java/com/moral/api/pojo/dto/group/GroupDTO.java
index 937a29f..42cc912 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/group/GroupDTO.java
@@ -1,5 +1,6 @@
-package com.moral.api.pojo.dto.groupMenu;
+package com.moral.api.pojo.dto.group;
+import com.moral.api.entity.Group;
import com.moral.api.entity.GroupMenu;
import lombok.Data;
@@ -11,11 +12,12 @@
* @Version TODO
**/
@Data
-public class GroupMenuDTO {
+public class GroupDTO {
private Integer code;
private String msg;
- private GroupMenu groupMenu;
+ private Group group;
+
}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java
deleted file mode 100644
index 8a67579..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.moral.api.pojo.dto.groupMenu;
-
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @ClassName GroupMenuQueryDTO
- * @Description TODO
- * @Author ���������
- * @Date 2021/5/11 14:36
- * @Version TODO
- **/
-@Data
-public class GroupMenuQueryDTO {
-
- private Integer code;
-
- private String msg;
-
- private List<GroupMenuDTO> dtos;
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/group/AdminGroupUpdateMenuForm.java
similarity index 77%
rename from screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java
rename to screen-manage/src/main/java/com/moral/api/pojo/form/group/AdminGroupUpdateMenuForm.java
index 6076a5d..458a47c 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/group/AdminGroupUpdateMenuForm.java
@@ -1,4 +1,4 @@
-package com.moral.api.pojo.form.groupMenu;
+package com.moral.api.pojo.form.group;
import lombok.Data;
import org.springframework.util.ObjectUtils;
@@ -7,13 +7,13 @@
/**
* @ClassName GroupUpdateForm
- * @Description TODO
+ * @Description ������������������admin������������������
* @Author ���������
* @Date 2021/5/11 10:25
* @Version TODO
**/
@Data
-public class GroupMenuUpdateForm {
+public class AdminGroupUpdateMenuForm {
private Integer organizationId;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java
deleted file mode 100644
index 0cb31f3..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.moral.api.pojo.form.groupMenu;
-
-import lombok.Data;
-import org.springframework.util.ObjectUtils;
-
-/**
- * @ClassName GroupMenuQueryVO
- * @Description TODO
- * @Author ���������
- * @Date 2021/5/11 14:34
- * @Version TODO
- **/
-@Data
-public class GroupMenuQueryForm {
-
- private Integer organizationId;
-
- public boolean valid(){
- if(ObjectUtils.isEmpty(organizationId))
- return false;
- return true;
- }
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java
deleted file mode 100644
index cfcbea2..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.moral.api.pojo.vo.groupMenu;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.moral.api.entity.GroupMenu;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuQueryDTO;
-import com.moral.constant.ResponseCodeEnum;
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @ClassName GroupMenuQueryVO
- * @Description TODO
- * @Author ���������
- * @Date 2021/5/11 14:42
- * @Version TODO
- **/
-@Data
-@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class GroupMenuQueryVO {
-
- List<GroupMenuVO> menus;
-
- public static GroupMenuQueryVO convert(GroupMenuQueryDTO dto) {
- if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode())
- return null;
- GroupMenuQueryVO queryVo = new GroupMenuQueryVO();
- List<GroupMenuVO> menus = new ArrayList<>();
- List<GroupMenuDTO> menuDtos = dto.getDtos();
- for (GroupMenuDTO menuDto : menuDtos) {
- GroupMenuVO vo = convertToQueryPage(menuDto);
- menus.add(vo);
- }
- queryVo.setMenus(menus);
- return queryVo;
- }
-
- private static GroupMenuVO convertToQueryPage(GroupMenuDTO dto){
- GroupMenuVO vo = new GroupMenuVO();
- GroupMenu groupMenu = dto.getGroupMenu();
- vo.setId(groupMenu.getId());
- vo.setChannelKey(groupMenu.getChannelKey());
- vo.setMenuId(groupMenu.getMenuId());
- return vo;
- }
-}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java
deleted file mode 100644
index d651a77..0000000
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.moral.api.pojo.vo.groupMenu;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import lombok.Data;
-
-/**
- * @ClassName GroupMenuVO
- * @Description TODO
- * @Author ���������
- * @Date 2021/5/11 14:39
- * @Version TODO
- **/
-@Data
-@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class GroupMenuVO {
-
- private Integer id;
-
- private Integer groupId;
-
- private Integer menuId;
-
- private String channelKey;
-
- private Integer organizationId;
-
- private String createTime;
-
- private String updateTime;
-
-}
diff --git a/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java b/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java
index b234bea..bf25a31 100644
--- a/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java
@@ -2,10 +2,6 @@
import com.moral.api.entity.GroupMenu;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuQueryDTO;
-import com.moral.api.pojo.form.groupMenu.GroupMenuQueryForm;
-import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm;
/**
* <p>
@@ -17,22 +13,6 @@
*/
public interface GroupMenuService extends IService<GroupMenu> {
- /**
- * @Description: ���������admin������������������������
- * @Param: [GroupMenuUpdateForm form]
- * @return: com.moral.constant.ResultMessage
- * @Author: ���������
- * @Date: 2021/5/11
- */
- GroupMenuDTO updateGroupMenu(GroupMenuUpdateForm form);
- /**
- * @Description: ������������admin���������������������
- * @Param: [form]
- * @return: com.moral.api.pojo.dto.groupMenu.GroupMenuQueryDTO
- * @Author: ���������
- * @Date: 2021/5/11
- */
- GroupMenuQueryDTO queryGroupMenu(GroupMenuQueryForm form);
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/GroupService.java b/screen-manage/src/main/java/com/moral/api/service/GroupService.java
index dd47048..e1285c0 100644
--- a/screen-manage/src/main/java/com/moral/api/service/GroupService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/GroupService.java
@@ -2,6 +2,8 @@
import com.moral.api.entity.Group;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.dto.group.GroupDTO;
+import com.moral.api.pojo.form.group.AdminGroupUpdateMenuForm;
/**
* <p>
@@ -13,4 +15,22 @@
*/
public interface GroupService extends IService<Group> {
+ /**
+ * @Description: ���������������������admin������
+ * @Param: [organizationId]
+ * @return: com.moral.api.entity.Group
+ * @Author: ���������
+ * @Date: 2021/5/13
+ */
+ Group queryAdminGroupByOrganizationId(Integer organizationId);
+
+ /**
+ * @Description: ������admin������������
+ * @Param: [GroupMenuUpdateForm form]
+ * @return: com.moral.constant.ResultMessage
+ * @Author: ���������
+ * @Date: 2021/5/11
+ */
+ GroupDTO updateAdminGroupMenu(AdminGroupUpdateMenuForm form);
+
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/MenuService.java b/screen-manage/src/main/java/com/moral/api/service/MenuService.java
index 26c5355..bda5a43 100644
--- a/screen-manage/src/main/java/com/moral/api/service/MenuService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/MenuService.java
@@ -20,13 +20,22 @@
*/
public interface MenuService extends IService<Menu> {
/**
- * @Description: ������������������������
+ * @Description: ������������
* @Param: []
* @return: com.moral.api.pojo.dto.menu.MenuQueryDTO
* @Author: ���������
* @Date: 2021/4/25
*/
- MenuQueryDTO queryAllMenu();
+ MenuQueryDTO queryAllMenus();
+
+ /**
+ * @Description: ������������id���������������admin���������������������
+ * @Param: [organizationId]
+ * @return: com.moral.api.pojo.dto.menu.MenuQueryDTO
+ * @Author: ���������
+ * @Date: 2021/5/13
+ */
+ MenuQueryDTO queryAdminGroupMenusByOrganizationId(Integer organizationId);
/**
* @Description: ������������
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index 0d61854..4b93593 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
@@ -1,26 +1,11 @@
package com.moral.api.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.moral.api.entity.Group;
import com.moral.api.entity.GroupMenu;
-import com.moral.api.mapper.GroupMapper;
import com.moral.api.mapper.GroupMenuMapper;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO;
-import com.moral.api.pojo.dto.groupMenu.GroupMenuQueryDTO;
-import com.moral.api.pojo.form.groupMenu.GroupMenuQueryForm;
-import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm;
import com.moral.api.service.GroupMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.moral.constant.Constants;
-import com.moral.constant.ResponseCodeEnum;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-import java.util.ArrayList;
-import java.util.List;
/**
* <p>
@@ -32,88 +17,5 @@
*/
@Service
public class GroupMenuServiceImpl extends ServiceImpl<GroupMenuMapper, GroupMenu> implements GroupMenuService {
-
- @Autowired
- GroupMenuMapper groupMenuMapper;
- @Autowired
- GroupMapper groupMapper;
-
- @Override
- @Transactional
- public GroupMenuDTO updateGroupMenu(GroupMenuUpdateForm form) {
- //������������������
- GroupMenuDTO dto = new GroupMenuDTO();
- //������
- Integer orgId = form.getOrganizationId();
- String channelKey = form.getChannelKey();
- List<Integer> insertMenuIds = form.getMenuIds();
- //������orgId������������admin������id
- Group group = queryAdminGroupByOrganizationId(orgId);
- if (ObjectUtils.isEmpty(group)) {//������������������������������������������������
- dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getCode());
- dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg());
- return dto;
- }
- //���������������������������������
- UpdateWrapper deleteWrapper = new UpdateWrapper();
- deleteWrapper.set("is_delete", Constants.DELETE);
- deleteWrapper.eq("group_id", group.getId());
- groupMenuMapper.update(null, deleteWrapper);
- //������������
- for (Integer menuId : insertMenuIds) {
- GroupMenu groupMenu = new GroupMenu();
- groupMenu.setChannelKey(channelKey);
- groupMenu.setGroupId(group.getId());
- groupMenu.setMenuId(menuId);
- groupMenu.setOrganizationId(orgId);
- groupMenuMapper.insert(groupMenu);
- }
- //������������������
- dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
- dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
- return dto;
- }
-
- @Override
- public GroupMenuQueryDTO queryGroupMenu(GroupMenuQueryForm form) {
- //������������������
- GroupMenuQueryDTO dto = new GroupMenuQueryDTO();
- //������
- Integer organizationId = form.getOrganizationId();
- //������������admin������
- Group group = queryAdminGroupByOrganizationId(organizationId);
- if (ObjectUtils.isEmpty(group)) {//������������������������������������������������
- dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getCode());
- dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg());
- return dto;
- }
- //���������������������������������������
- QueryWrapper<GroupMenu> queryGroupMenuWrapper = new QueryWrapper<>();
- queryGroupMenuWrapper.eq("group_id", group.getId());
- queryGroupMenuWrapper.eq("is_delete",Constants.NOT_DELETE);
- List<GroupMenu> groupMenus = groupMenuMapper.selectList(queryGroupMenuWrapper);
- //������������������
- List<GroupMenuDTO> dtos = new ArrayList<>();
- for (GroupMenu groupMenu : groupMenus) {
- GroupMenuDTO groupMenuDTO = new GroupMenuDTO();
- groupMenuDTO.setGroupMenu(groupMenu);
- dtos.add(groupMenuDTO);
- }
- dto.setDtos(dtos);
- dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
- dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
- return dto;
- }
-
- private Group queryAdminGroupByOrganizationId(Integer OrganizationId) {
- QueryWrapper<Group> queryGroupWrapper = new QueryWrapper<>();
- Group groupConditon = new Group();
- groupConditon.setOrganizationId(OrganizationId);
- groupConditon.setGroupName("admin");
- groupConditon.setIsDelete(Constants.NOT_DELETE);
- queryGroupWrapper.setEntity(groupConditon);
- return groupMapper.selectOne(queryGroupWrapper);
- }
-
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
index ac9d7c7..0f07405 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
@@ -1,10 +1,23 @@
package com.moral.api.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.moral.api.entity.Group;
+import com.moral.api.entity.GroupMenu;
import com.moral.api.mapper.GroupMapper;
+import com.moral.api.mapper.GroupMenuMapper;
+import com.moral.api.pojo.dto.group.GroupDTO;
+import com.moral.api.pojo.form.group.AdminGroupUpdateMenuForm;
import com.moral.api.service.GroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.List;
/**
* <p>
@@ -17,4 +30,55 @@
@Service
public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements GroupService {
+ @Autowired
+ GroupMapper groupMapper;
+ @Autowired
+ GroupMenuMapper groupMenuMapper;
+
+ @Override
+ public Group queryAdminGroupByOrganizationId(Integer OrganizationId) {
+ QueryWrapper<Group> queryGroupWrapper = new QueryWrapper<>();
+ Group groupConditon = new Group();
+ groupConditon.setOrganizationId(OrganizationId);
+ groupConditon.setGroupName("admin");
+ groupConditon.setIsDelete(Constants.NOT_DELETE);
+ queryGroupWrapper.setEntity(groupConditon);
+ return groupMapper.selectOne(queryGroupWrapper);
+ }
+
+ @Override
+ @Transactional
+ public GroupDTO updateAdminGroupMenu(AdminGroupUpdateMenuForm form) {
+ //������������������
+ GroupDTO dto = new GroupDTO();
+ //������
+ Integer orgId = form.getOrganizationId();
+ String channelKey = form.getChannelKey();
+ List<Integer> insertMenuIds = form.getMenuIds();
+ //������orgId������������admin������id
+ Group group = queryAdminGroupByOrganizationId(orgId);
+ if (ObjectUtils.isEmpty(group)) {//������������������������������������������������
+ dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg());
+ return dto;
+ }
+ //���������������������������������
+ UpdateWrapper deleteWrapper = new UpdateWrapper();
+ deleteWrapper.set("is_delete", Constants.DELETE);
+ deleteWrapper.eq("group_id", group.getId());
+ groupMenuMapper.update(null, deleteWrapper);
+ //������������
+ for (Integer menuId : insertMenuIds) {
+ GroupMenu groupMenu = new GroupMenu();
+ groupMenu.setChannelKey(channelKey);
+ groupMenu.setGroupId(group.getId());
+ groupMenu.setMenuId(menuId);
+ groupMenu.setOrganizationId(orgId);
+ groupMenuMapper.insert(groupMenu);
+ }
+ //������������������
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+ return dto;
+ }
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
index 25cc2a6..76c4316 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
+import com.moral.api.entity.Group;
import com.moral.api.entity.Menu;
import com.moral.api.mapper.MenuMapper;
import com.moral.api.pojo.dto.menu.MenuDTO;
@@ -12,6 +13,7 @@
import com.moral.api.pojo.form.menu.MenuInsertForm;
import com.moral.api.pojo.form.menu.MenuQueryNamesForm;
import com.moral.api.pojo.form.menu.MenuUpdateForm;
+import com.moral.api.service.GroupService;
import com.moral.api.service.MenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
@@ -40,34 +42,53 @@
@Autowired
MenuMapper menuMapper;
+ @Autowired
+ GroupService groupService;
@Override
- public MenuQueryDTO queryAllMenu() {
+ public MenuQueryDTO queryAllMenus() {
//������������������
MenuQueryDTO dto = new MenuQueryDTO();
//������������������
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("is_delete", Constants.NOT_DELETE);
List<Menu> menus = menuMapper.selectList(wrapper);
- //������menu������������
- Map<Integer, Menu> menuMap = new HashMap<>();
- for (Menu menu : menus) {
- menuMap.put(menu.getId(), menu);
- menu.setChildren(new ArrayList<>());//���������������
- }
- for (Menu menu : menus) {
- combinationParentChildrenMenus(menuMap, menu);
- }
- //������������������
- menus.removeIf(new Predicate<Menu>() {
- @Override
- public boolean test(Menu menu) {
- if (menu.getParentId().equals(0))
- return false;
- return true;
- }
- });
+ //���������������������
+ combinationParentChildrenMenus(menus);
//���������������DTO
+ List<MenuDTO> dtos = new ArrayList<>();
+ for (Menu menu : menus) {
+ MenuDTO menuDTO = new MenuDTO();
+ menuDTO.setMenu(menu);
+ dtos.add(menuDTO);
+ }
+ dto.setDtos(dtos);
+ dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
+ dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
+ return dto;
+ }
+
+ @Override
+ public MenuQueryDTO queryAdminGroupMenusByOrganizationId(Integer organizationId) {
+ //������������������
+ MenuQueryDTO dto = new MenuQueryDTO();
+ //������������admin������
+ Group group = groupService.queryAdminGroupByOrganizationId(organizationId);
+ if (ObjectUtils.isEmpty(group)) {//������������������������������������������������
+ dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getCode());
+ dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg());
+ return dto;
+ }
+ //���������������������������������������
+ List<Menu> allMenus = menuMapper.getMenusByGroupId(group.getId());
+ //������������������������������
+ combinationParentChildrenMenus(allMenus);
+ //������������������������������������������
+ List<Menu> menus = new ArrayList<>();
+ for (Menu menu : allMenus) {
+ getNotParentMenu(menu, menus);
+ }
+ //������������������
List<MenuDTO> dtos = new ArrayList<>();
for (Menu menu : menus) {
MenuDTO menuDTO = new MenuDTO();
@@ -130,7 +151,7 @@
wrapper.set("is_delete", Constants.DELETE);
menuMapper.update(null, wrapper);
}
- //���������������
+ //������������
existMenu.setIsDelete(Constants.DELETE);
menuMapper.updateById(existMenu);
@@ -180,7 +201,7 @@
//������������
NullFilterWrapper<Menu> wrapper = new NullFilterWrapper<>();
wrapper.eq("is_delete", Constants.NOT_DELETE);
- wrapper.like("name",name);
+ wrapper.like("name", name);
List<Menu> menus = menuMapper.selectList(wrapper);
//���������id������������������������
List<Integer> childrenIds = getChildrenIdsByParentId(id);//���������������������id������
@@ -211,6 +232,35 @@
return dto;
}
+
+ /**
+ * @Description: ������������������������������������������������������
+ * @Param: [menus]
+ * @return: java.util.List<com.moral.api.entity.Menu>
+ * @Author: ���������
+ * @Date: 2021/5/13
+ */
+ public void combinationParentChildrenMenus(List<Menu> menus){
+ //������menu������������
+ Map<Integer, Menu> menuMap = new HashMap<>();
+ for (Menu menu : menus) {
+ menuMap.put(menu.getId(), menu);
+ menu.setChildren(new ArrayList<>());//���������������
+ }
+ for (Menu menu : menus) {
+ putMenuToParentMenu(menuMap, menu);
+ }
+ //������������������
+ menus.removeIf(new Predicate<Menu>() {
+ @Override
+ public boolean test(Menu menu) {
+ if (menu.getParentId().equals(0))
+ return false;
+ return true;
+ }
+ });
+ }
+
/**
* @Description: ������������menu������menuMap���������������������
* @Param: [menuMap, menu]
@@ -218,7 +268,7 @@
* @Author: ���������
* @Date: 2021/5/6
*/
- private void combinationParentChildrenMenus(Map<Integer, Menu> menuMap, Menu menu) {
+ private void putMenuToParentMenu(Map<Integer, Menu> menuMap, Menu menu) {
Integer parentId = menu.getParentId();
Menu parentMenu = menuMap.get(parentId);
if (!ObjectUtils.isEmpty(parentMenu)) {
@@ -245,7 +295,7 @@
menu.setChildren(new ArrayList<>());//���������������
}
for (Menu menu : menus) {
- combinationParentChildrenMenus(menuMap, menu);
+ putMenuToParentMenu(menuMap, menu);
}
Menu menu = menuMap.get(id);
return menu;
@@ -273,7 +323,7 @@
/**
- * @Description: ���������������������id���������������
+ * @Description: ������������������������children���id���������������
* @Param: [menu, ids]
* @return: void
* @Author: ���������
@@ -289,4 +339,22 @@
}
}
+ /**
+ * @Description: ������menu������������������������������������menus���
+ * @Param: [menu, menus]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/5/13
+ */
+ private void getNotParentMenu(Menu menu, List<Menu> menus) {
+ if (ObjectUtils.isEmpty(menu.getChildren())) {
+ menus.add(menu);
+ } else {
+ List<Menu> children = menu.getChildren();
+ for (Menu child : children) {
+ getNotParentMenu(child, menus);
+ }
+ }
+ }
+
}
diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
index 3deaf39..56e6c5d 100644
--- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -32,7 +32,7 @@
join
manage_role_menu mrm
on
- mm.`id` = mrm.`menu_id` and mm.`is_delete`=0
+ mm.`id` = mrm.`menu_id` and mrm.`is_delete`=0
join
manage_role mr
on
diff --git a/screen-manage/src/main/resources/mapper/MenuMapper.xml b/screen-manage/src/main/resources/mapper/MenuMapper.xml
index 556ddc0..8f512dd 100644
--- a/screen-manage/src/main/resources/mapper/MenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/MenuMapper.xml
@@ -15,4 +15,25 @@
<result column="is_delete" property="isDelete" />
</resultMap>
+ <sql id="Base_Column_List">
+ m.id,m.name,m.url,m.icon,m.parent_id,m.order,m.create_time,m.update_time,m.is_delete
+ </sql>
+
+ <select id="getMenusByGroupId" resultMap="BaseResultMap">
+ SELECT
+ <include refid="Base_Column_List"></include>
+ FROM
+ menu m
+ JOIN
+ group_menu gm
+ ON
+ gm.`menu_id` = m.`id` AND gm.`is_delete` = 0
+ JOIN
+ `group` g
+ ON
+ g.`id` = gm.`group_id` AND g.`is_delete` = 0 AND g.`id` = #{value}
+ WHERE
+ m.`is_delete` = 0;
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0