screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | ●●●●● patch | view | raw | blame | history |
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); } } screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuQueryDTO.java
New file @@ -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; } screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuQueryForm.java
New file @@ -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; } } screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuQueryVO.java
New file @@ -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; } } screen-manage/src/main/java/com/moral/api/pojo/vo/groupMenu/GroupMenuVO.java
New file @@ -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; } 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); } 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); } }