public JsonResult Dissolve(int id) { JsonModel jm = new JsonModel(); try { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); if (sc != null) { if (sc.CreaterId == GetCurrentUser().Id) { if (!socialCircleBLL.Dissolve(sc)) { jm.Msg = "解散失败"; } } else { jm.Msg = "只有创建人自己才能解散圈子"; } } else { jm.Msg = "圈子已不存在"; } } catch { jm.Msg = "请求发生异常"; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateContent(EditContentModel model) { JsonModel jm = new JsonModel(); try { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == model.Id); if (sc != null) { //修改名称 sc.Content = model.Content; socialCircleBLL.Update(sc); } else { jm.Msg = "圈子已不存在"; } } catch { jm.Msg = "请求发生异常"; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public JsonResult Create(SocialCircleModel model) { JsonModel jm = new JsonModel(); try { var returnImg = GetMultimedia(ConstantParam.SOCIAL_CIRCLE_HEAD_DIR, model.HeadImg); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); T_SocialCircle socialCircle = new T_SocialCircle() { Name = model.Name, Content = model.Content, CreaterId = GetCurrentUser().Id, CreateTime = DateTime.Now, PlaceId = model.PlaceId, HeadImgPath = returnImg }; socialCircleBLL.Save(socialCircle); } catch { jm.Msg = "请求发生异常"; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public ActionResult ReceiveMassTextingDetail(int id) { WeixinApiInit(); var Owner = GetCurrentUser(); //将该圈子发给当前用户的群发消息改为已读 IUserSocialCircleMassTextingBLL usMassTextingBll = BLLFactory <IUserSocialCircleMassTextingBLL> .GetBLL("UserSocialCircleMassTextingBLL"); var usMassTextings = usMassTextingBll.GetList(um => um.UserId == Owner.Id && um.SocialCircleMassTexting.SocialCircleId == id && um.IsNoRead).ToList(); foreach (var texting in usMassTextings) { texting.IsNoRead = false; usMassTextingBll.Update(texting); } //获取指定圈子的信息 ISocialCircleBLL socialCircleBll = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBll.GetEntity(s => s.Id == id); SocialCircleChatModel model = new SocialCircleChatModel() { Id = sc.Id, Name = sc.Name }; ViewBag.TimeInterval = Convert.ToInt32(PropertyUtils.GetConfigParamValue("ChatTimeInterval")); return(View(model)); }
public JsonResult GetSocialCircleJsonList(SearchModel model) { PageResultModel m = new PageResultModel(); var ownerId = GetCurrentUser().Id; var PlaceIds = GetVerifiedPlaceIds(); //查询条件 Expression <Func <T_SocialCircle, bool> > where = s => PlaceIds.Contains(s.PlaceId) && s.CreaterId != ownerId && s.UserSocialCircles.Count(us => us.UserId == ownerId && us.ApplyStatus == ConstantParam.IsVerified_YES) == 0; if (!string.IsNullOrEmpty(model.Kword)) { where = PredicateBuilder.And(where, s => s.Name.Contains(model.Kword)); } ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); m.Total = socialCircleBLL.Count(where); m.Result = socialCircleBLL.GetPageList(where, "Id", false, model.PageIndex).Select(s => new SocialCircleItemModel() { Id = s.Id, Name = s.Name.Length > 10 ? s.Name.Substring(0, 10) + ".." : s.Name, PlaceName = s.PropertyPlace.Name.Length > 10 ? s.PropertyPlace.Name.Substring(0, 10) + ".." : s.PropertyPlace.Name, HeadPath = s.HeadImgPath, IsApplyed = s.UserSocialCircles.Count(us => us.UserId == ownerId && us.ApplyStatus == 0) > 0 }); return(Json(m, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 业主圈子首页2 /// </summary> /// <returns></returns> public ActionResult Index2() { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); //获取验证通过的小区圈子总数 var PlaceIds = GetVerifiedPlaceIds(); ViewBag.Count = socialCircleBLL.Count(s => PlaceIds.Contains(s.PlaceId)); return(View()); }
public ActionResult Deatil(int id) { WeixinApiInit(); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); ViewBag.CurrentUserId = GetCurrentUser().Id; return(View(sc)); }
public ActionResult UpdateContent(int id) { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); EditContentModel model = new EditContentModel() { Id = sc.Id, Content = sc.Content }; return(View(model)); }
public ActionResult UpdateName(int id) { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); EditNameModel model = new EditNameModel() { Id = sc.Id, Name = sc.Name }; return(View(model)); }
public ActionResult MassTextingList(int id) { //获取指定圈子信息 ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); SocialCircleChatModel model = new SocialCircleChatModel() { Id = sc.Id, Name = sc.Name }; ViewBag.TimeInterval = Convert.ToInt32(PropertyUtils.GetConfigParamValue("ChatTimeInterval")); return(View(model)); }
public ActionResult CircleUserManage(int Id) { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var src = socialCircleBLL.GetEntity(s => s.Id == Id); int coun = src.UserSocialCircles.Where(s => s.ApplyStatus == ConstantParam.IsVerified_YES).Count(); circleuserModel model = new circleuserModel() { Count = coun + 1, Id = src.Id, UserId = GetCurrentUser().Id, CreateId = src.Creater.Id, CreateName = src.Creater.UserName, HeadImg = string.IsNullOrEmpty(src.Creater.HeadPath) ? "/Images/WeiXin/header_default.png" : src.Creater.HeadPath }; return(View(model)); }
/// <summary> /// 圈子聊天页面 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Chat(int id) { WeixinApiInit(); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); int MemberCount = sc.UserSocialCircles.Where(us => us.ApplyStatus == Property.Common.ConstantParam.IsVerified_YES).Select(us => us.UserId).Distinct().Count(); SocialCircleChatModel model = new SocialCircleChatModel() { Id = sc.Id, Name = sc.Name, MemberCount = MemberCount + 1 }; ViewBag.TimeInterval = Convert.ToInt32(PropertyUtils.GetConfigParamValue("ChatTimeInterval")); return(View(model)); }
public JsonResult GetSearchMySocialCircle(string kwords) { var placeIds = GetVerifiedPlaceIds(); MySocialCircleListModel model = new MySocialCircleListModel(); var ownerId = GetCurrentUser().Id; ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); //我创建的圈子查询条件 Expression <Func <T_SocialCircle, bool> > where1 = s => s.CreaterId == ownerId && placeIds.Contains(s.PlaceId); if (!string.IsNullOrEmpty(kwords)) { where1 = PredicateBuilder.And(where1, s => s.Name.Contains(kwords)); } //获取我创建的圈子列表 model.CreateList = socialCircleBLL.GetList(where1).ToList().Select(s => new SocialCircleItemModel() { Id = s.Id, Name = s.Name.Length > 10 ? s.Name.Substring(0, 10) + ".." : s.Name, PlaceName = s.PropertyPlace.Name.Length > 10 ? s.PropertyPlace.Name.Substring(0, 10) + ".." : s.PropertyPlace.Name, HeadPath = s.HeadImgPath }).ToList(); model.CreateCount = socialCircleBLL.Count(where1); //我加入的圈子查询条件 Func <R_UserSocialCircle, bool> where2 = us => us.ApplyStatus == ConstantParam.IsVerified_YES && placeIds.Contains(us.SocialCircle.PlaceId) && (string.IsNullOrEmpty(kwords) ? true : us.SocialCircle.Name.Contains(kwords)); //获取我加入的圈子列表 model.JoinList = GetCurrentUser().UserSocialCircles.Where(where2).ToList().Select(us => new SocialCircleItemModel() { Id = us.SocialCircleId, Name = us.SocialCircle.Name.Length > 10 ? us.SocialCircle.Name.Substring(0, 10) + ".." : us.SocialCircle.Name, PlaceName = us.SocialCircle.PropertyPlace.Name.Length > 10 ? us.SocialCircle.PropertyPlace.Name.Substring(0, 10) + ".." : us.SocialCircle.PropertyPlace.Name, HeadPath = us.SocialCircle.HeadImgPath, NewestChatTime = "" }).Distinct(new SocialCircleComparer()).ToList(); model.JoinCount = model.JoinList.Count; return(Json(model, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateImg(int id, string Img) { JsonModel jm = new JsonModel(); try { ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); if (sc != null) { if (!string.IsNullOrEmpty(Img)) { string oldImgPath = sc.HeadImgPath; //头像路径保存 sc.HeadImgPath = GetMultimedia(ConstantParam.SOCIAL_CIRCLE_HEAD_DIR, Img); socialCircleBLL.Update(sc); //删除旧头像 if (!string.IsNullOrEmpty(oldImgPath)) { FileInfo f = new FileInfo(Server.MapPath(oldImgPath)); if (f.Exists) { f.Delete(); } } } } else { jm.Msg = "圈子已不存在"; } } catch { jm.Msg = "请求发生异常"; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 发送模板消息 /// <param name="openId">关注公众号的用户openId</param> /// </summary> public void SendTemplateMessage(int circleId, string openId, string accessToken) { //获取新消息的所属圈子 ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var socialCircle = socialCircleBLL.GetEntity(s => s.Id == circleId); //获取圈子群发消息未读条数 int noReadCount = socialCircle.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count(usm => usm.User != null && !string.IsNullOrEmpty(usm.User.WeixinOpenId) && usm.User.WeixinOpenId == openId && usm.IsNoRead) > 0); var data = new { first = new TemplateDataItem(string.Format("您好,{0}发来一条新消息,请尽快查看", socialCircle.Name)), keyword1 = new TemplateDataItem(noReadCount.ToString()), keyword2 = new TemplateDataItem("【Ai我家】"), keyword3 = new TemplateDataItem(DateTime.Now.ToString()), remark = new TemplateDataItem("请点击查看消息详细内容!") }; TemplateApi.SendTemplateMessage(accessToken, openId, TemplateId, "#000", "http://v.homekeeper.com.cn/WeixinSocialCircle/ReceiveMassTexting", data); }
public ActionResult ReceiveMassTexting() { var Owner = GetCurrentUser(); var PlaceIds = GetVerifiedPlaceIds(); //获取有当前用户群发消息的圈子 ISocialCircleBLL socialCircleBll = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var list = socialCircleBll.GetList(s => PlaceIds.Contains(s.PlaceId) && s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count( usm => usm.UserId == Owner.Id) > 0) > 0).ToList().Select(s => new ReceiveMassTextSocialCircleItemModel() { Id = s.Id, Name = s.Name.Length > 10 ? s.Name.Substring(0, 10) + ".." : s.Name, PlaceName = s.PropertyPlace.Name.Length > 10 ? s.PropertyPlace.Name.Substring(0, 10) + ".." : s.PropertyPlace.Name, HeadPath = s.HeadImgPath, TotalMassCount = s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id) > 0), NoReadMassCount = s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id && usm.IsNoRead) > 0), NewestChatTime = TimeFormat(s.SocialCircleMassTextings.Last(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id) > 0).ChatTime) }).ToList(); return(View(list)); }
public ActionResult SendMsg(int id, string ids) { WeixinApiInit(); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var sc = socialCircleBLL.GetEntity(s => s.Id == id); string[] i = ids.Split(','); int[] d = new int[i.Length - 1]; for (var s = 0; s < i.Length - 1; s++) { d[s] = int.Parse(i[s]); } string names = ""; for (int c = 0; c < d.Length; c++) { int o = d[c]; IUserSocialCircleBLL userSocialCircleBll = BLLFactory <IUserSocialCircleBLL> .GetBLL("UserSocialCircleBLL"); R_UserSocialCircle user = userSocialCircleBll.GetEntity(u => u.UserId == o); names += user.ApplyUser.UserName + "、"; } names = names.Substring(0, names.Length - 1); UserListSocialCircleMassTextingModel model = new UserListSocialCircleMassTextingModel() { Id = sc.Id, CreaterName = sc.Creater.UserName, CreaterHeadPath = string.IsNullOrEmpty(sc.Creater.HeadPath) ? "/Images/Weixin/header_default.png" : sc.Creater.HeadPath, MemberIds = ids, NameList = names, Count = d.Length }; return(View(model)); }
public ActionResult MyCircle() { MySocialCircleListModel model = new MySocialCircleListModel(); var Owner = GetCurrentUser(); var PlaceIds = GetVerifiedPlaceIds(); //用户创建的圈子ID集合 var sIds = Owner.SocialCircles.Select(s => s.Id).ToList(); IUserSocialCircleBLL userSocialCircleBll = BLLFactory <IUserSocialCircleBLL> .GetBLL("UserSocialCircleBLL"); var userSocialCircles = userSocialCircleBll.GetList(us => sIds.Contains(us.SocialCircleId) && PlaceIds.Contains(us.SocialCircle.PlaceId) && us.ApplyStatus == ConstantParam.IsVerified_DEFAULT); //获取未处理个数 model.NoDealCount = userSocialCircles.Count(); if (model.NoDealCount > 0) { var usc = userSocialCircles.OrderByDescending(us => us.ApplyTime).First(); model.ApplyInfo = new ApplyInfoModel() { ApplyUserName = usc.ApplyUser.UserName, CircleName = usc.SocialCircle.Name, ApplyTime = TimeFormat(usc.ApplyTime) }; } //获取我接收到的最新群发消息 IUserSocialCircleMassTextingBLL usMassTextingBll = BLLFactory <IUserSocialCircleMassTextingBLL> .GetBLL("UserSocialCircleMassTextingBLL"); var usMassTextings = usMassTextingBll.GetList(m => m.UserId == Owner.Id && PlaceIds.Contains(m.SocialCircleMassTexting.SocialCircle.PlaceId)); //如果有接收到的群发消息 if (usMassTextings.Count() > 0) { var firstMass = usMassTextings.OrderByDescending(m => m.SocialCircleMassTexting.ChatTime).First(); model.NewsetMass = new MassTextingModel() { CircleName = firstMass.SocialCircleMassTexting.SocialCircle.Name, MassSendTime = TimeFormat(firstMass.SocialCircleMassTexting.ChatTime) }; } model.NoReadCount = usMassTextings.Count(um => um.IsNoRead); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); //获取我创建的圈子列表 model.CreateList = socialCircleBLL.GetList(s => s.CreaterId == Owner.Id && PlaceIds.Contains(s.PlaceId)).ToList().Select(s => new SocialCircleItemModel() { Id = s.Id, Name = s.Name, PlaceName = s.PropertyPlace.Name, HeadPath = s.HeadImgPath, NewestChatTime = s.SocialCircleChats.Count > 0 ? TimeFormat(s.SocialCircleChats.OrderByDescending(c => c.ChatTime).First().ChatTime) : "" }).ToList(); //获取我加入的圈子列表 model.JoinList = GetCurrentUser().UserSocialCircles.Where(us => us.ApplyStatus == ConstantParam.IsVerified_YES && PlaceIds.Contains(us.SocialCircle.PlaceId)).ToList().Select(us => new SocialCircleItemModel() { Id = us.SocialCircleId, Name = us.SocialCircle.Name, PlaceName = us.SocialCircle.PropertyPlace.Name, HeadPath = us.SocialCircle.HeadImgPath, NewestChatTime = us.SocialCircle.SocialCircleChats.Count > 0 ? TimeFormat(us.SocialCircle.SocialCircleChats.OrderByDescending(c => c.ChatTime).First().ChatTime) : "" }).Distinct(new SocialCircleComparer()).ToList(); return(View(model)); }