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 GetConsumeStat()
        {
            var sellerId = CurSellerId;
            var type     = (StatisticsType)GetInt("type"); //统计类型
            var start    = GetInt("start");                //传0
            var limit    = GetInt("limit");                //传10 只取前十名

            var data = new ConsumeStatResponse();

            data.Stat = new ConsumeStatisticsHelper.ReqConsumeStatistics(type);
            switch (type)
            {
            case StatisticsType.Day:
                data.Stat = ConsumeStatisticsHelper.GetConsumeDateStatisticsList(sellerId, DateTime.Now); break;

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

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

            case StatisticsType.Year:
                data.Stat = ConsumeStatisticsHelper.GetConsumeYearStatisticsList(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 glist = new List <ConsumeGoodsItem>();
            var list  = ChargeLogHelper.GetChargeLogList(CurSellerId, startTime, endTime, start * limit, limit);
            var index = 0;

            foreach (var chargeLog in list)
            {
                index = 0;
                foreach (var i in chargeLog.GidList)
                {
                    var item = glist.FirstOrDefault(o => o.Gid == i);
                    if (item == null)
                    {
                        item     = new ConsumeGoodsItem();
                        item.Gid = i;
                        item.Num = chargeLog.NumList[index];
                        glist.Add(item);
                    }
                    else
                    {
                        item.Num += chargeLog.NumList[index];
                    }
                    index++;
                }
            }

            var goodslist = GoodsHelper.GetGoodsList(glist.Select(o => o.Gid).ToList());

            foreach (var goodse in goodslist)
            {
                var ritem = new ReqConsumeStatItem();
                ritem.GoodsName           = goodse.Title;
                ritem.GoodsCategoriesName = goodse.Cname;

                var gitem = glist.FirstOrDefault(o => o.Gid == goodse.Id);
                if (gitem != null)
                {
                    ritem.Num = gitem.Num;
                    ritem.Pre = (ritem.Num * 1.0 / data.Stat.TotalGoodsNum * 100).ToString("F2");
                }

                data.List.Add(ritem);
            }

            data.List = data.List.OrderBy(o => o.Num).ToList();//排序

            var jt = new JsonTransfer();

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