Commit bc4ef199 authored by liudong1993's avatar liudong1993

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

parents fda70e18 48a40055
...@@ -133,5 +133,10 @@ namespace Edu.Model.Entity.Bonus ...@@ -133,5 +133,10 @@ namespace Edu.Model.Entity.Bonus
/// 线索条数 /// 线索条数
/// </summary> /// </summary>
public int ClueNum { get; set; } public int ClueNum { get; set; }
/// <summary>
/// 是否发放人头奖励[1-已发放,0-待发放]
/// </summary>
public int IsIssue { get; set; }
} }
} }
...@@ -293,7 +293,7 @@ namespace Edu.Model.Entity.Course ...@@ -293,7 +293,7 @@ namespace Edu.Model.Entity.Course
public decimal? InnerRecommendReNewRatioValue { get; set; } public decimal? InnerRecommendReNewRatioValue { get; set; }
/// <summary> /// <summary>
/// 返佣类型 1按课耗反 2付款返佣 /// 返佣类型(1比例返佣,2-固定金额返佣)
/// </summary> /// </summary>
public int CommissionReType { get; set; } public int CommissionReType { get; set; }
......
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 试听课课程实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_TrialLesson
{
/// <summary>
/// 试听课主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 试听课程名称
/// </summary>
public string LessonName { get; set; }
/// <summary>
/// 试听课主讲老师
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 课时费
/// </summary>
public decimal ClassHourFee { get; set; }
/// <summary>
/// 核算方式(1-单次,2-按月)
/// </summary>
public int CalculateType { 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>
/// 学校Id
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 状态
/// </summary>
public DateStateEnum Status { get; set; }
}
}
...@@ -80,5 +80,10 @@ namespace Edu.Model.Entity.Reserve ...@@ -80,5 +80,10 @@ namespace Edu.Model.Entity.Reserve
/// 结束时间 /// 结束时间
/// </summary> /// </summary>
public string EndTime { get; set; } public string EndTime { get; set; }
/// <summary>
/// 试听课程编号
/// </summary>
public int TrialLessonId { get; set; }
} }
} }
using Edu.Model.Entity.Course;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 试听课课程扩展实体类
/// </summary>
public class RB_TrialLesson_Extend: RB_TrialLesson
{
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 教师名称
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
}
}
...@@ -59,5 +59,20 @@ namespace Edu.Model.ViewModel.Reserve ...@@ -59,5 +59,20 @@ namespace Edu.Model.ViewModel.Reserve
/// 创建时间字符串 /// 创建时间字符串
/// </summary> /// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } } public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
/// <summary>
/// 试听课程名称
/// </summary>
public string LessonName { get; set; }
/// <summary>
/// 订单数量
/// </summary>
public int OrderCount { get; set; }
/// <summary>
/// 转化率
/// </summary>
public decimal ConversionRates { get; set; }
} }
} }
...@@ -156,6 +156,16 @@ namespace Edu.Model.ViewModel.Reserve ...@@ -156,6 +156,16 @@ namespace Edu.Model.ViewModel.Reserve
/// </summary> /// </summary>
public int TrialLessonCount { get; set; } public int TrialLessonCount { get; set; }
/// <summary>
/// 试听课程编号
/// </summary>
public int TrialLessonId { get; set; }
/// <summary>
/// 试听课课程名称
/// </summary>
public string LessonName { get; set; }
/// <summary> /// <summary>
/// 查询日期 /// 查询日期
/// </summary> /// </summary>
......
...@@ -284,5 +284,10 @@ namespace Edu.Model.ViewModel.Sell ...@@ -284,5 +284,10 @@ namespace Edu.Model.ViewModel.Sell
/// 微信号 /// 微信号
/// </summary> /// </summary>
public string WeChatNo { get; set; } public string WeChatNo { get; set; }
/// <summary>
/// 用户头像
/// </summary>
public string UserIcon { get; set; }
} }
} }
\ No newline at end of file
...@@ -1820,7 +1820,7 @@ namespace Edu.Module.Course ...@@ -1820,7 +1820,7 @@ namespace Edu.Module.Course
} }
list.Add(new list.Add(new
{ {
UserIcon = item.StuIcon, UserIcon = item.UserIcon,
item.Id, item.Id,
SexStr = item.Sex == 1 ? "男" : "女", SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName, item.GuestName,
...@@ -3745,7 +3745,7 @@ namespace Edu.Module.Course ...@@ -3745,7 +3745,7 @@ namespace Edu.Module.Course
ClassType = 2, ClassType = 2,
ClassId = subItem.ReserveClassId, ClassId = subItem.ReserveClassId,
ClassName = "试听课", ClassName = "试听课",
CourseName = subItem.ClassContent, CourseName = subItem.LessonName,
subItem.RoomName, subItem.RoomName,
subItem.TeacherName, subItem.TeacherName,
Ranks = 0, Ranks = 0,
...@@ -3823,7 +3823,7 @@ namespace Edu.Module.Course ...@@ -3823,7 +3823,7 @@ namespace Edu.Module.Course
{ {
ClassId = item.ReserveClassId, ClassId = item.ReserveClassId,
ClassName = "试听课", ClassName = "试听课",
CourseName = item.ClassContent, CourseName = item.LessonName,
item.RoomName, item.RoomName,
item.TeacherName, item.TeacherName,
ClassDate=Common.ConvertHelper.FormatDate(item.ClassDate), ClassDate=Common.ConvertHelper.FormatDate(item.ClassDate),
...@@ -4025,7 +4025,7 @@ namespace Edu.Module.Course ...@@ -4025,7 +4025,7 @@ namespace Edu.Module.Course
ClassType = 2, ClassType = 2,
ClassId = subItem.ReserveClassId, ClassId = subItem.ReserveClassId,
ClassName = "试听课", ClassName = "试听课",
CourseName = subItem.ClassContent, CourseName = subItem.LessonName,
subItem.RoomName, subItem.RoomName,
subItem.TeacherName, subItem.TeacherName,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
......
...@@ -226,6 +226,18 @@ namespace Edu.Module.Course ...@@ -226,6 +226,18 @@ namespace Edu.Module.Course
return flag; return flag;
} }
/// <summary>
/// 修改人头奖励发放状态
/// </summary>
/// <param name="Year"></param>
/// <param name="Month"></param>
/// <param name="EmployeeId"></param>
/// <returns></returns>
public bool SetEmployeeBounsIsIssueModule(string Ids)
{
return personnel_BonusRepository.SetEmployeeBounsIsIssueRepository(Ids);
}
/// <summary> /// <summary>
/// 订单退款变更 /// 订单退款变更
/// </summary> /// </summary>
...@@ -381,8 +393,9 @@ namespace Edu.Module.Course ...@@ -381,8 +393,9 @@ namespace Edu.Module.Course
UpdateTime = DateTime.Now, UpdateTime = DateTime.Now,
DeductionMoney = DeductionMoney, DeductionMoney = DeductionMoney,
OpenBonus = curNum > 0 ? item.OpenBonus : 0, OpenBonus = curNum > 0 ? item.OpenBonus : 0,
ClueNum= stuModel?.ClueCount??0, ClueNum = stuModel?.ClueCount ?? 0,
ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0 ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0,
IsIssue = 0
}; };
pModel.IsReach = pModel.CurOrderMoney > item.MonthGoalMoney ? 1 : 0; pModel.IsReach = pModel.CurOrderMoney > item.MonthGoalMoney ? 1 : 0;
...@@ -712,7 +725,6 @@ namespace Edu.Module.Course ...@@ -712,7 +725,6 @@ namespace Edu.Module.Course
private EmpStaticItem GetYearDataModule(UserInfo user, int Year) private EmpStaticItem GetYearDataModule(UserInfo user, int Year)
{ {
int CurrentYear = DateTime.Now.Year; int CurrentYear = DateTime.Now.Year;
int CurrentMonth = DateTime.Now.Month;
EmpStaticItem yearData = new EmpStaticItem(); EmpStaticItem yearData = new EmpStaticItem();
var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend() var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{ {
...@@ -732,15 +744,15 @@ namespace Edu.Module.Course ...@@ -732,15 +744,15 @@ namespace Edu.Module.Course
} }
if (Year == CurrentYear) if (Year == CurrentYear)
{ {
var monData = GetCurrentMonthData(user); //var monData = GetCurrentMonthData(user);
yearData.TotalBonusMoney += monData?.TotalBonusMoney ?? 0; //yearData.TotalBonusMoney += monData?.TotalBonusMoney ?? 0;
yearData.ClueNumSalary += monData?.ClueNumSalary ?? 0; //yearData.ClueNumSalary += monData?.ClueNumSalary ?? 0;
yearData.OpenBonus += monData?.OpenBonus ?? 0; //yearData.OpenBonus += monData?.OpenBonus ?? 0;
yearData.CurRewardMoney += monData?.CurRewardMoney ?? 0; //yearData.CurRewardMoney += monData?.CurRewardMoney ?? 0;
yearData.GuestNum += monData?.GuestNum ?? 0; //yearData.GuestNum += monData?.GuestNum ?? 0;
yearData.OrderCount += monData?.OrderCount ?? 0; //yearData.OrderCount += monData?.OrderCount ?? 0;
yearData.ReachCount += monData?.ReachCount ?? 0; //yearData.ReachCount += monData?.ReachCount ?? 0;
yearData.ClueCount += monData?.ClueCount ?? 0; //yearData.ClueCount += monData?.ClueCount ?? 0;
} }
return yearData; return yearData;
} }
......
using Edu.Common.Enum;
using Edu.Model.ViewModel.Course;
using Edu.Repository.Course;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Module.Course
{
/// <summary>
/// 试听课程处理类对象
/// </summary>
public class TrialLessonModule
{
/// <summary>
/// 试听课程仓储层对象
/// </summary>
private readonly RB_TrialLessonRepository trialLessonRepository = new RB_TrialLessonRepository();
/// <summary>
/// 获取试听课程分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCuont"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_TrialLesson_Extend> GetTrialLessonPageModule(int pageIndex, int pageSize, out long rowsCuont, RB_TrialLesson_Extend query)
{
var list = trialLessonRepository.GetTrialLessonPageRepository(pageIndex, pageSize, out rowsCuont, query);
return list;
}
/// <summary>
/// 获取试听课程列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_TrialLesson_Extend> GetTrialLessonListModule(RB_TrialLesson_Extend query)
{
var list = trialLessonRepository.GetTrialLessonListRepository(query);
return list;
}
/// <summary>
/// 新增修改试听课程
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetTrialLessonModule(RB_TrialLesson_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_TrialLesson_Extend.LessonName),model.LessonName },
{nameof(RB_TrialLesson_Extend.TeacherId),model.TeacherId },
{nameof(RB_TrialLesson_Extend.ClassHourFee),model.ClassHourFee },
{nameof(RB_TrialLesson_Extend.CalculateType),model.CalculateType },
};
flag = trialLessonRepository.Update(fileds, new WhereHelper(nameof(RB_TrialLesson_Extend.Id), model.Id));
}
else
{
var newId = trialLessonRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 根据编号获取试听课程信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_TrialLesson_Extend GetTrialLessonModule(object Id)
{
var extModel = trialLessonRepository.GetEntity<RB_TrialLesson_Extend>(Id);
return extModel;
}
/// <summary>
/// 根据编号删除试听课程
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveTrialLessonModule(object Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_TrialLesson_Extend.Status), (int)DateStateEnum.Delete},
};
bool flag = trialLessonRepository.Update(fileds, new WhereHelper(nameof(RB_TrialLesson_Extend.Id), Id));
return flag;
}
}
}
...@@ -18,6 +18,8 @@ using Edu.Repository.Grade; ...@@ -18,6 +18,8 @@ using Edu.Repository.Grade;
using Edu.Repository.Customer; using Edu.Repository.Customer;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.Customer;
using Edu.Model.Entity.Customer;
namespace Edu.Module.Duty namespace Edu.Module.Duty
{ {
...@@ -45,6 +47,26 @@ namespace Edu.Module.Duty ...@@ -45,6 +47,26 @@ namespace Edu.Module.Duty
/// 账号管理仓储层对象 /// 账号管理仓储层对象
/// </summary> /// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository(); private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
/// <summary>
/// 学员仓储层对象
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员协助人员
/// </summary>
private readonly RB_Student_AssistRepository student_AssistRepository = new RB_Student_AssistRepository();
/// <summary>
/// 学员日志仓储层对象
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary>
/// 学员订单仓储层对象
/// </summary>
private readonly RB_Student_OrderGuestRepository student_OrderGuestRepository = new RB_Student_OrderGuestRepository();
/// <summary> /// <summary>
/// 获取访客约课分页列表 /// 获取访客约课分页列表
...@@ -95,6 +117,7 @@ namespace Edu.Module.Duty ...@@ -95,6 +117,7 @@ namespace Edu.Module.Duty
UpdateBy = model.UpdateBy, UpdateBy = model.UpdateBy,
UpdateTime = model.UpdateTime, UpdateTime = model.UpdateTime,
EndTime=model.EndTime, EndTime=model.EndTime,
TrialLessonId=model.TrialLessonId
}; };
if (model.ReserveClassId <= 0) if (model.ReserveClassId <= 0)
{ {
...@@ -127,35 +150,51 @@ namespace Edu.Module.Duty ...@@ -127,35 +150,51 @@ namespace Edu.Module.Duty
var newId = visitor_ReserveRepository.Insert(model); var newId = visitor_ReserveRepository.Insert(model);
model.Id = newId; model.Id = newId;
flag = newId > 0; flag = newId > 0;
if (flag) { if (flag)
{
//获取学生信息 //获取学生信息
//var smodel = studentRepository.GetEntity(model.Visitor_Id); var smodel = studentRepository.GetEntity(model.Visitor_Id);
//if (smodel != null && smodel.StuStage <= Common.Enum.User.StuStageEnum.PreliminaryCommunication) if (smodel != null && smodel.StuId > 0)
//{ {
// Dictionary<string, object> keyValues = new Dictionary<string, object>() { var assistTeacher = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
// { nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.Audition} {
// }; StuId = smodel.StuId
// List<WhereHelper> wheres = new List<WhereHelper>() { })?.FirstOrDefault(qitem => qitem.AssistType == Common.Enum.User.AssistTypeEnum.Teacher);
// new WhereHelper(){ string logTitle = "新增协同人员";
// FiledName = nameof (RB_Student_ViewModel.StuId), string logContent = "";
// FiledValue = model.Visitor_Id, var empModel = accountRepository.GetEmployeeListRepository(new Employee_ViewModel()
// OperatorEnum =OperatorEnum.Equal {
// } AccountType = Common.Enum.User.AccountTypeEnum.Teacher,
// }; AccountId = model.TeacherId
// studentRepository.Update(keyValues, wheres); })?.FirstOrDefault();
// student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log() if (assistTeacher == null)
// { {
// LogId = 0, logTitle = "新增协同人员";
// CreateBy = model.CreateBy, student_AssistRepository.Insert(new RB_Student_Assist()
// CreateTime = DateTime.Now, {
// CreateType = 1, CreateBy = model.UpdateBy,
// Group_Id = model.Group_Id, CreateTime = DateTime.Now,
// LogContent = "首次试听,客户阶段由'" + (smodel.StuStage.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.Audition.ToName()) + "'", Id = 0,
// LogTitle = "客户阶段变更", Status = DateStateEnum.Normal,
// LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo, StuId = smodel.StuId,
// StuId = model.Visitor_Id AssistId = empModel?.Id ?? 0,
// }); AssistType = Common.Enum.User.AssistTypeEnum.Teacher,
//} });
logContent += string.Format("新增协同人员:" + empModel?.EmployeeName);
}
else
{
logTitle = "修改协同人员";
string oldName = accountRepository.GetEmployeeInfo(assistTeacher.AssistId)?.EmployeeName ?? "";
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Student_Assist.AssistId),(empModel?.Id??0) }
};
student_AssistRepository.Update(fileds, new WhereHelper(nameof(RB_Student_Assist.Id), assistTeacher.Id));
logContent += string.Format("修改协同人员:由【{0}】=>【{1}】", oldName, empModel?.EmployeeName);
}
student_LogRepository.AddStuLogRepository(smodel.StuId, Common.Enum.Log.StudentLogTypeEnum.BasicInfo, logTitle, logContent, model.UpdateBy);
}
} }
} }
return flag; return flag;
...@@ -225,10 +264,38 @@ namespace Edu.Module.Duty ...@@ -225,10 +264,38 @@ namespace Edu.Module.Duty
{ {
Q_ReserveClassIds = ids Q_ReserveClassIds = ids
}); });
List<RB_Student_OrderGuest_ViewModel> stuOrderList = new List<RB_Student_OrderGuest_ViewModel>();
if (visitorList != null && visitorList.Count > 0)
{
string visitorIds = string.Join(",", visitorList.Select(qitem => qitem.Visitor_Id));
if (!string.IsNullOrEmpty(visitorIds))
{
stuOrderList= student_OrderGuestRepository.GetStrOrderGuestListRepository(new RB_Student_OrderGuest_ViewModel()
{
QStudentIds = visitorIds
});
}
}
foreach (var item in list) foreach (var item in list)
{ {
item.JoinNum = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId)?.Count()??0; var tempList = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId);
item.VisitorList = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId)?.ToList() ?? new List<RB_Visitor_Reserve_Extend>(); item.JoinNum = tempList?.Count()??0;
item.VisitorList = tempList?.ToList() ?? new List<RB_Visitor_Reserve_Extend>();
int OrderCount = 0;
foreach (var subItem in tempList)
{
OrderCount += stuOrderList.Where(qitem => qitem.Student_Id == subItem.Visitor_Id)?.Count() ?? 0;
}
item.OrderCount = OrderCount;
if (item.OrderCount > 0)
{
item.ConversionRates = decimal.Round(item.JoinNum / item.OrderCount, 2);
}
else
{
item.ConversionRates = 0;
}
} }
} }
return list; return list;
...@@ -286,6 +353,7 @@ namespace Edu.Module.Duty ...@@ -286,6 +353,7 @@ namespace Edu.Module.Duty
{nameof(RB_Reserve_Class_Extend.ClassContent),model.ClassContent }, {nameof(RB_Reserve_Class_Extend.ClassContent),model.ClassContent },
{nameof(RB_Reserve_Class_Extend.UpdateBy),model.UpdateBy }, {nameof(RB_Reserve_Class_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Reserve_Class_Extend.UpdateTime),model.UpdateTime }, {nameof(RB_Reserve_Class_Extend.UpdateTime),model.UpdateTime },
{nameof(RB_Reserve_Class_Extend.TrialLessonId),model.TrialLessonId },
}; };
flag = reserve_ClassRepository.Update(fileds, new WhereHelper(nameof(RB_Reserve_Class_Extend.ReserveClassId), model.ReserveClassId)); flag = reserve_ClassRepository.Update(fileds, new WhereHelper(nameof(RB_Reserve_Class_Extend.ReserveClassId), model.ReserveClassId));
if (flag && model.TeacherId != oldModel.TeacherId) if (flag && model.TeacherId != oldModel.TeacherId)
......
...@@ -127,5 +127,16 @@ WHERE 1=1 ...@@ -127,5 +127,16 @@ WHERE 1=1
return list; return list;
} }
/// <summary>
/// 设置员工人头奖励未已发放
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetEmployeeBounsIsIssueRepository(string Ids)
{
string sql = string.Format(@" UPDATE RB_Personnel_Bonus SET IsIssue=1 WHERE Id IN({0})", Ids);
return base.Execute(sql) > 0;
}
} }
} }
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Course
{
/// <summary>
/// 试听课程仓储层
/// </summary>
public class RB_TrialLessonRepository : BaseRepository<RB_TrialLesson>
{
/// <summary>
/// 获取试听课程分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCuont"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_TrialLesson_Extend> GetTrialLessonPageRepository(int pageIndex, int pageSize, out long rowsCuont, RB_TrialLesson_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.* ,IFNULL(D.TeacherName,'') AS TeacherName
FROM RB_TrialLesson AS A LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_TrialLesson_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_TrialLesson_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrWhiteSpace(query.LessonName))
{
builder.AppendFormat(" AND A.{0} LIKE @LessonName ", nameof(RB_TrialLesson_Extend.LessonName));
parameters.Add("LessonName", "%" + query.LessonName.Trim() + "%");
}
}
return GetPage<RB_TrialLesson_Extend>(pageIndex, pageSize, out rowsCuont, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取试听课程列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_TrialLesson_Extend> GetTrialLessonListRepository(RB_TrialLesson_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_TrialLesson AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_TrialLesson_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_TrialLesson_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrWhiteSpace(query.LessonName))
{
builder.AppendFormat(" AND A.{0} LIKE @LessonName ", nameof(RB_TrialLesson_Extend.LessonName));
parameters.Add("LessonName", "%" + query.LessonName.Trim() + "%");
}
}
return Get<RB_TrialLesson_Extend>(builder.ToString(), parameters).ToList();
}
}
}
...@@ -28,9 +28,11 @@ namespace Edu.Repository.Reserve ...@@ -28,9 +28,11 @@ namespace Edu.Repository.Reserve
var parameters = new DynamicParameters(); var parameters = new DynamicParameters();
builder.Append(@" builder.Append(@"
SELECT A.*,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName,IFNULL(E.SeatNum,0) AS RoomNum SELECT A.*,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName,IFNULL(E.SeatNum,0) AS RoomNum
,IFNULL(F.LessonName,'') AS LessonName
FROM RB_Reserve_Class AS A LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId FROM RB_Reserve_Class AS A LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId
LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId
WHERE 1=1 LEFT JOIN rb_triallesson AS F ON A.TrialLessonId=F.Id
WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.Status), (int)DateStateEnum.Normal);
if (query != null) if (query != null)
...@@ -55,6 +57,11 @@ WHERE 1=1 ...@@ -55,6 +57,11 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.ClassRoomId), query.ClassRoomId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.ClassRoomId), query.ClassRoomId);
} }
if (!string.IsNullOrEmpty(query.LessonName))
{
builder.AppendFormat(" AND F.{0} LIKE @LessonName ", nameof(RB_Reserve_Class_Extend.LessonName));
parameters.Add("LessonName", "%" + query.LessonName.Trim() + "%");
}
} }
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Reserve_Class_Extend.ClassDate)); builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Reserve_Class_Extend.ClassDate));
return GetPage<RB_Reserve_Class_Extend>(pageIndex,pageSize,out rowsCount, builder.ToString(),parameters).ToList(); return GetPage<RB_Reserve_Class_Extend>(pageIndex,pageSize,out rowsCount, builder.ToString(),parameters).ToList();
...@@ -71,9 +78,11 @@ WHERE 1=1 ...@@ -71,9 +78,11 @@ WHERE 1=1
var parameters = new DynamicParameters(); var parameters = new DynamicParameters();
builder.Append(@" builder.Append(@"
SELECT A.*,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName,IFNULL(E.SeatNum,0) AS RoomNum SELECT A.*,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName,IFNULL(E.SeatNum,0) AS RoomNum
,IFNULL(G.LessonName,'') AS LessonName
FROM RB_Reserve_Class AS A LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId FROM RB_Reserve_Class AS A LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId
LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId
WHERE 1=1 LEFT JOIN rb_triallesson AS G ON A.TrialLessonId=G.Id
WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.Status), (int)DateStateEnum.Normal);
if (query != null) if (query != null)
......
...@@ -30,12 +30,13 @@ namespace Edu.Repository.Reserve ...@@ -30,12 +30,13 @@ namespace Edu.Repository.Reserve
var parameters = new DynamicParameters(); var parameters = new DynamicParameters();
builder.Append(@" builder.Append(@"
SELECT A.*,IFNULL(B.`Name`,'') AS VisitorName,C.ClassDate,C.ClassTime,C.EndTime,C.ClassContent,IFNULL(D.TeacherName,'') AS TeacherName SELECT A.*,IFNULL(B.`Name`,'') AS VisitorName,C.ClassDate,C.ClassTime,C.EndTime,C.ClassContent,IFNULL(D.TeacherName,'') AS TeacherName
,IFNULL(E.RoomName,'') AS RoomName,F.Id AS AccountId ,IFNULL(E.RoomName,'') AS RoomName,F.Id AS AccountId,IFNULL(G.LessonName,'') AS LessonName
FROM RB_Visitor_Reserve AS A LEFT JOIN rb_visitor AS B ON A.Visitor_Id=B.Id FROM RB_Visitor_Reserve AS A LEFT JOIN rb_visitor AS B ON A.Visitor_Id=B.Id
LEFT JOIN rb_reserve_class AS C ON A.ReserveClassId=C.ReserveClassId LEFT JOIN rb_reserve_class AS C ON A.ReserveClassId=C.ReserveClassId
LEFT JOIN rb_teacher AS D ON C.TeacherId=D.TId LEFT JOIN rb_teacher AS D ON C.TeacherId=D.TId
LEFT JOIN rb_account AS F On C.TeacherId=F.AccountId AND F.AccountType=2 LEFT JOIN rb_account AS F On C.TeacherId=F.AccountId AND F.AccountType=2
LEFT JOIN rb_class_room AS E ON C.ClassRoomId=E.RoomId LEFT JOIN rb_class_room AS E ON C.ClassRoomId=E.RoomId
LEFT JOIN rb_triallesson AS G ON C.TrialLessonId=G.Id
WHERE 1=1 WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal);
...@@ -99,11 +100,12 @@ WHERE 1=1 ...@@ -99,11 +100,12 @@ WHERE 1=1
var parameters = new DynamicParameters(); var parameters = new DynamicParameters();
builder.Append(@" builder.Append(@"
SELECT A.*,IFNULL(B.StuName,'') AS VisitorName,C.ClassDate,C.ClassTime,C.EndTime,C.ClassContent,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName SELECT A.*,IFNULL(B.StuName,'') AS VisitorName,C.ClassDate,C.ClassTime,C.EndTime,C.ClassContent,IFNULL(D.TeacherName,'') AS TeacherName,IFNULL(E.RoomName,'') AS RoomName
,IFNULL(B.StuTel,'') AS StuTel ,IFNULL(B.StuTel,'') AS StuTel,IFNULL(F.LessonName,'') AS LessonName
FROM RB_Visitor_Reserve AS A LEFT JOIN rb_student AS B ON A.Visitor_Id=B.StuId FROM RB_Visitor_Reserve AS A LEFT JOIN rb_student AS B ON A.Visitor_Id=B.StuId
LEFT JOIN rb_reserve_class AS C ON A.ReserveClassId=C.ReserveClassId LEFT JOIN rb_reserve_class AS C ON A.ReserveClassId=C.ReserveClassId
LEFT JOIN rb_teacher AS D ON C.TeacherId=D.TId LEFT JOIN rb_teacher AS D ON C.TeacherId=D.TId
LEFT JOIN rb_class_room AS E ON C.ClassRoomId=E.RoomId LEFT JOIN rb_class_room AS E ON C.ClassRoomId=E.RoomId
LEFT JOIN rb_triallesson AS F ON C.TrialLessonId=F.Id
WHERE 1=1 WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal);
......
...@@ -134,9 +134,11 @@ namespace Edu.Repository.Sell ...@@ -134,9 +134,11 @@ namespace Edu.Repository.Sell
SELECT sog.Student_Id as StudentId,A.*,cs.ClassName,cs.Teacher_Id,cs.ClassNo,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours SELECT sog.Student_Id as StudentId,A.*,cs.ClassName,cs.Teacher_Id,cs.ClassNo,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours
,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID ,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID
,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours ,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours
,IFNULL(stu.StuIcon,'') AS UserIcon
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_class AS cs ON B.ClassId=cs.ClassId LEFT JOIN rb_class AS cs ON B.ClassId=cs.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_student AS stu ON sog.Student_Id=stu.StuId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1) LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id
LEFT JOIN rb_education_contract AS D ON A.OrderId=D.OrderId AND A.Id=D.GuestId AND D.IsSystemUse=1 LEFT JOIN rb_education_contract AS D ON A.OrderId=D.OrderId AND A.Id=D.GuestId AND D.IsSystemUse=1
......
...@@ -340,7 +340,7 @@ FROM ...@@ -340,7 +340,7 @@ FROM
/// <param name="query"></param> /// <param name="query"></param>
/// <param name="parameters"></param> /// <param name="parameters"></param>
/// <returns></returns> /// <returns></returns>
public string GetEmployeeSqlReposiroty(Employee_ViewModel query, DynamicParameters parameters) private string GetEmployeeSqlReposiroty(Employee_ViewModel query, DynamicParameters parameters)
{ {
StringBuilder where = new StringBuilder(); StringBuilder where = new StringBuilder();
StringBuilder where2 = new StringBuilder(); StringBuilder where2 = new StringBuilder();
......
...@@ -286,7 +286,7 @@ WHERE 1=1 ...@@ -286,7 +286,7 @@ WHERE 1=1
} }
else else
{ {
builder.AppendFormat(" AND t.{0} IN({}) ", nameof(RB_Student_ViewModel.CreateBy), query.CreateBy); builder.AppendFormat(" AND t.{0} IN({1}) ", nameof(RB_Student_ViewModel.CreateBy), query.CreateBy);
} }
} }
} }
...@@ -506,6 +506,7 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an ...@@ -506,6 +506,7 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
fileds.Add(nameof(RB_Student_ViewModel.StuChannel), model.StuChannel); fileds.Add(nameof(RB_Student_ViewModel.StuChannel), model.StuChannel);
fileds.Add(nameof(RB_Student_ViewModel.PlatformName), model.PlatformName); fileds.Add(nameof(RB_Student_ViewModel.PlatformName), model.PlatformName);
fileds.Add(nameof(RB_Student_ViewModel.StuNeeds), model.StuNeeds); fileds.Add(nameof(RB_Student_ViewModel.StuNeeds), model.StuNeeds);
fileds.Add(nameof(RB_Student_ViewModel.StuIcon), model.StuIcon.Trim());
} }
//App小程序操作 //App小程序操作
else else
......
...@@ -173,6 +173,19 @@ namespace Edu.WebApi.Controllers.Bonus ...@@ -173,6 +173,19 @@ namespace Edu.WebApi.Controllers.Bonus
return flag ? ApiResult.Success() : ApiResult.Failed(message: message); return flag ? ApiResult.Success() : ApiResult.Failed(message: message);
} }
/// <summary>
/// 订单金额发生改变
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetEmployeeBounsIssue()
{
//订单改变
var Ids = base.ParmJObj.GetStringValue("Ids");
bool flag = employeeBonusModule.SetEmployeeBounsIsIssueModule(Ids);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary> /// <summary>
/// 订单金额发生改变 /// 订单金额发生改变
/// </summary> /// </summary>
......
...@@ -33,6 +33,11 @@ namespace Edu.WebApi.Controllers.Course ...@@ -33,6 +33,11 @@ namespace Edu.WebApi.Controllers.Course
/// </summary> /// </summary>
private readonly CourseModule courseModule = AOP.AOPHelper.CreateAOPObject<CourseModule>(); private readonly CourseModule courseModule = AOP.AOPHelper.CreateAOPObject<CourseModule>();
/// <summary>
/// 试听课处理类对象
/// </summary>
private readonly TrialLessonModule trialLessonModule = AOP.AOPHelper.CreateAOPObject<TrialLessonModule>();
#region 科目管理 #region 科目管理
/// <summary> /// <summary>
/// 获取课程科目分页列表 /// 获取课程科目分页列表
...@@ -1425,5 +1430,104 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1425,5 +1430,104 @@ namespace Edu.WebApi.Controllers.Course
} }
#endregion #endregion
#region 试听课程关联
/// <summary>
/// 获取试听课程分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTrialLessonPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_TrialLesson_Extend()
{
LessonName = base.ParmJObj.GetStringValue("LessonName"),
};
query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id;
var list = trialLessonModule.GetTrialLessonPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.CreateBy > 0)
{
item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取试听课程列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTrialLessonList()
{
var query = new RB_TrialLesson_Extend()
{
LessonName = base.ParmJObj.GetStringValue("LessonName"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = trialLessonModule.GetTrialLessonListModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 添加修改试听课程
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetTrialLesson()
{
var extModel = new RB_TrialLesson_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
LessonName = base.ParmJObj.GetStringValue("LessonName"),
TeacherId = base.ParmJObj.GetInt("TeacherId"),
ClassHourFee=base.ParmJObj.GetDecimal("ClassHourFee"),
CalculateType=base.ParmJObj.GetInt("CalculateType"),
};
extModel.CreateTime = DateTime.Now;
extModel.CreateBy = UserInfo.Id;
extModel.UpdateBy = UserInfo.Id;
extModel.UpdateTime = DateTime.Now;
extModel.Group_Id = this.UserInfo.Group_Id;
extModel.School_Id = this.UserInfo.School_Id;
extModel.Status = DateStateEnum.Normal;
bool flag = trialLessonModule.SetTrialLessonModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取试听课程信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTrialLesson()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var extModel = trialLessonModule.GetTrialLessonModule(Id);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 根据编号删除试听课程
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveTrialLesson()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var flag = trialLessonModule.RemoveTrialLessonModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
} }
} }
\ No newline at end of file
...@@ -106,6 +106,7 @@ namespace Edu.WebApi.Controllers.Duty ...@@ -106,6 +106,7 @@ namespace Edu.WebApi.Controllers.Duty
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"), ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"), ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"), EndTime=base.ParmJObj.GetStringValue("EndTime"),
TrialLessonId=base.ParmJObj.GetInt("TrialLessonId"),
}; };
if (string.IsNullOrEmpty(model.ClassTime)) if (string.IsNullOrEmpty(model.ClassTime))
{ {
...@@ -180,6 +181,7 @@ namespace Edu.WebApi.Controllers.Duty ...@@ -180,6 +181,7 @@ namespace Edu.WebApi.Controllers.Duty
EndClassDate=base.ParmJObj.GetStringValue("EndClassDate"), EndClassDate=base.ParmJObj.GetStringValue("EndClassDate"),
TeacherId=base.ParmJObj.GetInt("TeacherId"), TeacherId=base.ParmJObj.GetInt("TeacherId"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"), ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
LessonName=base.ParmJObj.GetStringValue("LessonName"),
}; };
var list = visitorReserveModule.GetReserveClassPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = visitorReserveModule.GetReserveClassPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list) foreach (var item in list)
...@@ -231,6 +233,7 @@ namespace Edu.WebApi.Controllers.Duty ...@@ -231,6 +233,7 @@ namespace Edu.WebApi.Controllers.Duty
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"), ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"), ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"), EndTime=base.ParmJObj.GetStringValue("EndTime"),
TrialLessonId=base.ParmJObj.GetInt("TrialLessonId"),
}; };
if (string.IsNullOrEmpty(model.ClassTime)) if (string.IsNullOrEmpty(model.ClassTime))
{ {
......
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