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
/// 线索条数
/// </summary>
public int ClueNum { get; set; }
/// <summary>
/// 是否发放人头奖励[1-已发放,0-待发放]
/// </summary>
public int IsIssue { get; set; }
}
}
......@@ -293,7 +293,7 @@ namespace Edu.Model.Entity.Course
public decimal? InnerRecommendReNewRatioValue { get; set; }
/// <summary>
/// 返佣类型 1按课耗反 2付款返佣
/// 返佣类型(1比例返佣,2-固定金额返佣)
/// </summary>
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
/// 结束时间
/// </summary>
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
/// 创建时间字符串
/// </summary>
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
/// </summary>
public int TrialLessonCount { get; set; }
/// <summary>
/// 试听课程编号
/// </summary>
public int TrialLessonId { get; set; }
/// <summary>
/// 试听课课程名称
/// </summary>
public string LessonName { get; set; }
/// <summary>
/// 查询日期
/// </summary>
......
......@@ -284,5 +284,10 @@ namespace Edu.Model.ViewModel.Sell
/// 微信号
/// </summary>
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
}
list.Add(new
{
UserIcon = item.StuIcon,
UserIcon = item.UserIcon,
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
......@@ -3745,7 +3745,7 @@ namespace Edu.Module.Course
ClassType = 2,
ClassId = subItem.ReserveClassId,
ClassName = "试听课",
CourseName = subItem.ClassContent,
CourseName = subItem.LessonName,
subItem.RoomName,
subItem.TeacherName,
Ranks = 0,
......@@ -3823,7 +3823,7 @@ namespace Edu.Module.Course
{
ClassId = item.ReserveClassId,
ClassName = "试听课",
CourseName = item.ClassContent,
CourseName = item.LessonName,
item.RoomName,
item.TeacherName,
ClassDate=Common.ConvertHelper.FormatDate(item.ClassDate),
......@@ -4025,7 +4025,7 @@ namespace Edu.Module.Course
ClassType = 2,
ClassId = subItem.ReserveClassId,
ClassName = "试听课",
CourseName = subItem.ClassContent,
CourseName = subItem.LessonName,
subItem.RoomName,
subItem.TeacherName,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
......
......@@ -226,6 +226,18 @@ namespace Edu.Module.Course
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>
......@@ -381,8 +393,9 @@ namespace Edu.Module.Course
UpdateTime = DateTime.Now,
DeductionMoney = DeductionMoney,
OpenBonus = curNum > 0 ? item.OpenBonus : 0,
ClueNum= stuModel?.ClueCount??0,
ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0
ClueNum = stuModel?.ClueCount ?? 0,
ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0,
IsIssue = 0
};
pModel.IsReach = pModel.CurOrderMoney > item.MonthGoalMoney ? 1 : 0;
......@@ -712,7 +725,6 @@ namespace Edu.Module.Course
private EmpStaticItem GetYearDataModule(UserInfo user, int Year)
{
int CurrentYear = DateTime.Now.Year;
int CurrentMonth = DateTime.Now.Month;
EmpStaticItem yearData = new EmpStaticItem();
var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{
......@@ -732,15 +744,15 @@ namespace Edu.Module.Course
}
if (Year == CurrentYear)
{
var monData = GetCurrentMonthData(user);
yearData.TotalBonusMoney += monData?.TotalBonusMoney ?? 0;
yearData.ClueNumSalary += monData?.ClueNumSalary ?? 0;
yearData.OpenBonus += monData?.OpenBonus ?? 0;
yearData.CurRewardMoney += monData?.CurRewardMoney ?? 0;
yearData.GuestNum += monData?.GuestNum ?? 0;
yearData.OrderCount += monData?.OrderCount ?? 0;
yearData.ReachCount += monData?.ReachCount ?? 0;
yearData.ClueCount += monData?.ClueCount ?? 0;
//var monData = GetCurrentMonthData(user);
//yearData.TotalBonusMoney += monData?.TotalBonusMoney ?? 0;
//yearData.ClueNumSalary += monData?.ClueNumSalary ?? 0;
//yearData.OpenBonus += monData?.OpenBonus ?? 0;
//yearData.CurRewardMoney += monData?.CurRewardMoney ?? 0;
//yearData.GuestNum += monData?.GuestNum ?? 0;
//yearData.OrderCount += monData?.OrderCount ?? 0;
//yearData.ReachCount += monData?.ReachCount ?? 0;
//yearData.ClueCount += monData?.ClueCount ?? 0;
}
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;
using Edu.Repository.Customer;
using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Customer;
using Edu.Model.Entity.Customer;
namespace Edu.Module.Duty
{
......@@ -45,6 +47,26 @@ namespace Edu.Module.Duty
/// 账号管理仓储层对象
/// </summary>
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>
/// 获取访客约课分页列表
......@@ -95,6 +117,7 @@ namespace Edu.Module.Duty
UpdateBy = model.UpdateBy,
UpdateTime = model.UpdateTime,
EndTime=model.EndTime,
TrialLessonId=model.TrialLessonId
};
if (model.ReserveClassId <= 0)
{
......@@ -127,35 +150,51 @@ namespace Edu.Module.Duty
var newId = visitor_ReserveRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
if (flag) {
if (flag)
{
//获取学生信息
//var smodel = studentRepository.GetEntity(model.Visitor_Id);
//if (smodel != null && smodel.StuStage <= Common.Enum.User.StuStageEnum.PreliminaryCommunication)
//{
// Dictionary<string, object> keyValues = new Dictionary<string, object>() {
// { nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.Audition}
// };
// List<WhereHelper> wheres = new List<WhereHelper>() {
// new WhereHelper(){
// FiledName = nameof (RB_Student_ViewModel.StuId),
// FiledValue = model.Visitor_Id,
// OperatorEnum =OperatorEnum.Equal
// }
// };
// studentRepository.Update(keyValues, wheres);
// student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
// {
// LogId = 0,
// CreateBy = model.CreateBy,
// CreateTime = DateTime.Now,
// CreateType = 1,
// Group_Id = model.Group_Id,
// LogContent = "首次试听,客户阶段由'" + (smodel.StuStage.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.Audition.ToName()) + "'",
// LogTitle = "客户阶段变更",
// LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
// StuId = model.Visitor_Id
// });
//}
var smodel = studentRepository.GetEntity(model.Visitor_Id);
if (smodel != null && smodel.StuId > 0)
{
var assistTeacher = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
StuId = smodel.StuId
})?.FirstOrDefault(qitem => qitem.AssistType == Common.Enum.User.AssistTypeEnum.Teacher);
string logTitle = "新增协同人员";
string logContent = "";
var empModel = accountRepository.GetEmployeeListRepository(new Employee_ViewModel()
{
AccountType = Common.Enum.User.AccountTypeEnum.Teacher,
AccountId = model.TeacherId
})?.FirstOrDefault();
if (assistTeacher == null)
{
logTitle = "新增协同人员";
student_AssistRepository.Insert(new RB_Student_Assist()
{
CreateBy = model.UpdateBy,
CreateTime = DateTime.Now,
Id = 0,
Status = DateStateEnum.Normal,
StuId = smodel.StuId,
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;
......@@ -225,10 +264,38 @@ namespace Edu.Module.Duty
{
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)
{
item.JoinNum = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId)?.Count()??0;
item.VisitorList = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId)?.ToList() ?? new List<RB_Visitor_Reserve_Extend>();
var tempList = visitorList?.Where(qitem => qitem.ReserveClassId == item.ReserveClassId);
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;
......@@ -286,6 +353,7 @@ namespace Edu.Module.Duty
{nameof(RB_Reserve_Class_Extend.ClassContent),model.ClassContent },
{nameof(RB_Reserve_Class_Extend.UpdateBy),model.UpdateBy },
{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));
if (flag && model.TeacherId != oldModel.TeacherId)
......
......@@ -127,5 +127,16 @@ WHERE 1=1
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
var parameters = new DynamicParameters();
builder.Append(@"
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
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);
if (query != null)
......@@ -55,6 +57,11 @@ WHERE 1=1
{
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));
return GetPage<RB_Reserve_Class_Extend>(pageIndex,pageSize,out rowsCount, builder.ToString(),parameters).ToList();
......@@ -71,9 +78,11 @@ WHERE 1=1
var parameters = new DynamicParameters();
builder.Append(@"
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
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);
if (query != null)
......
......@@ -30,12 +30,13 @@ namespace Edu.Repository.Reserve
var parameters = new DynamicParameters();
builder.Append(@"
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
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_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_triallesson AS G ON C.TrialLessonId=G.Id
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal);
......@@ -99,11 +100,12 @@ WHERE 1=1
var parameters = new DynamicParameters();
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
,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
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_class_room AS E ON C.ClassRoomId=E.RoomId
LEFT JOIN rb_triallesson AS F ON C.TrialLessonId=F.Id
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal);
......
......@@ -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
,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
,IFNULL(stu.StuIcon,'') AS UserIcon
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_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 (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
......
......@@ -340,7 +340,7 @@ FROM
/// <param name="query"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public string GetEmployeeSqlReposiroty(Employee_ViewModel query, DynamicParameters parameters)
private string GetEmployeeSqlReposiroty(Employee_ViewModel query, DynamicParameters parameters)
{
StringBuilder where = new StringBuilder();
StringBuilder where2 = new StringBuilder();
......
......@@ -286,7 +286,7 @@ WHERE 1=1
}
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
fileds.Add(nameof(RB_Student_ViewModel.StuChannel), model.StuChannel);
fileds.Add(nameof(RB_Student_ViewModel.PlatformName), model.PlatformName);
fileds.Add(nameof(RB_Student_ViewModel.StuNeeds), model.StuNeeds);
fileds.Add(nameof(RB_Student_ViewModel.StuIcon), model.StuIcon.Trim());
}
//App小程序操作
else
......
......@@ -173,6 +173,19 @@ namespace Edu.WebApi.Controllers.Bonus
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>
......
......@@ -33,6 +33,11 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
private readonly CourseModule courseModule = AOP.AOPHelper.CreateAOPObject<CourseModule>();
/// <summary>
/// 试听课处理类对象
/// </summary>
private readonly TrialLessonModule trialLessonModule = AOP.AOPHelper.CreateAOPObject<TrialLessonModule>();
#region 科目管理
/// <summary>
/// 获取课程科目分页列表
......@@ -1425,5 +1430,104 @@ namespace Edu.WebApi.Controllers.Course
}
#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
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"),
TrialLessonId=base.ParmJObj.GetInt("TrialLessonId"),
};
if (string.IsNullOrEmpty(model.ClassTime))
{
......@@ -180,6 +181,7 @@ namespace Edu.WebApi.Controllers.Duty
EndClassDate=base.ParmJObj.GetStringValue("EndClassDate"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
LessonName=base.ParmJObj.GetStringValue("LessonName"),
};
var list = visitorReserveModule.GetReserveClassPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
......@@ -231,6 +233,7 @@ namespace Edu.WebApi.Controllers.Duty
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"),
TrialLessonId=base.ParmJObj.GetInt("TrialLessonId"),
};
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