From b01f752252eaadd1fa31eda6a9ad43146660b721 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 03 四月 2025 23:42:57 +0800 Subject: [PATCH] bug修改 --- xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java | 78 +++++++++++++++++++++++++++++++++----- 1 files changed, 67 insertions(+), 11 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..30510a6 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,12 @@ 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.meditation.api.feign.RemoteMeditationService; +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 +25,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 +34,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 +62,10 @@ private SysLoginService sysLoginService; @Autowired private SysUserClient userClient; + @Resource + private RemoteAppUserService remoteAppUserService; + @Resource + private RemoteMeditationService remoteMeditationService; /** * 发送验证码 @@ -67,14 +76,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); @@ -90,6 +118,7 @@ @PostMapping("/app/register") public R<AppLoginUser> appRegister(@RequestBody AppRegisterBody appRegisterBody) { + System.err.println("controller传递的邀请人id"+(appRegisterBody.getInviteUserId()==null?"":appRegisterBody.getInviteUserId())); // 用户注册 AppLoginUser appLoginUser = sysLoginService.appRegister(appRegisterBody); return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); @@ -105,6 +134,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 +152,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,7 +195,14 @@ @PostMapping("/app/wxLogin") public R<AppLoginUser> thirdLogin(@Validated @RequestBody AppWXLoginBody body) { AppLoginUser appLoginUser = sysLoginService.wxLogin(body); - return R.ok(tokenService.createToken4AppLoginUser(appLoginUser)); + Long appUserId = appLoginUser.getAppUserId(); + AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData(); + if (data.getUserStatus() == 2){ + return R.fail("您的账号已被冻结"); + } + AppLoginUser token4AppLoginUser = tokenService.createToken4AppLoginUser(appLoginUser); + System.err.println("微信登录token"+token4AppLoginUser.getAccessToken()); + return R.ok(token4AppLoginUser); } /** @@ -168,12 +214,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)); } @@ -188,8 +243,9 @@ public R<?> verifyCellPhone(@Validated @RequestBody AppVerifyCellPhoneBody body) { AppLoginUser appLoginUser = sysLoginService.verifyCellPhone(body); - return R.ok(tokenService.createToken4AppLoginUser( - appLoginUser)); + AppLoginUser token4AppLoginUser = tokenService.createToken4AppLoginUser(appLoginUser); + System.err.println("校验手机号token"+token4AppLoginUser.getAccessToken()); + return R.ok(token4AppLoginUser); } /** -- Gitblit v1.7.1