refactor(sis): - E8同步
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:
parent
13eee82adc
commit
421bc821eb
@ -93,4 +93,9 @@ public class SisAccessControl extends TenantEntity {
|
||||
*/
|
||||
private String outCode;
|
||||
|
||||
/**
|
||||
* 外部门编码
|
||||
*/
|
||||
private String outDoorCode;
|
||||
|
||||
}
|
||||
|
@ -23,12 +23,14 @@ import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.vo.SisDeviceManageVo;
|
||||
import org.dromara.sis.mapper.SisAccessControlMapper;
|
||||
import org.dromara.sis.sdk.e8.DoorDeviceService;
|
||||
import org.dromara.sis.sdk.e8.domain.door.res.AuthDoorDeviceFindRes;
|
||||
import org.dromara.sis.service.ISisAccessControlService;
|
||||
import org.dromara.sis.service.ISisDeviceBindRefService;
|
||||
import org.dromara.sis.service.ISisDeviceManageService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -203,7 +205,36 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean syncE8() {
|
||||
return true;
|
||||
List<AuthDoorDeviceFindRes> authDoorDeviceFindRes = doorDeviceService.getPageAuthDoorDeviceList();
|
||||
|
||||
LambdaQueryWrapper<SisAccessControl> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(true, SisAccessControl::getControlType, 2);
|
||||
List<SisAccessControlVo> sisAccessControlVos = baseMapper.selectVoList(lqw);
|
||||
|
||||
// 过滤掉authDoorDeviceFindRes中与sisAccessControlVos具有相同 deviceId 和 outCode 的项
|
||||
List<AuthDoorDeviceFindRes> filter = authDoorDeviceFindRes.stream()
|
||||
.filter(res -> sisAccessControlVos.stream()
|
||||
.noneMatch(vo -> vo.getOutCode().equals(res.getDeviceId().toString())))
|
||||
.toList();
|
||||
|
||||
Collection<SisAccessControl> sisACBos = new ArrayList<>();
|
||||
for (AuthDoorDeviceFindRes res : filter){
|
||||
SisAccessControl ac = new SisAccessControl();
|
||||
ac.setFactoryCode(res.getDeviceNo());
|
||||
ac.setAccessCode(res.getDeviceId().toString());
|
||||
ac.setOutCode(res.getDeviceId().toString());
|
||||
ac.setOutDoorCode(res.getId().toString());
|
||||
ac.setAccessType(1);
|
||||
ac.setControlType(2);
|
||||
ac.setAccessName(res.getName());
|
||||
ac.setBuildingId(0L);
|
||||
ac.setCommunityId(0L);
|
||||
ac.setAccessIp("127.0.0.1");
|
||||
ac.setAccessPort(8080);
|
||||
sisACBos.add(ac);
|
||||
}
|
||||
return baseMapper.insertBatch(sisACBos);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user