|
@@ -28,9 +28,11 @@ import org.dromara.server.hik.domain.dto.UploadEmpDto;
|
|
|
import org.dromara.server.hik.domain.dto.UserInfoDto;
|
|
import org.dromara.server.hik.domain.dto.UserInfoDto;
|
|
|
import org.dromara.server.hik.domain.dto.base.*;
|
|
import org.dromara.server.hik.domain.dto.base.*;
|
|
|
import org.dromara.server.hik.domain.dto.query.QueryEmpResultDto;
|
|
import org.dromara.server.hik.domain.dto.query.QueryEmpResultDto;
|
|
|
|
|
+import org.dromara.server.hik.domain.vo.XfTermVo;
|
|
|
import org.dromara.server.hik.enums.ContentTypeEnum;
|
|
import org.dromara.server.hik.enums.ContentTypeEnum;
|
|
|
import org.dromara.server.hik.enums.StatusCodeEnum;
|
|
import org.dromara.server.hik.enums.StatusCodeEnum;
|
|
|
import org.dromara.server.hik.service.ISendDeviceService;
|
|
import org.dromara.server.hik.service.ISendDeviceService;
|
|
|
|
|
+import org.dromara.server.hik.service.IXfTermService;
|
|
|
import org.dromara.server.hik.utils.DigestHttpUtil;
|
|
import org.dromara.server.hik.utils.DigestHttpUtil;
|
|
|
import org.dromara.server.hik.utils.JsonConfig;
|
|
import org.dromara.server.hik.utils.JsonConfig;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.NotNull;
|
|
@@ -59,6 +61,8 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
private final DefaultConfig defaultConfig;
|
|
private final DefaultConfig defaultConfig;
|
|
|
private final ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
|
private final ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
|
|
|
|
|
|
|
|
|
+ private final IXfTermService xfTermService;
|
|
|
|
|
+
|
|
|
@DubboReference
|
|
@DubboReference
|
|
|
private final RemotePtXfTermService remotePtXfTermService;
|
|
private final RemotePtXfTermService remotePtXfTermService;
|
|
|
@DubboReference
|
|
@DubboReference
|
|
@@ -75,11 +79,30 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
* @param deleteFace 布尔标志,指示是否应删除特定的人脸数据
|
|
* @param deleteFace 布尔标志,指示是否应删除特定的人脸数据
|
|
|
* @param deleteAllCard 布尔标志,指示是否应删除与用户相关的所有卡片数据
|
|
* @param deleteAllCard 布尔标志,指示是否应删除与用户相关的所有卡片数据
|
|
|
* @param deleteCard 布尔标志,指示是否应删除特定的卡片数据
|
|
* @param deleteCard 布尔标志,指示是否应删除特定的卡片数据
|
|
|
|
|
+ * @param uploadPhoto 布尔标志,指示是否应上传用户照片
|
|
|
* @return 一个填充了用户信息、有效性详情、卡片信息和人脸数据的 EmpInfoDto 对象
|
|
* @return 一个填充了用户信息、有效性详情、卡片信息和人脸数据的 EmpInfoDto 对象
|
|
|
*/
|
|
*/
|
|
|
@NotNull
|
|
@NotNull
|
|
|
private static EmpInfoDto getEmpInfoDto(@NotNull RemoteUserAccountVo accountVo, Boolean deleteUser, Boolean deleteAllFace, Boolean deleteFace,
|
|
private static EmpInfoDto getEmpInfoDto(@NotNull RemoteUserAccountVo accountVo, Boolean deleteUser, Boolean deleteAllFace, Boolean deleteFace,
|
|
|
- Boolean deleteAllCard, Boolean deleteCard) {
|
|
|
|
|
|
|
+ Boolean deleteAllCard, Boolean deleteCard, Boolean uploadPhoto) {
|
|
|
|
|
+ EmpInfoDto empDto = createEmpInfoDto(accountVo, deleteUser);
|
|
|
|
|
+
|
|
|
|
|
+ // 设置用户卡片信息,有物理卡号并且物理卡号>0时设置
|
|
|
|
|
+ Long factoryId = accountVo.getFactoryId();
|
|
|
|
|
+ setCardToEmpInfoDto(empDto, factoryId, deleteAllCard, deleteCard);
|
|
|
|
|
+
|
|
|
|
|
+ if(uploadPhoto){
|
|
|
|
|
+ // TODO 2025-05-24 因为人员照片原因,暂时不将人脸照片上传到消费机
|
|
|
|
|
+ // 设置用户人脸图片信息
|
|
|
|
|
+ String photo = accountVo.getFacePicUrl();
|
|
|
|
|
+ setPhotoToEmpInfoDto(empDto, photo, deleteAllFace, deleteFace);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return empDto;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private static EmpInfoDto createEmpInfoDto(@NotNull RemoteUserAccountVo accountVo,Boolean deleteUser) {
|
|
|
EmpInfoDto empDto = new EmpInfoDto();
|
|
EmpInfoDto empDto = new EmpInfoDto();
|
|
|
// 设置用户基本信息
|
|
// 设置用户基本信息
|
|
|
empDto.setEmployeeNo(accountVo.getUserNo().toString()).setName(accountVo.getRealName());
|
|
empDto.setEmployeeNo(accountVo.getUserNo().toString()).setName(accountVo.getRealName());
|
|
@@ -94,8 +117,26 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
ValidDto validDto = new ValidDto().setBeginTime(getBeginTime()).setEndTime(DateUtil.date(endTime));
|
|
ValidDto validDto = new ValidDto().setBeginTime(getBeginTime()).setEndTime(DateUtil.date(endTime));
|
|
|
empDto.setValid(validDto);
|
|
empDto.setValid(validDto);
|
|
|
}
|
|
}
|
|
|
- // 设置用户卡片信息,有物理卡号并且物理卡号>0时设置
|
|
|
|
|
- Long factoryId = accountVo.getFactoryId();
|
|
|
|
|
|
|
+ return empDto;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 更新人脸
|
|
|
|
|
+ private static void setPhotoToEmpInfoDto(EmpInfoDto empDto,String photo,Boolean deleteAllFace, Boolean deleteFace) {
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(photo)) {
|
|
|
|
|
+ FaceDto faceDto = new FaceDto().setFDID("1").setFaceID(1L).setFacePicURL(photo);
|
|
|
|
|
+ faceDto.setDeleteFace(deleteFace);
|
|
|
|
|
+
|
|
|
|
|
+ List<FaceDto> faceList = new ArrayList<>();
|
|
|
|
|
+ faceList.add(faceDto);
|
|
|
|
|
+ FaceListDto faceListDto = new FaceListDto().setList(faceList);
|
|
|
|
|
+ faceListDto.setDeleteAllFace(deleteAllFace);
|
|
|
|
|
+
|
|
|
|
|
+ empDto.setFaceInfo(faceListDto);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 更新卡片
|
|
|
|
|
+ private static void setCardToEmpInfoDto(EmpInfoDto empDto,Long factoryId,Boolean deleteAllCard, Boolean deleteCard) {
|
|
|
if (ObjectUtil.isNotEmpty(factoryId) && factoryId > 0L) {
|
|
if (ObjectUtil.isNotEmpty(factoryId) && factoryId > 0L) {
|
|
|
CardDto cardDto = new CardDto().setCardNo(factoryId.toString());
|
|
CardDto cardDto = new CardDto().setCardNo(factoryId.toString());
|
|
|
cardDto.setDeleteCard(deleteCard);
|
|
cardDto.setDeleteCard(deleteCard);
|
|
@@ -109,24 +150,6 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
|
|
|
|
|
empDto.setCardInfo(cardListDto);
|
|
empDto.setCardInfo(cardListDto);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- // TODO 2025-05-24 因为人员照片原因,暂时不将人脸照片上传到消费机
|
|
|
|
|
- // 设置用户人脸图片信息
|
|
|
|
|
- String photo = accountVo.getFacePicUrl();
|
|
|
|
|
- if (ObjectUtil.isNotEmpty(photo)) {
|
|
|
|
|
- FaceDto faceDto = new FaceDto().setFDID("1").setFaceID(1L).setFacePicURL(photo);
|
|
|
|
|
- faceDto.setDeleteFace(deleteFace);
|
|
|
|
|
-
|
|
|
|
|
- List<FaceDto> faceList = new ArrayList<>();
|
|
|
|
|
- faceList.add(faceDto);
|
|
|
|
|
- FaceListDto faceListDto = new FaceListDto().setList(faceList);
|
|
|
|
|
- faceListDto.setDeleteAllFace(deleteAllFace);
|
|
|
|
|
-
|
|
|
|
|
- empDto.setFaceInfo(faceListDto);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return empDto;
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -138,14 +161,26 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
*/
|
|
*/
|
|
|
@NotNull
|
|
@NotNull
|
|
|
private static DeviceDto getDeviceDto(@NotNull RemoteXfTermVo termVo) {
|
|
private static DeviceDto getDeviceDto(@NotNull RemoteXfTermVo termVo) {
|
|
|
|
|
+ return getDeviceDto(termVo.getTermNo(), termVo.getAdminName(), termVo.getAdminPwd(), termVo.getTermIp(),
|
|
|
|
|
+ termVo.getCommPort(), termVo.getServerIp(), termVo.getServerPort());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private static DeviceDto getDeviceDto(@NotNull XfTermVo termVo) {
|
|
|
|
|
+ return getDeviceDto(termVo.getTermNo(), termVo.getAdminName(), termVo.getAdminPwd(), termVo.getTermIp(),
|
|
|
|
|
+ termVo.getCommPort(), termVo.getServerIp(), termVo.getServerPort());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private static DeviceDto getDeviceDto(Long termNo, String adminName, String adminPwd, String termIp, Long commPort, String serverIp, Long serverPort) {
|
|
|
DeviceDto dto = new DeviceDto();
|
|
DeviceDto dto = new DeviceDto();
|
|
|
- dto.setTermNo(termVo.getTermNo().intValue());
|
|
|
|
|
- dto.setAdminName(termVo.getAdminName());
|
|
|
|
|
- dto.setAdminPwd(termVo.getAdminPwd());
|
|
|
|
|
- dto.setDeviceIp(termVo.getTermIp());
|
|
|
|
|
- dto.setDevicePort(termVo.getCommPort().intValue());
|
|
|
|
|
- dto.setServerIp(termVo.getServerIp());
|
|
|
|
|
- dto.setServerPort(termVo.getServerPort().intValue());
|
|
|
|
|
|
|
+ dto.setTermNo(termNo.intValue());
|
|
|
|
|
+ dto.setAdminName(adminName);
|
|
|
|
|
+ dto.setAdminPwd(adminPwd);
|
|
|
|
|
+ dto.setDeviceIp(termIp);
|
|
|
|
|
+ dto.setDevicePort(commPort.intValue());
|
|
|
|
|
+ dto.setServerIp(serverIp);
|
|
|
|
|
+ dto.setServerPort(serverPort.intValue());
|
|
|
|
|
|
|
|
return dto;
|
|
return dto;
|
|
|
}
|
|
}
|
|
@@ -460,7 +495,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
return R.fail(
|
|
return R.fail(
|
|
|
MessageFormat.format("[处理人员失败]-[设备IP:{0}, 人员Id:{1}, 错误信息:无此Id对应的人员信息", device.getDeviceIp(), userId));
|
|
MessageFormat.format("[处理人员失败]-[设备IP:{0}, 人员Id:{1}, 错误信息:无此Id对应的人员信息", device.getDeviceIp(), userId));
|
|
|
}
|
|
}
|
|
|
- EmpInfoDto empInfo = getEmpInfoDto(accountVo, true, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empInfo = getEmpInfoDto(accountVo, true, false, false, false, false, true);
|
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
|
|
|
|
|
|
log.info(result.getMsg());
|
|
log.info(result.getMsg());
|
|
@@ -474,7 +509,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
List<RemoteUserAccountVo> accountVoList = remoteUserAccountService.getUserAccountVoList();
|
|
List<RemoteUserAccountVo> accountVoList = remoteUserAccountService.getUserAccountVoList();
|
|
|
accountVoList.forEach(p -> {
|
|
accountVoList.forEach(p -> {
|
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(p, true, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(p, true, false, false, false, false, true);
|
|
|
R<Void> result = createOperatorEmpInfo(deviceDto, empDto);
|
|
R<Void> result = createOperatorEmpInfo(deviceDto, empDto);
|
|
|
log.info(result.getMsg());
|
|
log.info(result.getMsg());
|
|
|
});
|
|
});
|
|
@@ -489,7 +524,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
return R.fail(
|
|
return R.fail(
|
|
|
MessageFormat.format("[处理人员失败]-[人员Id:{0}, 错误信息:无此Id对应的人员信息", userId));
|
|
MessageFormat.format("[处理人员失败]-[人员Id:{0}, 错误信息:无此Id对应的人员信息", userId));
|
|
|
}
|
|
}
|
|
|
- EmpInfoDto empInfo = getEmpInfoDto(accountVo, true, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empInfo = getEmpInfoDto(accountVo, true, false, false, false, false, true);
|
|
|
|
|
|
|
|
List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
|
if (CollectionUtil.isEmpty(termList)) {
|
|
if (CollectionUtil.isEmpty(termList)) {
|
|
@@ -524,7 +559,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
|
DeviceDto device = getDeviceDto(p);
|
|
DeviceDto device = getDeviceDto(p);
|
|
|
accountVoList.parallelStream().forEach(t -> {
|
|
accountVoList.parallelStream().forEach(t -> {
|
|
|
- EmpInfoDto empInfo = getEmpInfoDto(t, true, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empInfo = getEmpInfoDto(t, true, false, false, false, false, true);
|
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
|
log.info(result.getMsg());
|
|
log.info(result.getMsg());
|
|
|
});
|
|
});
|
|
@@ -616,7 +651,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
accountVoList.forEach(p -> {
|
|
accountVoList.forEach(p -> {
|
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
threadPoolTaskExecutor.submit(() -> {
|
|
|
try {
|
|
try {
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(p, false, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(p, false, false, false, false, false,true);
|
|
|
R<Void> result = createOperatorEmpInfo(deviceDto, empDto);
|
|
R<Void> result = createOperatorEmpInfo(deviceDto, empDto);
|
|
|
log.info(result.getMsg());
|
|
log.info(result.getMsg());
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -633,13 +668,13 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
|
|
|
|
|
RemoteUserAccountVo accountVo = remoteUserAccountService.getUserAccountVoBy(userId);
|
|
RemoteUserAccountVo accountVo = remoteUserAccountService.getUserAccountVoBy(userId);
|
|
|
|
|
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false,true);
|
|
|
|
|
|
|
|
return this.createOperatorEmpInfo(deviceDto, empDto);
|
|
return this.createOperatorEmpInfo(deviceDto, empDto);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public R<Void> upLoadEmpToDevice() {
|
|
|
|
|
|
|
+ public R<Void> upLoadEmpToDevice(Boolean uploadPhoto) {
|
|
|
// 获取所有设备
|
|
// 获取所有设备
|
|
|
List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
|
if (CollectionUtil.isEmpty(termList)) {
|
|
if (CollectionUtil.isEmpty(termList)) {
|
|
@@ -656,7 +691,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
DeviceDto device = getDeviceDto(p);
|
|
DeviceDto device = getDeviceDto(p);
|
|
|
accountVoList.forEach(t -> {
|
|
accountVoList.forEach(t -> {
|
|
|
threadPoolTaskExecutor.submit(()->{
|
|
threadPoolTaskExecutor.submit(()->{
|
|
|
- EmpInfoDto empInfo = getEmpInfoDto(t, false, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empInfo = getEmpInfoDto(t, false, false, false, false, false,uploadPhoto);
|
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
|
log.info(result.getMsg());
|
|
log.info(result.getMsg());
|
|
|
});
|
|
});
|
|
@@ -665,13 +700,48 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
return R.ok();
|
|
return R.ok();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 上传days内的数据至指定mac设备
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param startDate 天数
|
|
|
|
|
+ * @param uploadPhoto 是否上传照片
|
|
|
|
|
+ * @return 无
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public R<Void> upLoadEmpToDevice(String macAddress,Date startDate, Boolean uploadPhoto) {
|
|
|
|
|
+ List<RemoteUserAccountVo> vos = remoteUserAccountService.getUpdateUserAccountVo(startDate);
|
|
|
|
|
+ if (CollectionUtil.isEmpty(vos)) {
|
|
|
|
|
+ return R.warn("没有要处理人员数据");
|
|
|
|
|
+ }
|
|
|
|
|
+ log.info("day处理人员数据条数" + vos.size());
|
|
|
|
|
+ XfTermVo termVo = xfTermService.queryByMac(macAddress);
|
|
|
|
|
+ if (ObjectUtil.isEmpty(termVo)) {
|
|
|
|
|
+ return R.warn(MessageFormat.format("设备未找到,mac:{0}", macAddress));
|
|
|
|
|
+ }
|
|
|
|
|
+ DeviceDto device = getDeviceDto(termVo);
|
|
|
|
|
+ vos.forEach(t -> {
|
|
|
|
|
+ threadPoolTaskExecutor.submit(()->{
|
|
|
|
|
+ try{
|
|
|
|
|
+ EmpInfoDto empInfo = getEmpInfoDto(t, false, false, false, false, false,uploadPhoto);
|
|
|
|
|
+ R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
|
|
|
+ log.info(result.getMsg());
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ log.error("heartBeat处理人员{}异常: {}", t.getUserId(), e.getMessage(), e);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ return R.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public R<Void> upLoadEmpToAllDevice(Long userId) {
|
|
public R<Void> upLoadEmpToAllDevice(Long userId) {
|
|
|
RemoteUserAccountVo accountVo = remoteUserAccountService.getUserAccountVoBy(userId);
|
|
RemoteUserAccountVo accountVo = remoteUserAccountService.getUserAccountVoBy(userId);
|
|
|
if (ObjectUtil.isEmpty(accountVo)) {
|
|
if (ObjectUtil.isEmpty(accountVo)) {
|
|
|
return R.warn(MessageFormat.format("没有要处理的人员信息,userId:{0}", userId));
|
|
return R.warn(MessageFormat.format("没有要处理的人员信息,userId:{0}", userId));
|
|
|
}
|
|
}
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false);
|
|
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false,true);
|
|
|
|
|
|
|
|
sendEmpToAllDevice(empDto);
|
|
sendEmpToAllDevice(empDto);
|
|
|
|
|
|
|
@@ -684,7 +754,8 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
accountVo.setUserNo(userNo);
|
|
accountVo.setUserNo(userNo);
|
|
|
accountVo.setLifespan(lifeSpan);
|
|
accountVo.setLifespan(lifeSpan);
|
|
|
|
|
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(accountVo, deleteUser, false, false, false, false);
|
|
|
|
|
|
|
+ // 实时下发数据不下发人脸,避免引起卡机
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, deleteUser, false, false, false, false, false);
|
|
|
|
|
|
|
|
sendEmpToAllDevice(empDto);
|
|
sendEmpToAllDevice(empDto);
|
|
|
|
|
|
|
@@ -700,7 +771,8 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
return R.warn(MessageFormat.format("没有要处理的人员信息,userId:{0}", userId));
|
|
return R.warn(MessageFormat.format("没有要处理的人员信息,userId:{0}", userId));
|
|
|
}
|
|
}
|
|
|
accountVo.setFactoryId(factorId);
|
|
accountVo.setFactoryId(factorId);
|
|
|
- EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, deleteAllCard, deleteCard);
|
|
|
|
|
|
|
+ // 实时下发数据不下发人脸,避免引起卡机
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, deleteAllCard, deleteCard, false);
|
|
|
|
|
|
|
|
sendEmpToAllDevice(empDto);
|
|
sendEmpToAllDevice(empDto);
|
|
|
|
|
|