feat(Sis): 删除入驻员工包括删除授权记录和人像库图片,并调用 E8 平台 API 删除客户信息
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
@@ -7,6 +7,8 @@ import org.dromara.sis.api.RemoteSisAuth;
|
||||
import org.dromara.sis.api.domain.RemotePersonAuth;
|
||||
import org.dromara.sis.service.ISisAuthRecordService;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote RemoteSisAuthImpl
|
||||
@@ -28,4 +30,9 @@ public class RemoteSisAuthImpl implements RemoteSisAuth {
|
||||
public Boolean updatePersonAuth(RemotePersonAuth personAuth) {
|
||||
return sisAuthRecordService.updateByBo(personAuth);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletePersonAuth(Collection<Long> ids, Collection<Long> e8Ids) {
|
||||
return sisAuthRecordService.deleteByPersonIds(ids, e8Ids);
|
||||
}
|
||||
}
|
||||
|
@@ -105,4 +105,13 @@ public interface ISisAuthRecordService {
|
||||
* @return SisAuthRecordVo
|
||||
*/
|
||||
SisAuthRecordVo queryByGroupIdAndPersonId(Long groupId, Long personId);
|
||||
|
||||
/**
|
||||
* 批量删除授权记录
|
||||
*
|
||||
* @param ids 入驻员工ids
|
||||
* @param e8Ids e8id
|
||||
*/
|
||||
Boolean deleteByPersonIds(Collection<Long> ids, Collection<Long> e8Ids);
|
||||
|
||||
}
|
||||
|
@@ -3,7 +3,6 @@ package org.dromara.sis.service.impl;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.domain.TreeNode;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -22,7 +21,6 @@ import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.vo.SisElevatorInfoVo;
|
||||
import org.dromara.sis.domain.vo.SisPersonLibImgVo;
|
||||
import org.dromara.sis.sdk.e8.E8PlatformApi;
|
||||
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
||||
import org.dromara.sis.service.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.sis.domain.bo.SisAuthRecordBo;
|
||||
@@ -192,6 +190,7 @@ public class SisAuthRecordServiceImpl implements ISisAuthRecordService {
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(RemotePersonAuth bo) {
|
||||
LambdaQueryWrapper<SisAuthRecord> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq(SisAuthRecord::getTargetId, bo.getId());
|
||||
@@ -336,4 +335,36 @@ public class SisAuthRecordServiceImpl implements ISisAuthRecordService {
|
||||
.eq(SisAuthRecord::getTargetId, personId);
|
||||
return baseMapper.selectVoOne(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除授权记录
|
||||
*
|
||||
* @param ids 入驻员工ids
|
||||
* @param e8Ids e8id
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteByPersonIds(Collection<Long> ids, Collection<Long> e8Ids) {
|
||||
LambdaQueryWrapper<SisAuthRecord> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.in(SisAuthRecord::getTargetId, ids);
|
||||
boolean flag = baseMapper.delete(lqw) > 0;
|
||||
Assert.isTrue(flag, "删除授权记录失败");
|
||||
|
||||
if (flag) {
|
||||
|
||||
List<SisPersonLibImgVo> list = new ArrayList<>();
|
||||
ids.forEach(id -> {
|
||||
SisPersonLibImgVo imgVo = sisPersonLibImgService.queryByPersonId(id);
|
||||
if (imgVo != null) {
|
||||
list.add(imgVo);
|
||||
}
|
||||
});
|
||||
Collection<Long> imgIds = list.stream().map(SisPersonLibImgVo::getId).toList();
|
||||
flag = sisPersonLibImgService.deleteWithValidByIds(imgIds, false);
|
||||
Assert.isTrue(flag, "删除人像库图片失败");
|
||||
|
||||
e8Ids.forEach(e8PlatformApi::deleteCustomer);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user