//为用户分配客服end //从数据库获取用户 public PageList <WX_User> GetUsers(int type, int pageIndex, int pageSize, int key) { List <WX_User> list; if (type == 2) //查询未分配用户 { list = WXAPP.WX_User.Where(u => u.UserId == null).ToList(); } else if (type == 3)//根据标签查询 { if (key.Equals(-1)) { list = WXAPP.WX_User.Where(u => u.WX_UserTag.Count == 0).ToList(); } else { list = new WX_UserTagManager().GetByPK(key, WXAPP.AppId).WX_User.Where(u => u.AppId == WXAPP.AppId).ToList(); } } else if (type == 4)//根据分组查询 { list = WXAPP.WX_User.Where(u => u.GroupId.Equals(key)).ToList(); } else { list = WXAPP.WX_User.ToList(); } PageList <WX_User> page = new PageList <WX_User>(list.OrderBy(t => t.SubscribeTime).ToList(), pageIndex, pageSize); return(page); }
/// <summary> /// 从服务器更新标签集合 /// </summary> /// <returns></returns> public List <WX_UserTag> GetTagList() { WX_UserTagManager manager = new WX_UserTagManager(); TagService ser = new TagService(WXAPP.AppId, WXAPP.AppSecret); List <WX_UserTag> list = new List <WX_UserTag>(); JToken jo = JObject.Parse(ser.GetList())["tags"]; foreach (var i in jo.Children()) { var tag = new WX_UserTag() { TagId = (int)i["id"], TagName = i["name"].ToString(), AppId = WXAPP.AppId }; var info = manager.GetAll().Where(t => t.TagId == Convert.ToInt32(i["id"]) && t.AppId.Equals(WXAPP.AppId)); if (info.Count() > 0) { //info.TagName = tag.TagName; manager.Update(tag); } else { manager.Add(tag); } list.Add(tag); } var idList = new List <int>(); foreach (var i in manager.GetAll()) { if (list.Where(t => t.TagId.Equals(i.TagId)).Count() == 0) { idList.Add(i.TagId); } } foreach (var id in idList) { manager.Delete(id, WXAPP.AppId); } Controller_EX.BindSession(Session); return(list); }
/// <summary> /// 查询所有星标好友 /// </summary> /// <param name="UserID"></param> /// <returns></returns> //public ActionResult GetStar(int UserID,string AppID) { // var result = new WX_UserManager().Where(x=>x.UserId==UserID&&x.AppId==x.WX_UserTag.Select(s=>new { s.AppId}).ToString()&&x.WX_UserTag.Where(s=>s.TagId==2)!=null && x.AppId == AppID).Select(x=>new { // x.OpenID, // x.UserNick, // x.UserName, // x.HeadImageUrl // }).ToList(); // return Json(result, JsonRequestBehavior.AllowGet); //} /// <summary> /// 根据标签编号和客服编号查询所有用户 /// </summary> /// <param name="UserId"></param> /// <param name="TagId"></param> /// <returns></returns> public ActionResult TagInfo(int UserId, int TagId, string AppID) { var info = new WX_UserTagManager().Where(x => x.TagId == TagId && x.WX_User.Where(s => s.UserId == UserId) != null && x.AppId == AppID).Select(s => new { User = s.WX_User.Select(x => new { x.UserName, x.UserNick, x.HeadImageUrl, x.OpenID }), s.TagName, s.TagId, s.AppId }).ToList(); return(Json(info, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 按照客服编号查找所有有用户的标签 /// </summary> /// <param name="UserId">客服编号</param> /// <returns></returns> public ActionResult UserOnTag(int UserId, string AppId) { var info = new WX_UserTagManager().Where(s => s.WX_User.Where(x => x.UserId == UserId) != null && s.AppId == AppId).Select(s => new { //UserStr= JsonConvert.SerializeObject(s.WX_User.Select(x => new //{ // UserName = x.UserName, // UserNick = x.UserNick, // OpenID = x.OpenID, // HeadImageUrl = x.HeadImageUrl, //}).ToList()), s.TagId, Count = s.WX_User.Count(), s.TagName, }).ToList(); return(Json(info, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 从数据库查找标签是否存在 /// </summary> /// <returns></returns> public ActionResult FindTag(string TagName, string AppId) { var info = new WX_UserTagManager().Where(x => x.TagName == TagName && x.AppId == AppId).Count() > 0; return(Json(info, JsonRequestBehavior.AllowGet)); }