From 48fcea997811a4e97fe60df8576a075aa23a9452 Mon Sep 17 00:00:00 2001 From: lbw Date: Sat, 17 Feb 2024 17:06:28 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactoring=20code.=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E9=92=89=E9=92=89=E4=BC=81=E4=B8=9A=E7=99=BB=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E5=90=8E=E7=AB=AF=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=BA=94=E7=94=A8=E4=BF=A1=E6=81=AF=20#5478?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/api/entity/SysSocialDetails.java | 4 +- .../SysSocialDetailsController.java | 10 +++ .../service/SysSocialDetailsService.java | 3 + .../impl/SysSocialDetailsServiceImpl.java | 86 ++++++++++++------- 4 files changed, 69 insertions(+), 34 deletions(-) diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysSocialDetails.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysSocialDetails.java index 0c2d9d791..156705905 100755 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysSocialDetails.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysSocialDetails.java @@ -27,6 +27,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.NotBlank; +import lombok.experimental.FieldNameConstants; + import java.time.LocalDateTime; /** @@ -36,7 +38,7 @@ import java.time.LocalDateTime; * @date 2018-08-16 21:30:41 */ @Data -@TenantTable +@FieldNameConstants @Schema(description = "第三方账号信息") @EqualsAndHashCode(callSuper = true) public class SysSocialDetails extends Model { diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java index 2e9a279a7..acd685242 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java @@ -65,6 +65,16 @@ public class SysSocialDetailsController { return R.ok(sysSocialDetailsService.page(page, Wrappers.query(sysSocialDetails))); } + /** + * 获取当前租户的三方登录列表 + * @return R List + */ + @Inner(value = false) + @GetMapping("/getLoginAppList") + public R getLoginAppList(){ + return R.ok(sysSocialDetailsService.selectList()); + } + /** * 信息 * @param type 类型 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysSocialDetailsService.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysSocialDetailsService.java index 2541e569f..1994e3255 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysSocialDetailsService.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysSocialDetailsService.java @@ -21,6 +21,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.pig4cloud.pigx.admin.api.dto.UserInfo; import com.pig4cloud.pigx.admin.api.entity.SysSocialDetails; +import java.util.List; + /** * 系统社交登录账号表 * @@ -44,4 +46,5 @@ public interface SysSocialDetailsService extends IService { */ UserInfo getUserInfo(String inStr); + List selectList(); } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysSocialDetailsServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysSocialDetailsServiceImpl.java index d50b54b09..05824c006 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysSocialDetailsServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysSocialDetailsServiceImpl.java @@ -18,6 +18,7 @@ package com.pig4cloud.pigx.admin.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringPool; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.pig4cloud.pigx.admin.api.dto.UserInfo; import com.pig4cloud.pigx.admin.api.entity.SysSocialDetails; @@ -30,10 +31,13 @@ import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.security.util.SecurityUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.cache.CacheManager; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @author lengleng @@ -43,44 +47,60 @@ import java.util.Map; @AllArgsConstructor @Service("sysSocialDetailsService") public class SysSocialDetailsServiceImpl extends ServiceImpl - implements SysSocialDetailsService { + implements SysSocialDetailsService { - private final Map loginHandlerMap; + private final Map loginHandlerMap; - private final CacheManager cacheManager; + private final CacheManager cacheManager; - private final SysUserMapper sysUserMapper; + private final SysUserMapper sysUserMapper; - /** - * 绑定社交账号 - * @param type type - * @param code code - * @return - */ - @Override - public Boolean bindSocial(String type, String code) { - LoginHandler loginHandler = loginHandlerMap.get(type); - // 绑定逻辑 - String identify = loginHandler.identify(code); - SysUser sysUser = sysUserMapper.selectById(SecurityUtils.getUser().getId()); - loginHandler.bind(sysUser, identify); + /** + * 绑定社交账号 + * + * @param type type + * @param code code + * @return + */ + @Override + public Boolean bindSocial(String type, String code) { + LoginHandler loginHandler = loginHandlerMap.get(type); + // 绑定逻辑 + String identify = loginHandler.identify(code); + SysUser sysUser = sysUserMapper.selectById(SecurityUtils.getUser().getId()); + loginHandler.bind(sysUser, identify); - // 更新緩存 - cacheManager.getCache(CacheConstants.USER_DETAILS).evict(sysUser.getUsername()); - return Boolean.TRUE; - } + // 更新緩存 + cacheManager.getCache(CacheConstants.USER_DETAILS).evict(sysUser.getUsername()); + return Boolean.TRUE; + } - /** - * 根据入参查询用户信息 - * @param inStr TYPE@code - * @return - */ - @Override - public UserInfo getUserInfo(String inStr) { - String[] inStrs = inStr.split(StringPool.AT); - String type = inStrs[0]; - String loginStr = inStr.substring(type.length() + 1); - return loginHandlerMap.get(type).handle(loginStr); - } + /** + * 根据入参查询用户信息 + * + * @param inStr TYPE@code + * @return + */ + @Override + public UserInfo getUserInfo(String inStr) { + String[] inStrs = inStr.split(StringPool.AT); + String type = inStrs[0]; + String loginStr = inStr.substring(type.length() + 1); + return loginHandlerMap.get(type).handle(loginStr); + } + /** + * 查询当前租户下的三方应用信息 ,脱敏 appSecret + * + * @return List + */ + @Override + public List selectList() { + List sysSocialDetailsList = baseMapper.selectList(Wrappers.query()); + return sysSocialDetailsList.stream().map(sysSocialDetails -> { + SysSocialDetails newSysSocialDetails = new SysSocialDetails(); + BeanUtils.copyProperties(sysSocialDetails, newSysSocialDetails, SysSocialDetails.Fields.appSecret); + return newSysSocialDetails; + }).collect(Collectors.toList()); + } }