wenminjie
2026-07-10 c14fd6f05f96c36693db8b3058be2ceb8e7c87d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.ruoyi.system.service.impl;
 
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.dto.SysVisitorRecordDeleteRequest;
import com.ruoyi.system.dto.SysVisitorRecordDetailRequest;
import com.ruoyi.system.dto.SysVisitorRecordPageRequest;
import com.ruoyi.system.mapper.SysVisitorRecordMapper;
import com.ruoyi.system.service.ISysVisitorRecordService;
import com.ruoyi.system.vo.SysVisitorRecordDetailVO;
import com.ruoyi.system.vo.SysVisitorRecordVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
 
import java.util.List;
 
/**
 * 访客登记记录服务实现
 *
 * @author ruoyi
 */
@Service
public class SysVisitorRecordServiceImpl implements ISysVisitorRecordService
{
    @Autowired
    private SysVisitorRecordMapper visitorRecordMapper;
 
    @Override
    public PageInfo<SysVisitorRecordVO> pageList(SysVisitorRecordPageRequest request)
    {
        SysVisitorRecordPageRequest query = request == null ? new SysVisitorRecordPageRequest() : request;
        query.setIntervieweeName(StringUtils.trim(query.getIntervieweeName()));
        query.setIntervieweeDept(StringUtils.trim(query.getIntervieweeDept()));
        query.setStatus(StringUtils.trim(query.getStatus()));
        query.setVisitorName(StringUtils.trim(query.getVisitorName()));
        query.setVisitReason(StringUtils.trim(query.getVisitReason()));
        query.setRegisterType(StringUtils.trim(query.getRegisterType()));
        PageInfo<SysVisitorRecordVO> pageInfo = new PageInfo<SysVisitorRecordVO>(query.getPageNum(), query.getPageSize());
        List<SysVisitorRecordVO> list = visitorRecordMapper.pageList(query, pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
 
    @Override
    public SysVisitorRecordDetailVO detail(SysVisitorRecordDetailRequest request)
    {
        Long recordId = getRequiredRecordId(request == null ? null : request.getRecordId());
        SysVisitorRecordDetailVO detail = visitorRecordMapper.selectDetailById(recordId);
        if (detail == null)
        {
            throw new ServiceException("访客登记记录不存在");
        }
        detail.setPassRecords(visitorRecordMapper.selectPassRecordsByRecordId(recordId));
        return detail;
    }
 
    @Override
    public int delete(SysVisitorRecordDeleteRequest request, String username)
    {
        List<Long> recordIds = request == null ? null : request.getRecordIds();
        if (CollectionUtils.isEmpty(recordIds))
        {
            throw new ServiceException("访客登记记录主键集合不能为空");
        }
        for (Long recordId : recordIds)
        {
            getRequiredRecordId(recordId);
        }
        return visitorRecordMapper.deleteByIds(recordIds, username);
    }
 
    private Long getRequiredRecordId(Long recordId)
    {
        if (recordId == null || recordId <= 0)
        {
            throw new ServiceException("访客登记记录主键不能为空");
        }
        return recordId;
    }
}