/// <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); }
/// <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(); }