From ec15861e14c66c38b1a8f5fffc6975d7da6c315c Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期三, 23 四月 2025 02:31:00 +0800
Subject: [PATCH] 1
---
src/main/java/com/mzl/flower/web/login/CustomerLoginController.java | 67 ++++++++++++++++++++++++++++++++-
1 files changed, 64 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java b/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
index 29a6bce..024b956 100644
--- a/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
+++ b/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
@@ -8,6 +8,7 @@
import com.mzl.flower.base.cache.StringCacheClient;
import com.mzl.flower.config.exception.BaseException;
import com.mzl.flower.config.exception.ValidationException;
+import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.config.security.token.PhoneAuthenticationToken;
import com.mzl.flower.config.security.token.UserIdAuthenticationToken;
import com.mzl.flower.config.security.token.WebAuthenticationToken;
@@ -17,6 +18,8 @@
import com.mzl.flower.dto.request.UserPhoneLoginDTO;
import com.mzl.flower.dto.response.customer.CustomerDTO;
import com.mzl.flower.dto.response.wx.WxUserVO;
+import com.mzl.flower.dto.security.UserDTO;
+import com.mzl.flower.entity.customer.Customer;
import com.mzl.flower.entity.system.User;
import com.mzl.flower.mapper.customer.CustomerMapper;
import com.mzl.flower.service.customer.CustomerService;
@@ -28,6 +31,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AuthenticationDetailsSource;
@@ -283,10 +287,11 @@
}
User user = userService.findByTel(tel, Constants.USER_TYPE.customer.name());
+ User user1 = null;
String tokenCache ="";
if(user == null){
loginDTO.setUserType(Constants.USER_TYPE.customer.name());
- User user1 = userService.registPhoneUser(loginDTO);
+ user1 = userService.registPhoneUser(loginDTO);
if(org.springframework.util.StringUtils.isEmpty(user1)){
throw new ValidationException("注册用户信息报错");
}
@@ -311,6 +316,12 @@
if (currentCustomer.getIsEnabled() == false) {
throw new ValidationException("用户已禁用,请联系管理员");
}
+
+ //验证邀请码
+ if (StringUtils.isNotEmpty(loginDTO.getIntevailCode())) {
+ throw new ValidationException("非新用户注册无法填写邀请码,请删除后重新登陆");
+ }
+
tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
if (StringUtils.isNotBlank(tokenCache)) {
//强制删除token,下线
@@ -324,7 +335,11 @@
OAuth2AccessToken token = loginService.getAccessToken(authentication, Constants.USER_TYPE.customer.name());
//删除缓存中的验证码
stringCacheClient.delete(SMS_CODE_KEY + SEPARATOR + Constants.USER_TYPE.customer.name() + SEPARATOR + tel);
- stringCacheClient.set(TOKEN_KEY + SEPARATOR + user.getId(),token.getValue());
+ if(user == null){
+ stringCacheClient.set(TOKEN_KEY + SEPARATOR + user1.getId(),token.getValue());
+ }else {
+ stringCacheClient.set(TOKEN_KEY + SEPARATOR + user.getId(), token.getValue());
+ }
return returnData(R.SUCCESS.getCode(),token);
}catch (UsernameNotFoundException e){
throw new ValidationException("用户不存在");
@@ -333,4 +348,50 @@
throw new BaseException(R.RUNTIME_EXCEPTION.getCode(),"登录错误");
}
}
-}
+
+
+ @PostMapping("/account/close")
+ @ApiOperation(value = "账户注销", notes = "账户注销")
+ public ResponseEntity<ReturnDataDTO<Boolean>> accountClose() {
+
+ String userId = SecurityUtils.getUserId();
+
+ if(StringUtils.isNotBlank(userId)){
+ //
+ CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(userId);
+ if(null==currentCustomer){
+ throw new BaseException(R.RUNTIME_EXCEPTION.getCode(),"用户不存在");
+ }
+
+ currentCustomer.setIsClosed(true);
+
+ User user=userService.getUserById(userId);
+
+
+ if (StringUtils.isNotBlank(user.getLoginName())) {
+ currentCustomer.setName("智信-" + user.getLoginName().substring(user.getLoginName().length() - 4));
+
+ }
+ currentCustomer.setCover("https://hmy-flower.oss-cn-shanghai.aliyuncs.com/8f/8f205ea4618b4ce48d5bd204ae73f075tmp_f0c47a66148245dc17d74563c5939e764273ba583619664d.jpg");
+
+ Customer customer=new Customer();
+ BeanUtils.copyProperties(currentCustomer,customer);
+
+ // 会员注销
+ customer.setIsMember(false);
+ // 会员过期时间设置为空
+ customer.setMemberOvertime(null);
+
+ customerMapper.updateById(customer);
+
+ return returnData(R.SUCCESS.getCode(),true);
+
+ }else{
+ throw new BaseException(R.RUNTIME_EXCEPTION.getCode(),"用户ID不能为空");
+ }
+
+
+ }
+
+
+ }
--
Gitblit v1.9.3