Example #1
0
        /// <summary>
        ///     查询投诉列表
        /// </summary>
        /// <param name="model">搜索实体对象</param>
        /// <returns></returns>
        /// <remarks>added by jimmy,2015-7-3</remarks>
        public JsonResult List(SearchComplaintsModel model)
        {
            model.PagedSize = model.PagedSize == 0 ? 10 : model.PagedSize;
            var paramList =
                _complaintsService.Select(model);
            var data = new { rows = paramList.Data, total = paramList.Data.TotalCount };

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        ///     投诉对象分布查询
        /// </summary>
        /// <param name="model">输入查询参数对象</param>
        /// <returns></returns>
        /// <remarks>added by jimmy,2015-7-8</remarks>
        public ResultModel Select(SearchComplaintsModel model)
        {
            var complaints = _database.Db.Complaints;
            var user       = _database.Db.YH_User;
            var merc       = _database.Db.YH_MerchantInfo;
            var whereExpr  = new SimpleExpression(1, 1, SimpleExpressionType.Equal);

            //昵称
            if (!string.IsNullOrEmpty(model.NickName))
            {
                whereExpr = new SimpleExpression(whereExpr, user.NickName.Like("%" + model.NickName + "%"), SimpleExpressionType.And);
            }
            //手机号码
            if (!string.IsNullOrEmpty(model.Phone))
            {
                whereExpr = new SimpleExpression(whereExpr, user.Phone.Like("%" + model.Phone + "%"), SimpleExpressionType.And);
            }
            //Email
            if (!string.IsNullOrEmpty(model.Email))
            {
                whereExpr = new SimpleExpression(whereExpr, user.Email.Like("%" + model.Email + "%"), SimpleExpressionType.And);
            }
            //订单Id
            if (!string.IsNullOrEmpty(model.OrderID))
            {
                whereExpr = new SimpleExpression(whereExpr, complaints.OrderID.Like("%" + model.OrderID + "%"), SimpleExpressionType.And);
            }
            dynamic m;
            dynamic u;
            var     query = complaints.All().LeftJoin(user, out u).On(u.UserID == complaints.UserID).
                            LeftJoin(merc, out m).On(m.MerchantID == complaints.MerchantID).
                            Select(
                complaints.ComplaintsID,
                complaints.OrderID,
                m.ShopName,
                u.NickName,
                u.Phone,
                u.Email,
                complaints.complainType,
                complaints.Content,
                complaints.ComplaintsDate,
                complaints.DealPeople,
                complaints.DealDate,
                complaints.Flag,
                complaints.Comments
                ).Where(whereExpr).OrderByComplaintsDateDescending();
            var result = new ResultModel
            {
                Data =
                    new SimpleDataPagedList <ComplaintsModel>(
                        query,
                        model.PagedIndex, model.PagedSize)
            };

            return(result);
        }
        /// <summary>
        /// 根据用户ID查询投诉数据
        /// zhoub 20150716
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public ResultModel GetPagingComplaints(SearchComplaintsModel model)
        {
            var     com  = _database.Db.Complaints;
            var     merc = _database.Db.YH_MerchantInfo;
            dynamic m;
            var     whereExpr = com.UserID == model.UserID;

            var result = new ResultModel
            {
                Data =
                    new SimpleDataPagedList <ComplaintsModel>(com.All().
                                                              LeftJoin(merc, out m).On(m.MerchantID == com.MerchantID).
                                                              Select(com.ComplaintsID, com.OrderID, com.Content, com.Comments, com.ComplaintsDate, com.DealDate, merc.ShopName, com.Flag).Where(whereExpr),
                                                              model.PagedIndex, model.PagedSize)
            };

            return(result);
        }