Example #1
0
        /// <summary>
        /// 更新充值状态
        /// </summary>
        /// <param name="chargeLog"></param>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public static bool UpdateStatus(ChargeLog chargeLog, string orderId)
        {
            var cmdText = string.Empty;
            List <MySqlParameter> parameters = new List <MySqlParameter>();

            cmdText = @"update ChargeLog set Status=?Status,UpdateStatusTime=?UpdateStatusTime,OrderId=?OrderId where Id=?Id;";

            parameters.Add(new MySqlParameter("?Status", (int)chargeLog.Status));
            parameters.Add(new MySqlParameter("?UpdateStatusTime", DateTime.Now));
            parameters.Add(new MySqlParameter("?OrderId", orderId));
            parameters.Add(new MySqlParameter("?Id", chargeLog.Id));

            try
            {
                using (var conn = Utility.ObtainConn(Utility._gameDbConn))
                {
                    bool result = MySqlHelper.ExecuteNonQuery(conn, CommandType.Text, cmdText,
                                                              parameters.ToArray()) > 0;
                    if (result && chargeLog.Status == RechargeStatus.Success)
                    {
                        if (chargeLog.Money > 0)
                        {
                            //充值统计
                            RechargeStatisticsHelper.AddRechargeStatistics(chargeLog.SellerId, chargeLog.Money, chargeLog.CreateTime);
                        }
                        else if (chargeLog.Money < 0)
                        {
                            //消费统计
                            ConsumeStatisticsHelper.AddConsumeStatistics(chargeLog.SellerId, Math.Abs(chargeLog.Money), chargeLog.CreateTime);
                        }
                    }
                    return(result);
                }
            }
            catch (Exception e)
            {
            }

            return(false);
        }
Example #2
0
        /// <summary>
        /// 获取充值统计
        /// </summary>
        private void GetChargeStat()
        {
            var sellerId = CurSellerId;
            var type     = (StatisticsType)GetInt("type"); //统计类型
            var start    = GetInt("start");                //传0
            var limit    = GetInt("limit");                //传10 只取前十名

            var data = new ChargeStatResponse();

            data.Stat = new RechargeStatisticsHelper.ReqRechargeStatistics(type);
            switch (type)
            {
            case StatisticsType.Day:
                data.Stat = RechargeStatisticsHelper.GetRechargeDateStatisticsList(sellerId, DateTime.Now); break;

            case StatisticsType.Month:
                data.Stat = RechargeStatisticsHelper.GetRechargeMonthStatisticsList(sellerId, DateTime.Now.Year, DateTime.Now.Month); break;

            case StatisticsType.Quarter:
                data.Stat = RechargeStatisticsHelper.GetRechargeQuarterStatisticsList(sellerId, DateTime.Now.Year); break;

            case StatisticsType.Year:
                data.Stat = RechargeStatisticsHelper.GetRechargeYearStatisticsList(sellerId, DateTime.Now.Year); break;
            }

            var startTime = DateTime.Now;
            var endTime   = DateTime.Now;

            switch (type)
            {
            case StatisticsType.Day:
                startTime = DateTime.Now.Date;
                endTime   = startTime.AddDays(1).AddMilliseconds(-1);
                break;

            case StatisticsType.Month:
                startTime = new DateTime(startTime.Year, startTime.Month, 1).Date;
                endTime   = startTime.AddMonths(1).AddMilliseconds(-1);
                break;

            case StatisticsType.Quarter:
            case StatisticsType.Year:
                startTime = new DateTime(startTime.Year, 1, 1).Date;
                endTime   = startTime.AddYears(1).AddMilliseconds(-1);
                break;
            }

            var list = ChargeLogHelper.GetRechargeLogList(CurSellerId, startTime, endTime, start * limit, limit);

            foreach (var chargeLog in list)
            {
                var item = new ReqChargeStatItem();
                item.UserId     = chargeLog.UserId;
                item.TotalMoney = chargeLog.TotalMoney;
                item.UserName   = chargeLog.UserName;
                item.Pre        = (chargeLog.TotalMoney * 1.0 / data.Stat.TotalMoney * 100).ToString("F2");

                data.List.Add(item);
            }

            var jt = new JsonTransfer();

            jt.Add("data", data);
            Response.Write(jt.ToJson());
            Response.End();
        }