package com.sqx.modules.datacentre.service;

import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.datacentre.query.DataCenterQuery;
import com.sqx.modules.datacentre.query.RankListQuery;
import com.sqx.modules.datacentre.query.ShopCenterQuery;
import com.sqx.modules.pay.controller.query.CashOutQueryDTO;
import com.sqx.modules.utils.excel.ExcelData;

public interface DataCentreService {

    Result dataCentre();

    Result selectPayOrderAnalyze(DataCenterQuery query);

    Result selectAllUser(Integer page, Integer limit, String userName, String phone);

    Result selectUserById(Long userId);

    Result selectOrderData(DataCenterQuery query);

    Result selectTopUpStatistics(String date, String dateType);

    Result findAllCertification(Integer page, Integer limit, String userName, String phone, String checkCertification,Integer riderStationId);

    Result checkCertification(Long userId, String checkCertification, String checkCertificationMessage);

    Result findCertification(Long userId);

    Result rankingList(Integer page, Integer limit, String address, String date, String dateType,Integer riderStationId);

    Result selectShopCenter(ShopCenterQuery query);

    ExcelData excelShopCenter(ShopCenterQuery queryDTO);

    ExcelData excelRankingList(RankListQuery queryDTO);

    Result selectUserCenter(DataCenterQuery query);

    Result selectUserFeedback(String userEmail, Integer page, Integer limit);

    Result findUserAddIndent(Long userId, Integer page, Integer limit);

    Result findUserReceivingIndent(Long userId, Integer page, Integer limit);

    Result findTopUpMoney(Long userId, Integer page, Integer limit, String startTime, String endTime);

    Result findWithdrawMoney(Long userId, Integer page, Integer limit);

    Result findplatformMoney(String dateType, String date);

    Result selectCashDeposit(String phone, Integer type, Integer page, Integer limit, Long userId);

    Result tcwmplatformMoney(String date, String dateType);

    Result selectFeedbackList(Integer page, Integer limit, Integer type);

    Result presenterVip(Long userId);

    Result updateCertification(UserEntity userEntity);
}
