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;
|
}
|
}
|