Commit 0afc169f authored by 吴春's avatar 吴春

提交代码

parent ee7e56ba
...@@ -15,5 +15,15 @@ namespace Edu.Common.Enum.Course ...@@ -15,5 +15,15 @@ namespace Edu.Common.Enum.Course
/// </summary> /// </summary>
[EnumField("新增学员")] [EnumField("新增学员")]
AddStudent = 1, AddStudent = 1,
/// <summary>
/// 学员退课
/// </summary>
[EnumField("学员退课")]
DropOutStudent = 2,
/// <summary>
/// 上课记录
/// </summary>
[EnumField("上课记录")]
Class = 3,
} }
} }
...@@ -96,5 +96,11 @@ namespace Edu.Model.Entity.User ...@@ -96,5 +96,11 @@ namespace Edu.Model.Entity.User
/// 是否禁用(0-禁用,1-启用) /// 是否禁用(0-禁用,1-启用)
/// </summary> /// </summary>
public int IsDisable { get; set; } public int IsDisable { get; set; }
/// <summary>
/// 学生状态,1-未学习,2-已退课,3-学习中
/// </summary>
public int StuStatus { get; set; }
} }
} }
...@@ -13,5 +13,10 @@ namespace Edu.Model.ViewModel.Course ...@@ -13,5 +13,10 @@ namespace Edu.Model.ViewModel.Course
/// 订单ids /// 订单ids
/// </summary> /// </summary>
public string OrderIds { get; set; } public string OrderIds { get; set; }
/// <summary>
/// rb_student表的id
/// </summary>
public int StudentId { get; set; }
} }
} }
\ No newline at end of file
using Edu.Common.Enum; using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum;
using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.User;
using Edu.Repository.Course; using Edu.Repository.Course;
using Edu.Repository.Log;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
...@@ -47,7 +50,15 @@ namespace Edu.Module.Course ...@@ -47,7 +50,15 @@ namespace Edu.Module.Course
/// 订单仓储层对象 /// 订单仓储层对象
/// </summary> /// </summary>
private readonly RB_OrderRepository orderRepository = new RB_OrderRepository(); private readonly RB_OrderRepository orderRepository = new RB_OrderRepository();
/// <summary>
/// 课程日志记录表
/// </summary>
private readonly RB_Class_LogRepository classLogRepository = new RB_Class_LogRepository();
/// <summary>
/// 课程日志记录表
/// </summary>
private readonly Repository.User.RB_StudentRepository studentRepository = new Repository.User.RB_StudentRepository();
/// <summary> /// <summary>
/// 获取班级列表 /// 获取班级列表
/// </summary> /// </summary>
...@@ -575,21 +586,75 @@ namespace Edu.Module.Course ...@@ -575,21 +586,75 @@ namespace Edu.Module.Course
{ {
list.Add(new list.Add(new
{ {
UserIcon="", UserIcon = "",
item.Id, item.Id,
SexStr = item.Sex == 1 ? "男" : "女", SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName, item.GuestName,
item.Age, item.Age,
CreateTimeStr=Common.ConvertHelper.FormatTime( item.CreateTime), CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Mobile, item.Mobile,
item.OrderId, item.OrderId,
ClassHours= classModel?.ClassHours??0, ClassHours = classModel?.ClassHours ?? 0,
IsRenew=courseModel?.IsRenew??0 IsRenew = courseModel?.IsRenew ?? 0
}); });
} }
} }
return list; return list;
} }
/// <summary>
/// 更新学生的退课信息
/// </summary>
/// <param name="Ids"></param>
/// <param name="DropOutRemark"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool UpdateClassStudentDropOutModule(string ids, string dropOutRemark, int classId, int createBy, int group_Id, int school_Id, string studentName)
{
bool flag = false;
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Order_Guest_ViewModel.GuestState),2},
{nameof(RB_Order_Guest_ViewModel.DropOutRemark),dropOutRemark}
};
//写日志
flag = order_GuestRepository.Update(fileds, new WhereHelper(nameof(RB_Order_Guest_ViewModel.Id), ids, OperatorEnum.IN));
if (flag)
{
classLogRepository.AddClassLogRepository(Common.Enum.Course.ClassLogTypeEnum.DropOutStudent, studentName + " 学员因" + dropOutRemark + "退课", classId, group_Id, school_Id, createBy);
}
return flag;
}
/// <summary>
/// 更新学生的退课信息
/// </summary>
/// <param name="Ids"></param>
/// <param name="DropOutRemark"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool AddClassStudentDropOutModule(RB_Order_Guest_ViewModel model, string CreateName)
{
bool flag = false;
//写日志
flag = order_GuestRepository.Insert(model) > 0;
if (flag)
{
//更新学生的状态
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Student_ViewModel.StuStatus),3},
};
//写日志
studentRepository.Update(fileds, new WhereHelper(nameof(RB_Student_ViewModel.StuId), model.StudentId));
classLogRepository.AddClassLogRepository(Common.Enum.Course.ClassLogTypeEnum.AddStudent, CreateName + "邀请 " + model.GuestName + " 加入班级", model.ClassId, model.Group_Id, model.School_Id, model.CreateBy);
}
return flag;
}
} }
} }
...@@ -33,6 +33,18 @@ WHERE 1=1 ...@@ -33,6 +33,18 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId);
} }
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
}
if (query.CouseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId);
}
} }
return Get<RB_Class_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_ViewModel>(builder.ToString()).ToList();
} }
......
...@@ -98,7 +98,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -98,7 +98,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
var extModel = new RB_Class_ViewModel() var extModel = new RB_Class_ViewModel()
{ {
ClassId=base.ParmJObj.GetInt("ClassId"), ClassId = base.ParmJObj.GetInt("ClassId"),
CreateBy = UserInfo.Id, CreateBy = UserInfo.Id,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
UpdateBy = UserInfo.Id, UpdateBy = UserInfo.Id,
...@@ -110,31 +110,31 @@ namespace Edu.WebApi.Controllers.Course ...@@ -110,31 +110,31 @@ namespace Edu.WebApi.Controllers.Course
Assist_Id = base.ParmJObj.GetInt("Assist_Id"), Assist_Id = base.ParmJObj.GetInt("Assist_Id"),
ClassPersion = base.ParmJObj.GetInt("ClassPersion"), ClassPersion = base.ParmJObj.GetInt("ClassPersion"),
OpenTime = base.ParmJObj.GetDateTime("OpenTime"), OpenTime = base.ParmJObj.GetDateTime("OpenTime"),
EndOrderTime=base.ParmJObj.GetDateTime("EndOrderTime"), EndOrderTime = base.ParmJObj.GetDateTime("EndOrderTime"),
OriginalPrice=base.ParmJObj.GetDecimal("OriginalPrice"), OriginalPrice = base.ParmJObj.GetDecimal("OriginalPrice"),
SellPrice=base.ParmJObj.GetDecimal("SellPrice"), SellPrice = base.ParmJObj.GetDecimal("SellPrice"),
IsStepPrice=base.ParmJObj.GetInt("IsStepPrice"), IsStepPrice = base.ParmJObj.GetInt("IsStepPrice"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"), ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
IsOpenCommission=base.ParmJObj.GetInt("IsOpenCommission"), IsOpenCommission = base.ParmJObj.GetInt("IsOpenCommission"),
CommissionType=base.ParmJObj.GetInt("CommissionType"), CommissionType = base.ParmJObj.GetInt("CommissionType"),
CommissionValue=base.ParmJObj.GetDecimal("CommissionValue"), CommissionValue = base.ParmJObj.GetDecimal("CommissionValue"),
ClassHours=base.ParmJObj.GetInt("ClassHours"), ClassHours = base.ParmJObj.GetInt("ClassHours"),
ClassStyle=(ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"), ClassStyle = (ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"),
ClassStatus=(ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"), ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
InnerRemark= base.ParmJObj.GetStringValue("InnerRemark"), InnerRemark = base.ParmJObj.GetStringValue("InnerRemark"),
OutRemark=base.ParmJObj.GetStringValue("OutRemark"), OutRemark = base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress=base.ParmJObj.GetInt("CompleteProgress"), CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"),
School_Id=base.ParmJObj.GetInt("School_Id"), School_Id = base.ParmJObj.GetInt("School_Id"),
}; };
try try
{ {
string ClassStepPriceListStr=base.ParmJObj.GetStringValue("ClassStepPriceList"); string ClassStepPriceListStr = base.ParmJObj.GetStringValue("ClassStepPriceList");
if (!string.IsNullOrEmpty(ClassStepPriceListStr)) if (!string.IsNullOrEmpty(ClassStepPriceListStr))
{ {
extModel.ClassStepPriceList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_StepPrice_ViewModel>>(ClassStepPriceListStr); extModel.ClassStepPriceList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_StepPrice_ViewModel>>(ClassStepPriceListStr);
} }
} }
catch(Exception ex) catch (Exception ex)
{ {
Common.Plugin.LogHelper.Write(ex, "SetClass_ClassStepPriceList"); Common.Plugin.LogHelper.Write(ex, "SetClass_ClassStepPriceList");
} }
...@@ -226,7 +226,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -226,7 +226,7 @@ namespace Edu.WebApi.Controllers.Course
var query = new RB_Class_ViewModel() var query = new RB_Class_ViewModel()
{ {
ClassId = base.ParmJObj.GetInt("ClassId"), ClassId = base.ParmJObj.GetInt("ClassId"),
QMonth=base.ParmJObj.GetStringValue("QMonth"), QMonth = base.ParmJObj.GetStringValue("QMonth"),
}; };
var data = classModule.GetClassPlanModule(query.ClassId, query.QMonth); var data = classModule.GetClassPlanModule(query.ClassId, query.QMonth);
return ApiResult.Success(data: data); return ApiResult.Success(data: data);
...@@ -251,13 +251,13 @@ namespace Edu.WebApi.Controllers.Course ...@@ -251,13 +251,13 @@ namespace Edu.WebApi.Controllers.Course
{ {
var extModel = new RB_Class_Plan_ViewModel() var extModel = new RB_Class_Plan_ViewModel()
{ {
ClassPlanId=base.ParmJObj.GetInt("ClassPlanId"), ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
ClassId=base.ParmJObj.GetInt("ClassId"), ClassId = base.ParmJObj.GetInt("ClassId"),
ClassDate=base.ParmJObj.GetDateTime("ClassDate"), ClassDate = base.ParmJObj.GetDateTime("ClassDate"),
Status= Common.Enum.DateStateEnum.Normal, Status = Common.Enum.DateStateEnum.Normal,
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"), ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
TeacherId=base.ParmJObj.GetInt("TeacherId"), TeacherId = base.ParmJObj.GetInt("TeacherId"),
Group_Id=base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
}; };
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0; extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try try
...@@ -299,7 +299,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -299,7 +299,7 @@ namespace Edu.WebApi.Controllers.Course
#endregion #endregion
#region 学员列表 #region 学员信息
/// <summary> /// <summary>
/// 获取学员列表 /// 获取学员列表
/// </summary> /// </summary>
...@@ -310,6 +310,48 @@ namespace Edu.WebApi.Controllers.Course ...@@ -310,6 +310,48 @@ namespace Edu.WebApi.Controllers.Course
var data = classModule.GetClassStudentListModule(classId); var data = classModule.GetClassStudentListModule(classId);
return ApiResult.Success(data: data); return ApiResult.Success(data: data);
} }
/// <summary>
/// 更新学生的退课状态
/// </summary>
/// <returns></returns>
public ApiResult UpdateClassStudentDropOut()
{
var classId = base.ParmJObj.GetInt("ClassId");
var ids = base.ParmJObj.GetStringValue("Ids");
var dropOutRemark = base.ParmJObj.GetStringValue("DropOutRemark");
var studentName = base.ParmJObj.GetStringValue("StudentName");
if (string.IsNullOrWhiteSpace(ids) || string.IsNullOrWhiteSpace(dropOutRemark) || classId == 0 || string.IsNullOrWhiteSpace(studentName))
{
return ApiResult.ParamIsNull("");
}
var classModel = classModule.GetClassListModule(new RB_Class_ViewModel { ClassId = classId, Group_Id = base.UserInfo.Group_Id }).FirstOrDefault();
if (classModel == null)
{
return ApiResult.Failed("班级信息不存在");
}
bool result = classModule.UpdateClassStudentDropOutModule(ids, dropOutRemark, classId, base.UserInfo.Id, classModel.Group_Id, classModel.School_Id, studentName);
return ApiResult.Success();
}
/// <summary>
/// 邀请学生
/// </summary>
/// <returns></returns>
public ApiResult AddClassStudent()
{
var model = Common.Plugin.JsonHelper.DeserializeObject<RB_Order_Guest_ViewModel>(RequestParm.Msg.ToString());
model.GuestState = 1;
model.GuestSource = OrderSourceEnum.Employee;
model.CreateBy = base.UserInfo.Id;
model.UpdateBy = base.UserInfo.Id;
model.CreateTime = System.DateTime.Now;
model.UpdateTime = model.CreateTime;
bool result = classModule.AddClassStudentDropOutModule(model, base.UserInfo.AccountName);
return ApiResult.Success();
}
#endregion #endregion
#region 枚举相关列表 #region 枚举相关列表
......
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