/// <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 { } }
/// <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 { } }
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 { } } }
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)); } }
/// <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); }
/// <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); }
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); } }
public SuggestService(SuggestRepoistory suggestRepoistory, Suggest suggest, SuggestModel suggestModel) { _suggestRepoistory = suggestRepoistory; _suggest = suggest; _SuggestModel = suggestModel; }