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