using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL;
using CY.Model;
using AbstractFactory;
using CY.IBaseDAL;
using CY.Infrastructure.DESEncrypt;
using CY.Infrastructure.Query;
namespace CY.BLL
{
///
/// 会员账户的业务逻辑类
///
public class Pay_PaymentAccountBLL
{
IPay_PaymentAccountDAL _IPay_PaymentAccountDal = null;
IPay_AccountedRecordDAL _IPay_AccountedRecordDal = null;
IPay_IncExpRecordDAL _IPay_IncExpRecordDal = null;
///
/// 初始化构造
///
public Pay_PaymentAccountBLL()
{
//获取Pay_PaymentAccount DAL实现
_IPay_PaymentAccountDal = Factory.GetDALByInterfaceName(DALInterface.IPay_PaymentAccountDAL) as IPay_PaymentAccountDAL;
_IPay_AccountedRecordDal = Factory.GetDALByInterfaceName(DALInterface.IPay_AccountedRecordDAL) as IPay_AccountedRecordDAL;
_IPay_IncExpRecordDal = Factory.GetDALByInterfaceName(DALInterface.IPay_IncExpRecordDAL) as IPay_IncExpRecordDAL;
}
///
/// 修改会员账户
///
///
///
public bool UpdateModel(CY.Model.Pay_PaymentAccount rType)
{
try
{
_IPay_PaymentAccountDal.UpdateModel(rType);
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 获取会员账户
///
/// 会员id
///
public Pay_PaymentAccount GetModel(Guid MemberId)
{
Pay_PaymentAccount result = null;
try
{
result = _IPay_PaymentAccountDal.SelectModleByMemberId(MemberId) as Pay_PaymentAccount;//执行查询
}
catch (Exception ex)
{
throw ex;
}
return result;//返回结果
}
///
/// 充值
///
///
///
///
public bool RechargeSucces(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request, Pay_AccountedRecord m_Pay_AccountedRecord)
{
return _IPay_PaymentAccountDal.RechargeSucces(m_Pay_PaymentAccount, m_Pay_Request, m_Pay_AccountedRecord);
}
///
/// 线下充值
///
///
///
///
public bool RechargeSuccesUnLine(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request)
{
return _IPay_PaymentAccountDal.RechargeSuccesUnLine(m_Pay_PaymentAccount, m_Pay_Request);
}
///
/// 提现转账
///
///
///
///
public bool Cashucces(Pay_PaymentAccount m_Pay_PaymentAccount, CY.Model.Pay.Pay_Request m_Pay_Request, Pay_PromotionRecord m_Pay_PromotionRecord)
{
return _IPay_PaymentAccountDal.CashSucces(m_Pay_PaymentAccount, m_Pay_Request, m_Pay_PromotionRecord);
}
///
/// 归并用户缓冲金额并查看账户信息
///
/// 会员编号
///
public Pay_PaymentAccount MergeBufferMoneyByMemberId(Guid menberId)
{
return _IPay_PaymentAccountDal.MergeBufferMoneyByMemberId(menberId);
}
///
/// 比对密码
///
/// 提交的规则
/// 提交的密码
/// 正确的加密密码
///
public static bool EqualsPwd(string submitRule, string submitPwd, string rightPwd)
{
if (string.IsNullOrEmpty(submitRule) || string.IsNullOrEmpty(submitPwd) || string.IsNullOrEmpty(rightPwd)) { return false; } else { }
string pwd = DecodingSubmitPwd(submitRule, submitPwd);//解码提交的密码
return !string.IsNullOrEmpty(pwd) && rightPwd.Equals(DESEncrypt.Encrypt(pwd));//不为空时加密进行比较并返回比较结果
}
///
/// 比对密码
///
/// 提交的密码
/// 正确的加密密码
///
public static bool EqualsPwd(string submitPwd, string rightPwd)
{
if (string.IsNullOrEmpty(submitPwd) || string.IsNullOrEmpty(rightPwd))
{
return false;
}
return !string.IsNullOrEmpty(submitPwd) && rightPwd.Equals(DESEncrypt.Encrypt(submitPwd));//不为空时加密进行比较并返回比较结果
}
///
/// 解码客户端提交密码
///
/// 客户端编码规则
/// 客户端提交编码密码
///
private static string DecodingSubmitPwd(string submitRule, string submitPwd)
{
submitPwd = submitPwd.Replace(" ", "");
string[] location = submitRule.Substring(1).Split('.');
int i = location.Length;
int? tempIndex = null;
while (--i > -1)
{
tempIndex = CY.Infrastructure.Common.MyConvert.ConvertToInt32(location[i]);
if (!tempIndex.HasValue)
return "";
else
submitPwd = submitPwd.Remove(tempIndex.Value, 1);
}
return submitPwd;
}
///
/// 给会员增加积分或现金(推广信息)
/// 36 买家会员注册费
/// 393 个人网店注册费
/// 89 印刷厂商注册费
/// 391 登录
/// 38 发布印刷需求
/// 292 发布需求信息
/// 86 账户充值
/// 87 印刷订单
/// 88 纸张订单
/// 90 杂志广告费
/// 392 网站广告费
/// 91 管理软件费
/// 92 办公家具订单
/// 93 办公电脑设备订单
/// 94 办公文具订单
/// 95 其他商城订单
/// 96 发布求职简历
/// 290 发布秒杀业务
/// 291 发布特价信息
///
/// 使用人会员编号
/// 推广来源类型编号
///
///
public bool SendPoOrMoToMember(Guid Member_id, int? SourceTypeId, decimal? Money)
{
return _IPay_PaymentAccountDal.SendPoOrMoToMember(Member_id, SourceTypeId, Money);
}
///
/// 根据类型和金额获取积分
/// 36 注册
/// 38 发布印刷需求
/// 292 发布需求信息
/// 86 账户充值
/// 87 印刷订单
/// 88 纸张订单
/// 89 印刷厂商注册费
/// 90 杂志广告费
/// 91 管理软件费
/// 92 办公家具订单
/// 93 办公电脑设备订单
/// 94 办公文具订单
/// 95 其他商城订单
/// 96 发布求职简历
/// 290 发布秒杀业务
/// 291 发布特价信息
///
///
///
///
public int? GetScoreBySourceTypeId(int? SourceTypeId, decimal? Money)
{
return _IPay_PaymentAccountDal.GetScoreBySourceTypeId(SourceTypeId,Money);
}
///
/// 获取上周积分排名
///
/// 条数
///
public IEnumerable SelectModleByRows(int? rows)
{
return _IPay_PaymentAccountDal.SelectModleByRows(rows);
}
///
/// 支付公共接口
///
/// 支付申请
///
public bool Pay(CY.Model.Pay.Pay_Request m_Pay_Request)
{
return _IPay_PaymentAccountDal.Pay(m_Pay_Request);
}
}
}