diff --git a/New_College.Api/Controllers/Front/CustomerController.cs b/New_College.Api/Controllers/Front/CustomerController.cs index c9cf80f..4f88b0c 100644 --- a/New_College.Api/Controllers/Front/CustomerController.cs +++ b/New_College.Api/Controllers/Front/CustomerController.cs @@ -37,6 +37,29 @@ namespace New_College.Api.Controllers.Front + /// + ///获取分享好友任务完成情况 + /// + /// + /// + [HttpGet] + public async Task>> ShareTaskFinshing([FromQuery] CustomerShareQuery query) + { + var userinfo = new List(); + var customer = await _fansDistributionServices.Query(c => c.IsDelete == false && c.SaleId == query.CustomerId); + var fansids = customer.Select(c => c.FansId).ToList(); + userinfo = (await _services.Query(c => fansids.Contains(c.Id))).Select(c => new CustomerShareModel() + { + Avatar = c.AvatarUrl, + nickName = c.NickName + }).ToList(); + return new MessageModel>() + { + response = userinfo, + success = true, + msg = "ok" + }; + } /// /// /// @@ -205,7 +228,7 @@ namespace New_College.Api.Controllers.Front await DistrFanc(request.SaleId, customerinfo.Id); }); newId = await updatesync(customerinfo.Phone); - + } catch (Exception ex) { diff --git a/New_College.Api/New_College.xml b/New_College.Api/New_College.xml index 0dae566..1a8ac19 100644 --- a/New_College.Api/New_College.xml +++ b/New_College.Api/New_College.xml @@ -232,6 +232,13 @@ 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 + + + 获取分享好友任务完成情况 + + + + diff --git a/New_College.Model/Request/LoginQuery.cs b/New_College.Model/Request/LoginQuery.cs index c1ec3ce..ed3f27b 100644 --- a/New_College.Model/Request/LoginQuery.cs +++ b/New_College.Model/Request/LoginQuery.cs @@ -16,4 +16,11 @@ namespace New_College.Model.Request /// public string code { get; set; } } + + + public class CustomerShareQuery + { + public int CustomerId { get; set;} + + } } diff --git a/New_College.Model/ViewModels/Result/CustomerInfoResult.cs b/New_College.Model/ViewModels/Result/CustomerInfoResult.cs index b4fd525..97ccdce 100644 --- a/New_College.Model/ViewModels/Result/CustomerInfoResult.cs +++ b/New_College.Model/ViewModels/Result/CustomerInfoResult.cs @@ -5,6 +5,14 @@ using System.Text; namespace New_College.Model.ViewModels { + + public class CustomerShareModel + { + public string Avatar{ get; set; } + + public string nickName { get; set; } + } + public class CustomerInfoResult { diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs index 64af931..b945074 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs @@ -169,9 +169,6 @@ namespace New_College.Repository var subjecttype = query.SubjectClaim.Length == 2 ? query.SubjectClaim : "综合"; query.SubjectClaim = query.SubjectClaim.Length == 2 ? (query.SubjectClaim == "理科" ? "物,化,生" : "政,史,地") : query.SubjectClaim; - - - var regionlist = this.Db.Queryable().Where(c => c.Level == 1).WhereIF(query.provinceIds != null && query.provinceIds.Any(), c => SqlFunc.ContainsArray(query.provinceIds, c.KeyId)).Select(c => c.RegionName).ToList(); var claim = new string[] { }; @@ -244,22 +241,9 @@ namespace New_College.Repository sqlstr.AppendFormat(" and (_23subject like'%{0}%' or _23subject like'%{1}%' or _23subject like'%{2}%' )", claim01, claim02, claim03); } sqlstr.Append(" order by _23Score"); - //string sql = string.Format("SELECT * from T_TbSNeedDataInfo where location='{0}' and _23Score BETWEEN {1} and {2} and (_23subject like'%{3}%' or _23subject like'%{4}%' or _23subject like'%{5}%' )" - // , query.Location, query.Score, query.Score + 15, claim01, claim02, claim03); + var recommendInfo = await this.Db.SqlQueryable(sqlstr.ToString()).ToListAsync(); - // var recommendInfo = await this.Db.Queryable() - // .WhereIF(regionlist.Any(), p => SqlFunc.ContainsArray(regionlist, p.Province)) - // //.WhereIF(query.Year > 0, p => p.Years == query.Year) - // .WhereIF(!string.IsNullOrEmpty(query.Location), p => p.Location == query.Location) - // .Where(p => p.SubjectType == subjecttype) - // //.WhereIF(!string.IsNullOrEmpty(query.BatchName), p => p.BatchName == query.BatchName) - // .WhereIF(string.IsNullOrWhiteSpace(query.Type), p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score + 15)) - // .WhereIF(query.Type == "冲", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score, query.Score + 15)) - // .WhereIF(query.Type == "稳", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 26, query.Score - 1)) - // .WhereIF(query.Type == "保", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score - 26)) - // .WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), c => SqlFunc.Contains(c._23subject, claim01) || SqlFunc.Contains(c._23subject, claim02) || SqlFunc.Contains(c._23subject, claim03) || c._23subject == "不限") - // .WhereIF(majornames.Any() && majornames.Count() > 0, p => SqlFunc.ContainsArray(majornames, p.MajorName)) - //.ToListAsync(); + var universitylist = recommendInfo.GroupBy(g => g.UniversityName).Select(c => new UniversityEnrollmentPlanResult() { UniversityName = c.Key }).ToList(); var universitytemps = (await d_University.Query(c => SqlFunc.ContainsArray(recommendInfo.Select(c => c.UniversityName).ToList(), c.Name))).Select(c => new @@ -267,36 +251,66 @@ namespace New_College.Repository { Id = c.Id, Logo = c.Logo, Name = c.Name }).ToList(); - var ulist = universitylist.Select(s => new UniversityEnrollmentPlanResult() + //var ulist = universitylist.Select(s => new UniversityEnrollmentPlanResult() + //{ + // Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "", + // UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0, + // AreaName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province : " ", + // UniversityCode = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode : "", + // Rank = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).UniversityRank : " ", + // _985 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("985") ? "是" : "否") : "否") : "否", + // _211 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("211") ? "是" : "否") : "否") : "否", + // _SYL = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否") : "否", + // SchoolScoreline = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine) : 0, + // SchoolLowScore = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore) : 0, + // Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校 + // Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score), + // AscriptionName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership : " ", + // CityName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City : " ", + // MjaorPlan = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count() : 0, + // planCount = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)) : 0, + // PlanIds = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList()) : null, + // UniversityName = s.UniversityName, + + //}).OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList(); + var ulist = new List(); + universitylist.ForEach(s => { - Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "", - UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0, - AreaName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province : " ", - UniversityCode = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode : "", - Rank = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).UniversityRank : " ", - _985 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("985") ? "是" : "否") : "否") : "否", - _211 = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("211") ? "是" : "否") : "否") : "否", - _SYL = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否") : "否", - SchoolScoreline = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine) : 0, - SchoolLowScore = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore) : 0, - Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校 - Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score), - AscriptionName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership : " ", - CityName = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City : " ", - MjaorPlan = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count() : 0, - planCount = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)) : 0, - PlanIds = recommendInfo.Any(e => e.UniversityName == s.UniversityName) ? (recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList()) : null, - UniversityName = s.UniversityName, - - }).OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList(); + if (recommendInfo.Any(e => e.UniversityName == s.UniversityName)) + { + var recommendFirstModel = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName); + ulist.Add(new UniversityEnrollmentPlanResult() + { + Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "", + UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0, + AreaName = recommendFirstModel.Province, + UniversityCode = recommendFirstModel.EnrollmentCode, + Rank = recommendFirstModel.UniversityRank, + _985 = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("985") ? "是" : "否") : "否"), + _211 = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("211") ? "是" : "否") : "否"), + _SYL = (recommendFirstModel.LnstitutionalLevel != null ? (recommendFirstModel.LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否"), + SchoolScoreline = int.Parse(recommendFirstModel._23SchoolScoreLine), + SchoolLowScore = int.Parse(recommendFirstModel._23SchoolScore), + Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendFirstModel._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendFirstModel._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校 + Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendFirstModel._23Score), (int)query.Score), + AscriptionName = recommendFirstModel.Ownership, + CityName = recommendFirstModel.City, + MjaorPlan = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count(), + planCount = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)), + PlanIds = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList(), + UniversityName = s.UniversityName + }); + } + }); + return new MessageModel>() { success = true, msg = "获取成功", response = new PageModel() { - data = ulist, + data = ulist.OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList(), dataCount = universitylist.Count, page = query.PageIndex, PageSize = query.PageSize, @@ -355,13 +369,13 @@ namespace New_College.Repository Years = plans.Years }) .ToPageListAsync(query.PageIndex, query.PageSize, totalNumber); - recommendInfo.ForEach(recommendInfo => + recommendInfo.Where(e => e.Id > 0).ToList().ForEach(recommendInfo => { recommendInfo.Percentage = MajorPlanScoreTool.GetPlanPercentage((int)recommendInfo.ScoreLine, query.Score); }); return new PageModel() { - data = recommendInfo.OrderBy(o => o.Percentage).ToList(), + data = recommendInfo.Where(e => e.Id > 0).OrderBy(o => o.Percentage).ToList(), page = query.PageIndex, PageSize = query.PageSize, dataCount = totalNumber,