Commit d1a44042 authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents c254352b 0d2ff303
...@@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Customer ...@@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Customer
/// 到访次数 /// 到访次数
/// </summary> /// </summary>
public int VisitCount { get; set; } public int VisitCount { get; set; }
/// <summary>
/// 创建人【查询使用】
/// </summary>
public string QCreateByIds { get; set; }
} }
} }
...@@ -180,5 +180,10 @@ namespace Edu.Model.ViewModel.Reserve ...@@ -180,5 +180,10 @@ namespace Edu.Model.ViewModel.Reserve
/// 查询日期 /// 查询日期
/// </summary> /// </summary>
public string QDate { get; set; } public string QDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string QCreateByIds { get; set; }
} }
} }
...@@ -32,6 +32,11 @@ namespace Edu.Model.ViewModel.User ...@@ -32,6 +32,11 @@ namespace Edu.Model.ViewModel.User
/// </summary> /// </summary>
public string CourseName { get; set; } public string CourseName { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public OrderTypeEnum OrderType { get; set; }
/// <summary> /// <summary>
/// 订单类型 /// 订单类型
/// </summary> /// </summary>
...@@ -98,5 +103,10 @@ namespace Edu.Model.ViewModel.User ...@@ -98,5 +103,10 @@ namespace Edu.Model.ViewModel.User
/// 课程ID /// 课程ID
/// </summary> /// </summary>
public int CourseId { get; set; } public int CourseId { get; set; }
/// <summary>
/// 留学就业编号
/// </summary>
public int SourceId { get; set; }
} }
} }
...@@ -1509,7 +1509,7 @@ namespace Edu.Module.Course ...@@ -1509,7 +1509,7 @@ namespace Edu.Module.Course
} }
list.Add(new list.Add(new
{ {
IsEndDate = item.ClassDate <= today && item.ClassDate >= today.AddDays(-7), IsCanSign = item.ClassDate <= today && item.ClassDate >= today.AddDays(-7),
item.ClassPlanId, item.ClassPlanId,
item.ClassId, item.ClassId,
item.ClassDate, item.ClassDate,
...@@ -1519,7 +1519,8 @@ namespace Edu.Module.Course ...@@ -1519,7 +1519,8 @@ namespace Edu.Module.Course
item.TeacherId, item.TeacherId,
item.TeacherName, item.TeacherName,
item.UserIcon, item.UserIcon,
TimeList = classTimeList TimeList = classTimeList,
IsCanEdit= item.ClassDate>today,
}); });
} }
} }
......
...@@ -2700,34 +2700,45 @@ namespace Edu.Module.Course ...@@ -2700,34 +2700,45 @@ namespace Edu.Module.Course
if (flag ) if (flag )
{ {
RB_Student_ViewModel stuModel = null; RB_Student_ViewModel stuModel = null;
if (!string.IsNullOrEmpty(dmodel.Mobile)) if ((dmodel?.StudentId ?? 0) > 0)
{ {
//学员表 //学员表
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel() stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{ {
Group_Id = dmodel.Group_Id, StuId= dmodel?.StudentId??0
StuTel = dmodel.Mobile
}); });
} }
if (stuModel == null && !string.IsNullOrEmpty(dmodel.QQ)) else
{ {
//学员表 if (!string.IsNullOrEmpty(dmodel.Mobile))
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{ {
Group_Id = dmodel.Group_Id, //学员表
QQ = dmodel.QQ stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
}); {
} Group_Id = dmodel.Group_Id,
if (stuModel == null && !string.IsNullOrEmpty(dmodel.WeChatNo)) StuTel = dmodel.Mobile
{ });
//学员表 }
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel() if (stuModel == null && !string.IsNullOrEmpty(dmodel.QQ))
{ {
Group_Id = dmodel.Group_Id, //学员表
WeChatNo = dmodel.WeChatNo stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
}); {
Group_Id = dmodel.Group_Id,
QQ = dmodel.QQ
});
}
if (stuModel == null && !string.IsNullOrEmpty(dmodel.WeChatNo))
{
//学员表
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{
Group_Id = dmodel.Group_Id,
WeChatNo = dmodel.WeChatNo
});
}
} }
//不存在存在学员基本信息 //不存在存在学员基本信息
if (stuModel == null) if (stuModel == null)
{ {
...@@ -4441,5 +4452,25 @@ namespace Edu.Module.Course ...@@ -4441,5 +4452,25 @@ namespace Edu.Module.Course
#endregion #endregion
/// <summary>
/// 获取学员订单分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="StuAccountId"></param>
/// <param name="GroupId"></param>
/// <returns></returns>
public List<RB_Order_ViewModel> GetStudentOrderPageModule(int pageIndex, int pageSize, out long rowsCount, int StuAccountId,int GroupId)
{
var query = new RB_Order_ViewModel()
{
Group_Id= GroupId,
};
var list= OrderPageModule(pageIndex, pageSize, out rowsCount, query);
return list;
}
} }
} }
\ No newline at end of file
...@@ -412,7 +412,8 @@ namespace Edu.Module.Course ...@@ -412,7 +412,8 @@ namespace Edu.Module.Course
{ {
return "学生选择超出" + (glist.Count() + StuNum - orderModel.GuestNum) + "位"; return "学生选择超出" + (glist.Count() + StuNum - orderModel.GuestNum) + "位";
} }
foreach (var item in StuList) { foreach (var item in StuList)
{
if (glist.Where(x => x.Mobile == item.StuTel).Any()) { if (glist.Where(x => x.Mobile == item.StuTel).Any()) {
return "学生" + item.StuName + "已录入学生名单中,请核实后再试"; return "学生" + item.StuName + "已录入学生名单中,请核实后再试";
} }
...@@ -455,7 +456,8 @@ namespace Edu.Module.Course ...@@ -455,7 +456,8 @@ namespace Edu.Module.Course
CompleteHours = 0, CompleteHours = 0,
MakeUpHours = 0, MakeUpHours = 0,
StuIcon = item.StuIcon, StuIcon = item.StuIcon,
RenewState = 1 RenewState = 1,
StudentId=item?.StuId??0
}; };
if (orderModel.OrderType == OrderTypeEnum.CourseOrder) if (orderModel.OrderType == OrderTypeEnum.CourseOrder)
{ {
......
...@@ -13,6 +13,8 @@ using Edu.Repository.System; ...@@ -13,6 +13,8 @@ using Edu.Repository.System;
using Edu.Model.Entity.System; using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System; using Edu.Model.ViewModel.System;
using Edu.Cache.Customer; using Edu.Cache.Customer;
using Edu.Repository.StudyAbroad;
using Edu.Model.ViewModel.StudyAbroad;
namespace Edu.Module.Customer namespace Edu.Module.Customer
{ {
...@@ -88,6 +90,11 @@ namespace Edu.Module.Customer ...@@ -88,6 +90,11 @@ namespace Edu.Module.Customer
private readonly Rb_dictvalueRepository dictvalueRepository = new Rb_dictvalueRepository(); private readonly Rb_dictvalueRepository dictvalueRepository = new Rb_dictvalueRepository();
/// <summary>
/// 留学就业项目仓储层对象
/// </summary>
private readonly RB_StudyAbroadRepository studyAbroadRepository = new RB_StudyAbroadRepository();
#region 学员约访 #region 学员约访
...@@ -617,6 +624,30 @@ namespace Edu.Module.Customer ...@@ -617,6 +624,30 @@ namespace Edu.Module.Customer
public List<RB_Student_OrderGuest_ViewModel> GetStuOrderGuestPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Student_OrderGuest_ViewModel query) public List<RB_Student_OrderGuest_ViewModel> GetStuOrderGuestPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Student_OrderGuest_ViewModel query)
{ {
var list = student_OrderGuestRepository.GetStuOrderGuestPageRepository(pageIndex, pageSize, out rowsCount, query); var list = student_OrderGuestRepository.GetStuOrderGuestPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
var tempList = list?.Where(qitem => qitem.OrderType == Common.Enum.Sale.OrderTypeEnum.StudyabroadOrder && qitem.SourceId > 0)?.ToList();
List<RB_StudyAbroad_ViewModel> studyList = new List<RB_StudyAbroad_ViewModel>();
if (tempList != null)
{
string SourceIds = string.Join(",", tempList.Select(qitem => qitem.SourceId));
if (!string.IsNullOrEmpty(SourceIds))
{
studyList = studyAbroadRepository.GetStudyAbroadListRepository(new RB_StudyAbroad_ViewModel()
{
QIds = SourceIds
});
}
}
foreach (var item in list)
{
if (item.OrderType == Common.Enum.Sale.OrderTypeEnum.StudyabroadOrder && item.SourceId > 0)
{
item.CourseId = item.SourceId;
item.CourseName = studyList?.Where(qitem => qitem.Id == item.SourceId)?.FirstOrDefault()?.Name ?? "";
}
}
}
return list; return list;
} }
......
using Edu.Repository.Customer;
using Edu.Repository.Reserve;
using Edu.Repository.User;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Edu.Model.ViewModel.Customer;
using Edu.Repository.Sell;
namespace Edu.Module.Customer
{
/// <summary>
/// 市场和课程顾问处理类对象
/// </summary>
public class MarketConsultantModule
{
/// <summary>
/// 学生仓储层对象
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员跟进仓储层对象
/// </summary>
private readonly RB_Student_FollowRepository student_FollowRepository = new RB_Student_FollowRepository();
/// <summary>
/// 学员试听仓储层对象
/// </summary>
private readonly RB_Visitor_ReserveRepository visitor_ReserveRepository = new RB_Visitor_ReserveRepository();
/// <summary>
/// 学员到访仓储层对象
/// </summary>
private readonly RB_Student_VisitRepository student_VisitRepository = new RB_Student_VisitRepository();
/// <summary>
/// 订单仓储层对象
/// </summary>
private readonly RB_OrderRepository orderRepository = new RB_OrderRepository();
/// <summary>
/// 市场人员统计
/// </summary>
/// <returns></returns>
public object MarketStaticModule(string EmpIds,string StartTime,string EndTime)
{
object obj = new object();
DateTime start = Convert.ToDateTime(StartTime);
DateTime end = Convert.ToDateTime(EndTime);
var days = (end - start).Days;
//线索列表
var studentList =studentRepository.GetStudentClueRepository(EmpIds, StartTime, EndTime);
//试听列表
var trialLessonList = visitor_ReserveRepository.GetVisitorReserveStaticRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
QCreateByIds = EmpIds,
StartClassDate = StartTime,
EndClassDate = EndTime
});
//到访列表
var visitList = student_VisitRepository.GetStudentVisitStaticRepository(new RB_Student_Visit_Extend()
{
QCreateByIds = EmpIds,
StartDate = StartTime,
EndDate = EndTime
});
List<object> dayList = new List<object>();
for (var i = 0; i < days; i++)
{
DateTime newDate = start.AddDays(i);
var tempStuList = studentList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList();
var tempTrialLessonList = trialLessonList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList();
var tempVisitList= visitList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList();
dayList.Add(new
{
DayStr = Common.ConvertHelper.FormatMonthDay(newDate),
//新增线索条数
ClueCount = tempStuList?.FirstOrDefault()?.ClueCount ?? 0,
//试听人数
TrialLessonCount = tempTrialLessonList?.Sum(qitem => qitem.TrialLessonCount) ?? 0,
//到访人数
VisitCount = tempVisitList?.Sum(qitem => qitem.VisitCount) ?? 0,
});
}
obj = new
{
dayList
};
return obj;
}
/// <summary>
/// 课程顾问统计
/// </summary>
/// <returns></returns>
public object ConsultantStaticModule(string EmpIds, string StartTime, string EndTime)
{
object obj = new object();
var totalTotal = studentRepository.GetStudentClueRepository(EmpIds, StartTime, EndTime);
return obj;
}
}
}
...@@ -116,6 +116,10 @@ WHERE 1=1 ...@@ -116,6 +116,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Visit_Extend.CreateBy), query.CreateBy); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Visit_Extend.CreateBy), query.CreateBy);
} }
if (!string.IsNullOrEmpty(query.QCreateByIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_Visit_Extend.CreateBy), query.QCreateByIds);
}
if (!string.IsNullOrEmpty(query.StartDate)) if (!string.IsNullOrEmpty(query.StartDate))
{ {
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate)); builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate));
......
...@@ -283,6 +283,10 @@ WHERE 1=1 ...@@ -283,6 +283,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.CreateBy); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.CreateBy);
} }
if (!string.IsNullOrEmpty(query.QCreateByIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.QCreateByIds);
}
if (!string.IsNullOrEmpty(query.QDate)) if (!string.IsNullOrEmpty(query.QDate))
{ {
//指定日期的试听课数量 //指定日期的试听课数量
......
...@@ -783,6 +783,10 @@ WHERE 1=1 ...@@ -783,6 +783,10 @@ WHERE 1=1
builder.AppendFormat(" AND t.{0}=@WeChatNo ", nameof(RB_Student_ViewModel.WeChatNo)); builder.AppendFormat(" AND t.{0}=@WeChatNo ", nameof(RB_Student_ViewModel.WeChatNo));
parameters.Add("WeChatNo", query.WeChatNo.Trim()); parameters.Add("WeChatNo", query.WeChatNo.Trim());
} }
if (query.StuId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuId), query.StuId);
}
} }
return Get<RB_Student_ViewModel>(builder.ToString(), parameters)?.FirstOrDefault(); return Get<RB_Student_ViewModel>(builder.ToString(), parameters)?.FirstOrDefault();
} }
...@@ -816,5 +820,43 @@ WHERE 1=1 ...@@ -816,5 +820,43 @@ WHERE 1=1
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList(); var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list; return list;
} }
/// <summary>
/// 市场部、课程顾问部、线索统计
/// </summary>
/// <param name="createByIds">线索创建人</param>
/// <param name="startDate">开始时间</param>
/// <param name="endDate">结束时间</param>
/// <param name="StuStage">客户阶段</param>
/// <returns></returns>
public List<RB_Student_ViewModel> GetStudentClueRepository(string createByIds, string startDate, string endDate,int StuStage=0)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT DATE_FORMAT(CreateTime,'%Y-%m-%d') AS CreateTime,Count(1) AS ClueCount
FROM RB_Student
WHERE Status=0
");
if (!string.IsNullOrEmpty(createByIds))
{
builder.AppendFormat(" AND CreateBy IN({0}) ", createByIds);
}
if (!string.IsNullOrEmpty(startDate))
{
builder.AppendFormat(" AND CreateTime>='{0}' ", startDate);
}
if (!string.IsNullOrEmpty(endDate))
{
builder.AppendFormat(" AND CreateTime<='{0} 23:59:59' ", endDate);
}
if (StuStage > 0)
{
builder.AppendFormat(" AND StuStage={0} ", StuStage);
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(CreateTime,'%Y-%m-%d') ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(CreateTime,'%Y/%m/%d') ");
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list;
}
} }
} }
\ No newline at end of file
...@@ -74,12 +74,12 @@ WHERE 1=1 AND C.OrderState<>3 ...@@ -74,12 +74,12 @@ WHERE 1=1 AND C.OrderState<>3
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState
,C.OrderState,IFNULL(D.TotalHours,0) AS TotalHours,IFNULL(D.CompleteHours,0) AS CompleteHours,IFNULL(B.ClassStatus,0) AS ClassStatus,IFNULL(D.RenewState,0) AS RenewState ,C.OrderState,IFNULL(D.TotalHours,0) AS TotalHours,IFNULL(D.CompleteHours,0) AS CompleteHours,IFNULL(B.ClassStatus,0) AS ClassStatus,IFNULL(D.RenewState,0) AS RenewState
,IFNULL(D.GuestName,'') AS GuestName,IFNULL(E.CourseName,'') AS CourseName ,IFNULL(D.GuestName,'') AS GuestName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(C.OrderType,0) AS OrderType,IFNULL(C.SourceId,0) AS SourceId
FROM RB_Student_OrderGuest AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId FROM RB_Student_OrderGuest AS A INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id
INNER JOIN rb_course AS E ON c.CourseId=E.CourseId LEFT JOIN rb_course AS E ON c.CourseId=E.CourseId
WHERE 1=1 LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1 AND C.OrderState<>3
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null) if (query != null)
...@@ -104,7 +104,10 @@ WHERE 1=1 ...@@ -104,7 +104,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_OrderGuest_ViewModel.Student_Id), query.QStudentIds); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_OrderGuest_ViewModel.Student_Id), query.QStudentIds);
} }
if (query.OrderType > 0)
{
builder.AppendFormat(" AND C.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.OrderType), (int)query.OrderType);
}
if (query.Account_Id > 0) if (query.Account_Id > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Account_Id), query.Account_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Account_Id), query.Account_Id);
......
...@@ -7,12 +7,14 @@ using Edu.Common.API; ...@@ -7,12 +7,14 @@ using Edu.Common.API;
using Edu.Common.Enum; using Edu.Common.Enum;
using Edu.Common.Enum.Exam; using Edu.Common.Enum.Exam;
using Edu.Common.Enum.Question; using Edu.Common.Enum.Question;
using Edu.Common.Enum.Sale;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.Exam; using Edu.Model.ViewModel.Exam;
using Edu.Model.ViewModel.Grade; using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.LearningGarden; using Edu.Model.ViewModel.LearningGarden;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Module.Course; using Edu.Module.Course;
using Edu.Module.Customer;
using Edu.Module.EduTask; using Edu.Module.EduTask;
using Edu.Module.Exam; using Edu.Module.Exam;
using Edu.Module.Public; using Edu.Module.Public;
...@@ -65,6 +67,11 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -65,6 +67,11 @@ namespace Edu.WebApi.Controllers.Applet
/// </summary> /// </summary>
private readonly CourseExamModule courseExamModule = new CourseExamModule(); private readonly CourseExamModule courseExamModule = new CourseExamModule();
/// <summary>
/// 订单仓处理类对象
/// </summary>
private readonly CustomerStudentModule customerStudentModule = new CustomerStudentModule();
#region 小程序首页 #region 小程序首页
/// <summary> /// <summary>
...@@ -1269,5 +1276,43 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -1269,5 +1276,43 @@ namespace Edu.WebApi.Controllers.Applet
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
#endregion #endregion
#region 我的订单
/// <summary>
/// 学员订单分页列表
/// </summary>
/// <returns></returns>
public ApiResult GetOrderPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Student_OrderGuest_ViewModel()
{
Account_Id = base.AppletUserInfo.Id,
OrderType=(OrderTypeEnum)base.ParmJObj.GetInt("OrderType")
};
var data = customerStudentModule.GetStuOrderGuestPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> list = new List<object>();
foreach (var item in data)
{
list.Add(new
{
item.OrderId,
item.Student_Id,
item.ClassName,
item.ClassNo,
item.TotalHours,
item.CompleteHours,
item.GuestName,
item.CourseName,
item.OrderState,
OrderStateName=item.OrderState.ToName(),
});
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
#endregion
} }
} }
...@@ -15,6 +15,7 @@ using Edu.Model.CacheModel; ...@@ -15,6 +15,7 @@ using Edu.Model.CacheModel;
using Edu.Model.Public; using Edu.Model.Public;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Module.Course; using Edu.Module.Course;
using Edu.Module.Customer;
using Edu.Module.User; using Edu.Module.User;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
...@@ -68,6 +69,11 @@ namespace Edu.WebApi.Controllers.User ...@@ -68,6 +69,11 @@ namespace Edu.WebApi.Controllers.User
/// </summary> /// </summary>
private readonly EmployeeBonusModule employeeBonusModule = new EmployeeBonusModule(); private readonly EmployeeBonusModule employeeBonusModule = new EmployeeBonusModule();
/// <summary>
/// 市场和课程顾问数据统计处理类对象
/// </summary>
private readonly MarketConsultantModule marketConsultantModule = new MarketConsultantModule();
#region 字典管理 #region 字典管理
/// <summary> /// <summary>
...@@ -2514,5 +2520,36 @@ namespace Edu.WebApi.Controllers.User ...@@ -2514,5 +2520,36 @@ namespace Edu.WebApi.Controllers.User
} }
#endregion #endregion
#region 市场部数据统计
/// <summary>
/// 市场部数据统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult MarketStatic()
{
string employeeIds = "";
string startTime = "2022-01-01";
string endTime = "2022-01-30";
var obj = marketConsultantModule.MarketStaticModule(employeeIds, startTime, endTime);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 课程顾问部数据统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult ConsultantStatic()
{
string employeeIds = "";
string startTime = "";
string endTime = "";
var obj = marketConsultantModule.ConsultantStaticModule(employeeIds, startTime, endTime);
return ApiResult.Success(data: obj);
}
#endregion
} }
} }
\ No newline at end of file
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