diff --git a/system/src/main/java/com/canvas/web/modules/system/controller/MenuController.java b/system/src/main/java/com/canvas/web/modules/system/controller/MenuController.java index 0dd6a29..8b8b691 100644 --- a/system/src/main/java/com/canvas/web/modules/system/controller/MenuController.java +++ b/system/src/main/java/com/canvas/web/modules/system/controller/MenuController.java @@ -3,6 +3,7 @@ package com.canvas.web.modules.system.controller; import com.canvas.web.annotation.rest.AnonymousGetMapping; import com.canvas.web.enums.ResponseEnum; +import com.canvas.web.exception.BaseException; import com.canvas.web.modules.system.service.MenuService; import com.canvas.web.modules.system.service.dto.MenuDto; import com.canvas.web.modules.system.service.mapstruct.MenuMapper; @@ -12,10 +13,8 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -51,4 +50,16 @@ public class MenuController { } + @ApiOperation("创建菜单") + @PostMapping("create") + //@PreAuthorize("") //TODO:创建菜单 + public Response create(@Validated @RequestBody MenuDto menuDto){ + if (menuDto.getId()!=null){ + throw new BaseException("新菜单id应该为空"); + } + menuService.create(menuDto); + return Response.success(ResponseEnum.SUCCESS); + } + + } diff --git a/system/src/main/java/com/canvas/web/modules/system/controller/OrgController.java b/system/src/main/java/com/canvas/web/modules/system/controller/OrgController.java new file mode 100644 index 0000000..4c24920 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/system/controller/OrgController.java @@ -0,0 +1,58 @@ +package com.canvas.web.modules.system.controller; + + +import com.canvas.web.base.BaseEntity; +import com.canvas.web.enums.ResponseEnum; +import com.canvas.web.exception.BaseException; +import com.canvas.web.modules.logging.annotation.Log; +import com.canvas.web.modules.system.domain.Org; +import com.canvas.web.modules.system.service.OrgService; +import com.canvas.web.modules.system.service.dto.OrgDto; +import com.canvas.web.modules.system.service.dto.OrgQueryCriteria; +import com.canvas.web.utils.Response; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Pageable; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api("机构管理") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/org/") +public class OrgController { + + private final OrgService orgService; + + + @Log("新增机构") + @ApiOperation("新增机构") + @PostMapping("create") + //@PreAuthorize("") :TODO:超级管理员权限设置 + public Response create(@Validated @RequestBody OrgDto orgDto){ + + if (orgDto.getId() !=null){ + throw new BaseException("新的机构不能包含id"); + } + orgService.create(orgDto); + return Response.success(ResponseEnum.CREATED); + } + + @ApiOperation("查询机构列表") + @GetMapping("list") + //@PreAuthorize("") TODO:超级管理员权限查询 + public Response queryList(OrgQueryCriteria criteria, Pageable pageable){ + return Response.success(orgService.queryAll(criteria,pageable)); + } + + @ApiOperation("修改机构") + @Log("修改机构") + @PostMapping("edit") + //@PreAuthorize("") //TODO:超级管理员权限修改 + public Response update(@Validated @RequestBody OrgDto orgDto){ + orgService.update(orgDto); + return Response.success(ResponseEnum.UPDATE_SUCCESS); + } +} diff --git a/system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java b/system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java index 10db980..1e83640 100644 --- a/system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java +++ b/system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java @@ -41,7 +41,6 @@ public class RoleController { @ApiOperation("新增角色") @AnonymousPostMapping("/create") public Response create(@Validated @RequestBody RoleDto roleDto){ - Long id = SecurityUtils.getCurrentOrgId(); if (roleDto.getId() !=null){ throw new BaseException("A new cannot already have an ID", ResponseEnum.ROLE_ADD_ERROR_EXIST_ID.getMessage()); } @@ -58,6 +57,7 @@ public class RoleController { public Response queryAllRole(RoleQueryCriteria criteria, Pageable pageable){ //获取当前登录组织机构id Long id = SecurityUtils.getCurrentOrgId(); + if (id!=1L){ criteria.getOrgIds().add(id); //如果查询条件不为空 diff --git a/system/src/main/java/com/canvas/web/modules/system/service/MenuService.java b/system/src/main/java/com/canvas/web/modules/system/service/MenuService.java index 2f7f617..5d84eb9 100644 --- a/system/src/main/java/com/canvas/web/modules/system/service/MenuService.java +++ b/system/src/main/java/com/canvas/web/modules/system/service/MenuService.java @@ -15,7 +15,7 @@ public interface MenuService { //创建菜单 - void create(Menu resources); + void create(MenuDto resources); //编辑 diff --git a/system/src/main/java/com/canvas/web/modules/system/service/OrgService.java b/system/src/main/java/com/canvas/web/modules/system/service/OrgService.java index 4cafcca..a105349 100644 --- a/system/src/main/java/com/canvas/web/modules/system/service/OrgService.java +++ b/system/src/main/java/com/canvas/web/modules/system/service/OrgService.java @@ -3,6 +3,8 @@ package com.canvas.web.modules.system.service; import com.canvas.web.modules.system.domain.Org; import com.canvas.web.modules.system.service.dto.MenuDto; import com.canvas.web.modules.system.service.dto.OrgDto; +import com.canvas.web.modules.system.service.dto.OrgQueryCriteria; +import org.springframework.data.domain.Pageable; import java.util.List; import java.util.Set; @@ -32,4 +34,7 @@ public interface OrgService { //查询机构权限 List queryOrgMenus(Long id); + //查询所有机构列表 + Object queryAll(OrgQueryCriteria criteria, Pageable pageable); + } diff --git a/system/src/main/java/com/canvas/web/modules/system/service/impl/MenuServiceImpl.java b/system/src/main/java/com/canvas/web/modules/system/service/impl/MenuServiceImpl.java index 499d3ec..4fe6473 100644 --- a/system/src/main/java/com/canvas/web/modules/system/service/impl/MenuServiceImpl.java +++ b/system/src/main/java/com/canvas/web/modules/system/service/impl/MenuServiceImpl.java @@ -57,7 +57,7 @@ public class MenuServiceImpl implements MenuService { @Override @Transactional(rollbackFor = Exception.class) - public void create(Menu resources) { + public void create(MenuDto resources) { if (menuRepository.findByTitle(resources.getTitle()) != null) { throw new BaseException("菜单实体存在异常", ResponseEnum.MENU_ADD_ERROR_EXIST.getMessage()); } @@ -69,12 +69,7 @@ public class MenuServiceImpl implements MenuService { if (resources.getPid().equals(0L)) { resources.setPid(null); } -// if (resources.getIFrame()) { -// String http = "http://", https = "https://"; -// if (!resources.getPath().toLowerCase().startsWith(http)||resources.getPath().toLowerCase().startsWith(https)); -// throw new BaseException("外链必须以://或者https://"); -// } - menuRepository.save(resources); + menuRepository.save(menuMapper.toEntity(resources)); resources.setSubCount(0); updateSubCnt(resources.getId()); } diff --git a/system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java b/system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java index bbfd394..93d2227 100644 --- a/system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java +++ b/system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java @@ -7,11 +7,16 @@ import com.canvas.web.modules.system.repository.UserRepository; import com.canvas.web.modules.system.service.OrgService; import com.canvas.web.modules.system.service.dto.MenuDto; import com.canvas.web.modules.system.service.dto.OrgDto; +import com.canvas.web.modules.system.service.dto.OrgQueryCriteria; import com.canvas.web.modules.system.service.mapstruct.OrgMapper; +import com.canvas.web.utils.PageUtil; +import com.canvas.web.utils.QueryHelp; import com.canvas.web.utils.RedisUtils; import com.canvas.web.utils.ValidationUtil; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheConfig; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.List; @@ -67,4 +72,10 @@ public class OrgServiceImpl implements OrgService { public List queryOrgMenus(Long id) { return null; } + + @Override + public Object queryAll(OrgQueryCriteria criteria, Pageable pageable) { + Page page =orgRepository.findAll((root, query, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder), pageable); + return PageUtil.toPage(page.map(orgMapper::toDto)); + } }