コード例 #1
0
 /// <summary>
 /// 商户提现功能检查数据合法性
 /// </summary>
 /// <UpdateBy>hulingbo</UpdateBy>
 /// <UpdateTime>20150626</UpdateTime>
 /// <param name="withdrawBpm">参数实体</param>
 /// <param name="business">商户</param>
 /// <param name="businessFinanceAccount">商家金融账号信息</param>
 /// <returns></returns>
 private FinanceWithdrawB CheckWithdrawB(WithdrawBBackPM withdrawBpm, ref BusinessModel business,
                                         ref BusinessFinanceAccount businessFinanceAccount)
 {
     if (withdrawBpm == null)
     {
         return(FinanceWithdrawB.NoPara);
     }
     business = _businessDao.GetById(withdrawBpm.BusinessId);           //获取商户信息
     if (business == null || business.Status == null ||
         business.Status != (byte)BusinessStatus.Status1.GetHashCode()) //商户状态为非 审核通过不允许 提现
     {
         return(FinanceWithdrawB.BusinessError);
     }
     else if (business.AllowWithdrawPrice < withdrawBpm.WithdrawPrice)//可提现金额小于提现金额,提现失败
     {
         return(FinanceWithdrawB.MoneyError);
     }
     else if (business.BalancePrice < business.AllowWithdrawPrice) //账户余额小于 可提现金额,提现失败 账号异常
     {
         return(FinanceWithdrawB.FinanceAccountError);
     }
     businessFinanceAccount = _businessFinanceAccountDao.GetById(withdrawBpm.FinanceAccountId);//获取商户金融账号信息
     if (businessFinanceAccount == null || businessFinanceAccount.BusinessId != withdrawBpm.BusinessId)
     {
         return(FinanceWithdrawB.FinanceAccountError);
     }
     return(FinanceWithdrawB.Success);
 }
コード例 #2
0
        /// <summary>
        /// 根据ID获取对象
        /// </summary>
        public BusinessFinanceAccount GetById(int id)
        {
            BusinessFinanceAccount model        = null;
            const string           querysql     = @"
select  Id,BusinessId,TrueName,AccountNo,IsEnable,AccountType,BelongType,OpenBank,OpenSubBank,CreateBy,CreateTime,UpdateBy,UpdateTime
from  BusinessFinanceAccount (nolock)
where  Id=@Id and IsEnable=1";
            IDbParameters          dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("Id", id);
            DataTable dt = DataTableHelper.GetTable(DbHelper.ExecuteDataset(SuperMan_Read, querysql, dbParameters));

            if (DataTableHelper.CheckDt(dt))
            {
                model = DataTableHelper.ConvertDataTableList <BusinessFinanceAccount>(dt)[0];
            }
            return(model);
        }
コード例 #3
0
        /// <summary>
        /// 更新一条记录
        /// <param name="businessFinanceAccount"> 参数实体</param>
        /// </summary>
        public void Update(BusinessFinanceAccount businessFinanceAccount)
        {
            const string  updateSql    = @"
update  BusinessFinanceAccount
set  TrueName=@TrueName,AccountNo=@AccountNo,BelongType=@BelongType,OpenBank=@OpenBank,
OpenSubBank=@OpenSubBank,UpdateBy=@UpdateBy
where  Id=@Id ";
            IDbParameters dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("Id", businessFinanceAccount.Id);
            dbParameters.AddWithValue("TrueName", businessFinanceAccount.TrueName);
            dbParameters.AddWithValue("AccountNo", businessFinanceAccount.AccountNo);
            dbParameters.AddWithValue("BelongType", businessFinanceAccount.BelongType); //账号类别  0 个人账户 1 公司账户
            dbParameters.AddWithValue("OpenBank", businessFinanceAccount.OpenBank);
            dbParameters.AddWithValue("OpenSubBank", businessFinanceAccount.OpenSubBank);
            dbParameters.AddWithValue("UpdateBy", businessFinanceAccount.UpdateBy);
            DbHelper.ExecuteNonQuery(SuperMan_Write, updateSql, dbParameters);
        }
コード例 #4
0
        /// <summary>
        /// 增加一条记录
        /// </summary>
        /// <param name="businessFinanceAccount">参数实体</param>
        /// <returns></returns>
        public int Insert(BusinessFinanceAccount businessFinanceAccount)
        {
            const string  insertSql    = @"
insert into BusinessFinanceAccount(BusinessId,TrueName,AccountNo,IsEnable,AccountType,BelongType,OpenBank,OpenSubBank,CreateBy,UpdateBy)
values(@BusinessId,@TrueName,@AccountNo,@IsEnable,@AccountType,@BelongType,@OpenBank,@OpenSubBank,@CreateBy,@UpdateBy)
select @@IDENTITY";
            IDbParameters dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("BusinessId", businessFinanceAccount.BusinessId);   //商户ID
            dbParameters.AddWithValue("TrueName", businessFinanceAccount.TrueName);       //户名
            dbParameters.AddWithValue("AccountNo", businessFinanceAccount.AccountNo);     //卡号(DES加密)
            dbParameters.AddWithValue("IsEnable", businessFinanceAccount.IsEnable);       //是否有效(1:有效 0:无效)
            dbParameters.AddWithValue("AccountType", businessFinanceAccount.AccountType); //账号类型:(1网银 2支付宝 3微信 4财付通 5百度钱包)
            dbParameters.AddWithValue("BelongType", businessFinanceAccount.BelongType);   //账号类别  0 个人账户 1 公司账户
            dbParameters.AddWithValue("OpenBank", businessFinanceAccount.OpenBank);       //开户行
            dbParameters.AddWithValue("OpenSubBank", businessFinanceAccount.OpenSubBank); //开户支行
            dbParameters.AddWithValue("CreateBy", businessFinanceAccount.CreateBy);       //添加人
            dbParameters.AddWithValue("UpdateBy", businessFinanceAccount.UpdateBy);       //最后更新人
            object result = DbHelper.ExecuteScalar(SuperMan_Write, insertSql, dbParameters);

            return(ParseHelper.ToInt(result));
        }
コード例 #5
0
        /// <summary>
        /// 商户提现功能 add by caoheyang 20150511
        /// </summary>
        /// <param name="withdrawBpm">参数实体</param>
        /// <returns></returns>
        public ResultModel <object> WithdrawB(WithdrawBPM withdrawBpm)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                BusinessModel    business = new BusinessModel();
                var              businessFinanceAccount = new BusinessFinanceAccount(); //商户金融账号信息
                FinanceWithdrawB checkbool = CheckWithdrawB(withdrawBpm, ref business, ref businessFinanceAccount);
                if (checkbool != FinanceWithdrawB.Success)                              //验证失败 此次提款操作无效 直接返回相关错误信息
                {
                    return(ResultModel <object> .Conclude(checkbool));
                }
                else
                {
                    _businessDao.UpdateForWithdrawC(new UpdateForWithdrawPM()
                    {
                        Id    = withdrawBpm.BusinessId,
                        Money = -withdrawBpm.WithdrawPrice
                    }); //更新商户表的余额,可提现余额
                    string withwardNo = Helper.generateOrderCode(withdrawBpm.BusinessId);
                    #region 商户提现
                    long withwardId = _businessWithdrawFormDao.Insert(new BusinessWithdrawForm()
                    {
                        WithwardNo         = withwardNo,                                        //单号 规则待定
                        BusinessId         = withdrawBpm.BusinessId,                            //商户Id
                        BalancePrice       = business.BalancePrice,                             //提现前商户余额
                        AllowWithdrawPrice = business.AllowWithdrawPrice,                       //提现前商户可提现金额
                        Status             = (int)BusinessWithdrawFormStatus.WaitAllow,         //待审核
                        Amount             = withdrawBpm.WithdrawPrice,                         //提现金额
                        Balance            = business.BalancePrice - withdrawBpm.WithdrawPrice, //提现后余额
                        TrueName           = businessFinanceAccount.TrueName,                   //商户收款户名
                        AccountNo          = businessFinanceAccount.AccountNo,                  //卡号(DES加密)
                        AccountType        = businessFinanceAccount.AccountType,                //账号类型:
                        BelongType         = businessFinanceAccount.BelongType,                 //账号类别  0 个人账户 1 公司账户
                        OpenBank           = businessFinanceAccount.OpenBank,                   //开户行
                        OpenSubBank        = businessFinanceAccount.OpenSubBank                 //开户支行
                    });
                    #endregion

                    #region 商户余额流水操作 更新骑士表的余额,可提现余额
                    _businessBalanceRecordDao.Insert(new BusinessBalanceRecord()
                    {
                        BusinessId = withdrawBpm.BusinessId,                    //商户Id
                        Amount     = -withdrawBpm.WithdrawPrice,                //流水金额
                        Status     = (int)BusinessBalanceRecordStatus.Tradeing, //流水状态(1、交易成功 2、交易中)
                        RecordType = (int)BusinessBalanceRecordRecordType.WithdrawApply,
                        Operator   = business.Name,
                        WithwardId = withwardId,
                        RelationNo = withwardNo,
                        Remark     = "商户提现"
                    });
                    #endregion

                    #region 商户提现记录

                    _businessWithdrawLogDao.Insert(new BusinessWithdrawLog()
                    {
                        WithwardId = withwardId,
                        Status     = (int)BusinessWithdrawFormStatus.WaitAllow,//待审核
                        Remark     = "商户发起提现操作",
                        Operator   = business.Name,
                    }); //更新商户表的余额,可提现余额
                    #endregion
                    tran.Complete();
                }
                return(ResultModel <object> .Conclude(FinanceWithdrawB.Success));;
            }
        }