package com.gic.haoban.manage.api.service.fee;

import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDTO;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDetailDTO;
import com.gic.haoban.manage.api.dto.qdto.QywxFeeListQDTO;

import java.util.List;

/**
 * 企业微信收费(TabHaobanQywxFee)表服务接口
 *
 * @author mozhu
 * @since 2022-08-03 16:12:30
 */
public interface HaobanQywxFeeApiService {

    /**
     * 插入
     * 定时任务
     *
     * @param param 参数
     * @author mozhu
     * @date 2022-08-03 17:28:56
     */
    void run(String param);


    /**
     * "routerName": "qywxAddFeeMq"
     *
     * @param wxEnterpriseId wx企业id
     * @author mozhu
     * @date 2022-08-11 14:38:50
     */
    void addFee(String wxEnterpriseId);


    /**
     * 列表页面
     *
     * @param qywxFeeListQDTO qywx qdto费用列表
     * @return {@link Page }
     * @author mozhu
     * @date 2022-08-05 15:17:18
     */
    Page<HaobanQywxFeeDTO> listPage(QywxFeeListQDTO qywxFeeListQDTO);


    /**
     * 30天拦截详情
     *
     * @param wxEnterpriseId wx企业标识
     * @return {@link List }
     * @author mozhu
     * @date 2022-08-05 15:17:20
     */
    List<HaobanQywxFeeDetailDTO> feeDetail(String wxEnterpriseId);


    /**
     * 添加拦截记录
     *
     * @param param 参数
     * @author mozhu
     * @date 2022-08-10 11:01:56
     */
    void addInterceptLog(String param);

    /**
     * 最新一条将要被拦截记录
     *
     * @param wxEnterpriseId wx企业标识
     * @return {@link HaobanQywxFeeDTO }
     * @author mozhu
     * @date 2022-08-10 17:56:39
     */
    HaobanQywxFeeDTO queryByWxEnterpriseId(String wxEnterpriseId);

}
