package com.ytpm.service;

import com.ytpm.agent.param.AdRecordListParam;
import com.ytpm.agent.param.AuditUserParam;
import com.ytpm.agent.view.AgentUserInfo;
import com.ytpm.app.param.YtAppUserListParam;
import com.ytpm.app.view.AppUserStaticsView;
import com.ytpm.app.view.YtAppUserListView;
import com.ytpm.app.view.YtUserEcpmListView;
import com.ytpm.app.view.YtUserEcpmStatisticView;
import com.ytpm.general.Result;
import com.ytpm.general.ResultTable;
import com.ytpm.middle.view.MessageVO;

import java.math.BigDecimal;


public interface YtAppUserService {
    /**
     * 查询App用户列表
     * @param param 列表入参
     * @return 分页列表
     */
    ResultTable<YtAppUserListView> selectAppUserList(YtAppUserListParam param, AgentUserInfo userInfo);

    /**
     * 查询用户广告数据统计列表
     */
    ResultTable<AppUserStaticsView> staticList();

    /**
     * 查询用户的ecpm列表
     */
    ResultTable<YtUserEcpmListView> ecpmList(AdRecordListParam param);

    /**
     * 根据时间统计收益
     */
    Result<BigDecimal> getRevenueByTime(YtAppUserListParam param, String userId);

    /**
     * 查询我的未读消息
     */
    ResultTable<MessageVO> unreadMessage(String userId);

    /**
     * 标记已读
     */
    Result<String> markRead(String messageId, String userId);

    /**
     * 批量审核
     */
    Result<String> batchAudit(AuditUserParam auditParam);

    Result<YtUserEcpmStatisticView> ecpmStatistic(AdRecordListParam param);
}
