/// <summary> /// 增加点赞或浏览次数 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <JsonResult> PicZanOrRead(int?id, int?tId) { var data = new MoLoveData(); try { if (id == null || id <= 0 || tId == null || tId <= 0) { data.Msg = "操作失败!"; return(Json(data)); } var user = HttpContext.Session.Get <MoUserInfo>(HttpContext.Session.SessionKey()); if (user == null) { data.Msg = "请先登录!"; return(Json(data)); } var content = _db.ToContent.SingleOrDefault(b => b.Id == id && b.Status == (int)EnumHelper.EmContentStatus.公有); if (content == null) { data.Msg = "操作失败。"; return(Json(data)); } if (content.UserId == user.Id) { data.Msg = "不能操作自己的图"; return(Json(data)); } if (tId == 1) { //点赞 content.ZanNum += 1; data.Data = content.ZanNum; if (content.ZanNum >= 1000000) { data.Msg = "操作成功。"; data.IsOk = true; return(Json(data)); } } else if (tId == 2) { //浏览 content.ReadNum += 1; data.Data = content.ReadNum; if (content.ReadNum >= 1000000) { data.Msg = "操作成功。"; data.IsOk = true; return(Json(data)); } } data.IsOk = await _db.SaveChangesAsync() > 0; data.Msg = data.IsOk ? "操作成功!" : "操作失败!"; if (data.IsOk && tId == 1) { //增加积分 _db.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.积分, CreateTime = DateTime.Now, Des = $"图:{content.Name.FomartSubStr(15)},被【点赞】 +{(int)EmLevelNum.点赞}", UserId = user.Id }); var dbUser = _db.ToUserInfo.SingleOrDefault(b => b.Id == user.Id); dbUser.LevelNum += (int)EmLevelNum.点赞; var result = await _db.SaveChangesAsync(); if (result > 0) { user.LevelNum = dbUser.LevelNum; } } } catch (Exception ex) { } return(Json(data)); }
public async Task <IActionResult> Login([Bind("UserName,UserPwd,ReturnUrl")] MoLoginUser loginUser) { if (ModelState.IsValid) { #region 验证 var md5Pwd = PublicClass._Md5(loginUser.UserPwd.Trim()); var userInfo = await _context.ToUserInfo.SingleOrDefaultAsync(b => b.UserName.Equals(loginUser.UserName, StringComparison.CurrentCultureIgnoreCase) && b.UserPwd.Equals(md5Pwd)); if (userInfo == null) { this.MsgBox("账号或密码错误!"); return(View(loginUser)); } else if (userInfo.Status == (int)EnumHelper.EmUserStatus.禁用) { this.MsgBox("该账号已被禁用,或许你可以尝试重新注册一个账号!"); return(View(loginUser)); } #endregion #region 更新登录信息 userInfo.Ips = this.GetUserIp(); userInfo.LoginTime = DateTime.Now; userInfo.LevelNum += (int)EmLevelNum.登录; //记录session var moUserInfo = new MoUserInfo { Id = userInfo.Id, UserName = userInfo.UserName, NickName = userInfo.NickName, Addr = userInfo.Addr, Birthday = userInfo.Birthday, Blog = userInfo.Blog, CreateTime = userInfo.CreateTime, Email = userInfo.Email, HeadPhoto = userInfo.HeadPhoto, Introduce = userInfo.Introduce, Ips = userInfo.Ips, LevelNum = userInfo.LevelNum, Sex = userInfo.Sex, Tel = userInfo.Tel, Status = userInfo.Status, LoginTime = Convert.ToDateTime(userInfo.LoginTime) }; HttpContext.Session.Set <MoUserInfo>(HttpContext.Session.SessionKey(), moUserInfo); if (!string.IsNullOrWhiteSpace(moUserInfo.Ips)) { _context.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.登录, CreateTime = DateTime.Now, Des = $"IP:{moUserInfo.Ips},登录时间:{moUserInfo.LoginTime.ToString("yyyy-MM-dd HH:mm")}", UserId = userInfo.Id }); } _context.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.积分, CreateTime = DateTime.Now, Des = $"【登录】 +{(int)EmLevelNum.登录}", UserId = userInfo.Id }); await _context.SaveChangesAsync(); if (string.IsNullOrWhiteSpace(loginUser.ReturnUrl)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } else { return(Redirect(loginUser.ReturnUrl)); } #endregion } return(View(loginUser)); }
public async Task <IActionResult> UpHeadPhoto([Bind("Id")] MoUserInfo moUserInfo) { var file = Request.Form.Files.Where(b => b.Name == "myHeadPhoto" && b.ContentType.Contains("image")). SingleOrDefault(); if (file == null) { this.MsgBox("请选择上传的头像图片!"); return(View(_MyUserInfo)); } var maxSize = 1024 * 1024 * 4; if (file.Length > maxSize) { this.MsgBox("头像图片不能大于4M!"); return(View(_MyUserInfo)); } var fileExtend = file.FileName.Substring(file.FileName.LastIndexOf('.')); var fileNewName = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{fileExtend}"; var path = Path.Combine(_selfSetting.UpHeadPhotoPath, fileNewName); using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { await file.CopyToAsync(stream); } //更新数据 var viewPath = $"{_selfSetting.ViewHeadPhotoPath}/{fileNewName}"; var user = _db.ToUserInfo.Where(b => b.Id == _MyUserInfo.Id).SingleOrDefault(); if (user == null) { this.MsgBox("上传失败,请稍后重试!"); return(View(_MyUserInfo)); } user.HeadPhoto = viewPath; user.LevelNum += (int)EmLevelNum.修改头像; var result = await _db.SaveChangesAsync(); if (result > 0) { _MyUserInfo.HeadPhoto = viewPath; _MyUserInfo.LevelNum = user.LevelNum; HttpContext.Session.Set <MoUserInfo>(HttpContext.Session.SessionKey(), _MyUserInfo); this.MsgBox("上传成功!"); _db.ToUserLog.Add(new ToUserLog { CodeId = (int)EmLogCode.积分, CreateTime = DateTime.Now, Des = $"【修改头像】 +{(int)EmLevelNum.修改头像}", UserId = _MyUserInfo.Id }); await _db.SaveChangesAsync(); } else { this.MsgBox("上传失败,请稍后重试!"); } return(View(_MyUserInfo)); }