diff --git a/system/src/main/java/com/canvas/web/modules/system/controller/UserController.java b/system/src/main/java/com/canvas/web/modules/system/controller/UserController.java index 12a1370..abc29ee 100644 --- a/system/src/main/java/com/canvas/web/modules/system/controller/UserController.java +++ b/system/src/main/java/com/canvas/web/modules/system/controller/UserController.java @@ -1,20 +1,27 @@ package com.canvas.web.modules.system.controller; +import cn.hutool.core.collection.CollectionUtil; import com.canvas.web.annotation.rest.AnonymousPostMapping; +import com.canvas.web.enums.ResponseEnum; import com.canvas.web.exception.BaseException; import com.canvas.web.modules.system.domain.User; +import com.canvas.web.modules.system.service.OrgService; import com.canvas.web.modules.system.service.RoleService; import com.canvas.web.modules.system.service.UserService; import com.canvas.web.modules.system.service.dto.RoleSmallDto; import com.canvas.web.modules.system.service.dto.UserDto; +import com.canvas.web.modules.system.service.dto.UserQueryCriteria; +import com.canvas.web.utils.PageUtil; import com.canvas.web.utils.Response; import com.canvas.web.utils.SecurityUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -32,16 +39,27 @@ public class UserController { private final UserService userService; private final RoleService roleService; + private final OrgService orgService; private final PasswordEncoder passwordEncoder; @ApiOperation("新增用户") @PostMapping - public ResponseEntity create(@Validated @RequestBody User resources) { + public Response create(@Validated @RequestBody User resources) { checkLevel(resources); // 默认密码 123456 resources.setPassword(passwordEncoder.encode("123456")); userService.create(resources); - return null; + return Response.success(ResponseEnum.CREATED); + } + + + public Response query(UserQueryCriteria criteria, Pageable pageable){ + //判断查询条件是否为空 + if (!ObjectUtils.isEmpty(criteria.getBlurry())){ + return Response.success(userService.queryAll(criteria,pageable)); + } + + return Response.success(PageUtil.toPage(null,0)); } @ApiOperation("测试异常接口") diff --git a/system/src/main/java/com/canvas/web/modules/system/domain/Menu.java b/system/src/main/java/com/canvas/web/modules/system/domain/Menu.java index 83d0a84..197150e 100644 --- a/system/src/main/java/com/canvas/web/modules/system/domain/Menu.java +++ b/system/src/main/java/com/canvas/web/modules/system/domain/Menu.java @@ -72,6 +72,10 @@ public class Menu extends BaseEntity implements Serializable { @ApiModelProperty(value = "外链菜单") private Boolean iFrame; + @Column(name = "show_position") + @ApiModelProperty(value = "显示地方 1.侧面 2.头部") + private Integer showPosition; + @Override public boolean equals(Object o) { diff --git a/system/src/main/java/com/canvas/web/modules/system/repository/MenuRepository.java b/system/src/main/java/com/canvas/web/modules/system/repository/MenuRepository.java index 2516ed5..1b4646d 100644 --- a/system/src/main/java/com/canvas/web/modules/system/repository/MenuRepository.java +++ b/system/src/main/java/com/canvas/web/modules/system/repository/MenuRepository.java @@ -33,7 +33,7 @@ public interface MenuRepository extends JpaRepository, JpaSpecificat //查询顶级菜单 List findByPidIsNull(); - @Query(value = "SELECT m.* FROM sys_menu m INNER JOIN sys_roles_menus r ON m.menu_id = r.menu_id WHERE " + + @Query(value = "SELECT m.* FROM sys_menu m INNER JOIN sys_roles_menus r ON m.id = r.menu_id WHERE " + " r.role_id IN ?1 AND type != ?2 AND m.show_position = ?3 order by m.menu_sort asc",nativeQuery = true) LinkedHashSet findByRoleIdsAndTypeNotAndShowPosition(Set roleIds, int type,int showPosition); diff --git a/system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java b/system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java index 9e4348c..49c899b 100644 --- a/system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java +++ b/system/src/main/java/com/canvas/web/modules/system/repository/RoleRepository.java @@ -21,7 +21,7 @@ public interface RoleRepository extends JpaRepository, JpaSpecificat //根据角色id查询 @Query(value = "SELECT r.* FROM sys_role r, sys_users_roles u WHERE " + - "r.role_id = u.role_id AND u.user_id = ?1",nativeQuery = true) + "r.id = u.role_id AND u.user_id = ?1",nativeQuery = true) Set findByUserId(Long id); @@ -32,6 +32,6 @@ public interface RoleRepository extends JpaRepository, JpaSpecificat //根据菜单id查询 @Query(value = "SELECT r.* FROM sys_role r, sys_roles_menus m WHERE " + - "r.role_id = m.role_id AND m.menu_id in ?1",nativeQuery = true) + "r.id = m.role_id AND m.menu_id in ?1",nativeQuery = true) List findInMenuId(List menuIds); } 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 new file mode 100644 index 0000000..b4662d5 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/system/service/OrgService.java @@ -0,0 +1,30 @@ +package com.canvas.web.modules.system.service; + +import com.canvas.web.modules.system.service.dto.OrgDto; + +import java.util.Set; + +public interface OrgService { + + + //根据id查询机构 + OrgDto findById(Long id); + + + //创建机构 + void create(OrgDto orgDto); + + + //修改机构 + void update(OrgDto orgDto); + + //删除机构 + void delete(Set orgDtos); + + //根据角色id查询 + Set findByRoleId(Long id); + + //验证是否被角色或用户关联 + void verification(Set orgDtos); + +} diff --git a/system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java b/system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java index 00403fd..cf56625 100644 --- a/system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java +++ b/system/src/main/java/com/canvas/web/modules/system/service/dto/UserQueryCriteria.java @@ -16,16 +16,13 @@ public class UserQueryCriteria implements Serializable { @Query private Long id; - @Query(propName = "id", type = Query.Type.IN, joinName = "dept") - private Set deptIds = new HashSet<>(); - - @Query(blurry = "email,username,nickName") + @Query(blurry = "username,nickName") private String blurry; @Query private Boolean enabled; - private Long deptId; + private Long OrgId; @Query(type = Query.Type.BETWEEN) private List createTime; 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 new file mode 100644 index 0000000..b180b71 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/system/service/impl/OrgServiceImpl.java @@ -0,0 +1,58 @@ +package com.canvas.web.modules.system.service.impl; + +import com.canvas.web.modules.system.repository.OrgRepository; +import com.canvas.web.modules.system.repository.RoleRepository; +import com.canvas.web.modules.system.repository.UserRepository; +import com.canvas.web.modules.system.service.OrgService; +import com.canvas.web.modules.system.service.dto.OrgDto; +import com.canvas.web.modules.system.service.mapstruct.OrgMapper; +import com.canvas.web.utils.RedisUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.stereotype.Service; + +import java.util.Set; + +@Service +@RequiredArgsConstructor +@CacheConfig(cacheNames = "Org") +public class OrgServiceImpl implements OrgService { + + + private final OrgRepository orgRepository; + private final OrgMapper orgMapper; + private final UserRepository userRepository; + private final RedisUtils redisUtils; + private final RoleRepository roleRepository; + + + @Override + public OrgDto findById(Long id) { + return null; + } + + @Override + public void create(OrgDto orgDto) { + + } + + @Override + public void update(OrgDto orgDto) { + + } + + @Override + public void delete(Set orgDtos) { + + } + + @Override + public Set findByRoleId(Long id) { + return null; + } + + @Override + public void verification(Set orgDtos) { + + } +}