Exemplo n.º 1
0
        /// <summary>
        /// 添加建议
        /// </summary>
        /// <param name="model">建议模型</param>
        public void CreateSuggest(SuggestModel model)
        {
            IRepository <Suggest> rep = Factory.Factory <IRepository <Suggest> > .GetConcrete <Suggest>();

            Suggest s = new Suggest(model.Body, model.UserID, model.UserName, model.Reply, model.Type);

            try
            {
                rep.Add(s);
                rep.PersistAll();
            }
            catch { }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 回复建议
        /// </summary>
        /// <param name="model"></param>
        public void ReplySuggest(SuggestModel model)
        {
            IRepository <Suggest> rep = Factory.Factory <IRepository <Suggest> > .GetConcrete <Suggest>();

            Suggest a = null;

            try
            {
                a       = rep.GetByKey(model.SuggestID);
                a.Reply = model.Reply;

                rep.Update(a);
                rep.PersistAll();
            }
            catch { }
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.Form["txtContent"]) && !string.IsNullOrEmpty(Request.Form["sid"]))
            {
                SuggestService service = new SuggestService();
                SuggestModel   model   = new SuggestModel();
                model.SuggestID = new Guid(Request.Form["sid"]);
                model.Reply     = Request.Form["txtContent"];

                try
                {
                    service.ReplySuggest(model);
                    Response.Redirect("SuggestList.aspx");
                }
                catch
                { }
            }
        }
Exemplo n.º 4
0
        public HttpResponseMessage AddSuggest([FromBody] SuggestModel suggest, [FromUri] string Token)
        {
            Suggest addsuggest = new Suggest();

            addsuggest.ID         = Guid.NewGuid();
            addsuggest.Content    = suggest.Content;                  //意见反馈内容
            addsuggest.CreateUser = suggest.CreateUser;               //创建者
            addsuggest.CreateDate = Convert.ToDateTime(DateTime.Now); //创建时间
            try
            {
                db.suggest.Add(addsuggest);
                db.SaveChanges();
                HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.OK, "新增意见反馈成功!");
                return(response);
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 某个建议
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public SuggestModel GetOneSuggest(Guid id)
        {
            IRepository <Suggest> rep = Factory.Factory <IRepository <Suggest> > .GetConcrete <Suggest>();

            Suggest      a     = null;
            SuggestModel model = new SuggestModel();

            try
            {
                a                  = rep.GetByKey(id);
                model.Body         = a.Body;
                model.CreationDate = a.CreationDate;
                model.Reply        = a.Reply;
                model.SuggestID    = a.Id;
                model.UserID       = a.UserID;
                model.UserName     = a.UserName;
                model.Type         = a.Type;
            }
            catch
            { }
            return(model);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 获取建议直通下的所有建议
        /// </summary>
        /// <param name="startIndex">起始索引</param>
        /// <param name="count">获取数目</param>
        /// <returns></returns>
        public IList <SuggestModel> FetchSuggest(int startIndex, int count)
        {
            IRepository <Suggest> suggestRep = Factory.Factory <IRepository <Suggest> > .GetConcrete <Suggest>();

            IList <Suggest>      alist  = null;
            IList <SuggestModel> target = new List <SuggestModel>();

            try
            {
                alist = suggestRep.FindAll(new Specification <Suggest>(s => s.Type == "来自建议直通").Skip(startIndex).Take(count).OrderByDescending(s => s.CreationDate));
                foreach (Suggest a in alist)
                {
                    SuggestModel tmp = new SuggestModel()
                    {
                        SuggestID = a.Id, UserID = a.UserID, Body = a.Body, CreationDate = a.CreationDate, UserName = a.UserName, Reply = a.Reply, Type = a.Type
                    };
                    target.Add(tmp);
                }
            }
            catch { }

            return(target);
        }
Exemplo n.º 7
0
        public static void BaoYangSuggestBusiness(List <CarObject> carObjectAndBaoYangRecord, Dictionary <string, string> generalTypes)
        {
            try
            {
                var suggestList    = new List <SuggestModel>();
                var generalSuggest = new List <BaoYangGeneralSuggest>();
                var carObjectAndBaoYangRecordDistinct =
                    carObjectAndBaoYangRecord.OrderByDescending(x => x.OdometerTime).GroupBy(x => x.CarId)
                    .Select(x => x.FirstOrDefault()).ToList();
                foreach (var item in carObjectAndBaoYangRecordDistinct)
                {
                    var userCarObject =
                        carObjectAndBaoYangRecordDistinct
                        .FirstOrDefault(x => x.UserId.Equals(item.UserId) && x.CarId.Equals(item.CarId));
                    //用户车型最近一次更新车型距离,目的是得到上路时间和行驶里程

                    var userBaoYangRecord =
                        carObjectAndBaoYangRecord.Where(
                            x => x.UserId.Equals(item.UserId) && x.VehicleId.Equals(item.VehicleId))
                        .OrderByDescending(x => x.BaoyangDateTime).ToList();     //用户该车型做的所有保养
                    var lastBaoYangRecord = new Dictionary <string, Tuple <DateTime, int> >();
                    foreach (var record in userBaoYangRecord)
                    {
                        if (!lastBaoYangRecord.ContainsKey(record.BaoYangType))
                        {
                            lastBaoYangRecord[record.BaoYangType] = new Tuple <DateTime, int>(record.BaoyangDateTime,
                                                                                              record.BaoYangDistance);
                        }
                    }
                    if (userCarObject != null)
                    {
                        IEnumerable <BaoYangSuggestCategory> suggestCategories = new List <BaoYangSuggestCategory>();
                        //using (var client = new BaoYangClient())
                        //{
                        //    var serviceResult = client.GetSuggestBaoYangCategoriesWithRecord();
                        //    if (serviceResult.Success)
                        //    {
                        //        suggestCategories = serviceResult.Result;
                        //    }
                        //}
                        if (suggestCategories != null && suggestCategories.Any())
                        {
                            int suggestNum    = 0;
                            int urgentNum     = 0;
                            int veryUrgentNum = 0;

                            foreach (var category in suggestCategories)
                            {
                                if (category.CategoryType.Equals(SuggestCategoryType.Suggest))
                                {
                                    suggestNum += category.BaoYangTypes.Count;
                                }
                                else if (category.CategoryType.Equals(SuggestCategoryType.Urgent))
                                {
                                    urgentNum     += category.BaoYangTypes.Count;
                                    veryUrgentNum += category.BaoYangTypes.Count(t => t.IsVeryUrgent == true);
                                }
                            }

                            var       tuhuBaoYangRecord   = userBaoYangRecord.Where(y => y.IsTuhuRecord);//途虎保养
                            DateTime? lastTuhuBaoYangTime = null;
                            CarObject lastTuhuBaoYang     = null;
                            if (tuhuBaoYangRecord.Any())
                            {
                                lastTuhuBaoYang     = tuhuBaoYangRecord.FirstOrDefault();
                                lastTuhuBaoYangTime = lastTuhuBaoYang?.BaoyangDateTime;
                            }

                            var suggestItem = new SuggestModel
                            {
                                UserId              = item.UserId,
                                VehicleId           = item.VehicleId,
                                CarId               = item.CarId,
                                SuggestNum          = suggestNum,
                                UrgentNum           = urgentNum,
                                VeryUrgentNum       = veryUrgentNum,
                                LastTuhuBaoYangTime = lastTuhuBaoYangTime ?? (DateTime?)null,
                                SuggestCategory     = JsonConvert.SerializeObject(suggestCategories)
                            };
                            suggestList.Add(suggestItem);

                            if (tuhuBaoYangRecord.Any())
                            {
                                if (lastTuhuBaoYang != null && lastTuhuBaoYangTime != null)
                                {
                                    var noBaoYangMonth = DateDiff(lastTuhuBaoYang.BaoyangDateTime);
                                    if (noBaoYangMonth >= 6)
                                    {
                                        foreach (var category in suggestCategories)
                                        {
                                            if (category.CategoryType.Equals(SuggestCategoryType.Suggest) ||
                                                category.CategoryType.Equals(SuggestCategoryType.Urgent))
                                            {
                                                var general =
                                                    category.BaoYangTypes.Select(x => x.Type)
                                                    .Where(y => generalTypes.ContainsKey(y));
                                                if (general.Any())
                                                {
                                                    var generalItem = new BaoYangGeneralSuggest
                                                    {
                                                        UserId         = item.UserId,
                                                        VehicelId      = item.VehicleId,
                                                        NoBaoYangMonth = noBaoYangMonth,
                                                        Suggest        =
                                                            general.Select(
                                                                x =>
                                                                new BaoYangTypeModel()
                                                        {
                                                            BaoYangType = x,
                                                            ZhName      = generalTypes[x]
                                                        }).ToList()
                                                    };
                                                    generalSuggest.Add(generalItem);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (suggestList.Count > 0)
                {
                    UpdateBaoYangSuggest(suggestList);
                }
                if (generalSuggest.Count > 0)
                {
                    var cacheResult = UpdateBaoYangGeneralSuggestCache(generalSuggest);
                    if (!cacheResult)
                    {
                        logger.Error("批量更新缓存generalSuggest失败");
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
            }
        }
Exemplo n.º 8
0
 public SuggestService(SuggestRepoistory suggestRepoistory, Suggest suggest, SuggestModel suggestModel)
 {
     _suggestRepoistory = suggestRepoistory;
     _suggest           = suggest;
     _SuggestModel      = suggestModel;
 }