Browse Source

fix bug of menus

master
刘力 3 years ago
parent
commit
2577d7efda
  1. 19
      system/src/main/java/com/canvas/web/modules/system/controller/MenuController.java
  2. 58
      system/src/main/java/com/canvas/web/modules/system/controller/OrgController.java
  3. 2
      system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java
  4. 2
      system/src/main/java/com/canvas/web/modules/system/service/MenuService.java
  5. 5
      system/src/main/java/com/canvas/web/modules/system/service/OrgService.java
  6. 9
      system/src/main/java/com/canvas/web/modules/system/service/impl/MenuServiceImpl.java
  7. 11
      system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java

19
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<Object> create(@Validated @RequestBody MenuDto menuDto){
if (menuDto.getId()!=null){
throw new BaseException("新菜单id应该为空");
}
menuService.create(menuDto);
return Response.success(ResponseEnum.SUCCESS);
}
}

58
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<Object> 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<Object> queryList(OrgQueryCriteria criteria, Pageable pageable){
return Response.success(orgService.queryAll(criteria,pageable));
}
@ApiOperation("修改机构")
@Log("修改机构")
@PostMapping("edit")
//@PreAuthorize("") //TODO:超级管理员权限修改
public Response<Object> update(@Validated @RequestBody OrgDto orgDto){
orgService.update(orgDto);
return Response.success(ResponseEnum.UPDATE_SUCCESS);
}
}

2
system/src/main/java/com/canvas/web/modules/system/controller/RoleController.java

@ -41,7 +41,6 @@ public class RoleController {
@ApiOperation("新增角色")
@AnonymousPostMapping("/create")
public Response<Object> 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<Object> queryAllRole(RoleQueryCriteria criteria, Pageable pageable){
//获取当前登录组织机构id
Long id = SecurityUtils.getCurrentOrgId();
if (id!=1L){
criteria.getOrgIds().add(id);
//如果查询条件不为空

2
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);
//编辑

5
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<MenuDto> queryOrgMenus(Long id);
//查询所有机构列表
Object queryAll(OrgQueryCriteria criteria, Pageable pageable);
}

9
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());
}

11
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<MenuDto> queryOrgMenus(Long id) {
return null;
}
@Override
public Object queryAll(OrgQueryCriteria criteria, Pageable pageable) {
Page<Org> page =orgRepository.findAll((root, query, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder), pageable);
return PageUtil.toPage(page.map(orgMapper::toDto));
}
}
Loading…
Cancel
Save