diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/pom.xml b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/pom.xml index 113d28b..e0fd0c3 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/pom.xml +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/pom.xml @@ -32,24 +32,7 @@ jc-club-auth-domain 1.0-SNAPSHOT - - - cn.dev33 - sa-token-spring-boot-starter - 1.37.0 - - - - cn.dev33 - sa-token-redis-jackson - 1.37.0 - - - - org.apache.commons - commons-pool2 - 2.9.0 - + diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/PermissionController.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/PermissionController.java new file mode 100644 index 0000000..37c7aad --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/PermissionController.java @@ -0,0 +1,102 @@ +package com.landaiqing.auth.application.controller; + +import com.alibaba.fastjson.JSON; +import com.google.common.base.Preconditions; +import com.landaiqing.auth.application.convert.AuthPermissionDTOConverter; +import com.landaiqing.auth.application.dto.AuthPermissionDTO; +import com.landaiqing.auth.domain.entity.AuthPermissionBO; +import com.landaiqing.auth.domain.service.AuthPermissionDomainService; +import com.landaiqing.auth.common.entity.Result; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 权限controller + * + * @author: landaiqing + * @date: 2024/2/19 + */ +@RestController +@RequestMapping("/permission/") +@Slf4j +public class PermissionController { + + @Resource + private AuthPermissionDomainService authPermissionDomainService; + + /** + * 新增权限 + */ + @RequestMapping("add") + public Result add(@RequestBody AuthPermissionDTO authPermissionDTO) { + try { + if (log.isInfoEnabled()) { + log.info("PermissionController.add.dto:{}", JSON.toJSONString(authPermissionDTO)); + } + Preconditions.checkArgument(!StringUtils.isBlank(authPermissionDTO.getName()), "权限名称不能为空"); + Preconditions.checkNotNull(authPermissionDTO.getParentId(), "权限父id不能为空"); + AuthPermissionBO permissionBO = AuthPermissionDTOConverter.INSTANCE.convertDTOToBO(authPermissionDTO); + return Result.ok(authPermissionDomainService.add(permissionBO)); + } catch (Exception e) { + log.error("PermissionController.add.error:{}", e.getMessage(), e); + return Result.fail("新增权限失败"); + } + } + + /** + * 修改权限 + */ + @RequestMapping("update") + public Result update(@RequestBody AuthPermissionDTO authPermissionDTO) { + try { + if (log.isInfoEnabled()) { + log.info("PermissionController.update.dto:{}", JSON.toJSONString(authPermissionDTO)); + } + Preconditions.checkNotNull(authPermissionDTO.getId(), "权限id不能为空"); + AuthPermissionBO permissionBO = AuthPermissionDTOConverter.INSTANCE.convertDTOToBO(authPermissionDTO); + return Result.ok(authPermissionDomainService.update(permissionBO)); + } catch (Exception e) { + log.error("PermissionController.update.error:{}", e.getMessage(), e); + return Result.fail("更新权限信息失败"); + } + } + + /** + * 删除权限 + */ + @RequestMapping("delete") + public Result delete(@RequestBody AuthPermissionDTO authPermissionDTO) { + try { + if (log.isInfoEnabled()) { + log.info("PermissionController.delete.dto:{}", JSON.toJSONString(authPermissionDTO)); + } + Preconditions.checkNotNull(authPermissionDTO.getId(), "权限id不能为空"); + AuthPermissionBO permissionBO = AuthPermissionDTOConverter.INSTANCE.convertDTOToBO(authPermissionDTO); + return Result.ok(authPermissionDomainService.delete(permissionBO)); + } catch (Exception e) { + log.error("PermissionController.delete.error:{}", e.getMessage(), e); + return Result.fail("删除权限信息失败"); + } + } + + /** + * 查询用户权限 + */ + @RequestMapping("getPermission") + public Result getPermission(String userName) { + try { + log.info("PermissionController.getPermission.userName:{}",userName); + Preconditions.checkArgument(!StringUtils.isBlank(userName), "用户id不能为空"); + return Result.ok(authPermissionDomainService.getPermission(userName)); + } catch (Exception e) { + log.error("PermissionController.getPermission.error:{}", e.getMessage(), e); + return Result.fail("查询用户权限信息失败"); + } + } + +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RoleController.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RoleController.java new file mode 100644 index 0000000..559fd51 --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RoleController.java @@ -0,0 +1,90 @@ +package com.landaiqing.auth.application.controller; + +import com.alibaba.fastjson.JSON; +import com.google.common.base.Preconditions; +import com.landaiqing.auth.application.convert.AuthRoleDTOConverter; +import com.landaiqing.auth.application.dto.AuthRoleDTO; +import com.landaiqing.auth.common.entity.Result; +import com.landaiqing.auth.domain.entity.AuthRoleBO; +import com.landaiqing.auth.domain.service.AuthRoleDomainService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Classname RoleController + * @BelongsProject: jc-club + * @BelongsPackage: com.landaiqing.auth.application.controller + * @Author: landaiqing + * @CreateTime: 2024-02-19 15:34 + * @Description: TODO + * @Version: 1.0 + */ +@RestController +@RequestMapping("/role/") +@Slf4j +public class RoleController { + @Resource + private AuthRoleDomainService authRoleDomainService; + /** + * @description: 新增角色 + * @param: [authRoleDTO] + * @return: com.landaiqing.auth.common.entity.Result + * @author landaiqing + * @date: 2024/2/19 15:36 + */ + @PostMapping("add") + public Result add(@RequestBody AuthRoleDTO authRoleDTO){ + try { + if (log.isInfoEnabled()) { + log.info("RoleController.add.dto:{}", JSON.toJSONString(authRoleDTO)); + } + Preconditions.checkNotNull(authRoleDTO.getRoleName(),"角色名称不能为空"); + Preconditions.checkNotNull(authRoleDTO.getRoleKey(),"角色Key不能为空"); + AuthRoleBO authRoleBO = AuthRoleDTOConverter.INSTANCE.convertDTOToBO(authRoleDTO); + return Result.ok(authRoleDomainService.add(authRoleBO)); + } catch (Exception e) { + log.error("RoleController.add.error:{}", e.getMessage(), e); + return Result.fail("新增角色失败"); + } + } + @PostMapping("update") + public Result update(@RequestBody AuthRoleDTO authRoleDTO){ + try { + if (log.isInfoEnabled()) { + log.info("RoleController.update.dto:{}", JSON.toJSONString(authRoleDTO)); + } + Preconditions.checkNotNull(authRoleDTO.getId(),"角色id不能为空"); + + AuthRoleBO authRoleBO = AuthRoleDTOConverter.INSTANCE.convertDTOToBO(authRoleDTO); + return Result.ok(authRoleDomainService.update(authRoleBO)); + } catch (Exception e) { + log.error("RoleController.update.error:{}", e.getMessage(), e); + return Result.fail("更新角色信息失败"); + } + } + /** + * @description: 删除角色 + * @param: [authRoleDTO] + * @return: com.landaiqing.auth.common.entity.Result + * @author landaiqing + * @date: 2024/2/19 15:53 + */ + @PostMapping("delete") + public Result delete(@RequestBody AuthRoleDTO authRoleDTO){ + try { + if (log.isInfoEnabled()) { + log.info("RoleController.delete.dto:{}", JSON.toJSONString(authRoleDTO)); + } + AuthRoleBO authRoleBO = AuthRoleDTOConverter.INSTANCE.convertDTOToBO(authRoleDTO); + return Result.ok(authRoleDomainService.delete(authRoleBO)); + } catch (Exception e) { + log.error("RoleController.delete.error:{}", e.getMessage(), e); + return Result.fail("删除角色信息失败"); + } + } +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RolePermissionController.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RolePermissionController.java new file mode 100644 index 0000000..c99bae1 --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/RolePermissionController.java @@ -0,0 +1,50 @@ +package com.landaiqing.auth.application.controller; + +import com.alibaba.fastjson.JSON; +import com.google.common.base.Preconditions; +import com.landaiqing.auth.application.convert.AuthRolePermissionDTOConverter; +import com.landaiqing.auth.application.dto.AuthRolePermissionDTO; +import com.landaiqing.auth.common.entity.Result; +import com.landaiqing.auth.domain.entity.AuthRolePermissionBO; +import com.landaiqing.auth.domain.service.AuthRolePermissionDomainService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 角色权限controller + * + * @author: landaiqing + */ +@RestController +@RequestMapping("/rolePermission/") +@Slf4j +public class RolePermissionController { + + @Resource + private AuthRolePermissionDomainService authRolePermissionDomainService; + + /** + * 新增角色权限关联关系 + */ + @RequestMapping("add") + public Result add(@RequestBody AuthRolePermissionDTO authRolePermissionDTO) { + try { + if (log.isInfoEnabled()) { + log.info("RolePermissionController.add.dto:{}", JSON.toJSONString(authRolePermissionDTO)); + } + Preconditions.checkArgument(!CollectionUtils.isEmpty(authRolePermissionDTO.getPermissionIdList()),"权限关联不能为空"); + Preconditions.checkNotNull(authRolePermissionDTO.getRoleId(),"角色不能为空!"); + AuthRolePermissionBO rolePermissionBO = AuthRolePermissionDTOConverter.INSTANCE.convertDTOToBO(authRolePermissionDTO); + return Result.ok(authRolePermissionDomainService.add(rolePermissionBO)); + } catch (Exception e) { + log.error("PermissionController.add.error:{}", e.getMessage(), e); + return Result.fail("新增角色权限失败"); + } + } + +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/UserController.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/UserController.java index 339e21f..8531af6 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/UserController.java +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/controller/UserController.java @@ -45,10 +45,7 @@ public class UserController { if (log.isInfoEnabled()) { log.info("UserController.register.dto:{}", JSON.toJSONString(authUserDTO)); } - Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getUserName()),"用户名不能为空"); - Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getEmail()),"邮箱不能为空"); - Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getPassword()),"密码不能为空"); - + checkUserInfo(authUserDTO); AuthUserBO authUserBO = AuthUserDTOConverter.INSTANCE.convertDTOToBO(authUserDTO); return Result.ok(authUserDomainService.register(authUserBO)); } catch (Exception e) { @@ -56,4 +53,74 @@ public class UserController { return Result.fail("注册用户失败"); } } + /** + * @description: 修改用户信息 + * @param: [authUserDTO] + * @return: com.landaiqing.auth.common.entity.Result + * @author landaiqing + * @date: 2024/2/19 14:38 + */ + @PostMapping("update") + public Result update(@RequestBody AuthUserDTO authUserDTO){ + try { + if (log.isInfoEnabled()) { + log.info("UserController.update.dto:{}", JSON.toJSONString(authUserDTO)); + } + checkUserInfo(authUserDTO); + AuthUserBO authUserBO = AuthUserDTOConverter.INSTANCE.convertDTOToBO(authUserDTO); + return Result.ok(authUserDomainService.update(authUserBO)); + } catch (Exception e) { + log.error("UserController.update.error:{}", e.getMessage(), e); + return Result.fail("更新用户信息失败"); + } + } + /** + * @description: 用户启用/禁用 + * @param: [authUserDTO] + * @return: com.landaiqing.auth.common.entity.Result + * @author landaiqing + * @date: 2024/2/19 14:56 + */ + @PostMapping("changeStatus") + public Result changeStatus(@RequestBody AuthUserDTO authUserDTO){ + try { + if (log.isInfoEnabled()) { + log.info("UserController.changeStatus.dto:{}", JSON.toJSONString(authUserDTO)); + } + Preconditions.checkNotNull(authUserDTO.getStatus(),"用户名状态不能为空"); + AuthUserBO authUserBO = AuthUserDTOConverter.INSTANCE.convertDTOToBO(authUserDTO); + return Result.ok(authUserDomainService.update(authUserBO)); + } catch (Exception e) { + log.error("UserController.changeStatus.error:{}", e.getMessage(), e); + return Result.fail("启用/禁用用户信息失败"); + } + } + + + /** + * @description: 删除用户 + * @param: [authUserDTO] + * @return: com.landaiqing.auth.common.entity.Result + * @author landaiqing + * @date: 2024/2/19 14:50 + */ + @PostMapping("delete") + public Result delete(@RequestBody AuthUserDTO authUserDTO){ + try { + if (log.isInfoEnabled()) { + log.info("UserController.update.dto:{}", JSON.toJSONString(authUserDTO)); + } + AuthUserBO authUserBO = AuthUserDTOConverter.INSTANCE.convertDTOToBO(authUserDTO); + return Result.ok(authUserDomainService.delete(authUserBO)); + } catch (Exception e) { + log.error("UserController.update.error:{}", e.getMessage(), e); + return Result.fail("删除用户信息失败"); + } + } + + private void checkUserInfo(@RequestBody AuthUserDTO authUserDTO) { + Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getUserName()),"用户名不能为空"); + Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getEmail()),"邮箱不能为空"); + Preconditions.checkArgument(!StringUtils.isBlank(authUserDTO.getPassword()),"密码不能为空"); + } } diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthPermissionDTOConverter.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthPermissionDTOConverter.java new file mode 100644 index 0000000..af82b90 --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthPermissionDTOConverter.java @@ -0,0 +1,21 @@ +package com.landaiqing.auth.application.convert; + +import com.landaiqing.auth.application.dto.AuthPermissionDTO; +import com.landaiqing.auth.domain.entity.AuthPermissionBO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 权限dto转换器 + * + * @author: landaiqing + * @date: 2024/2/19 + */ +@Mapper +public interface AuthPermissionDTOConverter { + + AuthPermissionDTOConverter INSTANCE = Mappers.getMapper(AuthPermissionDTOConverter.class); + + AuthPermissionBO convertDTOToBO(AuthPermissionDTO authPermissionDTO); + +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRoleDTOConverter.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRoleDTOConverter.java new file mode 100644 index 0000000..ffacd5e --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRoleDTOConverter.java @@ -0,0 +1,22 @@ +package com.landaiqing.auth.application.convert; + +import com.landaiqing.auth.application.dto.AuthRoleDTO; +import com.landaiqing.auth.domain.entity.AuthRoleBO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 角色dto转换器 + * + * @author: landaiqing + */ +@Mapper +public interface AuthRoleDTOConverter { + + AuthRoleDTOConverter INSTANCE = Mappers.getMapper(AuthRoleDTOConverter.class); + + AuthRoleBO convertDTOToBO(AuthRoleDTO authRoleDTO); + + AuthRoleDTO convertBOToDTO(AuthRoleBO authRoleBO); + +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRolePermissionDTOConverter.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRolePermissionDTOConverter.java new file mode 100644 index 0000000..50d93d0 --- /dev/null +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthRolePermissionDTOConverter.java @@ -0,0 +1,20 @@ +package com.landaiqing.auth.application.convert; + +import com.landaiqing.auth.application.dto.AuthRolePermissionDTO; +import com.landaiqing.auth.domain.entity.AuthRolePermissionBO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 权限dto转换器 + * + * @author: landaiqing + */ +@Mapper +public interface AuthRolePermissionDTOConverter { + + AuthRolePermissionDTOConverter INSTANCE = Mappers.getMapper(AuthRolePermissionDTOConverter.class); + + AuthRolePermissionBO convertDTOToBO(AuthRolePermissionDTO authRolePermissionDTO); + +} diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthUserDTOConverter.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthUserDTOConverter.java index d320908..1fd41ad 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthUserDTOConverter.java +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/convert/AuthUserDTOConverter.java @@ -9,7 +9,6 @@ import org.mapstruct.factory.Mappers; * 用户dto转换器 * * @author: landaiqing - * @date: 2023/10/8 */ @Mapper public interface AuthUserDTOConverter { diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthPermissionDTO.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthPermissionDTO.java index f4d7a56..4427882 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthPermissionDTO.java +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthPermissionDTO.java @@ -8,7 +8,7 @@ import java.io.Serializable; * 权限dto * * @author: landaiqing - * @date: 2023/11/3 + * @date: 2024/2/19 */ @Data public class AuthPermissionDTO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRoleDTO.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRoleDTO.java index 8fa8100..8eb56d8 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRoleDTO.java +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRoleDTO.java @@ -8,7 +8,7 @@ import java.io.Serializable; * 角色dto * * @author: landaiqing - * @date: 2023/11/2 + * @date: 2024/2/19 */ @Data public class AuthRoleDTO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRolePermissionDTO.java b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRolePermissionDTO.java index 6f8266a..991ba16 100644 --- a/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRolePermissionDTO.java +++ b/jc-club-auth/jc-club-auth-application/jc-club-auth-application-controller/src/main/java/com/landaiqing/auth/application/dto/AuthRolePermissionDTO.java @@ -9,7 +9,6 @@ import java.util.List; * (AuthRolePermission)实体类 * * @author landaiqing - * @since 2023-11-04 22:16:00 */ @Data public class AuthRolePermissionDTO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-common/pom.xml b/jc-club-auth/jc-club-auth-common/pom.xml index e23b0cf..adee52c 100644 --- a/jc-club-auth/jc-club-auth-common/pom.xml +++ b/jc-club-auth/jc-club-auth-common/pom.xml @@ -58,5 +58,24 @@ commons-lang3 3.11 + + + + cn.dev33 + sa-token-spring-boot-starter + 1.37.0 + + + + cn.dev33 + sa-token-redis-jackson + 1.37.0 + + + + org.apache.commons + commons-pool2 + 2.9.0 + diff --git a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageInfo.java b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageInfo.java index a683e23..6f20aa0 100644 --- a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageInfo.java +++ b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageInfo.java @@ -4,7 +4,6 @@ package com.landaiqing.auth.common.entity; * 分页请求实体 * * @author: landaiqing - * @date: 2023/10/5 */ public class PageInfo { diff --git a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageResult.java b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageResult.java index ea8a6db..9f43aa6 100644 --- a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageResult.java +++ b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/entity/PageResult.java @@ -10,7 +10,6 @@ import java.util.List; * 分页返回实体 * * @author: landaiqing - * @date: 2023/10/5 */ @Data public class PageResult implements Serializable { diff --git a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/AuthUserStatusEnum.java b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/AuthUserStatusEnum.java index 1a8edaf..02539a1 100644 --- a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/AuthUserStatusEnum.java +++ b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/AuthUserStatusEnum.java @@ -6,7 +6,6 @@ import lombok.Getter; * 用户状态枚举 * * @author: landaiqing - * @date: 2023/10/3 */ @Getter public enum AuthUserStatusEnum { diff --git a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/IsDeletedFlagEnum.java b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/IsDeletedFlagEnum.java index 1fd0f4b..5664864 100644 --- a/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/IsDeletedFlagEnum.java +++ b/jc-club-auth/jc-club-auth-common/src/main/java/com/landaiqing/auth/common/enums/IsDeletedFlagEnum.java @@ -6,7 +6,6 @@ import lombok.Getter; * 删除状态枚举 * * @author: landaiqing - * @date: 2023/10/3 */ @Getter public enum IsDeletedFlagEnum { diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/constants/AuthConstant.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/constants/AuthConstant.java new file mode 100644 index 0000000..1f19e0b --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/constants/AuthConstant.java @@ -0,0 +1,13 @@ +package com.landaiqing.auth.domain.constants; + +/** + * auth服务常量 + * + * @author: landaiqing + * @date: 2024/2/19 + */ +public class AuthConstant { + + public static final String NORMAL_USER = "normal_user"; + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthPermissionBO.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthPermissionBO.java index 13d5fca..6ddec88 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthPermissionBO.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthPermissionBO.java @@ -8,7 +8,7 @@ import java.io.Serializable; * 权限dto * * @author: landaiqing - * @date: 2023/11/3 + * @date: 2024/2/19 */ @Data public class AuthPermissionBO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRoleBO.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRoleBO.java index 35b6e63..150fbdd 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRoleBO.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRoleBO.java @@ -8,7 +8,6 @@ import java.io.Serializable; * 角色bo * * @author: landaiqing - * @date: 2023/11/2 */ @Data public class AuthRoleBO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRolePermissionBO.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRolePermissionBO.java index d053bad..4c6e794 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRolePermissionBO.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthRolePermissionBO.java @@ -9,7 +9,6 @@ import java.util.List; * (AuthRolePermission)实体类 * * @author landaiqing - * @since 2023-11-04 22:16:00 */ @Data public class AuthRolePermissionBO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthUserBO.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthUserBO.java index 8337cd4..ae653ba 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthUserBO.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/entity/AuthUserBO.java @@ -8,7 +8,6 @@ import java.io.Serializable; * 用戶信息dto * * @author: landaiqing - * @date: 2023/11/1 */ @Data public class AuthUserBO implements Serializable { diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisConfig.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisConfig.java new file mode 100644 index 0000000..871f191 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisConfig.java @@ -0,0 +1,46 @@ +package com.landaiqing.auth.domain.redis; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * Redis的config处理 + * + * @author: landaiqing + */ +@Configuration +public class RedisConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate redisTemplate = new RedisTemplate<>(); + RedisSerializer redisSerializer = new StringRedisSerializer(); + redisTemplate.setConnectionFactory(redisConnectionFactory); + redisTemplate.setKeySerializer(redisSerializer); + redisTemplate.setHashKeySerializer(redisSerializer); + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer()); + redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer()); + return redisTemplate; + } + + private Jackson2JsonRedisSerializer jackson2JsonRedisSerializer() { + Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); + jsonRedisSerializer.setObjectMapper(objectMapper); + return jsonRedisSerializer; + } + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisUtil.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisUtil.java new file mode 100644 index 0000000..1026096 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/redis/RedisUtil.java @@ -0,0 +1,107 @@ +package com.landaiqing.auth.domain.redis; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * RedisUtil工具类 + * + * @author: landaiqing + * @date: 2024/2/19 + */ +@Component +@Slf4j +public class RedisUtil { + + @Resource + private RedisTemplate redisTemplate; + + private static final String CACHE_KEY_SEPARATOR = "."; + + /** + * 构建缓存key + */ + public String buildKey(String... strObjs) { + return Stream.of(strObjs).collect(Collectors.joining(CACHE_KEY_SEPARATOR)); + } + + /** + * 是否存在key + */ + public boolean exist(String key) { + return redisTemplate.hasKey(key); + } + + /** + * 删除key + */ + public boolean del(String key) { + return redisTemplate.delete(key); + } + + /** + * set(不带过期) + */ + public void set(String key, String value) { + redisTemplate.opsForValue().set(key, value); + } + + /** + * set(带过期) + */ + public boolean setNx(String key, String value, Long time, TimeUnit timeUnit) { + return redisTemplate.opsForValue().setIfAbsent(key, value, time, timeUnit); + } + + /** + * 获取string类型缓存 + */ + public String get(String key) { + return (String) redisTemplate.opsForValue().get(key); + } + + public Boolean zAdd(String key, String value, Long score) { + return redisTemplate.opsForZSet().add(key, value, Double.valueOf(String.valueOf(score))); + } + + public Long countZset(String key) { + return redisTemplate.opsForZSet().size(key); + } + + public Set rangeZset(String key, long start, long end) { + return redisTemplate.opsForZSet().range(key, start, end); + } + + public Long removeZset(String key, Object value) { + return redisTemplate.opsForZSet().remove(key, value); + } + + public void removeZsetList(String key, Set value) { + value.stream().forEach((val) -> redisTemplate.opsForZSet().remove(key, val)); + } + + public Double score(String key, Object value) { + return redisTemplate.opsForZSet().score(key, value); + } + + public Set rangeByScore(String key, long start, long end) { + return redisTemplate.opsForZSet().rangeByScore(key, Double.valueOf(String.valueOf(start)), Double.valueOf(String.valueOf(end))); + } + + public Object addScore(String key, Object obj, double score) { + return redisTemplate.opsForZSet().incrementScore(key, obj, score); + } + + public Object rank(String key, Object obj) { + return redisTemplate.opsForZSet().rank(key, obj); + } + + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthPermissionDomainService.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthPermissionDomainService.java new file mode 100644 index 0000000..26e5fc5 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthPermissionDomainService.java @@ -0,0 +1,22 @@ +package com.landaiqing.auth.domain.service; + +import com.landaiqing.auth.domain.entity.AuthPermissionBO; + +import java.util.List; + +/** + * 权限领域service + * + * @author: landaiqing + * @date: 2024/2/19 + */ +public interface AuthPermissionDomainService { + + Boolean add(AuthPermissionBO authPermissionBO); + + Boolean update(AuthPermissionBO authPermissionBO); + + Boolean delete(AuthPermissionBO authPermissionBO); + + List getPermission(String userName); +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRoleDomainService.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRoleDomainService.java new file mode 100644 index 0000000..35f8cb5 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRoleDomainService.java @@ -0,0 +1,23 @@ +package com.landaiqing.auth.domain.service; + + +import com.landaiqing.auth.domain.entity.AuthRoleBO; + +/** + * 角色领域service + * + * @author: landaiqing + * @date: 2024/2/19 + */ +public interface AuthRoleDomainService { + + /** + * 注册 + */ + Boolean add(AuthRoleBO authRoleBO); + + Boolean update(AuthRoleBO authRoleBO); + + Boolean delete(AuthRoleBO authRoleBO); +} + diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRolePermissionDomainService.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRolePermissionDomainService.java new file mode 100644 index 0000000..56f6029 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthRolePermissionDomainService.java @@ -0,0 +1,14 @@ +package com.landaiqing.auth.domain.service; + +import com.landaiqing.auth.domain.entity.AuthRolePermissionBO; + +/** + * 角色领域service + * + * @author: landaiqing + */ +public interface AuthRolePermissionDomainService { + + Boolean add(AuthRolePermissionBO authRolePermissionBO); + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthUserDomainService.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthUserDomainService.java index 31ff9bb..d994d70 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthUserDomainService.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/AuthUserDomainService.java @@ -16,6 +16,11 @@ public interface AuthUserDomainService { */ Boolean register(AuthUserBO authUserBO); + /** + * 更新用户信息 + */ + Object update(AuthUserBO authUserBO); + Object delete(AuthUserBO authUserBO); } diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthPermissionDomainServiceImpl.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthPermissionDomainServiceImpl.java new file mode 100644 index 0000000..2b92f3c --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthPermissionDomainServiceImpl.java @@ -0,0 +1,71 @@ +package com.landaiqing.auth.domain.service.impl; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import com.landaiqing.auth.common.enums.IsDeletedFlagEnum; +import com.landaiqing.auth.domain.convert.AuthPermissionBOConverter; +import com.landaiqing.auth.domain.entity.AuthPermissionBO; +import com.landaiqing.auth.domain.redis.RedisUtil; +import com.landaiqing.auth.domain.service.AuthPermissionDomainService; +import com.landaiqing.auth.infra.basic.entity.AuthPermission; +import com.landaiqing.auth.infra.basic.service.AuthPermissionService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Slf4j +public class AuthPermissionDomainServiceImpl implements AuthPermissionDomainService { + + @Resource + private AuthPermissionService authPermissionService; + + @Resource + private RedisUtil redisUtil; + + private String authPermissionPrefix = "auth.permission"; + + @Override + public Boolean add(AuthPermissionBO authPermissionBO) { + AuthPermission authPermission = AuthPermissionBOConverter.INSTANCE.convertBOToEntity(authPermissionBO); + authPermission.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode()); + Integer count = authPermissionService.insert(authPermission); + return count > 0; + } + + @Override + public Boolean update(AuthPermissionBO authPermissionBO) { + AuthPermission authPermission = AuthPermissionBOConverter.INSTANCE.convertBOToEntity(authPermissionBO); + Integer count = authPermissionService.update(authPermission); + return count > 0; + } + + @Override + public Boolean delete(AuthPermissionBO authPermissionBO) { + AuthPermission authPermission = new AuthPermission(); + authPermission.setId(authPermissionBO.getId()); + authPermission.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode()); + Integer count = authPermissionService.update(authPermission); + return count > 0; + } + + @Override + public List getPermission(String userName) { + String permissionKey = redisUtil.buildKey(authPermissionPrefix, userName); + String permissionValue = redisUtil.get(permissionKey); + if (StringUtils.isBlank(permissionValue)) { + return Collections.emptyList(); + } + List permissionList = new Gson().fromJson(permissionValue, + new TypeToken>() { + }.getType()); + List authList = permissionList.stream().map(AuthPermission::getPermissionKey).collect(Collectors.toList()); + return authList; + } + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRoleDomainServiceImpl.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRoleDomainServiceImpl.java new file mode 100644 index 0000000..15ccd04 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRoleDomainServiceImpl.java @@ -0,0 +1,44 @@ +package com.landaiqing.auth.domain.service.impl; + +import com.landaiqing.auth.common.enums.IsDeletedFlagEnum; +import com.landaiqing.auth.domain.convert.AuthRoleBOConverter; +import com.landaiqing.auth.domain.entity.AuthRoleBO; +import com.landaiqing.auth.domain.service.AuthRoleDomainService; +import com.landaiqing.auth.infra.basic.entity.AuthRole; +import com.landaiqing.auth.infra.basic.service.AuthRoleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class AuthRoleDomainServiceImpl implements AuthRoleDomainService { + + @Resource + private AuthRoleService authRoleService; + + @Override + public Boolean add(AuthRoleBO authRoleBO) { + AuthRole authRole = AuthRoleBOConverter.INSTANCE.convertBOToEntity(authRoleBO); + authRole.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode()); + Integer count = authRoleService.insert(authRole); + return count > 0; + } + + @Override + public Boolean update(AuthRoleBO authRoleBO) { + AuthRole authRole = AuthRoleBOConverter.INSTANCE.convertBOToEntity(authRoleBO); + int count = authRoleService.update(authRole); + return count > 0; + } + + @Override + public Boolean delete(AuthRoleBO authRoleBO) { + AuthRole authRole = new AuthRole(); + authRole.setId(authRoleBO.getId()); + authRole.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode()); + int count = authRoleService.update(authRole); + return count > 0; + } +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRolePermissionDomainServiceImpl.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRolePermissionDomainServiceImpl.java new file mode 100644 index 0000000..0de6958 --- /dev/null +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthRolePermissionDomainServiceImpl.java @@ -0,0 +1,38 @@ +package com.landaiqing.auth.domain.service.impl; + +import com.landaiqing.auth.common.enums.IsDeletedFlagEnum; +import com.landaiqing.auth.domain.entity.AuthRolePermissionBO; +import com.landaiqing.auth.domain.service.AuthRolePermissionDomainService; +import com.landaiqing.auth.infra.basic.entity.AuthRolePermission; +import com.landaiqing.auth.infra.basic.service.AuthRolePermissionService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.LinkedList; +import java.util.List; + +@Service +@Slf4j +public class AuthRolePermissionDomainServiceImpl implements AuthRolePermissionDomainService { + + @Resource + private AuthRolePermissionService authRolePermissionService; + + @Override + public Boolean add(AuthRolePermissionBO authRolePermissionBO) { + List rolePermissionList = new LinkedList<>(); + Long roleId = authRolePermissionBO.getRoleId(); + authRolePermissionBO.getPermissionIdList().forEach(permissionId -> { + AuthRolePermission authRolePermission = new AuthRolePermission(); + authRolePermission.setRoleId(roleId); + authRolePermission.setPermissionId(permissionId); + authRolePermission.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode()); + rolePermissionList.add(authRolePermission); + }); + int count = authRolePermissionService.batchInsert(rolePermissionList); + return count > 0; + } + + +} diff --git a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthUserDomainServiceImpl.java b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthUserDomainServiceImpl.java index 5a45b69..0af4c34 100644 --- a/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthUserDomainServiceImpl.java +++ b/jc-club-auth/jc-club-auth-domain/src/main/java/com/landaiqing/auth/domain/service/impl/AuthUserDomainServiceImpl.java @@ -1,14 +1,22 @@ package com.landaiqing.auth.domain.service.impl; +import cn.dev33.satoken.secure.SaSecureUtil; import com.landaiqing.auth.common.enums.AuthUserStatusEnum; import com.landaiqing.auth.common.enums.IsDeletedFlagEnum; -import com.landaiqing .auth.domain.convert.AuthUserBOConverter; +import com.landaiqing.auth.domain.constants.AuthConstant; +import com.landaiqing.auth.domain.convert.AuthUserBOConverter; import com.landaiqing.auth.domain.entity.AuthUserBO; import com.landaiqing.auth.domain.service.AuthUserDomainService; +import com.landaiqing.auth.infra.basic.entity.AuthRole; import com.landaiqing.auth.infra.basic.entity.AuthUser; +import com.landaiqing.auth.infra.basic.entity.AuthUserRole; +import com.landaiqing.auth.infra.basic.service.AuthRoleService; +import com.landaiqing.auth.infra.basic.service.AuthUserRoleService; import com.landaiqing.auth.infra.basic.service.AuthUserService; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -19,13 +27,51 @@ public class AuthUserDomainServiceImpl implements AuthUserDomainService { @Resource private AuthUserService authUserService; + @Resource + private AuthUserRoleService authUserRoleService; + + @Resource + private AuthRoleService authRoleService; + + private String salt="landaiqing"; @Override + @SneakyThrows + @Transactional(rollbackFor = Exception.class) public Boolean register(AuthUserBO authUserBO) { AuthUser authUser = AuthUserBOConverter.INSTANCE.convertBOToEntity(authUserBO); + authUser.setPassword(SaSecureUtil.md5BySalt(authUser.getPassword(),salt)); authUser.setStatus(AuthUserStatusEnum.OPEN.getCode()); authUser.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode()); Integer count = authUserService.insert(authUser); + + // 用户和角色关联 + AuthRole authRole=new AuthRole(); + authRole.setRoleKey(AuthConstant.NORMAL_USER); + AuthRole roleResult = authRoleService.queryByCondition(authRole); + Long roleId = roleResult.getId(); + Long userId = authUser.getId(); + AuthUserRole authUserRole=new AuthUserRole(); + authUserRole.setUserId(userId); + authUserRole.setRoleId(roleId); + authUserRole.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode()); + authUserRoleService.insert(authUserRole); + return count > 0; + } + + @Override + public Object update(AuthUserBO authUserBO) { + AuthUser authUser = AuthUserBOConverter.INSTANCE.convertBOToEntity(authUserBO); + Integer count = authUserService.update(authUser); + return count > 0; + } + + @Override + public Object delete(AuthUserBO authUserBO) { + AuthUser authUser = new AuthUser(); + authUser.setId(authUserBO.getId()); + authUser.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode()); + Integer count = authUserService.update(authUser); return count > 0; } } diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/AuthRoleService.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/AuthRoleService.java index 38c3886..35b0b4b 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/AuthRoleService.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/AuthRoleService.java @@ -26,7 +26,7 @@ public interface AuthRoleService { * @param authRole 实例对象 * @return 实例对象 */ - int insert(AuthRole authRole); + Integer insert(AuthRole authRole); /** * 修改数据 @@ -34,7 +34,7 @@ public interface AuthRoleService { * @param authRole 实例对象 * @return 实例对象 */ - int update(AuthRole authRole); + Integer update(AuthRole authRole); /** * 通过主键删除数据 diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthPermissionServiceImpl.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthPermissionServiceImpl.java index 76a4ae5..f0d37b6 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthPermissionServiceImpl.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthPermissionServiceImpl.java @@ -12,7 +12,6 @@ import java.util.List; * (AuthPermission)表服务实现类 * * @author landaiqing - * @since 2023-11-03 00:45:50 */ @Service("authPermissionService") public class AuthPermissionServiceImpl implements AuthPermissionService { diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRolePermissionServiceImpl.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRolePermissionServiceImpl.java index 19fca5b..dfb835b 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRolePermissionServiceImpl.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRolePermissionServiceImpl.java @@ -12,7 +12,6 @@ import java.util.List; * (AuthRolePermission)表服务实现类 * * @author landaiqing - * @since 2023-11-04 22:16:00 */ @Service("authRolePermissionService") public class AuthRolePermissionServiceImpl implements AuthRolePermissionService { diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRoleServiceImpl.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRoleServiceImpl.java index 6b5e094..97958fb 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRoleServiceImpl.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthRoleServiceImpl.java @@ -37,7 +37,7 @@ public class AuthRoleServiceImpl implements AuthRoleService { * @return 实例对象 */ @Override - public int insert(AuthRole authRole) { + public Integer insert(AuthRole authRole) { return this.authRoleDao.insert(authRole); } @@ -48,7 +48,7 @@ public class AuthRoleServiceImpl implements AuthRoleService { * @return 实例对象 */ @Override - public int update(AuthRole authRole) { + public Integer update(AuthRole authRole) { return this.authRoleDao.update(authRole); } diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserRoleServiceImpl.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserRoleServiceImpl.java index ec03f2d..eb576c9 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserRoleServiceImpl.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserRoleServiceImpl.java @@ -11,7 +11,6 @@ import javax.annotation.Resource; * (AuthUserRole)表服务实现类 * * @author landaiqing - * @since 2023-11-03 00:18:09 */ @Service("authUserRoleService") public class AuthUserRoleServiceImpl implements AuthUserRoleService { diff --git a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserServiceImpl.java b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserServiceImpl.java index 5484c89..917e8d0 100644 --- a/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserServiceImpl.java +++ b/jc-club-auth/jc-club-auth-infra/src/main/java/com/landaiqing/auth/infra/basic/service/impl/AuthUserServiceImpl.java @@ -12,7 +12,6 @@ import java.util.List; * (AuthUser)表服务实现类 * * @author landaiqing - * @since 2023-11-01 01:25:23 */ @Service("authUserService") public class AuthUserServiceImpl implements AuthUserService { diff --git a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/SaTokenConfigure.java b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/SaTokenConfigure.java index c8c38b1..0756bee 100644 --- a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/SaTokenConfigure.java +++ b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/SaTokenConfigure.java @@ -11,7 +11,6 @@ import org.springframework.context.annotation.Configuration; * 权限认证的配置器 * * @author: landaiqing - * @date: 2023/10/28 */ @Configuration public class SaTokenConfigure { diff --git a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/StpInterfaceImpl.java b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/StpInterfaceImpl.java index 70089ca..afe97ae 100644 --- a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/StpInterfaceImpl.java +++ b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/auth/StpInterfaceImpl.java @@ -19,7 +19,6 @@ import java.util.stream.Collectors; * 自定义权限验证接口扩展 * * @author: landaiqing - * @date: 2023/10/28 */ @Component public class StpInterfaceImpl implements StpInterface { diff --git a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/entity/AuthPermission.java b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/entity/AuthPermission.java index b5f037f..4be5af5 100644 --- a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/entity/AuthPermission.java +++ b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/entity/AuthPermission.java @@ -7,7 +7,6 @@ import java.util.Date; * (AuthPermission)实体类 * * @author landaiqing - * @since 2023-11-03 00:45:50 */ public class AuthPermission implements Serializable { private static final long serialVersionUID = -56518358607843924L; diff --git a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/redis/RedisUtil.java b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/redis/RedisUtil.java index 4fbac14..f7051f5 100644 --- a/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/redis/RedisUtil.java +++ b/jc-club-gateway/src/main/java/com/landaiqing/club/gateway/redis/RedisUtil.java @@ -14,7 +14,7 @@ import java.util.stream.Stream; * RedisUtil工具类 * * @author: landaiqing - * @date: 2023/10/28 + * @date: 2024/2/19 */ @Component @Slf4j diff --git a/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectInfoTypeEnum.java b/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectInfoTypeEnum.java index c7cfca9..658fda1 100644 --- a/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectInfoTypeEnum.java +++ b/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectInfoTypeEnum.java @@ -6,7 +6,6 @@ import lombok.Getter; * 题目类型枚举 * 1单选 2多选 3判断 4简答 * @author: landaiqing - * @date: 2023/10/3 */ @Getter public enum SubjectInfoTypeEnum { diff --git a/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectLikedStatusEnum.java b/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectLikedStatusEnum.java index 249b1c9..122de72 100644 --- a/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectLikedStatusEnum.java +++ b/jc-club-subject/jc-club-common/src/main/java/com/landaiqing/subject/common/enums/SubjectLikedStatusEnum.java @@ -6,7 +6,6 @@ import lombok.Getter; * 题目点赞枚举 * * @author: landaiqing - * @date: 2023/10/3 */ @Getter public enum SubjectLikedStatusEnum { diff --git a/jc-club-subject/jc-club-domain/src/main/java/com/landaiqing/subject/domain/entity/SubjectOptionBO.java b/jc-club-subject/jc-club-domain/src/main/java/com/landaiqing/subject/domain/entity/SubjectOptionBO.java index 94eaccf..d0e6429 100644 --- a/jc-club-subject/jc-club-domain/src/main/java/com/landaiqing/subject/domain/entity/SubjectOptionBO.java +++ b/jc-club-subject/jc-club-domain/src/main/java/com/landaiqing/subject/domain/entity/SubjectOptionBO.java @@ -9,7 +9,6 @@ import java.util.List; * 题目dto * * @author: landaiqing - * @date: 2023/10/5 */ @Data public class SubjectOptionBO implements Serializable {