Exemple #1
0
        /// <summary>
        /// 判断当前节点是否已存在相同的
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int  ExistNum(AssetReChargeEntity entity)
        {
            ///id=0,判断总数,ID>0判断除自己之外的总数
            string sql = @"Select count(1) from dbo.[AssetReCharge] WITH(NOLOCK) ";

            string where = "where ";
            if (entity.Id == 0)
            {
            }
            else
            {
            }
            sql = sql + where;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            if (entity.Id > 0)
            {
                db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            }
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
Exemple #2
0
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <AssetReChargeEntity> GetAssetReChargeAll()
        {
            string sql = @"SELECT    [Id],[MemId],[Amt],[PayType],[BankCode],[TranSerialNum],[CardNo],[CreateTime],[IpAddress] from dbo.[AssetReCharge] WITH(NOLOCK)	";
            IList <AssetReChargeEntity> entityList = new List <AssetReChargeEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    AssetReChargeEntity entity = new AssetReChargeEntity();
                    entity.Id            = StringUtils.GetDbInt(reader["Id"]);
                    entity.MemId         = StringUtils.GetDbInt(reader["MemId"]);
                    entity.Amt           = StringUtils.GetDbDecimal(reader["Amt"]);
                    entity.PayType       = StringUtils.GetDbInt(reader["PayType"]);
                    entity.BankCode      = StringUtils.GetDbString(reader["BankCode"]);
                    entity.TranSerialNum = StringUtils.GetDbString(reader["TranSerialNum"]);
                    entity.CardNo        = StringUtils.GetDbString(reader["CardNo"]);
                    entity.CreateTime    = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.IpAddress     = StringUtils.GetDbString(reader["IpAddress"]);
                    entityList.Add(entity);
                }
            }
            return(entityList);
        }
Exemple #3
0
        /// <summary>
        /// 根据主键值读取记录。如果数据库不存在这条数据将返回null
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public AssetReChargeEntity GetAssetReCharge(int id)
        {
            string    sql = @"SELECT  [Id],[MemId],[Amt],[PayType],[BankCode],[TranSerialNum],[CardNo],[CreateTime],[IpAddress]
							FROM
							dbo.[AssetReCharge] WITH(NOLOCK)	
							WHERE [Id]=@id"                            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Id", DbType.Int32, id);
            AssetReChargeEntity entity = new AssetReChargeEntity();

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    entity.Id            = StringUtils.GetDbInt(reader["Id"]);
                    entity.MemId         = StringUtils.GetDbInt(reader["MemId"]);
                    entity.Amt           = StringUtils.GetDbDecimal(reader["Amt"]);
                    entity.PayType       = StringUtils.GetDbInt(reader["PayType"]);
                    entity.BankCode      = StringUtils.GetDbString(reader["BankCode"]);
                    entity.TranSerialNum = StringUtils.GetDbString(reader["TranSerialNum"]);
                    entity.CardNo        = StringUtils.GetDbString(reader["CardNo"]);
                    entity.CreateTime    = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.IpAddress     = StringUtils.GetDbString(reader["IpAddress"]);
                }
            }
            return(entity);
        }
        /// <summary>
        /// 插入一条记录到表AssetReCharge,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0。
        /// 该方法提供给界面等UI层调用
        /// </summary>
        /// <param name="assetReCharge">要添加的AssetReCharge数据实体对象</param>
        public int AddAssetReCharge(AssetReChargeEntity assetReCharge)
        {
            if (assetReCharge.Id > 0)
            {
                return(UpdateAssetReCharge(assetReCharge));
            }

            else if (AssetReChargeBLL.Instance.IsExist(assetReCharge))
            {
                return((int)CommonStatus.ADD_Fail_Exist);
            }
            else
            {
                return(AssetReChargeDA.Instance.AddAssetReCharge(assetReCharge));
            }
        }
Exemple #5
0
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <AssetReChargeEntity> GetAssetReChargeList(int pagesize, int pageindex, ref int recordCount)
        {
            string sql = @"SELECT   [Id],[MemId],[Amt],[PayType],[BankCode],[TranSerialNum],[CardNo],[CreateTime],[IpAddress]
						FROM
						(SELECT ROW_NUMBER() OVER (ORDER BY Id desc) AS ROWNUMBER,
						 [Id],[MemId],[Amt],[PayType],[BankCode],[TranSerialNum],[CardNo],[CreateTime],[IpAddress] from dbo.[AssetReCharge] WITH(NOLOCK)	
						WHERE  1=1 ) as temp 
						where rownumber BETWEEN ((@PageIndex - 1) * @PageSize + 1) AND @PageIndex * @PageSize"                        ;

            string sql2 = @"Select count(1) from dbo.[AssetReCharge] with (nolock) ";
            IList <AssetReChargeEntity> entityList = new List <AssetReChargeEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@PageIndex", DbType.Int32, pageindex);
            db.AddInParameter(cmd, "@PageSize", DbType.Int32, pagesize);

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    AssetReChargeEntity entity = new AssetReChargeEntity();
                    entity.Id            = StringUtils.GetDbInt(reader["Id"]);
                    entity.MemId         = StringUtils.GetDbInt(reader["MemId"]);
                    entity.Amt           = StringUtils.GetDbDecimal(reader["Amt"]);
                    entity.PayType       = StringUtils.GetDbInt(reader["PayType"]);
                    entity.BankCode      = StringUtils.GetDbString(reader["BankCode"]);
                    entity.TranSerialNum = StringUtils.GetDbString(reader["TranSerialNum"]);
                    entity.CardNo        = StringUtils.GetDbString(reader["CardNo"]);
                    entity.CreateTime    = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.IpAddress     = StringUtils.GetDbString(reader["IpAddress"]);
                    entityList.Add(entity);
                }
            }
            cmd = db.GetSqlStringCommand(sql2);
            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    recordCount = StringUtils.GetDbInt(reader[0]);
                }
                else
                {
                    recordCount = 0;
                }
            }
            return(entityList);
        }
Exemple #6
0
        /// <summary>
        /// 根据主键值更新记录的全部字段(注意:该方法不会对自增字段、timestamp类型字段以及主键字段更新!如果要更新主键字段,请使用Update方法)。
        /// 如果数据库有数据被更新了则返回True,否则返回False
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="assetReCharge">待更新的实体对象</param>
        public int UpdateAssetReCharge(AssetReChargeEntity entity)
        {
            string    sql = @" UPDATE dbo.[AssetReCharge] SET
                       [MemId]=@MemId,[Amt]=@Amt,[PayType]=@PayType,[BankCode]=@BankCode,[TranSerialNum]=@TranSerialNum,[CardNo]=@CardNo,[CreateTime]=@CreateTime,[IpAddress]=@IpAddress
                       WHERE [Id]=@id";
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            db.AddInParameter(cmd, "@MemId", DbType.Int32, entity.MemId);
            db.AddInParameter(cmd, "@Amt", DbType.Decimal, entity.Amt);
            db.AddInParameter(cmd, "@PayType", DbType.Int32, entity.PayType);
            db.AddInParameter(cmd, "@BankCode", DbType.String, entity.BankCode);
            db.AddInParameter(cmd, "@TranSerialNum", DbType.String, entity.TranSerialNum);
            db.AddInParameter(cmd, "@CardNo", DbType.String, entity.CardNo);
            db.AddInParameter(cmd, "@CreateTime", DbType.DateTime, entity.CreateTime);
            db.AddInParameter(cmd, "@IpAddress", DbType.String, entity.IpAddress);
            return(db.ExecuteNonQuery(cmd));
        }
Exemple #7
0
        /// <summary>
        /// 插入一条记录到表AssetReCharge,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="assetReCharge">待插入的实体对象</param>
        public int AddAssetReCharge(AssetReChargeEntity entity)
        {
            string    sql = @"insert into AssetReCharge( [MemId],[Amt],[PayType],[BankCode],[TranSerialNum],[CardNo],[CreateTime],[IpAddress])VALUES
			            ( @MemId,@Amt,@PayType,@BankCode,@TranSerialNum,@CardNo,@CreateTime,@IpAddress);
			SELECT SCOPE_IDENTITY();"            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@MemId", DbType.Int32, entity.MemId);
            db.AddInParameter(cmd, "@Amt", DbType.Decimal, entity.Amt);
            db.AddInParameter(cmd, "@PayType", DbType.Int32, entity.PayType);
            db.AddInParameter(cmd, "@BankCode", DbType.String, entity.BankCode);
            db.AddInParameter(cmd, "@TranSerialNum", DbType.String, entity.TranSerialNum);
            db.AddInParameter(cmd, "@CardNo", DbType.String, entity.CardNo);
            db.AddInParameter(cmd, "@CreateTime", DbType.DateTime, entity.CreateTime);
            db.AddInParameter(cmd, "@IpAddress", DbType.String, entity.IpAddress);
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
Exemple #8
0
        /// <summary>
        /// 阿里支付通知
        /// </summary>
        public void PayAliPayNotify()
        {
            SortedDictionary <string, string> sPara = GetRequestPost();

            LogUtil.Log("订单付款回调接口,订单号:", "");

            if (sPara.Count > 0)//判断是否有带返回参数
            {
                alipayNotify aliNotify    = new alipayNotify();
                bool         verifyResult = aliNotify.Verify(sPara, Request.Form["notify_id"], Request.Form["sign"]); //验证消息是否是支付宝发出的合法消息

                if (verifyResult)                                                                                     //验证成功
                {
                    LogUtil.Log("订单付款回调成功:", "");
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码


                    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                    //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表

                    //商户订单号

                    string out_trade_no = Request.Form["out_trade_no"];
                    //支付宝交易号
                    string trade_no = Request.Form["trade_no"];
                    LogUtil.Log("订单付款回调成功:", out_trade_no);
                    LogUtil.Log("订单付款回调成功:", trade_no);
                    //交易状态
                    //&trade_no = 2016101021001004470296721955
                    string             trade_status = Request.Form["trade_status"]; //
                    string             buyer_email  = Request.Form["buyer_email"];  //lgzh306%40126.com
                    string             buyer_id     = Request.Form["buyer_id"];     //2088602184028472
                    string             exterface    = Request.Form["exterface"];    //create_direct_pay_by_user
                    string             is_success   = Request.Form["is_success"];   //T
                    string             notify_id    = Request.Form["notify_id"];    //RqPnCoPT3K9%252Fvwbh3InWeOSzrvky7IAV3JJOfdsL5TFWKbTMC8BGq%252Bm99WAaYWgnOmS6
                    string             notify_time  = Request.Form["notify_time"];  //2016-10-10+15%3A48%3A34
                    string             notify_type  = Request.Form["notify_type"];  //trade_status_sync
                    string             payment_type = Request.Form["payment_type"]; //1
                    string             seller_email = Request.Form["seller_email"]; //20718505%40qq.com
                    string             seller_id    = Request.Form["seller_id"];    //2088421564177650
                    string             subject      = Request.Form["subject"];      //111
                    string             total_fee    = Request.Form["total_fee"];    //0.01
                    PayAliResultEntity _entity      = new PayAliResultEntity();
                    _entity.Buyeremail  = buyer_email;
                    _entity.Buyerid     = buyer_id;
                    _entity.CreateTime  = DateTime.Now;
                    _entity.HasDeal     = 0;
                    _entity.Issuccess   = is_success;
                    _entity.Notifytime  = notify_time;
                    _entity.Notifytype  = notify_type;
                    _entity.Outtradeno  = out_trade_no;
                    _entity.Paymenttype = payment_type;
                    _entity.Selleremail = seller_email;
                    _entity.Sellerid    = seller_id;
                    _entity.Subject     = subject;
                    _entity.Totalfee    = total_fee;
                    _entity.Tradeno     = trade_no;
                    _entity.Tradestatus = trade_status;
                    LogUtil.Log("订单付款回调成功:", JsonJC.ObjectToJson(_entity));

                    PayAliResultBLL.Instance.AddPayAliResult(_entity);

                    //http://pay.ddbbqp.com/return_url.aspx?buyer_email=lgzh306%40126.com&buyer_id=2088602184028472&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3InWeOSzrvky7IAV3JJOfdsL5TFWKbTMC8BGq%252Bm99WAaYWgnOmS6&notify_time=2016-10-10+15%3A48%3A34&notify_type=trade_status_sync&out_trade_no=test20161010092017&payment_type=1&seller_email=20718505%40qq.com&seller_id=2088421564177650&subject=111&total_fee=0.01&trade_no=2016101021001004470296721955&trade_status=TRADE_SUCCESS&sign=4d4f0c35e95f4dce7c34c1ff70e321fd&sign_type=MD5

                    LogUtil.Log("订单付款回调成功:", "222222");
                    if (Request.Form["trade_status"] == "TRADE_FINISHED" || Request.Form["trade_status"] == "TRADE_SUCCESS")
                    {
                        LogUtil.Log("订单付款回调成功:", "33333333333");
                        //判断该笔订单是否在商户网站中已经做过处理
                        VWOrderEntity _order = OrderBLL.Instance.GetVWOrderByCode(StringUtils.GetDbLong(out_trade_no));
                        if (_order.Status == (int)OrderStatus.WaitPay)
                        {
                            LogUtil.Log("订单付款回调成功:", "44444444");
                            AssetReChargeEntity _asset = new AssetReChargeEntity();
                            _asset.Amt           = StringUtils.GetDbDecimal(_entity.Totalfee);
                            _asset.BankCode      = buyer_id;
                            _asset.CardNo        = buyer_email;
                            _asset.TranSerialNum = trade_no;
                            _asset.CreateTime    = DateTime.Now;
                            _asset.MemId         = _order.MemId;
                            _asset.IpAddress     = IPAddress.IP;
                            _asset.PayType       = 1;

                            LogUtil.Log("订单付款回调成功:", "555555");
                            if (OrderBLL.Instance.PayFinished(StringUtils.GetDbLong(out_trade_no), _asset) > 0)
                            {
                                EmailSendBLL.Instance.OrderRemind(out_trade_no);
                                LogUtil.Log("订单付款成功,订单号:", out_trade_no.ToString());
                            }
                            else
                            {
                                LogUtil.Log("订单付款成功更新失败,订单号:", out_trade_no.ToString());
                            }
                        }
                        //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
                        //如果有做过处理,不执行商户的业务程序
                    }
                    else
                    {
                        LogUtil.Log("订单付款成功更新失败,订单号:", out_trade_no.ToString() + " 订单状态:" + Request.QueryString["trade_status"]);
                    }
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                else
                {
                    LogUtil.Log("订单付款支付验证失败", "111");
                }
            }
        }
 /// <summary>
 /// 更新一条AssetReCharge记录。
 /// 该方法提供给界面等UI层调用
 /// </summary>
 /// <param name="assetReCharge">待更新的实体对象</param>
 /// <param name="columns">要更新的列名,不提供任何列名时默认将更新主键之外的所有列</param>
 public int UpdateAssetReCharge(AssetReChargeEntity assetReCharge)
 {
     return(AssetReChargeDA.Instance.UpdateAssetReCharge(assetReCharge));
 }
 /// <summary>
 /// 判断对象是否存在
 /// </summary>
 /// <param name="dicEnum"></param>
 /// <returns></returns>
 public bool IsExist(AssetReChargeEntity assetReCharge)
 {
     return(AssetReChargeDA.Instance.ExistNum(assetReCharge) > 0);
 }
Exemple #11
0
 /// <summary>
 /// 付款完成
 /// </summary>
 /// <param name="ordercode"></param>
 /// <param name="_asset"></param>
 /// <returns></returns>
 public int PayFinished(long ordercode, AssetReChargeEntity _asset)
 {
     return(OrderDA.Instance.PayFinished(ordercode, _asset));
 }