“mitao”
2026-01-24 f72c546ff9d03608251a4186ce899b6facba6d05
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.estate.expert.admin.service.impl;
 
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.estate.expert.admin.domain.business.check.Check;
import com.estate.expert.admin.domain.business.check.CheckVo;
import com.estate.expert.admin.domain.common.request.AddCheckInfoRequest;
import com.estate.expert.admin.domain.common.request.EditCheckInfoRequest;
import com.estate.expert.admin.domain.common.request.OnDutyRequest;
import com.estate.expert.admin.domain.common.request.PageReq;
import com.estate.expert.admin.domain.common.response.PageRespMp;
import com.estate.expert.admin.domain.repository.CheckMapper;
import com.estate.expert.admin.domain.user.User;
import com.estate.expert.admin.service.CheckService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.Date;
import java.util.List;
import java.util.Objects;
 
/**
 * <p>
 * 检查情况 服务实现类
 * </p>
 *
 * @author administrator
 * @since 2026-01-12
 */
@Service
public class CheckServiceImpl extends ServiceImpl<CheckMapper, Check> implements CheckService {
 
    @Override
    public List<CheckVo> pageList(Page<CheckVo> page, OnDutyRequest request) {
        String sTime =null;
        String eTime =null;
        if(request.getTime()!=null && !request.getTime().isEmpty()){
            sTime = request.getTime().split(" - ")[0] + " 00:00:00";
            eTime = request.getTime().split(" - ")[1] + " 23:59:59";
        }
        List<CheckVo> list = this.baseMapper.pageList(page, request,sTime,eTime);
        return list;
    }
 
    @Override
    public CheckVo detail(Integer id) {
        return  this.baseMapper.detail(id);
    }
 
    @Override
    public PageRespMp<Check> listCheckInfoRecords(Integer checkTaskId, Integer creatorId, PageReq pageReq) {
        Page<Check> page = lambdaQuery().eq(Check::getCheckTaskId, checkTaskId).eq(Objects.nonNull(creatorId), Check::getCreatorId, creatorId)
                .page(new Page<>(pageReq.getPage(), pageReq.getSize()));
        // 将 Spring Data Page 转换为自定义 PageResp
        return PageRespMp.of(page);
    }
 
    /**
     * 添加检查信息(MyBatis Plus 方式)
     */
    @Override
    @Transactional
    public void addCheckInfo(User creator, AddCheckInfoRequest request) {
        // 1. 创建 Check 实体对象(MyBatis Plus 实体)
        Check check = new Check();
 
        // 2. 设置基本字段
        check.setTitle(request.getTitle());
        check.setSafetySlip(request.getSafetySlip());
        check.setCheckUserImg(request.getCheckUserImg());
        check.setIntegrityNotification(request.getIntegrityNotification());
 
        // 3. 设置关联字段
        check.setCheckTaskId(request.getCheckTaskIdId());
 
        // 4. 设置创建者ID(MyBatis Plus 使用 creatorId 字段)
        check.setCreatorId(creator.getId());
 
        // 5. 设置时间字段
        check.setTime(new Date());
 
        // createTime: 当前时间戳
        check.setCreateTime(new Date());
 
        // 6. 保存到数据库(MyBatis Plus 方式)
        save(check);
    }
 
    /**
     * 编辑检查信息(MyBatis Plus 方式)
     */
    @Override
    @Transactional
    public void editCheckInfo(EditCheckInfoRequest request) {
        // 1. 根据 id 查询现有的 Check 实体
        Check check = getById(request.getId());
        if (check == null) {
            throw new RuntimeException("检查信息不存在");
        }
 
        // 2. 更新字段
        check.setTitle(request.getTitle());
        check.setSafetySlip(request.getSafetySlip());
        check.setCheckUserImg(request.getCheckUserImg());
        check.setIntegrityNotification(request.getIntegrityNotification());
 
        // 3. 保存更新(MyBatis Plus 方式)
        updateById(check);
    }
 
    /**
     * 批量删除检查信息(MyBatis Plus 方式)
     */
    @Override
    @Transactional
    public void deleteCheckInfoByIds(List<Integer> ids) {
        // 使用 MyBatis Plus 的批量删除方法(逻辑删除,因为 Check 实体有 @TableLogic 注解)
        removeByIds(ids);
    }
 
    @Override
    public List<CheckVo> exportList(OnDutyRequest request) {
        String sTime =null;
        String eTime =null;
        if(request.getTime()!=null && !request.getTime().isEmpty()){
            sTime = request.getTime().split(" - ")[0] + " 00:00:00";
            eTime = request.getTime().split(" - ")[1] + " 23:59:59";
        }
        List<CheckVo> list = this.baseMapper.exportList( request,sTime,eTime);
        return list;
    }
}