Commit 466ab502 authored by 吴春's avatar 吴春

试听课需求

parent b96b8d54
......@@ -11,69 +11,93 @@ namespace Edu.Model.Entity.Reserve
[DB(ConnectionName = "DefaultConnection")]
public class RB_Visitor_Reserve
{
/// <summary>
/// 预约编号(主键)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 访客编号
/// </summary>
public int Visitor_Id { get; set; }
/// <summary>
/// 预约状态(0-跟进中,1-成交,2-流单,3-取消)
/// </summary>
public int ReserveStatus { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 关联订单号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 预约班级编号
/// </summary>
public int ReserveClassId { get; set; }
}
/// <summary>
/// 预约编号(主键)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 访客编号
/// </summary>
public int Visitor_Id { get; set; }
/// <summary>
/// 预约状态(0-跟进中,1-成交,2-流单,3-取消)
/// </summary>
public int ReserveStatus { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 关联订单号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 预约班级编号
/// </summary>
public int ReserveClassId { get; set; }
/// <summary>
/// 试听需求
/// </summary>
public string Demand { get; set; }
/// <summary>
/// 学员反馈
/// </summary>
public string Feedback { get; set; }
/// <summary>
/// 预约日期
/// </summary>
public DateTime ReservationDate { get; set; }
/// <summary>
/// 1-试听课,2-留学需求
/// </summary>
public int IsReserve { get; set; }
}
}
......@@ -138,7 +138,7 @@ namespace Edu.Model.Entity.User
public string StuPurpose { get; set; }
/// <summary>
/// 客户类型,1-普通客户,2-会员客户
/// 客户类型,1-普通客户,2-留学客户
/// </summary>
public int StudentType { get; set; }
......
This diff is collapsed.
using Edu.AOP.CustomerAttribute;
using Edu.Common;
using Edu.Common.Enum;
using Edu.Common.Enum.System;
using Edu.Common.Enum.User;
......@@ -22,6 +23,7 @@ using Senparc.Weixin.MP.AdvancedAPIs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VT.FW.DB;
namespace Edu.Module.User
......@@ -165,7 +167,10 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_Student_ConfigRepository student_ConfigRepository = new RB_Student_ConfigRepository();
/// <summary>
/// 账号管理仓储层对象
/// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -370,7 +375,7 @@ namespace Edu.Module.User
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName =!string.IsNullOrWhiteSpace(item.StuPurpose)?( string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString()))?.Select(x => x.Name)) ?? ""):"";
item.StuPurposeName = !string.IsNullOrWhiteSpace(item.StuPurpose) ? (string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString()))?.Select(x => x.Name)) ?? "") : "";
item.StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == item.StuNeeds)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList() ?? new List<RB_Student_Advisor_Extend>();
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
......@@ -535,7 +540,7 @@ namespace Edu.Module.User
extModel.AssistList = assistList;
extModel.StuStageName = stageRepository.GetEntity(extModel.StuStage)?.StageName ?? "";
extModel.StuTypeName = student_TypeRepository.GetEntity(extModel.StuType)?.Name ?? "";
extModel.StuPurposeName =!string.IsNullOrWhiteSpace(extModel.StuPurpose)?( string.Join(",", learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend { QGoalIds = extModel.StuPurpose }).Select(x => x.Name)) ?? ""):"";
extModel.StuPurposeName = !string.IsNullOrWhiteSpace(extModel.StuPurpose) ? (string.Join(",", learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend { QGoalIds = extModel.StuPurpose }).Select(x => x.Name)) ?? "") : "";
extModel.StuChannelName = channelRepository.GetChannelExtEntityRepository(extModel.StuChannel)?.Name ?? "";
extModel.StuNeedsName = needsRepository.GetNeedsExtEntityRepository(extModel.StuNeeds)?.Name ?? "";
//if (extModel.CustomerId > 0)
......@@ -2306,7 +2311,7 @@ namespace Edu.Module.User
}
//学习目的
string goalIds = string.Join(",", list?.Where(qitem=> !string.IsNullOrWhiteSpace(qitem.StuPurpose))?.Select(qitem => qitem.StuPurpose));
string goalIds = string.Join(",", list?.Where(qitem => !string.IsNullOrWhiteSpace(qitem.StuPurpose))?.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds = goalIds
......@@ -2363,7 +2368,7 @@ namespace Edu.Module.User
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName =!string.IsNullOrWhiteSpace(item.StuPurpose)?( string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString())).Select(x => x.Name)) ?? ""):"";
item.StuPurposeName = !string.IsNullOrWhiteSpace(item.StuPurpose) ? (string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString())).Select(x => x.Name)) ?? "") : "";
item.StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == item.StuNeeds)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList() ?? new List<RB_Student_Advisor_Extend>();
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
......@@ -2492,7 +2497,7 @@ namespace Edu.Module.User
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName =!string.IsNullOrWhiteSpace(item.StuPurpose)?( string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString()))?.Select(x => x.Name)) ?? ""):"";
item.StuPurposeName = !string.IsNullOrWhiteSpace(item.StuPurpose) ? (string.Join(",", goalList?.Where(qitem => item.StuPurpose.Contains(qitem.Id.ToString()))?.Select(x => x.Name)) ?? "") : "";
item.StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == item.StuNeeds)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList() ?? new List<RB_Student_Advisor_Extend>();
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
......
......@@ -167,6 +167,41 @@ WHERE 1=1 AND c.Status=0 AND NOT(CONCAT(substring(C.ClassDate,1,10),' ',C.ClassT
return result>0;
}
/// <summary>
/// 检查是否存在
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Reserve_Class_Extend> ExistsReserveClassListRepository(RB_Reserve_Class_Extend query)
{
int result = 0;
var startTime = query.ClassDateStr + " " + query.ClassTime + ":00";
var endTime = query.ClassDateStr + " " + query.EndTime + ":00";
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Reserve_Class c
WHERE 1=1 AND c.Status=0 AND (CONCAT(substring(C.ClassDate,1,10),' ',C.ClassTime,':00')= '{0}' and CONCAT(substring(C.ClassDate,1,10),' ',C.EndTime,':00')= '{1}')
", startTime, endTime );
if (query.TeacherId > 0)
{
builder.AppendFormat(" AND C.TeacherId={0} ", query.TeacherId);
}
if (query.ClassRoomId > 0)
{
builder.AppendFormat(" AND C.ClassRoomId={0} ", query.ClassRoomId);
}
if (query.TrialLessonId > 0)
{
builder.AppendFormat(" AND C.TrialLessonId={0} ", query.TrialLessonId);
}
if (query.ReserveClassId > 0)
{
builder.AppendFormat(" AND C.ReserveClassId<>{0} ", query.ReserveClassId);
}
return Get<RB_Reserve_Class_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取试听班级列表
/// </summary>
......
......@@ -82,6 +82,11 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Id), query.Id);
}
if (query.IsReserve == 0)
{
query.IsReserve = 1;
}
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.IsReserve), query.IsReserve);
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.CreateBy);
......@@ -262,7 +267,7 @@ WHERE 1=1
}
}
builder.AppendFormat(" GROUP BY A.Visitor_Id ");
return Get<RB_Visitor_Reserve_Extend>(builder.ToString(), parameters).ToList();
}
......@@ -418,7 +423,8 @@ WHERE 1=1 AND A.Status=0 {0}
/// <param name="stuId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public int GetVisitorReserveTeacherId(int stuId, int groupId) {
public int GetVisitorReserveTeacherId(int stuId, int groupId)
{
string sql = $@"SELECT c.TeacherId FROM rb_visitor_reserve r
INNER JOIN rb_reserve_class c on r.ReserveClassId = c.ReserveClassId
WHERE r.Group_Id ={groupId} and r.`Status` =0 and c.`Status` =0 and r.Visitor_Id ={stuId}
......
......@@ -1143,6 +1143,7 @@ namespace Edu.WebApi.Controllers.User
return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed();
}
/// <summary>
/// 修改客户阶段
/// </summary>
......@@ -1361,7 +1362,7 @@ namespace Edu.WebApi.Controllers.User
QQ = base.ParmJObj.GetStringValue("QQ"),
StuType = base.ParmJObj.GetInt("StuType"),
StuRealMobile = base.ParmJObj.GetStringValue("StuRealMobile"),
StudentType = base.ParmJObj.GetInt("StuType", 1),
StudentType = base.ParmJObj.GetInt("StudentType", 1),
};
extModel.CreateType = StuCreateTypeEnum.CustomerInput;
extModel.Status = DateStateEnum.Normal;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment