增加注销账号功能

This commit is contained in:
wanggeng 2022-06-16 14:23:54 +08:00
parent 6191a835bb
commit 873b7cf90f
6 changed files with 81 additions and 3 deletions

View File

@ -7,12 +7,15 @@ import ink.wgink.exceptions.ParamsException;
import ink.wgink.interfaces.consts.IFileConstant; import ink.wgink.interfaces.consts.IFileConstant;
import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.interfaces.manager.ISystemConfigManager; import ink.wgink.interfaces.manager.ISystemConfigManager;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.result.*; import ink.wgink.pojo.result.*;
import ink.wgink.pojo.vos.IdsVO; import ink.wgink.pojo.vos.IdsVO;
import ink.wgink.pojo.vos.UpdatePasswordVO; import ink.wgink.pojo.vos.UpdatePasswordVO;
import ink.wgink.service.user.pojo.vos.*; import ink.wgink.service.user.pojo.vos.RestPasswordVO;
import ink.wgink.pojo.ListPage; import ink.wgink.service.user.pojo.vos.UpdateExpiredDateVO;
import ink.wgink.pojo.dtos.user.UserDTO; import ink.wgink.service.user.pojo.vos.UpdateUsernameVO;
import ink.wgink.service.user.pojo.vos.UserVO;
import ink.wgink.service.user.service.IUserService; import ink.wgink.service.user.service.IUserService;
import ink.wgink.util.ReflectUtil; import ink.wgink.util.ReflectUtil;
import ink.wgink.util.RegexUtil; import ink.wgink.util.RegexUtil;
@ -68,6 +71,17 @@ public class UserController extends DefaultBaseController {
return new SuccessResult(); return new SuccessResult();
} }
@ApiOperation(value = "删除用户", notes = "删除用户接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "用户ID列表用下划线分隔", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@DeleteMapping("delete/user-id/{userId}")
public SuccessResult deleteByUserId(@PathVariable("userId") String userId) {
userService.delete(Arrays.asList(userId));
return new SuccessResult();
}
@ApiOperation(value = "修改用户", notes = "修改用户接口") @ApiOperation(value = "修改用户", notes = "修改用户接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户ID", paramType = "path"), @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "path"),

View File

@ -49,6 +49,17 @@ public class UserAppController extends DefaultBaseController {
@Autowired(required = false) @Autowired(required = false)
private ISmsBaseService smsBaseService; private ISmsBaseService smsBaseService;
@ApiOperation(value = "注销用户", notes = "注销用户接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@DeleteMapping("log-off")
public SuccessResult deleteByUserId(@RequestHeader("token") String token) {
userService.deleteByToken(token);
return new SuccessResult();
}
@ApiOperation(value = "修改用户信息", notes = "修改用户信息接口") @ApiOperation(value = "修改用户信息", notes = "修改用户信息接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"), @ApiImplicitParam(name = "token", value = "token", paramType = "header"),

View File

@ -41,6 +41,15 @@ public interface IUserDao extends IInitBaseTable {
*/ */
void remove(Map<String, Object> params) throws RemoveException; void remove(Map<String, Object> params) throws RemoveException;
/**
* 删除
*
* @param params
* @throws RemoveException
*/
void delete(Map<String, Object> params) throws RemoveException;
/** /**
* 修改 * 修改
* *
@ -100,6 +109,7 @@ public interface IUserDao extends IInitBaseTable {
/** /**
* 详情 * 详情
*
* @param params * @param params
* @return * @return
* @throws SearchException * @throws SearchException

View File

@ -94,6 +94,21 @@ public interface IUserService extends IUserBaseService, IUserCheckService {
*/ */
void remove(List<String> ids); void remove(List<String> ids);
/**
* 删除用户
*
* @param ids
*/
void delete(List<String> ids);
/**
* 注销用户
*
* @param token
*/
void deleteByToken(String token);
/** /**
* 修改用户 * 修改用户
* *
@ -332,4 +347,5 @@ public interface IUserService extends IUserBaseService, IUserCheckService {
* @param token * @param token
*/ */
void isExpiredByToken(String token); void isExpiredByToken(String token);
} }

View File

@ -149,6 +149,22 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService
updateMongoLoginUser(ids); updateMongoLoginUser(ids);
} }
@Override
public void delete(List<String> ids) {
Map<String, Object> params = getHashMap(2);
params.put("userIds", ids);
userDao.delete(params);
// 删除关联用户
deleteRelationUser(ids);
updateMongoLoginUser(ids);
}
@Override
public void deleteByToken(String token) {
String userId = getAppTokenUser(token).getId();
delete(Arrays.asList(userId));
}
@Override @Override
public void update(String userId, UserVO userVO) { public void update(String userId, UserVO userVO) {
if (!StringUtils.isBlank(userVO.getUserPassword())) { if (!StringUtils.isBlank(userVO.getUserPassword())) {

View File

@ -140,6 +140,17 @@
</foreach> </foreach>
</update> </update>
<!-- 删除用户 -->
<update id="delete" parameterType="map" flushCache="true">
DELETE FROM
sys_user
WHERE
user_id IN
<foreach collection="userIds" index="index" open="(" separator="," close=")">
#{userIds[${index}]}
</foreach>
</update>
<!-- 修改菜单 --> <!-- 修改菜单 -->
<update id="update" parameterType="map" flushCache="true"> <update id="update" parameterType="map" flushCache="true">
UPDATE UPDATE