Ejemplo n.º 1
0
        // 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));
        }
Ejemplo n.º 2
0
        /// <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);
        }