feat(property): 访客登记同步 E8 平台门禁

This commit is contained in:
2025-08-18 16:54:10 +08:00
parent be5d00040d
commit 8849b1d889
10 changed files with 188 additions and 25 deletions

View File

@@ -118,5 +118,8 @@ public class TbVisitorManagement extends TenantEntity {
*/
private String searchValue;
/**
* e8平台id
*/
private Long eEightId;
}

View File

@@ -1,6 +1,8 @@
package org.dromara.property.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@@ -13,6 +15,8 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.property.domain.bo.QrCodeInfo;
import org.dromara.sis.api.RemoteVisitorService;
import org.dromara.sis.api.domain.RemoteVisitor;
import org.dromara.system.api.RemoteUserService;
import org.dromara.system.api.domain.vo.RemoteUserVo;
import org.springframework.stereotype.Service;
@@ -30,7 +34,7 @@ import java.util.Collection;
* 访客管理Service业务层处理
*
* @author mocheng
* @date 2025-06-19
* @since 2025-06-19
*/
@Slf4j
@RequiredArgsConstructor
@@ -38,7 +42,12 @@ import java.util.Collection;
public class TbVisitorManagementServiceImpl implements ITbVisitorManagementService {
private final TbVisitorManagementMapper baseMapper;
private final RemoteUserService remoteUserService;
@DubboReference
private RemoteUserService remoteUserService;
@DubboReference
private RemoteVisitorService remoteVisitorService;
/**
* 查询访客管理
@@ -47,7 +56,7 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
* @return 访客管理
*/
@Override
public TbVisitorManagementVo queryById(Long id){
public TbVisitorManagementVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@@ -104,10 +113,11 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
*/
@Override
public Boolean insertByBo(TbVisitorManagementBo bo) {
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
RedisUtils.deleteKeys(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY + "Qrcode" + bo.getQrCodeId());
RedisUtils.deleteKeys(GlobalConstants.CAPTCHA_CODE_KEY + "Qrcode" + bo.getQrCodeId());
TbVisitorManagement add = MapstructUtils.convert(bo, TbVisitorManagement.class);
validEntityBeforeSave(add);
assert add != null;
add.setCreateById(info.getUserid());
RemoteUserVo userInfoById = remoteUserService.getUserInfoById(info.getUserid());
add.setTenantId(userInfoById.getTenantId());
@@ -116,8 +126,12 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
add.setUpdateBy(userInfoById.getUserId());
add.setCreateDept(userInfoById.getDeptId());
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
Long e8Id = syncE8PlatVisitor(bo);
add.setEEightId(e8Id);
baseMapper.updateById(add);
}
return flag;
}
@@ -137,11 +151,33 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
// add.setCreateById(info.getUserid());
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
assert add != null;
bo.setId(add.getId());
Long e8Id = syncE8PlatVisitor(bo);
add.setEEightId(e8Id);
baseMapper.updateById(add);
}
return flag;
}
/**
* 访客登记同步E8平台门禁
*
* @param visitor 访客信息
* @return E8平台访客ID
*/
private Long syncE8PlatVisitor(TbVisitorManagementBo visitor) {
RemoteVisitor remoteVisitor = new RemoteVisitor();
remoteVisitor.setVisitorName(visitor.getVisitorName());
remoteVisitor.setMobilePhone(visitor.getVisitorPhone());
remoteVisitor.setIntervieweeMobile(visitor.getInterviewedPhone());
remoteVisitor.setVisitorStartTime(DateUtil.format(visitor.getVisitingBeginTime(), "yyyy-MM-dd HH:mm:ss"));
remoteVisitor.setVistorEndTime(DateUtil.format(visitor.getVisitingEndTime(), "yyyy-MM-dd HH:mm:ss"));
remoteVisitor.setVisitorFaceImg(visitor.getFacePictures());
return remoteVisitorService.syncE8PlatVisitor(remoteVisitor);
}
/**
* 修改访客管理
*
@@ -158,7 +194,7 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbVisitorManagement entity){
private void validEntityBeforeSave(TbVisitorManagement entity) {
//TODO 做一些数据校验,如唯一约束
}
@@ -171,7 +207,7 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;