package com.ruoyi.task.mapper;
|
|
import com.ruoyi.task.domain.ServiceSubtask;
|
import com.ruoyi.task.domain.ServiceSubtaskPreachform;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
/**
|
* 随访子任务「执行方式明细」({@code service_subtask_preachform})Mapper。
|
*
|
* <h3>2026-11 归属调整</h3>
|
* 该表原先归 {@code ruoyi-inhospvisit}(经 {@code PreachformApi} 契约对外),
|
* smartor 侧另有一份同表 CRUD 由一个 {@code @Primary} 委托实现兜着,ruoyi-task 只能经
|
* {@code ServiceSubtaskPreachformMapper} 间接读写。按"表跟随业务域"的口径,这张表整体划归 {@code ruoyi-task}:
|
* <ul>
|
* <li>SQL 与 Mapper 只有这一份(本接口 + {@code mapper/task/ServiceSubtaskPreachformMapper.xml});</li>
|
* <li>ruoyi-task / ruoyi-phone / smartor / ruoyi-admin / ruoyi-quartz 一律直接注入本 Mapper;</li>
|
* <li>{@code ruoyi-inhospvisit} 反向依赖不成立(它要写这张表),因此仍走
|
* {@code com.ruoyi.common.core.service.PreachformApi} 契约,实现方改为本模块
|
* ({@code com.ruoyi.task.api.contract.PreachformApiImpl})。</li>
|
* </ul>
|
*
|
* <h3>⚠️ 方法名沿用迁移前(smartor / 本模块调用点保持零改动)</h3>
|
* 语句 id 与 {@link ServiceSubtaskPreachform} 字段一一对应,条件、顺序照抄原 SQL,
|
* 不做"顺手精简"。三个 {@code delete*} 在库里其实是<b>软删</b>({@code update ... set del_flag = 1})。
|
*/
|
@Mapper
|
public interface ServiceSubtaskPreachformMapper {
|
|
/**
|
* 按主键查(原 {@code selectServiceSubtaskPreachformById})。
|
*/
|
ServiceSubtaskPreachform selectServiceSubtaskPreachformById(Long id);
|
|
/**
|
* 按条件查(原 {@code selectServiceSubtaskPreachformList})。
|
* <p>
|
* 固定条件 {@code del_flag = 0},其余 8 个字段为可选条件:
|
* {@code subid / taskid / current_send_time / preachform / sendstate / orgid / sort / compensate_time}。
|
*/
|
List<ServiceSubtaskPreachform> selectServiceSubtaskPreachformList(ServiceSubtaskPreachform query);
|
|
/**
|
* 新增(自增主键回填到 {@code id})。
|
*/
|
int insertServiceSubtaskPreachform(ServiceSubtaskPreachform row);
|
|
/**
|
* 按主键更新({@code where id = #{id}},SET 各列均为可选)。
|
*/
|
int updateServiceSubtaskPreachform(ServiceSubtaskPreachform row);
|
|
/**
|
* 按条件更新(SET 同 update,WHERE 按 {@code subid / taskid / preachform / remark / orgid},无 id 条件)。
|
*/
|
int updateSSPByCondition(ServiceSubtaskPreachform row);
|
|
/**
|
* 微信公众号已领取未填写按默认选项完成时,将当前发送方式置为完成(9)。
|
* 仅更新当前子任务、当前公众号行,且只允许从已发送(2)/已领取(3)迁移,避免影响其他任务。
|
*
|
* @param row 必填 id、subid、preachform、remark
|
* @return 影响行数
|
*/
|
int updateWechatPreachformComplete(ServiceSubtaskPreachform row);
|
|
/**
|
* 按主键软删。
|
*/
|
int deleteServiceSubtaskPreachformById(Long id);
|
|
/**
|
* 按 {@code subid} 软删。
|
*/
|
int deleteServiceSubtaskPreachformBySubid(Long subid);
|
|
/**
|
* 按主键集合软删。
|
*/
|
int deleteServiceSubtaskPreachformByIds(Long[] ids);
|
|
/**
|
* 按 {@code taskid + orgid} 查(方法名沿用旧名,<b>不是</b>按 subtask 主键查)。
|
*/
|
List<ServiceSubtaskPreachform> selectBySubtask(ServiceSubtask subtask);
|
}
|