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