Exemple #1
0
        public ActionResult WeChat(int?id, string weixinId, string startDate, string endDate)
        {
            if (Request.IsAjaxRequest())
            {
                //列表分页开始
                var model = new PagedList <CBMkWeixinQuestion>();

                var filter = new ParaMkWeixinQuestionFilter {
                    WeixinId = weixinId
                };
                if (!string.IsNullOrEmpty(startDate))
                {
                    filter.StartTime = DateTime.Parse(startDate);
                }
                if (!string.IsNullOrEmpty(endDate))
                {
                    filter.EndTime = DateTime.Parse(endDate);
                }
                if (filter.EndTime != null)
                {
                    filter.EndTime = filter.EndTime.Value.AddDays(1);
                }
                var modelRef = new Pager <CBMkWeixinQuestion> {
                    CurrentPage = id ?? 1, PageSize = model.PageSize
                };
                WeChatBo.Instance.GetMkWeixinQuestionStaticsList(ref modelRef, filter);
                model.TotalItemCount   = modelRef.TotalRows;
                model.TData            = modelRef.Rows;
                model.CurrentPageIndex = modelRef.CurrentPage;
                return(PartialView("_AjaxPagerWeChat", model));
            }
            return(View());
        }
Exemple #2
0
        /// <summary>
        /// 分页查询微信咨询信息(统计)列表
        /// </summary>
        /// <param name="pager">微信咨询列表分页对象</param>
        /// <param name="filter">查询条件</param>
        /// <returns>void</returns>
        /// <remarks>
        /// 2013-11-07 郑荣华 创建
        /// </remarks>
        public void GetMkWeixinQuestionStaticsList(ref Pager <CBMkWeixinQuestion> pager,
                                                   ParaMkWeixinQuestionFilter filter)
        {
            IMkWeixinQuestionDao.Instance.GetMkWeixinQuestionStaticsList(ref pager, filter);

            if (pager.Rows != null)
            {
                foreach (var item in pager.Rows)
                {
                    var userInfo = Hyt.BLL.Weixin.CallCenterReplyBo.Instance.GetUserInfo(item.WeixinId);
                    item.ShowName = userInfo == null ? item.WeixinId : userInfo.nickname;
                }

                #region 微信ID展示为实际昵称,数据库里记录的为OpenId,查询需特殊处理  2013-12-31 陶辉 添加

                if (!string.IsNullOrEmpty(filter.WeixinId))
                {
                    var rowsList = new List <CBMkWeixinQuestion>(pager.Rows);
                    rowsList        = rowsList.FindAll(r => r.ShowName == filter.WeixinId);
                    pager.Rows      = rowsList;
                    pager.TotalRows = rowsList.Count;
                }

                #endregion
            }
        }
        /// <summary>
        /// 分页查询微信咨询信息(统计)列表
        /// </summary>
        /// <param name="pager">微信咨询列表分页对象</param>
        /// <param name="filter">查询条件</param>
        /// <remarks>
        /// 2013-11-07 郑荣华 创建
        /// 2013-12-31 陶辉 修改
        /// </remarks>
        public override void GetMkWeixinQuestionStaticsList(ref Pager <CBMkWeixinQuestion> pager, ParaMkWeixinQuestionFilter filter)
        {
            using (var context = Context.UseSharedConnection(true))
            {
                const string sqlSelect = @"t.*,CASE b.newsnum when null then 0 else b.newsnum END newsnum";

                const string sqlFrom = @"MkWeixinQuestion t left join
                (select t.weixinid,count(1) newsnum from MkWeixinQuestion t where t.status=@status and t.type=@type group by t.weixinid)b 
                on t.weixinid=b.weixinid";

                const string sqlWhere = @"t.type=@type and exists (select 1 from 
                (select t.weixinid,max(t.messagestime) lasttime  from MkWeixinQuestion t where t.type=@type group by t.weixinid) a
                where t.weixinid=a.weixinid and t.messagestime=a.lasttime) 
                --and (@weixinid is null or charindex(t.weixinid,@weixinid)>0) 
                and (@startdate is null or t.messagestime>=@startdate) and (@enddate is null or t.messagestime<=@enddate)";

                #region sqlcount

                const string sqlCount = @"select count(1) from " + sqlFrom + " where " + sqlWhere;

                pager.TotalRows = context.Sql(sqlCount)
                                  .Parameter("status", (int)MarketingStatus.微信咨询消息状态.未读)
                                  .Parameter("type", (int)MarketingStatus.微信咨询类型.咨询)
                                  //.Parameter("weixinid", filter.WeixinId)
                                  //.Parameter("weixinid", filter.WeixinId)
                                  .Parameter("startdate", filter.StartTime)
                                  .Parameter("enddate", filter.EndTime)
                                  .QuerySingle <int>();
                #endregion

                pager.Rows = context.Select <CBMkWeixinQuestion>(sqlSelect)
                             .From(sqlFrom)
                             .Where(sqlWhere)
                             .Parameter("status", (int)MarketingStatus.微信咨询消息状态.未读)
                             .Parameter("type", (int)MarketingStatus.微信咨询类型.咨询)
                             //.Parameter("weixinid", filter.WeixinId)
                             //.Parameter("weixinid", filter.WeixinId)
                             .Parameter("startdate", filter.StartTime)
                             .Parameter("enddate", filter.EndTime)
                             .OrderBy("t.MessagesTime desc")
                             .Paging(pager.CurrentPage, pager.PageSize)
                             .QueryMany();
            }
        }
 /// <summary>
 /// 分页查询微信咨询信息(统计)列表
 /// </summary>
 /// <param name="pager">微信咨询列表分页对象</param>
 /// <param name="filter">查询条件</param>
 /// <returns></returns>
 /// <remarks>
 /// 2013-11-07 郑荣华 创建
 /// </remarks>
 public abstract void GetMkWeixinQuestionStaticsList(ref Pager <CBMkWeixinQuestion> pager, ParaMkWeixinQuestionFilter filter);