huliguo
2 天以前 5d7b65670282a4fad015e37d567cfa171b162052
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
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);
    }
}