Beispiel #1
0
        /// <summary>
        /// 更新历史订单信息(主要用于更新支付状态)
        /// </summary>
        /// <param name="recharge"></param>
        public static void UpdateRechargeState(Recharge recharge)
        {
            lock (LockObj)
            {
                if (recharge == null || String.IsNullOrWhiteSpace(recharge.id))
                {
                    FileLogUtils.Info("UpdateRechargeState", "订单参数异常:" + recharge.ToJsonString());
                    return;
                }
                Recharge recharge1 = GetHistoryInfo(recharge.id);
                if (recharge1 == null)
                {
                    FileLogUtils.Info("UpdateRechargeState", "历史订单不存在:" + recharge.ToJsonString());
                    return;
                }

                String sql = "";
                if (String.IsNullOrEmpty(recharge1.pay_orderid) && recharge1.pay_orderid != recharge.pay_orderid)
                {
                    sql = String.Format("update recharge_history set pay_orderid = '{0}' where id = '{1}' ", recharge.pay_orderid, recharge1.id);
                    DBUtils.ExecuteNonQuery(sql);
                    FileLogUtils.Info("UpdateRechargeState", "支付平台流水号已记录:" + recharge.ToJsonString());
                }
                if (recharge1.payStatus == 1)
                {
                    FileLogUtils.Info("UpdateRechargeState", "历史订单已处理:" + recharge.ToJsonString());
                    return;
                }
                sql = String.Format("update recharge_history set payState = {0}, pay_money={1}, pay_orderid='{2}' where id = '{3}' ", recharge.payStatus, recharge.pay_money, recharge.pay_orderid, recharge1.id);
                DBUtils.ExecuteNonQuery(sql);
                FileLogUtils.Info("UpdateRechargeState", "历史订单状态已变更:" + recharge.ToJsonString());

                if (recharge.payStatus == 1)
                {
                    recharge1.payStatus   = 1;
                    recharge1.money       = recharge.pay_money.Value;
                    recharge1.pay_orderid = recharge.pay_orderid;
                    AddRecharge(recharge1);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="group"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static List <Recharge> GetHistoryListByToday()
        {
            try
            {
                String          updated_at   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:30:00");
                String          sql          = String.Format("select a.* from recharge_history a left join recharge b on a.id = b.id where a.payState = 0 and a.pay_querycount < 4 and b.id is null and a.updated_at >= '{0}' ", updated_at);
                DataTable       dataTable    = DBUtils.QueryData(sql);
                List <Recharge> userAccounts = dataTable.GetListByTableName <Recharge>();

                if (userAccounts != null && userAccounts.Count > 0)
                {
                    List <String> ids = userAccounts.Select(A => A.kid).ToList();
                    sql = "update recharge_history set pay_querycount = (pay_querycount + 1) where kid in (" + String.Join(",", ids) + ")";
                    DBUtils.ExecuteNonQuery(sql);
                }

                return(userAccounts);
            }
            catch (Exception)
            {
                return(null);
            }
        }