コード例 #1
0
        //为用户分配客服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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
        /// <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));
        }
コード例 #5
0
        /// <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));
        }