using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IBaseDAL;
using CY.Model;
using CY.Model.Pay;
namespace CY.IDAL
{
///
/// 支付平台支付账户-数据库操作接口
///
public interface IPay_PaymentAccountDAL : ICommonDAL, IPaging, IGetAllModel
{
///
/// 根据编号获取实体信息
///
/// 会员编号
///
Pay_PaymentAccount SelectModleByMemberId(Guid MemberId);
///
/// 充值
///
///
///
///
bool RechargeSucces(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request, Pay_AccountedRecord m_Pay_AccountedRecord);
///
/// 提现转账
///
///
///
///
bool CashSucces(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request, Pay_PromotionRecord m_Pay_PromotionRecord);
///
/// 归并用户缓冲金额并查看账户信息
///
/// 会员编号
///
Pay_PaymentAccount MergeBufferMoneyByMemberId(Guid menberId);
///
/// 给会员增加积分或现金(推广信息)
///
/// 使用人会员编号
/// 推广来源类型编号
///
///
bool SendPoOrMoToMember(Guid Member_id, int? SourceTypeId, decimal? Money);
///
/// 根据类型和金额获取积分
///
///
///
///
int? GetScoreBySourceTypeId(int? SourceTypeId, decimal? Money);
///
/// 获取上周积分排名
///
/// 条数
///
IEnumerable SelectModleByRows(int? rows);
///
/// 根据时间查询当前人的账户统计信息
///
///
///
///
///
PaymentAccountQueryModel GetPaymentAccountQueryResult(string startDate, string endDate, int currentPayId);
///
/// 获取管理员当前账户信息
///
///
PaymentAccountModelByAdmin GetPaymentAccountModelByAdmin(int currentPayId, decimal commission);
///
/// 查询管理员的统计信息
///
///
///
///
PaymentAccountQueryModelByAdmin GetPaymentAccountQueryModelByAdmin(int currentPayId, string startDate, string endDate, string selectProvince, string selectCity, string selectCounty);
///
/// 支付公共接口
///
/// 支付申请
///
bool Pay(CY.Model.Pay.Pay_Request m_Pay_Request);
///
/// 线下充值
///
///
///
///
bool RechargeSuccesUnLine(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request);
}
}