package com.gic.haoban.manage.service.dao.mapper.fee;

import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDetailDTO;
import com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeAccountStaff;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 企业微信收费订单成员激活详情(TabHaobanQywxFeeAccountStaff)表数据库访问层
 *
 * @author mozhu
 * @since 2022-08-03 16:12:31
 */
public interface TabHaobanQywxFeeAccountStaffMapper {

    /**
     * 新增数据
     *
     * @param tabHaobanQywxFeeAccountStaff 实例对象
     * @return 影响行数
     */
    int insert(TabHaobanQywxFeeAccountStaff tabHaobanQywxFeeAccountStaff);

    /**
     * 修改数据
     *
     * @param tabHaobanQywxFeeAccountStaff 实例对象
     * @return 影响行数
     */
    int update(TabHaobanQywxFeeAccountStaff tabHaobanQywxFeeAccountStaff);

    /**
     * 详情
     *
     * @param wxEnterpriseId wx企业标识
     * @return {@link List }<{@link HaobanQywxFeeDetailDTO }>
     * @author mozhu
     * @date 2022-08-05 15:40:09
     */
    List<HaobanQywxFeeDetailDTO> feeDetail(@Param("wxEnterpriseId") String wxEnterpriseId);


    /**
     * 获取最新的过期时间
     * @param wxEnterpriseId
     * @return
     */
    Date lastFeeInterceptTime(@Param("wxEnterpriseId") String wxEnterpriseId);

    /**
     * 未来30天过期拦截数
     *
     * @param wxEnterpriseId wx企业标识
     * @return int
     * @author mozhu
     * @date 2022-08-08 15:53:32
     */
    int lastFeeInterceptCount(@Param("wxEnterpriseId") String wxEnterpriseId);

    void deleteAll(@Param("wxEnterpriseId") String  wxEnterpriseId);
}

