From 1be1977ffcf41d6807230f1d5403f3cdccd3b963 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Sun, 6 Aug 2023 04:04:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20sso=E7=94=A8=E6=88=B7=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/kicc/system/api/entity/SsoUser.java | 67 +++++++++++++ .../system/controller/SsoUserController.java | 95 +++++++++++++++++++ .../kicc/system/mapper/SsoUserMapper.java | 16 ++++ .../kicc/system/service/ISsoUserService.java | 16 ++++ .../service/impl/SsoUserServiceImpl.java | 22 +++++ .../main/resources/mapper/SsoUserMapper.xml | 5 + 6 files changed, 221 insertions(+) create mode 100644 kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/SsoUser.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/SsoUserMapper.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/ISsoUserService.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/SsoUserServiceImpl.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/SsoUserMapper.xml diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/SsoUser.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/SsoUser.java new file mode 100644 index 00000000..c7fc634f --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/SsoUser.java @@ -0,0 +1,67 @@ +package com.cloud.kicc.system.api.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cloud.kicc.common.data.entity.CommonEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + *
+ * SSO用户统一表 + *
+ * + * @Author: wangxiang4 + * @Since: 2023/8/6 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sys_sso_user") +@ApiModel(description = "SSO用户表") +public class SsoUser extends CommonEntity { + + private static final long serialVersionUID = 1L; + + /** 用户ID */ + private String id; + + /** 用户名 */ + private String userName; + + /** 昵称 */ + private String nickName; + + /** 密码 */ + private String password; + + /** 用户邮箱 */ + private String email; + + /** 手机号码 */ + private String phone; + + /** 用户性别(0男 1女 2未知) */ + private String sex; + + /** 头像路径 */ + private String avatar; + + /** 最后登陆IP */ + private String loginIp; + + /** 最后登陆时间 */ + private LocalDateTime loginTime; + + /** 权限标识集合 */ + @TableField(exist = false) + private String[] permissions; + + /** 新密码 */ + @TableField(exist = false) + private String newPassword; +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java new file mode 100644 index 00000000..93c6edf9 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java @@ -0,0 +1,95 @@ +package com.cloud.kicc.system.controller; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.common.log.annotation.SysLog; +import com.cloud.kicc.common.security.util.SecurityUtils; +import com.cloud.kicc.system.api.entity.SsoUser; +import com.cloud.kicc.system.api.entity.User; +import com.cloud.kicc.system.service.ISsoUserService; +import lombok.RequiredArgsConstructor; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +/** + *+ * SSO用户统一控制器 + *
+ * + * @Author: wangxiang4 + * @Since: 2023/8/6 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping(AppConstants.APP_SYSTEM + "/ssoUser") +public class SsoUserController { + + private final ISsoUserService iSsoUserService; + private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder(); + + private LambdaQueryWrapper+ * SSO用户统一 Mapper 接口 + *
+ * + * @Author: wangxiang4 + * @Since: 2023/8/6 + */ +public interface SsoUserMapper extends BaseMapper+ * SSO用户统一 服务层 + *
+ * + * @Author: wangxiang4 + * @Since: 2023/8/6 + */ +public interface ISsoUserService extends IService+ * SSO用户统一 实现类 + *
+ * + * @Author: wangxiang4 + * @Since: 2023/8/6 + */ +@Service +@AllArgsConstructor +public class SsoUserServiceImpl extends ServiceImpl