mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	进一步重构社交登陆的实现
This commit is contained in:
		@@ -36,11 +36,6 @@ public class SocialUserApiImpl implements SocialUserApi {
 | 
			
		||||
                reqDTO.getType(), reqDTO.getUnionId());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void checkSocialUser(Integer type, String code, String state) {
 | 
			
		||||
        socialUserService.authSocialUser(type, code, state);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Long getBindUserId(Integer userType, Integer type, String code, String state) {
 | 
			
		||||
       return socialUserService.getBindUserId(userType, type, code, state);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.system.controller.admin.socail;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialBindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialUnbindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserBindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserUnbindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.convert.social.SocialUserConvert;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.social.SocialUserService;
 | 
			
		||||
import io.swagger.annotations.Api;
 | 
			
		||||
@@ -27,15 +27,15 @@ public class SocialUserController {
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/bind")
 | 
			
		||||
    @ApiOperation("社交绑定,使用 code 授权码")
 | 
			
		||||
    public CommonResult<Boolean> socialBind(@RequestBody @Valid AuthSocialBindReqVO reqVO) {
 | 
			
		||||
    public CommonResult<Boolean> socialBind(@RequestBody @Valid SocialUserBindReqVO reqVO) {
 | 
			
		||||
        socialUserService.bindSocialUser(SocialUserConvert.INSTANCE.convert(getLoginUserId(), UserTypeEnum.ADMIN.getValue(), reqVO));
 | 
			
		||||
        return CommonResult.success(true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @DeleteMapping("/unbind")
 | 
			
		||||
    @ApiOperation("取消社交绑定")
 | 
			
		||||
    public CommonResult<Boolean> socialUnbind(@RequestBody AuthSocialUnbindReqVO reqVO) {
 | 
			
		||||
        socialUserService.unbindSocialUser(getLoginUserId(), UserTypeEnum.ADMIN.getValue(), reqVO.getType(), reqVO.getUnionId());
 | 
			
		||||
    public CommonResult<Boolean> socialUnbind(@RequestBody SocialUserUnbindReqVO reqVO) {
 | 
			
		||||
        socialUserService.unbindSocialUser(getLoginUserId(), UserTypeEnum.ADMIN.getValue(), reqVO.getType(), reqVO.getOpenid());
 | 
			
		||||
        return CommonResult.success(true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth;
 | 
			
		||||
package cn.iocoder.yudao.module.system.controller.admin.socail.vo;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
 | 
			
		||||
@@ -17,7 +17,7 @@ import javax.validation.constraints.NotNull;
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@Builder
 | 
			
		||||
public class AuthSocialBindReqVO {
 | 
			
		||||
public class SocialUserBindReqVO {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 UserSocialTypeEnum 枚举值")
 | 
			
		||||
    @InEnum(SocialTypeEnum.class)
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth;
 | 
			
		||||
package cn.iocoder.yudao.module.system.controller.admin.socail.vo;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
 | 
			
		||||
import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum;
 | 
			
		||||
@@ -12,20 +12,20 @@ import lombok.NoArgsConstructor;
 | 
			
		||||
import javax.validation.constraints.NotEmpty;
 | 
			
		||||
import javax.validation.constraints.NotNull;
 | 
			
		||||
 | 
			
		||||
@ApiModel("管理后台 - 取消社交绑定 Request VO,使用 code 授权码")
 | 
			
		||||
@ApiModel("管理后台 - 取消社交绑定 Request VO")
 | 
			
		||||
@Data
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@Builder
 | 
			
		||||
public class AuthSocialUnbindReqVO {
 | 
			
		||||
public class SocialUserUnbindReqVO {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 UserSocialTypeEnum 枚举值")
 | 
			
		||||
    @InEnum(SocialTypeEnum.class)
 | 
			
		||||
    @NotNull(message = "社交平台的类型不能为空")
 | 
			
		||||
    private Integer type;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "社交的全局编号", required = true, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
 | 
			
		||||
    @NotEmpty(message = "社交的全局编号不能为空")
 | 
			
		||||
    private String unionId;
 | 
			
		||||
    @ApiModelProperty(value = "社交用户的 openid", required = true, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
 | 
			
		||||
    @NotEmpty(message = "社交用户的 openid 不能为空")
 | 
			
		||||
    private String openid;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.system.convert.social;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialBindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialUnbindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserBindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.socail.vo.SocialUserUnbindReqVO;
 | 
			
		||||
import org.mapstruct.Mapper;
 | 
			
		||||
import org.mapstruct.factory.Mappers;
 | 
			
		||||
 | 
			
		||||
@@ -12,8 +12,8 @@ public interface SocialUserConvert {
 | 
			
		||||
 | 
			
		||||
    SocialUserConvert INSTANCE = Mappers.getMapper(SocialUserConvert.class);
 | 
			
		||||
 | 
			
		||||
    SocialUserBindReqDTO convert(Long userId, Integer userType, AuthSocialBindReqVO reqVO);
 | 
			
		||||
    SocialUserBindReqDTO convert(Long userId, Integer userType, SocialUserBindReqVO reqVO);
 | 
			
		||||
 | 
			
		||||
    SocialUserUnbindReqDTO convert(Long userId, Integer userType, AuthSocialUnbindReqVO reqVO);
 | 
			
		||||
    SocialUserUnbindReqDTO convert(Long userId, Integer userType, SocialUserUnbindReqVO reqVO);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@ import cn.iocoder.yudao.framework.security.core.authentication.MultiUsernamePass
 | 
			
		||||
import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthLoginReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialBindLoginReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialBindReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthSocialQuickLoginReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.convert.auth.AuthConvert;
 | 
			
		||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user