Files
by-crm/backend/src/main/java/com/bycrm/mapper/ReportMapper.java
T
2026-02-03 15:37:25 +08:00

83 lines
2.3 KiB
Java

package com.bycrm.mapper;
import com.bycrm.entity.Report;
import com.bycrm.dto.PageQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 报备 Mapper
*/
@Mapper
public interface ReportMapper {
/**
* 根据ID查询报备(含关联信息)
*/
Report selectById(@Param("id") Long id);
/**
* 查询学校+产品+项目类型的有效报备(根据学校ID)
*/
Report selectValidBySchoolAndProduct(@Param("schoolId") Long schoolId,
@Param("product") String product,
@Param("projectType") String projectType);
/**
* 查询学校名称+产品+项目类型的有效报备(根据学校名称)
*/
Report selectValidBySchoolNameAndProduct(@Param("schoolName") String schoolName,
@Param("product") String product,
@Param("projectType") String projectType);
/**
* 分页查询报备
*/
List<Report> selectPage(@Param("query") PageQuery query, @Param("dealerId") Long dealerId,
@Param("dealerName") String dealerName, @Param("customerName") String customerName,
@Param("status") Integer status);
/**
* 查询报备总数
*/
Long countPage(@Param("dealerId") Long dealerId, @Param("dealerName") String dealerName,
@Param("customerName") String customerName, @Param("status") Integer status);
/**
* 插入报备
*/
int insert(Report report);
/**
* 更新报备
*/
int update(Report report);
/**
* 删除报备
*/
int deleteById(@Param("id") Long id);
/**
* 查询即将过期的报备(定时任务使用)
*/
List<Report> selectExpiringReports(@Param("endDate") String endDate);
/**
* 批量更新报备状态为已失效
*/
int batchUpdateExpired(@Param("ids") List<Long> ids);
/**
* 统计报备总数(根据经销商ID过滤)
*/
Long countByDealerId(@Param("dealerId") Long dealerId);
/**
* 统计待审核报备数量(根据经销商ID过滤)
*/
Long countPendingByDealerId(@Param("dealerId") Long dealerId);
}