forked from dyf/fys-Multi-tenant
app注销删除相关联数据
This commit is contained in:
@ -4,6 +4,10 @@ import cn.dev33.satoken.exception.NotLoginException;
|
|||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.fuyuanshen.app.domain.bo.AppDeviceBindRecordBo;
|
||||||
|
import com.fuyuanshen.app.domain.bo.AppDeviceShareBo;
|
||||||
|
import com.fuyuanshen.app.domain.vo.AppDeviceBindRecordVo;
|
||||||
|
import com.fuyuanshen.app.domain.vo.AppDeviceShareVo;
|
||||||
import com.fuyuanshen.app.domain.vo.AppRoleVo;
|
import com.fuyuanshen.app.domain.vo.AppRoleVo;
|
||||||
import com.fuyuanshen.app.domain.vo.AppUserVo;
|
import com.fuyuanshen.app.domain.vo.AppUserVo;
|
||||||
import com.fuyuanshen.common.core.constant.Constants;
|
import com.fuyuanshen.common.core.constant.Constants;
|
||||||
@ -33,6 +37,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录校验方法
|
* 登录校验方法
|
||||||
@ -52,6 +57,8 @@ public class AppLoginService {
|
|||||||
|
|
||||||
private final ISysTenantService tenantService;
|
private final ISysTenantService tenantService;
|
||||||
private final IAppUserService appUserService;
|
private final IAppUserService appUserService;
|
||||||
|
private final IAppDeviceShareService appDeviceShareService;
|
||||||
|
private final IAppDeviceBindRecordService appDeviceBindRecordService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -188,10 +195,32 @@ public class AppLoginService {
|
|||||||
public void cancelAccount() {
|
public void cancelAccount() {
|
||||||
try {
|
try {
|
||||||
AppLoginUser loginUser = AppLoginHelper.getLoginUser();
|
AppLoginUser loginUser = AppLoginHelper.getLoginUser();
|
||||||
|
// AppLoginUser loginUser = new AppLoginUser();
|
||||||
|
// loginUser.setUserId(1988398584423133187L);
|
||||||
|
// loginUser.setUsername("19022528079");
|
||||||
if (ObjectUtil.isNull(loginUser)) {
|
if (ObjectUtil.isNull(loginUser)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
appUserService.deleteWithValidByIds(Collections.singletonList(loginUser.getUserId()),true);
|
appUserService.deleteWithValidByIds(Collections.singletonList(loginUser.getUserId()),true);
|
||||||
|
|
||||||
|
AppDeviceBindRecordBo appDeviceBindRecordBo = new AppDeviceBindRecordBo();
|
||||||
|
appDeviceBindRecordBo.setBindingUserId(loginUser.getUserId());
|
||||||
|
List<AppDeviceBindRecordVo> appDeviceBindRecordVos = appDeviceBindRecordService.queryList(appDeviceBindRecordBo);
|
||||||
|
if(ObjectUtil.length(appDeviceBindRecordVos)>0){
|
||||||
|
|
||||||
|
|
||||||
|
// 根据设备id批量删除
|
||||||
|
List<Long> deviceIds = appDeviceBindRecordVos.stream().map(AppDeviceBindRecordVo::getDeviceId).toList();
|
||||||
|
appDeviceShareService.deleteByDeviceIds(deviceIds);
|
||||||
|
|
||||||
|
|
||||||
|
List<Long> ids = appDeviceBindRecordVos.stream()
|
||||||
|
.map(AppDeviceBindRecordVo::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
appDeviceBindRecordService.deleteWithValidByIds(ids, true);
|
||||||
|
log.info("删除绑定关系表数据:ids={}",ids);
|
||||||
|
}
|
||||||
|
|
||||||
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) {
|
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) {
|
||||||
// 超级管理员 登出清除动态租户
|
// 超级管理员 登出清除动态租户
|
||||||
TenantHelper.clearDynamic();
|
TenantHelper.clearDynamic();
|
||||||
|
|||||||
@ -9,6 +9,8 @@ import com.fuyuanshen.app.domain.vo.AppDeviceShareVo;
|
|||||||
import com.fuyuanshen.common.mybatis.core.mapper.BaseMapperPlus;
|
import com.fuyuanshen.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备分享Mapper接口
|
* 设备分享Mapper接口
|
||||||
*
|
*
|
||||||
@ -27,4 +29,6 @@ public interface AppDeviceShareMapper extends BaseMapperPlus<AppDeviceShare, App
|
|||||||
* @return 设备分享
|
* @return 设备分享
|
||||||
*/
|
*/
|
||||||
Page<AppDeviceShareVo> selectWebDeviceShareList(@Param("bo") AppDeviceShareBo bo, Page<AppDeviceShareVo> page);
|
Page<AppDeviceShareVo> selectWebDeviceShareList(@Param("bo") AppDeviceShareBo bo, Page<AppDeviceShareVo> page);
|
||||||
|
|
||||||
|
void deleteByDeviceIds(@Param("deviceIds") List<Long> deviceIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,4 +67,6 @@ public interface IAppDeviceShareService {
|
|||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
TableDataInfo<AppDeviceShareVo> otherDeviceShareList(AppDeviceShareBo bo, PageQuery pageQuery);
|
TableDataInfo<AppDeviceShareVo> otherDeviceShareList(AppDeviceShareBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
void deleteByDeviceIds(List<Long> deviceIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -166,4 +166,9 @@ public class AppDeviceShareServiceImpl implements IAppDeviceShareService {
|
|||||||
});
|
});
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteByDeviceIds(List<Long> deviceIds) {
|
||||||
|
baseMapper.deleteByDeviceIds(deviceIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,12 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.fuyuanshen.app.mapper.AppDeviceShareMapper">
|
<mapper namespace="com.fuyuanshen.app.mapper.AppDeviceShareMapper">
|
||||||
|
<delete id="deleteByDeviceIds">
|
||||||
|
delete from app_device_share where device_id in
|
||||||
|
<foreach item="item" collection="deviceIds" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
<select id="otherDeviceShareList" resultType="com.fuyuanshen.app.domain.vo.AppDeviceShareVo">
|
<select id="otherDeviceShareList" resultType="com.fuyuanshen.app.domain.vo.AppDeviceShareVo">
|
||||||
select d.device_name,
|
select d.device_name,
|
||||||
|
|||||||
Reference in New Issue
Block a user