liusheng
4 天以前 0bbbd746e8c39d91ad7b47a4e36e29ab972dc98c
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
package com.ruoyi.inhospvisit.api;
 
import com.ruoyi.common.core.service.PreachformApi;
import com.ruoyi.common.core.service.dto.VisitPreachformRow;
import com.ruoyi.inhospvisit.mapper.VisitPreachformMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.Collections;
import java.util.List;
 
/**
 * {@link PreachformApi} 的唯一实现(<b>常驻 Bean</b>)。
 *
 * <h3>它做什么</h3>
 * 把 {@code service_subtask_preachform} 的读写收敛到本模块的
 * {@link VisitPreachformMapper},对 {@link PreachformApi} 逐方法纯转发。
 * <p>
 * 本类存在的意义是"跨模块 SQL 收口":收口前 smartor 里另有一整份同表的
 * {@code ServiceSubtaskPreachformMapper} + XML,且有 15 个文件直连它 ——
 * 同一个表两套 CRUD,改一边就可能与另一边漂移。收口后外部只经本模块访问。
 *
 * <h3>⚠️ 不含任何业务判断,也不判开关</h3>
 * 逐方法与原 Mapper 对应,条件/列/顺序照抄。
 * "什么时候该插一条、置什么状态"属于调用方的业务。
 * 开关({@code inhospvisit.enabled})只管"要不要生成随访",不该让数据访问整体不可用。
 *
 * <h3>⚠️ 三个 softDelete* 是软删</h3>
 * 原实现里那三个 {@code deleteServiceSubtaskPreachform* } 的语句都是
 * {@code update ... set del_flag = 1},本类按实际行为命名与转发。
 */
@Slf4j
@Component
public class DefaultPreachformApi implements PreachformApi {
 
    @Autowired
    private VisitPreachformMapper mapper;
 
    @Override
    public VisitPreachformRow findById(Long id) {
        return mapper.selectById(id);
    }
 
    @Override
    public List<VisitPreachformRow> findList(VisitPreachformRow query) {
        List<VisitPreachformRow> rows = mapper.selectList(query);
        return rows == null ? Collections.<VisitPreachformRow>emptyList() : rows;
    }
 
    @Override
    public List<VisitPreachformRow> findByTaskidAndOrgid(Long taskid, String orgid) {
        List<VisitPreachformRow> rows = mapper.selectByTaskidAndOrgid(taskid, orgid);
        return rows == null ? Collections.<VisitPreachformRow>emptyList() : rows;
    }
 
    @Override
    public boolean insert(VisitPreachformRow row) {
        return mapper.insert(row) == 1;
    }
 
    @Override
    public boolean updateById(VisitPreachformRow row) {
        return mapper.updateById(row) == 1;
    }
 
    @Override
    public boolean updateByCondition(VisitPreachformRow row) {
        return mapper.updateByCondition(row) == 1;
    }
 
    @Override
    public boolean softDeleteById(Long id) {
        return mapper.softDeleteById(id) == 1;
    }
 
    @Override
    public boolean softDeleteByIds(Long[] ids) {
        return mapper.softDeleteByIds(ids) == 1;
    }
 
    @Override
    public boolean softDeleteBySubid(Long subid) {
        return mapper.softDeleteBySubid(subid) == 1;
    }
}