From 0c51a577db337520452022d9d6a22b720ef858d4 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 31 十二月 2024 14:13:01 +0800 Subject: [PATCH] 全部代码、数据库提交 --- xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java | 66 +++++++++++++++++++++++++++++---- 1 files changed, 58 insertions(+), 8 deletions(-) diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java index 66a9c00..2faacf9 100644 --- a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java +++ b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java @@ -10,9 +10,11 @@ import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.JwtUtils; import com.xinquan.common.core.utils.StringUtils; +import com.xinquan.common.redis.service.RedisService; import com.xinquan.common.security.auth.AuthUtil; import com.xinquan.common.security.service.TokenService; import com.xinquan.common.security.utils.SecurityUtils; +import com.xinquan.system.api.domain.AppUser; import com.xinquan.system.api.domain.SysMenu; import com.xinquan.system.api.domain.SysRole; import com.xinquan.system.api.domain.SysUser; @@ -22,6 +24,7 @@ import com.xinquan.system.api.model.AppVerifyCellPhoneBody; import com.xinquan.system.api.model.AppWXLoginBody; import com.xinquan.system.api.model.LoginUser; +import com.xinquan.user.api.feign.RemoteAppUserService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -30,6 +33,7 @@ import java.util.List; import java.util.Objects; import java.util.Set; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -57,6 +61,9 @@ private SysLoginService sysLoginService; @Autowired private SysUserClient userClient; + @Resource + private RemoteAppUserService remoteAppUserService; + /** * 发送验证码 @@ -67,14 +74,33 @@ @ApiOperation(value = "发送验证码",tags = {"APP端"}) @ApiImplicitParams({ @ApiImplicitParam(name = "cellPhone", value = "手机号码", required = true, dataType = "String", paramType = "query"), - @ApiImplicitParam(name = "type", value = "类型 1=注册 2=验证码登录 3=找回密码 4=第三方登录后验证手机 5=切换手机号 6= 添加银行卡", required = true, dataType = "Integer", paramType = "query")}) + @ApiImplicitParam(name = "type", value = "类型 1=注册 2=验证码登录 3=找回密码 4=第三方登录后验证手机 5=切换手机号 6= 添加银行卡,7=管理后台修改密码", required = true, dataType = "Integer", paramType = "query")}) public R<?> sendCaptchaCode( @RequestParam(value = "cellPhone", required = true) String cellPhone, @RequestParam("type") Integer type) { - if(type == 3){ - SysUser sysUser = userClient.queryUserByPhone(cellPhone).getData(); - if(Objects.isNull(sysUser)){ - return R.fail("该手机号未注册"); + + if(type==5){ + AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData(); + if (data!=null){ + return R.fail("当前手机号已被绑定"); + } + } + if(type==4){ + AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData(); + if (data!=null && (data.getWxOpenId()!=null||data.getAppleId()!=null)){ + return R.fail("当前手机号已被绑定"); + } + } + if(type==1){ + AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData(); + if (data!=null){ + return R.fail("当前手机号已注册"); + } + } + if(type==3){ + AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData(); + if (data==null){ + return R.fail("当前手机号未注册"); } } sysLoginService.sendCaptchaCode(cellPhone, type); @@ -105,6 +131,11 @@ @PostMapping("/app/login") public R<AppLoginUser> appLogin(@Validated @RequestBody AppLoginBody body) { AppLoginUser appLoginUser = sysLoginService.appLogin(body); + Long appUserId = appLoginUser.getAppUserId(); + AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData(); + if (data.getUserStatus() == 2){ + return R.fail("您的账号已被冻结"); + } return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); } @@ -118,6 +149,11 @@ @PostMapping("/app/captchaLogin") public R<AppLoginUser> appCaptchaLogin(@Validated @RequestBody AppCaptchaBody body) { AppLoginUser appLoginUser = sysLoginService.appCaptchaLogin(body); + Long appUserId = appLoginUser.getAppUserId(); + AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData(); + if (data.getUserStatus() == 2){ + return R.fail("您的账号已被冻结"); + } return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); } @@ -156,6 +192,11 @@ @PostMapping("/app/wxLogin") public R<AppLoginUser> thirdLogin(@Validated @RequestBody AppWXLoginBody body) { AppLoginUser appLoginUser = sysLoginService.wxLogin(body); + Long appUserId = appLoginUser.getAppUserId(); + AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData(); + if (data.getUserStatus() == 2){ + return R.fail("您的账号已被冻结"); + } return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); } @@ -168,12 +209,21 @@ @ApiOperation(value = "苹果登录", tags = {"APP端"}) @PostMapping("/app/appleLogin") @ApiImplicitParams({ - @ApiImplicitParam(name = "appleId", value = "苹果ID", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "appleId", value = "苹果ID", required = true, dataType = "String", paramType = "query") +// @ApiImplicitParam(name = "device", value = "设备码", required = false, dataType = "String", paramType = "query"), } ) public R<AppLoginUser> appleLogin( - @RequestParam(value = "appleId", required = true) String appleId) { - AppLoginUser appLoginUser = sysLoginService.appleLogin(appleId); + @RequestParam(value = "appleId", required = true) String appleId, + @RequestParam(value = "device", required = false) String device + ) { + + AppLoginUser appLoginUser = sysLoginService.appleLogin(appleId, org.springframework.util.StringUtils.hasLength(device)?device:""); + Long appUserId = appLoginUser.getAppUserId(); + AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData(); + if (data.getUserStatus() == 2){ + return R.fail("您的账号已被冻结"); + } return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); } -- Gitblit v1.7.1