public SearchUser(HWLEntities db, SearchUserRequestBody request) : base(request) { this.db = db; }
public override GetCircleCommentsResponseBody ExecuteCore() { GetCircleCommentsResponseBody res = new GetCircleCommentsResponseBody(); using (HWLEntities db = new HWLEntities()) { var comments = db.t_circle_comment.Where(c => c.circle_id == this.request.CircleId && c.id > this.request.LastCommentId) .Take(this.request.Count) .Select(c => new { Id = c.id, CircleId = c.circle_id, CommentUserId = c.com_user_id, ReplyUserId = c.reply_user_id, Content = c.com_content, CommentTime = c.comment_time }).OrderBy(c => c.Id).ToList(); if (comments == null || comments.Count <= 0) { return(res); } res.CircleCommentInfos = new List <CircleCommentInfo>(); var userIds = comments.Select(c => c.CommentUserId).Union(comments.Select(c => c.ReplyUserId)).ToList(); var userList = db.t_user.Where(i => userIds.Contains(i.id)).Select(i => new { i.id, i.name, i.symbol, i.head_image }).ToList(); var friendList = db.t_user_friend.Where(f => f.user_id == this.request.UserId && userIds.Contains(f.friend_user_id)).Select(f => new { f.friend_user_id, f.friend_user_remark }).ToList(); comments.ForEach(f => { CircleCommentInfo model = new CircleCommentInfo() { CommentId = f.Id, Content = f.Content, CircleId = f.CircleId, CommentTime = f.CommentTime.ToString("yyyy-MM-dd HH:mm:ss"), CommentUserId = f.CommentUserId, CommentUserImage = null, CommentUserName = null, ReplyUserId = f.ReplyUserId, ReplyUserName = null, ReplyUserImage = null, }; if (userList != null && userList.Count > 0) { if (f.CommentUserId > 0) { var comUser = userList.Where(u => u.id == f.CommentUserId).FirstOrDefault(); string friendRemark = friendList != null ? friendList.Where(r => r.friend_user_id == f.CommentUserId).Select(r => r.friend_user_remark).FirstOrDefault() : null; model.CommentUserName = UserUtility.GetShowName(friendRemark, comUser.name); model.CommentUserImage = comUser.head_image; } if (f.ReplyUserId > 0) { var repUser = userList.Where(u => u.id == f.ReplyUserId).FirstOrDefault(); string friendRemark = friendList != null ? friendList.Where(r => r.friend_user_id == f.ReplyUserId).Select(r => r.friend_user_remark).FirstOrDefault() : null; model.ReplyUserName = UserUtility.GetShowName(friendRemark, repUser.name); model.ReplyUserImage = repUser.head_image; } } res.CircleCommentInfos.Add(model); }); } return(res); }
public override UserLoginResponseBody ExecuteCore() { UserLoginResponseBody res = new UserLoginResponseBody(); using (HWLEntities db = new HWLEntities()) { IQueryable <t_user> query = db.t_user; if (!string.IsNullOrEmpty(this.request.Mobile)) { query = query.Where(u => u.mobile == this.request.Mobile); } else { query = query.Where(u => u.email == this.request.Email); } t_user user = query.FirstOrDefault(); if (user == null) { throw new Exception("用户不存在"); } if (user.status != UserStatus.Normal) { throw new Exception("用户被禁用"); } if (user.password != this.request.Password) { throw new Exception("密码错误"); //CommonCs.GetMd5Str32(this.request.Password) } Redis.UserAction userAction = new Redis.UserAction(); ////获取用户之前是否已经登录过,如果登录过则需要发送消息通知用户在其它位置登录 //string oldToken = userAction.GetUserToken(user.id); //if (!string.IsNullOrEmpty(oldToken)) //{ // //AndroidChatMessage.SendLogoutMessage(user.id, oldToken, "您的帐号已经在其它位置登录,如果不是您本人操作,建议重新登录后立即更换密码!"); //} //清除用户之前登录用过的TOKEN userAction.RemoveUserToken(user.id); string userToken = UserUtility.BuildToken(user.id); bool succ = userAction.SaveUserToken(user.id, userToken); if (!succ) { throw new Exception("用户登录token生成失败"); } //获取地址信息 var pos = (from country in db.t_country join province in db.t_province on country.id equals province.country_id join city in db.t_city on province.id equals city.province_id join dist in db.t_district on city.id equals dist.city_id where country.id == user.register_country && province.id == user.register_province && city.id == user.register_city && dist.id == user.register_district select new { CountryName = country.name, ProvinceName = province.name, CityName = city.name, DistName = dist.name, }).FirstOrDefault(); List <int> posIdList = new List <int>() { user.register_country, user.register_province, user.register_city, user.register_district, }; List <string> posList = new List <string>() { pos != null?pos.CountryName:string.Empty, pos != null?pos.ProvinceName:string.Empty, pos != null?pos.CityName:string.Empty, pos != null?pos.DistName:string.Empty, }; //输出 res.UserInfo = new Entity.Extends.UserBaseInfo() { Id = user.id, Symbol = user.symbol, Email = user.email, Mobile = user.mobile, Name = user.name, Token = userToken, HeadImage = user.head_image, CircleBackImage = user.circle_back_image, UserSex = user.sex, LifeNotes = user.life_notes, RegisterPosIdList = posIdList, RegisterPosList = posList, FriendCount = db.t_user_friend.Where(f => f.user_id == user.id).Count(), GroupCount = db.t_group_user.Where(f => f.user_id == user.id).Count() }; //new Redis.ImMessageAction().AddWelcomeImMessage(user.id,, pos != null ? pos.DistName : string.Empty); } return(res); }
public SetGroupNote(HWLEntities db, SetGroupNoteRequestBody request) : base(request) { this.db = db; }
public ResetUserPassword(HWLEntities db, ResetUserPasswordRequestBody request) : base(request) { this.db = db; }
public HomeController(HWLEntities db) { this.db = db; }
public GetNearLikes(HWLEntities db, GetNearLikesRequestBody request) : base(request) { this.db = db; }
public SetUserHeadImage(HWLEntities db, SetUserHeadImageRequestBody request) : base(request) { this.db = db; }
public static UserLoginResponseBody UserLogin(HWLEntities dbContext, UserLoginRequestBody request) { IService <UserLoginResponseBody> service = new UserLogin(dbContext, request); return(service.Execute()); }
public static Response <DeleteNearCircleInfoResponseBody> DeleteNearCircleInfo(HWLEntities dbContext, Request <DeleteNearCircleInfoRequestBody> request) { var context = new ServiceContext <DeleteNearCircleInfoRequestBody>(request, new RequestValidate()); return(ContextProcessor.Execute(context, r => { return new DeleteNearCircleInfo(dbContext, r.Body).Execute(); })); }
public DeleteGroupUser(HWLEntities db, DeleteGroupUserRequestBody request) : base(request) { this.db = db; }
public UserService(HWLEntities db) : base(db) { }
public GetGroupAndUsers(HWLEntities db, GetGroupAndUsersRequestBody request) : base(request) { this.db = db; }
public override GetNearCircleInfosResponseBody ExecuteCore() { GetNearCircleInfosResponseBody res = new GetNearCircleInfosResponseBody(); if (this.request.Lat < 0 && this.request.Lon < 0) { return(res); } List <int> geoIdList = new NearCircleAction().GetNearCircleIds(this.request.Lon, this.request.Lat); if (geoIdList == null || geoIdList.Count <= 0) { return(res); } List <int> ids = null; if (this.request.MinNearCircleId > 0) { ids = geoIdList.Where(g => g < this.request.MinNearCircleId).Take(this.request.Count).ToList(); } else { ids = geoIdList.Take(this.request.Count).ToList(); //ids = geoIdList.Skip((this.request.PageIndex - 1) * this.request.Count).Take(this.request.Count).ToList(); } //if (this.request.MaxNearCircleId > 0) //{ // ids = geoIdList.Where(g => g > this.request.MaxNearCircleId).Take(this.request.Count).ToList(); //} //else if (this.request.MinNearCircleId > 0) //{ // ids = geoIdList.Where(g => g < this.request.MinNearCircleId).Take(this.request.Count).ToList(); //} //else //{ // ids = geoIdList.Take(this.request.Count).ToList(); //} if (ids == null || ids.Count <= 0) { return(res); } db = new HWLEntities(); var list = db.t_near_circle.Where(c => ids.Contains(c.id)).OrderByDescending(c => c.id).ToList(); if (list == null || list.Count <= 0) { return(res); } if (this.request.NearCircleMatchInfos != null && this.request.NearCircleMatchInfos.Count > 0) { list.RemoveAll(r => this.request.NearCircleMatchInfos.Exists(c => c.NearCircleId == r.id && c.UpdateTime == GenericUtility.FormatDate2(r.update_time))); } res.NearCircleInfos = list.ConvertAll(c => new NearCircleInfo { NearCircleId = c.id, CommentCount = c.comment_count, Content = c.content_info, ContentType = c.content_type, PosDesc = c.pos_desc, //Images = null, LikeCount = c.like_count, LinkImage = c.link_image, LinkTitle = c.link_title, LinkUrl = c.link_url, PublishTime = GenericUtility.FormatDate(c.publish_time), UpdateTime = GenericUtility.FormatDate2(c.update_time), PublishUserId = c.user_id, }); BindInfo(res.NearCircleInfos); return(res); }
public UserRegister(HWLEntities db, UserRegisterRequestBody request) : base(request) { this.db = db; }
public static Response <SetUserCircleBackImageResponseBody> SetUserCircleBackImage(HWLEntities dbContext, Request <SetUserCircleBackImageRequestBody> request) { var context = new ServiceContext <SetUserCircleBackImageRequestBody>(request, new RequestValidate()); return(ContextProcessor.Execute(context, r => { return new SetUserCircleBackImage(dbContext, r.Body).Execute(); })); }
public SetUserName(HWLEntities db, SetUserNameRequestBody request) : base(request) { this.db = db; }
public static Response <UserLoginAndRegisterResponseBody> UserLoginAndRegister(HWLEntities dbContext, Request <UserLoginAndRegisterRequestBody> request) { var context = new ServiceContext <UserLoginAndRegisterRequestBody>(request, new RequestValidate(false, false)); return(ContextProcessor.Execute(context, r => { return new UserLoginAndRegister(dbContext, r.Body).Execute(); })); }
public DeleteFriend(HWLEntities db, DeleteFriendRequestBody request) : base(request) { this.db = db; }
public AddGroup(HWLEntities db, AddGroupRequestBody request) : base(request) { this.db = db; }
public DeleteNearCircleInfo(HWLEntities db, DeleteNearCircleInfoRequestBody request) : base(request) { this.db = db; }
public AppController(HWLEntities dbContext, IHostingEnvironment hostingEnvironment) { this.dbContext = dbContext; this.hostingEnvironment = hostingEnvironment; this.appService = new AppService(dbContext); }
public SetUserSymbol(HWLEntities db, SetUserSymbolRequestBody request) : base(request) { this.db = db; }
public GetCircleDetail(HWLEntities dbContext, GetCircleDetailRequestBody request) : base(request) { this.db = dbContext; }
public SetFriendRemark(HWLEntities db, SetFriendRemarkRequestBody request) : base(request) { this.db = db; }
public override AddNearCircleInfoResponseBody ExecuteCore() { AddNearCircleInfoResponseBody res = new AddNearCircleInfoResponseBody(); using (HWLEntities db = new HWLEntities()) { t_near_circle model = new t_near_circle() { user_id = this.request.UserId, content_info = this.request.Content, content_type = GetContentType(), link_image = this.request.LinkImage, link_title = this.request.LinkTitle, link_url = this.request.LinkUrl, lat = this.request.Lat, lon = this.request.Lon, id = 0, pos_id = this.request.PosId, pos_desc = this.request.PosDesc, comment_count = 0, image_count = this.request.Images != null ? this.request.Images.Count : 0, like_count = 0, publish_time = DateTime.Now, update_time = DateTime.Now }; db.t_near_circle.Add(model); db.SaveChanges(); res.NearCircleId = model.id; res.ContentType = model.content_type; res.PublishTime = model.publish_time; //向redis中添加信息的位置数据 if (res.NearCircleId > 0) { bool succ = new NearCircleAction().CreateNearCirclePos(res.NearCircleId, this.request.Lon, this.request.Lat); if (!succ)//如果添加失败,则将数据库中已经添加的数据删除 { db.t_near_circle.Remove(model); db.SaveChanges(); throw new Exception("发布附近信息失败"); } else { if (this.request.Images != null && this.request.Images.Count > 0) { //添加图片 List <t_near_circle_image> imgModels = new List <t_near_circle_image>(); this.request.Images.ForEach((i) => { if (string.IsNullOrEmpty(i.Url)) { return; } imgModels.Add(new t_near_circle_image() { near_circle_id = model.id, near_circle_user_id = model.user_id, image_url = i.Url, height = i.Height, width = i.Width }); }); if (imgModels == null || imgModels.Count <= 0) { return(res); } try { db.t_near_circle_image.AddRange(imgModels); db.SaveChanges(); } catch (Exception) { //可以忽略这个错误 } } } } } return(res); }
public GetUserDetails(HWLEntities db, GetUserDetailsRequestBody request) : base(request) { this.db = db; }
public UserController(HWLEntities dbContext) { this.dbContext = dbContext; this.userService = new UserService(dbContext); }
public DeleteCommentInfo(HWLEntities dbContext, DeleteCommentInfoRequestBody request) : base(request) { this.db = dbContext; }
public AddNearComment(HWLEntities db, AddNearCommentRequestBody request) : base(request) { this.db = db; }