zjk
2026-07-24 3ee306e4a8db75680960f5eb4eec9fb7d05b5f29
ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/ApiPullSingInDataService.java
@@ -59,7 +59,7 @@
                // 1. 参数校验
                if (!StringUtils.hasText(request.getIdCard())) {
                    log.warn("身份证号为空,已跳过,设备编号: {}", request.getDeviceNo());
                    log.warn("身份证号为空,已跳过,访问人姓名: {}", request.getVisitorName());
                    errorCount++;
                    continue;
                }
@@ -73,8 +73,8 @@
                String uniqueKey = generateUniqueKey(request);
                String redisKey = "offline:signin:" + uniqueKey;
                if (Boolean.TRUE.equals(redisTemplate.hasKey(redisKey))) {
                    log.warn("签到数据重复,已跳过, 设备编号: {}, 身份证号: {}, 登记时间: {}",
                            request.getDeviceNo(), request.getIdCard(), request.getRegisterTime());
                    log.warn("签到数据重复,已跳过, 身份证号: {}, 登记时间: {}",
                            request.getIdCard(), request.getRegisterTime());
                    skipCount++;
                    continue;
                }
@@ -135,7 +135,7 @@
        BeanUtils.copyProperties(request, record);
        record.setRegisterTime(registerTime);
        record.setRegisterSource("访客机");
        record.setRegisterType("ONSITE");
//        record.setRegisterType("ONSITE");
        record.setCreateTime(new Date());
        record.setDelFlag("0");
        record.setRegisterNo(generateRegisterNo());
@@ -148,8 +148,6 @@
        // 4. 如果有未关联的签离数据,直接关联
        if (signoutTemp != null) {
            // 设置签离信息
            record.setSignTime(signoutTemp.getSignTime());
            record.setSignReceiverName(signoutTemp.getSignReceiverName());
@@ -321,7 +319,7 @@
     */
    private String generateUniqueKey(ApiVisitorRecordSinginRequest request) {
        StringBuilder sb = new StringBuilder();
        sb.append(request.getDeviceNo()).append(":");
//        sb.append(request.getDeviceNo()).append(":");
        sb.append(request.getIdCard()).append(":");
        sb.append(request.getRegisterTime() != null ?
                request.getRegisterTime().getTime() : System.currentTimeMillis());