package com.ruoyi.errand.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.utils.bean.BeanUtils;
|
import com.ruoyi.errand.constant.DelFlagConstant;
|
import com.ruoyi.errand.constant.StatusConstant;
|
import com.ruoyi.errand.domain.AppUser;
|
import com.ruoyi.errand.domain.Report;
|
import com.ruoyi.errand.mapper.ReportMapper;
|
import com.ruoyi.errand.object.dto.app.AddReportDTO;
|
import com.ruoyi.errand.object.dto.sys.ReportPageListDTO;
|
import com.ruoyi.errand.object.vo.sys.CourierPageListVO;
|
import com.ruoyi.errand.object.vo.sys.ReportPageListVO;
|
import com.ruoyi.errand.service.ReportService;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.stereotype.Service;
|
|
import java.time.LocalDateTime;
|
import java.util.Objects;
|
|
@Service
|
public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> implements ReportService {
|
|
@Override
|
public void add(AddReportDTO addReportDTO) {
|
AppUser appUser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
Report report = new Report();
|
BeanUtils.copyProperties(addReportDTO,report);
|
report.setAppUserId(appUser.getId());
|
report.setStatus(StatusConstant.UN_DISPOSE);
|
this.save(report);
|
}
|
|
@Override
|
public IPage<ReportPageListVO> getReportList(ReportPageListDTO dto) {
|
IPage<ReportPageListVO> page = new Page<>(dto.getPageNum(),dto.getPageSize());
|
return this.baseMapper.getReportList(page,dto);
|
}
|
|
@Override
|
public void dispose(Integer id) {
|
Report report = this.getById(id);
|
if (report==null || Objects.equals(report.getDelFlag(), DelFlagConstant.DELETE)) {
|
throw new ServiceException("该记录不存在");
|
}
|
if (Objects.equals(report.getStatus(), StatusConstant.DISPOSE)) {
|
throw new ServiceException("该记录已被处理过,请勿重复操作");
|
}
|
report.setStatus(StatusConstant.DISPOSE);
|
report.setUpdateTime(LocalDateTime.now());
|
this.updateById(report);
|
}
|
|
@Override
|
public void delete(Integer id) {
|
Report report = this.getById(id);
|
if (report==null || Objects.equals(report.getDelFlag(), DelFlagConstant.DELETE)) {
|
throw new ServiceException("该记录不存在");
|
}
|
report.setDelFlag(DelFlagConstant.DELETE);
|
report.setUpdateTime(LocalDateTime.now());
|
this.updateById(report);
|
}
|
}
|