From 3481b78afafe5ff83d68a4f58741b7c15efcaeb1 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 11 May 2021 15:20:13 +0800
Subject: [PATCH] screen-manage                   组织分配菜单界面读取当前组织已有菜单接口

---
 screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java               |   20 ++++
 screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java          |   31 +++++++
 screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java     |   48 ++++++++++++
 screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java      |   62 ++++++++++++--
 screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java   |   23 +++++
 screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java |   23 +++++
 screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java         |   28 +++++-
 7 files changed, 216 insertions(+), 19 deletions(-)

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 a72cfe6..2a228d4 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,7 +1,10 @@
 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;
@@ -27,13 +30,7 @@
     @Autowired
     GroupMenuService groupMenuService;
 
-    /**
-    * @Description: ���admin������������������������
-            * @Param: [GroupMenuUpdateForm form]
-            * @return: com.moral.constant.ResultMessage
-            * @Author: ���������
-            * @Date: 2021/5/11
-            */
+
     @PostMapping("update")
     public ResultMessage update(@RequestBody GroupMenuUpdateForm form) {
 
@@ -48,4 +45,21 @@
         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/pojo/dto/groupMenu/GroupMenuQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java
new file mode 100644
index 0000000..8a67579
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java
@@ -0,0 +1,23 @@
+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/GroupMenuQueryForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java
new file mode 100644
index 0000000..0cb31f3
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 0000000..606631a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java
@@ -0,0 +1,48 @@
+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.setChannel(groupMenu.getChannel());
+        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
new file mode 100644
index 0000000..f03e7fc
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java
@@ -0,0 +1,31 @@
+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 Integer channel;
+
+    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 edaf4ff..b234bea 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
@@ -3,6 +3,8 @@
 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;
 
 /**
@@ -15,6 +17,22 @@
  */
 public interface GroupMenuService extends IService<GroupMenu> {
 
-    public GroupMenuDTO updateGroupMenu(GroupMenuUpdateForm form);
+    /**
+     * @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/impl/GroupMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index 85f0669..827af1c 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
@@ -7,6 +7,8 @@
 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;
@@ -17,6 +19,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -45,23 +48,17 @@
         Integer channel = form.getChannel();
         List<Integer> insertMenuIds = form.getMenuIds();
         //������orgId������������admin������id
-        QueryWrapper<Group> queryGroupWrapper = new QueryWrapper<>();
-        Group groupConditon = new Group();
-        groupConditon.setOrganizationId(orgId);
-        groupConditon.setGroupName("admin");
-        groupConditon.setIsDelete(Constants.NOT_DELETE);
-        queryGroupWrapper.setEntity(groupConditon);
-        Group group = groupMapper.selectOne(queryGroupWrapper);
-        if(ObjectUtils.isEmpty(group)){//������������������������������������������������
+        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);
+        deleteWrapper.set("is_delete", Constants.DELETE);
+        deleteWrapper.eq("group_id", group.getId());
+        groupMenuMapper.update(null, deleteWrapper);
         //������������
         for (Integer menuId : insertMenuIds) {
             GroupMenu groupMenu = new GroupMenu();
@@ -76,4 +73,47 @@
         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);
+    }
+
+
 }

--
Gitblit v1.8.0