public void GetWXUserInfoPagListTest()
        {
            MWXUserInfo mod = new WXuserService().GetWXUserInfoByOpenid("oUvS-0SDYj8NVGkzKWnFuvtR8jXw");

            int count = new WXuserService().GetWXUserInfoPagCount();

            List <MWXUserInfo> mWXUserInfos = new WXuserService().GetWXUserInfoPagList(1, 2);


            Assert.Fail();
        }
        /// <summary>
        /// 根据code获取用户信息
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public MWXUserInfo GetWXUserInfoByOpenid(string openid)
        {
            //// 实现逻辑步骤
            //// 1、根据openid 到数据库中查询用户数据信息
            //// 2、如果数据库未查询到数据信息,那么根据openid到微信查询对应的用户信息
            //// 3、对步骤5获取的用户数据信息入库
            //// 4、返回最终查询到的用户信息对象

            //// 用户信息模型
            MWXUserInfo model = null;

            if (!string.IsNullOrEmpty(openid))
            {
                //// 1、根据openid 到数据库中查询用户数据信息
                model = new WXuserService().GetWXUserInfoByOpenid(openid);

                if (model == null)
                {
                    //// 2、如果数据库未查询到数据信息,那么根据openid到微信查询对应的用户信息
                    model = new WXApiOpert().GetUserInfo(openid);

                    if (model != null)
                    {
                        model.great_time  = System.DateTime.Now;
                        model.modify_time = System.DateTime.Now;
                    }
                    //// LogOpert.AddWeiXinMessage("微信中根据openid获取到的用户信息为:" + JsonHelper.GetJson<MWXUserInfo>(model));

                    if (model != null)
                    {
                        //// 3、对步骤5获取的用户数据信息入库 异步入库
                        AddWXUser handler = new AddWXUser(new WXuserService().AddWXuser);
                        model.wxuserid = PublicTools.GetRandomNumberByTime();
                        handler.BeginInvoke(model, null, null);
                        //// LogOpert.AddWeiXinMessage("用户信息异步数据入库:" + JsonHelper.GetJson<MWXUserInfo>(model));
                    }
                }
                else
                {
                    ////  LogOpert.AddWeiXinMessage("数据库中根据openid获取到的用户信息为:" + JsonHelper.GetJson<MWXUserInfo>(model));
                }
            }

            //// 4、返回最终查询到的用户信息对象
            return(model);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 分页获取微信用户数据信息
        /// </summary>
        /// <param name="pagIndex"></param>
        /// <param name="acount"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public string GetUserListPage(int pagIndex, string nickname, string subscribe)
        {
            try
            {
                //// 实现步骤
                //// 1、首先获取符号要求的数据总条数
                //// 2、根据获取到数据条数、每页数据量、页码。优化处理页面
                //// 3、获取具体的分页数据信息

                MPageListResult <MWXUserInfo> pageListResult = new MPageListResult <MWXUserInfo>();

                //// 每页获取20条数据
                int pagSize = 20;

                //// 1、首先获取符号要求的数据总条数
                WXuserService opertService = new WXuserService();
                pageListResult.totalNum = opertService.GetWXUserInfoPagCount(nickname, subscribe);
                if (pageListResult.totalNum > 0)
                {
                    //// 2、根据获取到数据条数、每页数据量、页码。优化处理页面
                    pageListResult.totalPage = (int)Math.Ceiling((double)pageListResult.totalNum / pagSize);
                    pagIndex = pagIndex > pageListResult.totalPage ? pageListResult.totalPage : pagIndex;

                    //// 3、获取具体的分页数据信息
                    pageListResult.dataList = opertService.GetWXUserInfoPagList(pagIndex, pagSize, nickname, subscribe);
                }

                pageListResult.pagIndex = pagIndex;
                pageListResult.pagSize  = pagSize;

                return(JsonHelper.GetJson <MPageListResult <MWXUserInfo> >(pageListResult));
            }
            catch (Exception ex)
            {
                return(string.Empty);
            }
        }