update m2pool 注销功能删除api,挖矿账户等功能测试通过
This commit is contained in:
@@ -2,6 +2,7 @@ package com.m2pool.system.api;
|
|||||||
|
|
||||||
|
|
||||||
import com.m2pool.common.core.Result.R;
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.constant.SecurityConstants;
|
||||||
import com.m2pool.common.core.constant.ServiceNameConstants;
|
import com.m2pool.common.core.constant.ServiceNameConstants;
|
||||||
import com.m2pool.system.api.entity.SysUser;
|
import com.m2pool.system.api.entity.SysUser;
|
||||||
import com.m2pool.system.api.factory.RemotePoolFallbackFactory;
|
import com.m2pool.system.api.factory.RemotePoolFallbackFactory;
|
||||||
@@ -9,6 +10,7 @@ import com.m2pool.system.api.factory.RemoteUserFallbackFactory;
|
|||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 矿池服务
|
* @Description 矿池服务
|
||||||
@@ -19,7 +21,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
public interface RemotePoolService {
|
public interface RemotePoolService {
|
||||||
|
|
||||||
@PostMapping("/user/deleteUserDataAndPutTemporaryTable")
|
@PostMapping("/user/deleteUserDataAndPutTemporaryTable")
|
||||||
R<Boolean> deleteUserDataAndPutTemporaryTable();
|
R<Boolean> deleteUserDataAndPutTemporaryTable(@RequestBody SysUser sysUser,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,6 @@ public interface RemoteUserService {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@PostMapping("/user/closeAccount")
|
@PostMapping("/user/closeAccount")
|
||||||
R<Boolean> closeAccount(@RequestBody SysUser sysUser);
|
R<Boolean> closeAccount(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class RemotePoolFallbackFactory implements FallbackFactory<RemotePoolServ
|
|||||||
log.error("矿池服务调用失败:{}",cause.getMessage());
|
log.error("矿池服务调用失败:{}",cause.getMessage());
|
||||||
return new RemotePoolService(){
|
return new RemotePoolService(){
|
||||||
@Override
|
@Override
|
||||||
public R<Boolean> deleteUserDataAndPutTemporaryTable() {
|
public R<Boolean> deleteUserDataAndPutTemporaryTable(SysUser sysUser,String source) {
|
||||||
return R.fail("注销账户失败," + cause.getMessage());
|
return R.fail("注销账户失败," + cause.getMessage());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<Boolean> closeAccount(SysUser sysUser) {
|
public R<Boolean> closeAccount(SysUser sysUser, String source) {
|
||||||
return R.fail("注销用户失败:" + cause.getMessage());
|
return R.fail("注销用户失败:" + cause.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ public class TokenController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("/closeAccount")
|
@PostMapping("/closeAccount")
|
||||||
@ApiOperation(value = "用户注销")
|
@ApiOperation(value = "用户注销")
|
||||||
|
@RequiresLogin
|
||||||
public R<?> closeAccount(@RequestBody @Valid CloseAccountVo closeAccountVo){
|
public R<?> closeAccount(@RequestBody @Valid CloseAccountVo closeAccountVo){
|
||||||
return sysLoginService.closeAccount(closeAccountVo);
|
return sysLoginService.closeAccount(closeAccountVo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,7 @@ import com.m2pool.common.core.constant.UserConstants;
|
|||||||
import com.m2pool.common.core.enums.UserStatus;
|
import com.m2pool.common.core.enums.UserStatus;
|
||||||
import com.m2pool.common.core.exception.ServiceException;
|
import com.m2pool.common.core.exception.ServiceException;
|
||||||
import com.m2pool.common.core.text.Convert;
|
import com.m2pool.common.core.text.Convert;
|
||||||
import com.m2pool.common.core.utils.DateUtils;
|
import com.m2pool.common.core.utils.*;
|
||||||
import com.m2pool.common.core.utils.GoogleAuthenticator;
|
|
||||||
import com.m2pool.common.core.utils.ServletUtils;
|
|
||||||
import com.m2pool.common.core.utils.StringUtils;
|
|
||||||
import com.m2pool.common.core.utils.ip.IpUtils;
|
import com.m2pool.common.core.utils.ip.IpUtils;
|
||||||
import com.m2pool.common.core.utils.sign.RsaUtils;
|
import com.m2pool.common.core.utils.sign.RsaUtils;
|
||||||
import com.m2pool.common.core.web.Result.AjaxResult;
|
import com.m2pool.common.core.web.Result.AjaxResult;
|
||||||
@@ -35,6 +32,8 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import static com.m2pool.common.core.RedisTransKey.getTokenKey;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 登录校验方法
|
* @Description 登录校验方法
|
||||||
@@ -578,7 +577,6 @@ public class SysLoginService {
|
|||||||
throw new ServiceException("邮箱为必填项");
|
throw new ServiceException("邮箱为必填项");
|
||||||
}
|
}
|
||||||
String closeAccountKey = RedisTransKey.getCloseAccountKey(email);
|
String closeAccountKey = RedisTransKey.getCloseAccountKey(email);
|
||||||
System.out.println("redis 的 key"+closeAccountKey);
|
|
||||||
//校验谷歌验证码和邮箱验证码
|
//校验谷歌验证码和邮箱验证码
|
||||||
if(redisService.hasKey(closeAccountKey)){
|
if(redisService.hasKey(closeAccountKey)){
|
||||||
Object o = redisService.getCacheObject(closeAccountKey);//user:emailCode:email
|
Object o = redisService.getCacheObject(closeAccountKey);//user:emailCode:email
|
||||||
@@ -602,13 +600,18 @@ public class SysLoginService {
|
|||||||
if (R.FAIL == userInfo.getCode()) {
|
if (R.FAIL == userInfo.getCode()) {
|
||||||
throw new ServiceException("服务器请求失败请稍后再试");
|
throw new ServiceException("服务器请求失败请稍后再试");
|
||||||
}
|
}
|
||||||
SysUser sysUser = userInfo.getData().getSysUser();
|
|
||||||
|
LoginUser loginUser = userInfo.getData();
|
||||||
|
SysUser sysUser = loginUser.getSysUser();
|
||||||
sysUser.setDelFlag("2");
|
sysUser.setDelFlag("2");
|
||||||
|
|
||||||
R<Boolean> booleanR = remoteUserService.closeAccount(sysUser);
|
R<Boolean> booleanR = remoteUserService.closeAccount(sysUser, SecurityConstants.INNER);
|
||||||
|
System.out.println("用户邮箱"+booleanR.getData()+"---" + booleanR.getMsg()+"--"+booleanR.getCode() );
|
||||||
if (R.FAIL == booleanR.getCode()) {
|
if (R.FAIL == booleanR.getCode()) {
|
||||||
throw new ServiceException("服务器请求失败请稍后再试");
|
throw new ServiceException("服务器请求失败请稍后再试");
|
||||||
}
|
}
|
||||||
|
String userKey = getTokenKey(loginUser.getToken());
|
||||||
|
redisService.deleteObject(userKey);
|
||||||
return booleanR;
|
return booleanR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ public class ChatRoomServiceImpl extends ServiceImpl<ChatRoomMapper, ChatRoom> i
|
|||||||
//1.查询当前用户与对应用户是否已存在创建的聊天室
|
//1.查询当前用户与对应用户是否已存在创建的聊天室
|
||||||
String userEmail = roomVo.getEmail();
|
String userEmail = roomVo.getEmail();
|
||||||
ChatRoomDto roomByUserEmail = chatRoomMapper.findRoomByUserEmail(userEmail);
|
ChatRoomDto roomByUserEmail = chatRoomMapper.findRoomByUserEmail(userEmail);
|
||||||
System.out.println("bby-用户邮箱"+roomByUserEmail);
|
|
||||||
//获取nacos中配置的客服邮箱列表,这个列表中的邮箱实际可能不是客服角色,但能够行驶客服角色功能
|
//获取nacos中配置的客服邮箱列表,这个列表中的邮箱实际可能不是客服角色,但能够行驶客服角色功能
|
||||||
List<String> customerEmails = new ArrayList<>(Arrays.asList(webSocketConfig.getDefaultCustomerEmail().split(",")));
|
List<String> customerEmails = new ArrayList<>(Arrays.asList(webSocketConfig.getDefaultCustomerEmail().split(",")));
|
||||||
int i = random.nextInt(customerEmails.size());
|
int i = random.nextInt(customerEmails.size());
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.m2pool.pool.service.UserMinserService;
|
|||||||
import com.m2pool.pool.vo.*;
|
import com.m2pool.pool.vo.*;
|
||||||
import com.m2pool.system.api.RemoteUserService;
|
import com.m2pool.system.api.RemoteUserService;
|
||||||
import com.m2pool.system.api.entity.CloseAccountVo;
|
import com.m2pool.system.api.entity.CloseAccountVo;
|
||||||
|
import com.m2pool.system.api.entity.SysUser;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -250,8 +251,8 @@ public class UserController extends BaseController {
|
|||||||
@InnerAuth
|
@InnerAuth
|
||||||
@PostMapping("/deleteUserDataAndPutTemporaryTable")
|
@PostMapping("/deleteUserDataAndPutTemporaryTable")
|
||||||
@ApiOperation(value = "用户注销--删除用户(邮箱)对应相关信息并存入临时表")
|
@ApiOperation(value = "用户注销--删除用户(邮箱)对应相关信息并存入临时表")
|
||||||
public R<?> deleteUserDataAndPutTemporaryTable(){
|
public R<?> deleteUserDataAndPutTemporaryTable(@RequestBody SysUser sysUser){
|
||||||
return umService.deleteUserDataAndPutTemporaryTable();
|
return umService.deleteUserDataAndPutTemporaryTable(sysUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.m2pool.common.core.Result.R;
|
|||||||
import com.m2pool.common.core.web.Result.AjaxResult;
|
import com.m2pool.common.core.web.Result.AjaxResult;
|
||||||
import com.m2pool.pool.dto.UserApiDto;
|
import com.m2pool.pool.dto.UserApiDto;
|
||||||
import com.m2pool.pool.vo.*;
|
import com.m2pool.pool.vo.*;
|
||||||
|
import com.m2pool.system.api.entity.SysUser;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -63,5 +64,5 @@ public interface UserMinserService {
|
|||||||
* 用户注销--删除用户(邮箱)对应相关信息并存入临时表
|
* 用户注销--删除用户(邮箱)对应相关信息并存入临时表
|
||||||
* return
|
* return
|
||||||
*/
|
*/
|
||||||
R<?> deleteUserDataAndPutTemporaryTable();
|
R<?> deleteUserDataAndPutTemporaryTable(SysUser sysUser);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.m2pool.pool.utils.EnumUtils;
|
|||||||
import com.m2pool.common.core.utils.GoogleAuthenticator;
|
import com.m2pool.common.core.utils.GoogleAuthenticator;
|
||||||
import com.m2pool.pool.utils.NodeRpc;
|
import com.m2pool.pool.utils.NodeRpc;
|
||||||
import com.m2pool.pool.vo.*;
|
import com.m2pool.pool.vo.*;
|
||||||
|
import com.m2pool.system.api.entity.SysUser;
|
||||||
import com.m2pool.system.api.model.OpenApiKeyInfo;
|
import com.m2pool.system.api.model.OpenApiKeyInfo;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -766,8 +767,9 @@ public class UserMinerServiceImpl implements UserMinserService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public R<?> deleteUserDataAndPutTemporaryTable() {
|
public R<?> deleteUserDataAndPutTemporaryTable(SysUser sysUser) {
|
||||||
String username = SecurityUtils.getUsername();
|
String username = sysUser.getUserName();
|
||||||
|
System.out.println("用户邮箱2"+ username);
|
||||||
//删除挖矿账户
|
//删除挖矿账户
|
||||||
uaMapper.deleteUserAccount(username);
|
uaMapper.deleteUserAccount(username);
|
||||||
uaMapper.deleteUserBalance(username);
|
uaMapper.deleteUserBalance(username);
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="checkIfBindByEmail" resultType="java.lang.Boolean">
|
<select id="checkIfBindByEmail" resultType="java.lang.Boolean">
|
||||||
select COUNT(google_auth) from sys_user where email = #{email} and google_status=1
|
select COUNT(google_auth) from sys_user where email = #{email} and google_status = 1 and del_flag = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getGoogleInfoByEmail" resultType="com.m2pool.pool.entity.GoogleInfo">
|
<select id="getGoogleInfoByEmail" resultType="com.m2pool.pool.entity.GoogleInfo">
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.m2pool.system.service.impl;
|
package com.m2pool.system.service.impl;
|
||||||
|
|
||||||
import com.m2pool.common.core.Result.R;
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.constant.SecurityConstants;
|
||||||
import com.m2pool.common.core.constant.UserConstants;
|
import com.m2pool.common.core.constant.UserConstants;
|
||||||
import com.m2pool.common.core.exception.ServiceException;
|
import com.m2pool.common.core.exception.ServiceException;
|
||||||
import com.m2pool.common.core.utils.GoogleAuthenticator;
|
import com.m2pool.common.core.utils.GoogleAuthenticator;
|
||||||
@@ -453,8 +454,9 @@ public class SysUserServiceImpl implements SysUserService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean closeAccount(SysUser sysUser) {
|
public boolean closeAccount(SysUser sysUser) {
|
||||||
|
System.out.println("用户邮箱2:"+sysUser.getUserName());
|
||||||
//删除用户相关信息
|
//删除用户相关信息
|
||||||
R<Boolean> booleanR = remotePoolService.deleteUserDataAndPutTemporaryTable();
|
R<Boolean> booleanR = remotePoolService.deleteUserDataAndPutTemporaryTable(sysUser,SecurityConstants.INNER);
|
||||||
if (R.FAIL == booleanR.getCode()){
|
if (R.FAIL == booleanR.getCode()){
|
||||||
throw new ServiceException("服务器请求失败请稍后再试");
|
throw new ServiceException("服务器请求失败请稍后再试");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user