package com.zteits.park.dao; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.dto.park.param.QueryXcCarChargeAuditPageRequest; import com.zteits.park.domain.XcCarChargeAudit; import com.zteits.park.domain.XcCarChargeAuditExample; import java.util.List; /** * 车辆收费审核Dao接口 */ public interface XcCarChargeAuditDao { /** * 根据条件查询车辆收费审核记录列表 * @param example 查询条件 * @return 车辆收费审核记录列表 */ List selectByExample(XcCarChargeAuditExample example); /** * 根据主键查询车辆收费审核记录 * @param id 主键 * @return 车辆收费审核记录 */ XcCarChargeAudit selectByPrimaryKey(Long id); /** * 根据条件统计车辆收费审核记录数量 * @param example 查询条件 * @return 记录数量 */ long countByExample(XcCarChargeAuditExample example); /** * 动态更新车辆收费审核记录 * @param record 需要更新的信息 * @param example 更新时的where条件 * @return 更新记录数 */ int updateByExampleSelective(XcCarChargeAudit record, XcCarChargeAuditExample example); /** * 根据主键动态更新车辆收费审核记录 * @param record 需要更新的信息 * @return 更新记录数 */ int updateByPrimaryKeySelective(XcCarChargeAudit record); /** * 保存车辆收费审核记录 * @param xcCarChargeAudit 车辆收费审核记录 * @return 保存记录数 */ int saveXcCarChargeAudit(XcCarChargeAudit xcCarChargeAudit); /** * 批量更新车辆收费审核记录状态 * @param ids ID列表 * @param auditStatus 审核状态 * @param auditor 审核人 * @return 更新记录数 */ int updateAuditStatusBatch(List ids, Byte auditStatus, String auditor); /** * 逻辑删除车辆收费审核记录 * @param id 主键ID * @param opId 操作人ID * @param opName 操作人姓名 * @return 更新记录数 */ int deleteByPrimaryKey(Long id, String opId, String opName); /** * 分页查询车辆收费审核记录 * @param request 查询条件 * @return 分页结果 */ PageInfo queryXcCarChargeAuditForPage(QueryXcCarChargeAuditPageRequest request); /** * 根据车牌号查询最新的审核记录 * @param carNumber 车牌号 * @return 审核记录 */ XcCarChargeAudit queryLastXcCarChargeAuditByCarNumber(String carNumber); }