feat(property): 访客登记同步 E8 平台门禁
This commit is contained in:
@@ -118,5 +118,8 @@ public class TbVisitorManagement extends TenantEntity {
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
/**
|
||||
* e8平台id
|
||||
*/
|
||||
private Long eEightId;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user