package com.chinaweal.aiccs.aiccs.force.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo;
import com.chinaweal.aiccs.aiccs.force.entity.XrForceDeregisterSpe;
import com.chinaweal.aiccs.aiccs.force.entity.querydto.ForceDeregisterSpeQueryDto;
import com.chinaweal.aiccs.aiccs.force.entity.vo.XrForceDeregisterSpeVo;
import org.apache.ibatis.annotations.Param;

/**
 * 拟强制注销/强制注销业务表 Mapper 接口
 *
 * @author zhouxy
 * @since 2025/9/26
 */
public interface XrForceDeregisterSpeMapper extends BaseMapper<XrForceDeregisterSpe> {

    IPage<XrForceDeregisterSpeVo> selectXrForceDeregisterSpeTodo(IPage<XrForceDeregisterSpe> page, @Param("param") ForceDeregisterSpeQueryDto entity);

    IPage<XrForceDeregisterSpeVo> selectXrForceDeregisterSpeHistory(IPage<XrForceDeregisterSpe> page, @Param("param") ForceDeregisterSpeQueryDto entity);

    IPage<XrForceDeregisterSpe> xrForceDeregisterPageByRegOrg(IPage<XrForceDeregisterSpe> page, @Param("param") ForceDeregisterSpeQueryDto entity);

    IPage<EBaseinfo> baseinfoListByRegOrg(IPage<EBaseinfo> page, @Param("param") ForceDeregisterSpeQueryDto entity);

    /**
     * 更新公告期满的拟强制注销企业状态
     * 将公告期至小于等于当前日期且拟强制注销结果为1（正在进行拟强制注销公告）的企业，
     * 更新拟强制注销结果为2（拟强制注销公告期满）
     *
     * @return 更新的记录数
     */
    int updateForceDeregisterNoticeExpired();

}
