// GET: Account public ActionResult Index() { GetOpenid getopenid = ReGetOpenId(); WxUserData userdata = null; if (getopenid.status == "OK") { //拿到了openid,去数据库看是否有绑定,有绑定就获得用户信息。 using (var userBll = new UserBLL()) { userdata = userBll.GetUserBlanceInfo(getopenid.openid); } if (userdata.Result == "该用户未绑定") { // System.Web.HttpContext.Current.Response.Redirect("Account/Register"); return(View("Register")); } } return(View(userdata)); }
/// <summary> /// 根据微信的ID获得该用户的信息 /// </summary> /// <param name="openid">微信的id</param> /// <returns></returns> public WxUserData GetUserBlanceInfo(string openid) { DateTime beginTime = DateTime.Now.AddYears(-1); int num = 10; //显示近一年来的充值缴费记录 decimal total = 0; string resultstr = ""; User user = null; int buildingId; Building building = null; WxUserData wxuserdata = new WxUserData(); wxuserdata.openid = openid; try { user = this.Filter(o => o.WeChat == openid).FirstOrDefault(); if (user == null) { resultstr = "该用户未绑定"; } else { wxuserdata.userid = user.Id; wxuserdata.StaffNo = user.StaffNo; wxuserdata.FullName = user.FullName; wxuserdata.UserName = user.UserName; wxuserdata.PhoneNumber = user.PhoneNumber; building = user.Buildings.FirstOrDefault(); if (building == null) { resultstr = "该用户无分配房间"; } else { buildingId = building.Id; wxuserdata.buildingId = building.Id; wxuserdata.building = building.Parent.Parent.Name; wxuserdata.Level = building.Parent.Name; wxuserdata.Room = building.Name; user = this.GetAccountUser(CategoryDictionary.Building, buildingId); if (user == null) { resultstr = "该用户没有缴费账户"; } else { Repository <Balance> blancebll = new Repository <Balance>(); Repository <HistoryBill> historybillbLL = new Repository <HistoryBill>(); total = blancebll.Filter(o => o.TargetCategory == (int)CategoryDictionary.Building && o.TargetId == buildingId).OrderByDescending(o => o.Id).FirstOrDefault().Total; wxuserdata.Balance = total; ////获得最近10条缴费记录 wxuserdata.Feelist = historybillbLL.Filter(o => o.ReceiverId == user.Id && o.IsPay == true && ((o.BillTypeId == 120003 && // 缴费账单 o.PayMethodId <= 370005 //预交费记录 ) || (o.BillTypeId == 120006)) && // 现金充值 o.PayMentTime > beginTime ).OrderByDescending(o => o.PayMentTime).Take(num).Select(s => new WxUserFee { FeeAmount = s.Value, Feedata = s.PayMentTime, IsSynchro = s.IsSynchro }).ToList(); //wxuserdata.Feelist = historybillbLL.Filter(o => // o.ReceiverId == user.Id // && o.IsPay == true // && // ((o.BillTypeId == DictionaryCache.BillTypePay.Id // 缴费账单 // && o.PayMethodId <= DictionaryCache.PayMethodCash.Id //预交费记录 // ) || (o.BillTypeId == DictionaryCache.BillTypePrePay.Id)) // 现金充值 // && o.PayMentTime > beginTime // ).OrderByDescending(o => o.PayMentTime).Take(num).Select(s => new WxUserFee // { // FeeAmount = s.Value, // Feedata = s.PayMentTime // }).ToList(); blancebll.Dispose(); historybillbLL.Dispose(); } } } } catch (Exception ex) { resultstr = "数据加载出错,请重新打开"; } wxuserdata.Result = resultstr; return(wxuserdata); }