private void SetInfo(Foresight.DataAccess.Mall_UserLevel data) { this.tdName.Value = data.Name; this.tdRemark.Value = data.Remark; this.tdStartAmount.Value = data.StartAmount > 0 ? data.StartAmount.ToString("0.00") : "0.00"; this.tdEndAmount.Value = data.EndAmount > 0 ? data.EndAmount.ToString("0.00") : "0.00"; }
public static Ui.DataGrid GetMall_UserPointGridByKeywords(string Keywords, DateTime StartTime, DateTime EndTime, string orderBy, long startRowIndex, int pageSize) { long totalRows = 0; List <SqlParameter> parameters = new List <SqlParameter>(); List <string> conditions = new List <string>(); conditions.Add("([UserID] in (select [UserID] from [Mall_UserPoint]) or [UserID] in (select [UserID] from [Mall_UserBalance]) or [UserID] in (select [UserID] from [Mall_CouponUser]))"); if (!string.IsNullOrEmpty(Keywords)) { conditions.Add("([NickName] like @Keywords)"); parameters.Add(new SqlParameter("@Keywords", "%" + Keywords + "%")); } string fieldList = "[User].* "; string Statement = " from [User] where " + string.Join(" and ", conditions.ToArray()); var user_list = GetList <User>(fieldList, Statement, parameters, orderBy, startRowIndex, pageSize, out totalRows).ToArray(); var user_level_list = Mall_UserLevel.GetMall_UserLevels(); List <int> UserIDList = user_list.Select(p => p.UserID).ToList(); var point_list = Mall_UserAccountDetail.GetMall_UserPointBalanceList(StartTime, EndTime); var balance_list = Mall_UserAccountDetail.GetMall_UserAmountBalanceList(StartTime, EndTime); var coupon_list = Mall_CouponUser.GetMall_CouponUserListByUserIDList(UserIDList); if (StartTime > DateTime.MinValue) { coupon_list = coupon_list.Where(p => p.AddTime >= StartTime).ToArray(); } if (EndTime > DateTime.MinValue) { coupon_list = coupon_list.Where(p => p.AddTime <= EndTime).ToArray(); } var list = new List <Dictionary <string, object> >(); foreach (var user in user_list) { var my_user_level = user_level_list.FirstOrDefault(p => p.ID == user.UserLevelID); var my_point_list = point_list.Where(p => p.UserID == user.UserID).ToArray(); var my_balance_list = balance_list.Where(p => p.UserID == user.UserID).ToArray(); var my_coupon_list = coupon_list.Where(p => p.UserID == user.UserID).ToArray(); decimal CurrentConsumeAmount = my_balance_list.Sum(p => p.Total); decimal AllConsumeAmount = my_balance_list.Where(p => p.IncomeType == 1).Sum(p => p.Total); decimal CurrentPoint = my_point_list.Sum(p => p.Total); decimal AllPoint = my_point_list.Where(p => p.IncomeType == 1).Sum(p => p.Total); decimal CurrentFuShunQuan = coupon_list.Where(p => !p.IsUsed).ToArray().Length; decimal AllFuShunQuan = coupon_list.ToArray().Length; var dic = new Dictionary <string, object>(); dic["NickName"] = string.IsNullOrEmpty(user.NickName) ? user.LoginName : user.NickName; dic["MemberLevel"] = my_user_level == null ? "普通用户" : "合伙人用户(" + my_user_level.Name + ")"; dic["CurrentConsumeAmount"] = CurrentConsumeAmount; dic["AllConsumeAmount"] = AllConsumeAmount; dic["CurrentPoint"] = CurrentPoint; dic["AllPoint"] = AllPoint; dic["CurrentFuShunQuan"] = CurrentFuShunQuan; dic["AllFuShunQuan"] = AllFuShunQuan; list.Add(dic); } DataAccess.Ui.DataGrid dg = new Ui.DataGrid(); dg.rows = list; dg.total = user_list.Length; dg.page = pageSize; return(dg); }
/// <summary> /// 充值处理 /// </summary> /// <param name="BalanceStatus"></param> /// <param name="TradeNo"></param> /// <param name="payment"></param> /// <param name="AmountType"></param> public static void UpdateMall_UserBalanceStatus(int BalanceStatus, string TradeNo, Payment payment = null, int AmountType = 1, string PaymentMethod = "") { //充值赠与处理 Dictionary <string, object> BackObject = new Dictionary <string, object>(); Mall_UserBalance data = null; if (BalanceStatus == 1) { data = GetMall_UserBalanceByTradeNo(TradeNo); if (data == null) { return; } Mall_AmountRule.GetBackAmountPoint(data.BalanceValue, out BackObject, new int[] { }, new int[] { }, AmountType: AmountType, UserID: data.UserID); //AmountRuleID = Utility.Tools.GetValueFromDic<int>(BackObject, "AmountRuleID"); //BackAmount = Utility.Tools.GetValueFromDic<decimal>(BackObject, "BackAmount"); } string Title = "充值赠与"; int CategoryType = 5; User user = null; var user_level = Mall_UserLevel.GetMall_UserLevelByUserID(data.UserID, out user); using (SqlHelper helper = new SqlHelper()) { try { helper.BeginTransaction(); data.BalanceStatus = 1; data.Save(helper); if (user != null && user_level != null) { if (user.UserLevelID != user_level.ID) { string LevelTitle = "充值满" + user_level.StartAmount.ToString("0.00") + "升到到合伙人(" + user_level.Name + ")"; Mall_UserLevelApprove.Insert_Mall_UserLevelApprove(data.UserID, LevelTitle, user_level.ID, helper: helper, IncomingAmount: data.BalanceValue, IncomingType: data.PaymentMethodDesc, UserBalanceID: data.ID); } } decimal BackAmount = Utility.Tools.GetValueFromDic <decimal>(BackObject, "BackAmount"); int AmountRuleID = Utility.Tools.GetValueFromDic <int>(BackObject, "AmountRuleID"); bool AmountIsSendNow = Utility.Tools.GetValueFromDic <bool>(BackObject, "AmountIsSendNow"); DateTime AmountIsReadySendTime = Utility.Tools.GetValueFromDic <DateTime>(BackObject, "AmountIsReadySendTime"); if (BackAmount > 0 && AmountRuleID > 0) { Insert_Mall_UserBalance(data.UserID, 1, BackAmount, Title, "BalaceID:" + data.ID, CategoryType, "System", 1, "", RelatedID: data.ID, AmountRuleID: AmountRuleID, helper: helper, PaymentMethod: PaymentMethod, IsSent: AmountIsSendNow, IsReadySendTime: AmountIsReadySendTime); } int BackPoint = Utility.Tools.GetValueFromDic <int>(BackObject, "BackPoint"); int PointRuleID = Utility.Tools.GetValueFromDic <int>(BackObject, "PointRuleID"); bool PointIsSendNow = Utility.Tools.GetValueFromDic <bool>(BackObject, "PointIsSendNow"); DateTime PointIsReadySendTime = Utility.Tools.GetValueFromDic <DateTime>(BackObject, "PointIsReadySendTime"); if (BackPoint > 0 && PointRuleID > 0) { Mall_UserPoint.Insert_Mall_UserPoint(data.UserID, 1, 0, Title, "BalaceID:" + data.ID, CategoryType, "System", 1, "", 0, helper, RelatedID: data.ID, PointValue: BackPoint, AmountRuleID: PointRuleID, IsSent: PointIsSendNow, IsReadySendTime: PointIsReadySendTime); } List <int> CouponIDList = Utility.Tools.GetValueFromDic <List <int> >(BackObject, "CouponIDList"); int CouponRuleID = Utility.Tools.GetValueFromDic <int>(BackObject, "CouponRuleID"); bool CouponIsSendNow = Utility.Tools.GetValueFromDic <bool>(BackObject, "CouponIsSendNow"); DateTime CouponIsReadySendTime = Utility.Tools.GetValueFromDic <DateTime>(BackObject, "CouponIsReadySendTime"); int SendCouponCount = Utility.Tools.GetValueFromDic <int>(BackObject, "SendCouponCount"); if (CouponIDList != null && CouponIDList.Count > 0 && CouponRuleID > 0) { foreach (var CouponID in CouponIDList) { for (int i = 0; i < SendCouponCount; i++) { Mall_CouponUser.Insert_Mall_CouponUser(data.UserID, CouponID, 1, CouponRuleID, CouponIsReadySendTime, helper: helper, IsSent: CouponIsSendNow); } } } if (payment != null) { payment.Save(helper); } helper.Commit(); } catch (Exception ex) { helper.Rollback(); Utility.LogHelper.WriteError("Mall_UserBalance.cs", "UpdateMall_UserBalanceStatus", ex); } } }