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

提交代码

parent ee7e56ba
......@@ -15,5 +15,15 @@ namespace Edu.Common.Enum.Course
/// </summary>
[EnumField("新增学员")]
AddStudent = 1,
/// <summary>
/// 学员退课
/// </summary>
[EnumField("学员退课")]
DropOutStudent = 2,
/// <summary>
/// 上课记录
/// </summary>
[EnumField("上课记录")]
Class = 3,
}
}
......@@ -96,5 +96,11 @@ namespace Edu.Model.Entity.User
/// 是否禁用(0-禁用,1-启用)
/// </summary>
public int IsDisable { get; set; }
/// <summary>
/// 学生状态,1-未学习,2-已退课,3-学习中
/// </summary>
public int StuStatus { get; set; }
}
}
......@@ -13,5 +13,10 @@ namespace Edu.Model.ViewModel.Course
/// 订单ids
/// </summary>
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.User;
using Edu.Repository.Course;
using Edu.Repository.Log;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -47,7 +50,15 @@ namespace Edu.Module.Course
/// 订单仓储层对象
/// </summary>
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>
......@@ -575,21 +586,75 @@ namespace Edu.Module.Course
{
list.Add(new
{
UserIcon="",
UserIcon = "",
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
item.Age,
CreateTimeStr=Common.ConvertHelper.FormatTime( item.CreateTime),
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Mobile,
item.OrderId,
ClassHours= classModel?.ClassHours??0,
IsRenew=courseModel?.IsRenew??0
ClassHours = classModel?.ClassHours ?? 0,
IsRenew = courseModel?.IsRenew ?? 0
});
}
}
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
{
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();
}
......
......@@ -98,7 +98,7 @@ namespace Edu.WebApi.Controllers.Course
{
var extModel = new RB_Class_ViewModel()
{
ClassId=base.ParmJObj.GetInt("ClassId"),
ClassId = base.ParmJObj.GetInt("ClassId"),
CreateBy = UserInfo.Id,
CreateTime = DateTime.Now,
UpdateBy = UserInfo.Id,
......@@ -110,31 +110,31 @@ namespace Edu.WebApi.Controllers.Course
Assist_Id = base.ParmJObj.GetInt("Assist_Id"),
ClassPersion = base.ParmJObj.GetInt("ClassPersion"),
OpenTime = base.ParmJObj.GetDateTime("OpenTime"),
EndOrderTime=base.ParmJObj.GetDateTime("EndOrderTime"),
OriginalPrice=base.ParmJObj.GetDecimal("OriginalPrice"),
SellPrice=base.ParmJObj.GetDecimal("SellPrice"),
IsStepPrice=base.ParmJObj.GetInt("IsStepPrice"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
IsOpenCommission=base.ParmJObj.GetInt("IsOpenCommission"),
CommissionType=base.ParmJObj.GetInt("CommissionType"),
CommissionValue=base.ParmJObj.GetDecimal("CommissionValue"),
ClassHours=base.ParmJObj.GetInt("ClassHours"),
ClassStyle=(ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"),
ClassStatus=(ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
InnerRemark= base.ParmJObj.GetStringValue("InnerRemark"),
OutRemark=base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress=base.ParmJObj.GetInt("CompleteProgress"),
School_Id=base.ParmJObj.GetInt("School_Id"),
EndOrderTime = base.ParmJObj.GetDateTime("EndOrderTime"),
OriginalPrice = base.ParmJObj.GetDecimal("OriginalPrice"),
SellPrice = base.ParmJObj.GetDecimal("SellPrice"),
IsStepPrice = base.ParmJObj.GetInt("IsStepPrice"),
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
IsOpenCommission = base.ParmJObj.GetInt("IsOpenCommission"),
CommissionType = base.ParmJObj.GetInt("CommissionType"),
CommissionValue = base.ParmJObj.GetDecimal("CommissionValue"),
ClassHours = base.ParmJObj.GetInt("ClassHours"),
ClassStyle = (ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"),
ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
InnerRemark = base.ParmJObj.GetStringValue("InnerRemark"),
OutRemark = base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"),
School_Id = base.ParmJObj.GetInt("School_Id"),
};
try
{
string ClassStepPriceListStr=base.ParmJObj.GetStringValue("ClassStepPriceList");
string ClassStepPriceListStr = base.ParmJObj.GetStringValue("ClassStepPriceList");
if (!string.IsNullOrEmpty(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");
}
......@@ -142,8 +142,8 @@ namespace Edu.WebApi.Controllers.Course
{
string WeekDayListStr = base.ParmJObj.GetStringValue("WeekDayList");
if (!string.IsNullOrEmpty(WeekDayListStr))
{
extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
{
extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
}
}
catch (Exception ex)
......@@ -226,7 +226,7 @@ namespace Edu.WebApi.Controllers.Course
var query = new RB_Class_ViewModel()
{
ClassId = base.ParmJObj.GetInt("ClassId"),
QMonth=base.ParmJObj.GetStringValue("QMonth"),
QMonth = base.ParmJObj.GetStringValue("QMonth"),
};
var data = classModule.GetClassPlanModule(query.ClassId, query.QMonth);
return ApiResult.Success(data: data);
......@@ -251,13 +251,13 @@ namespace Edu.WebApi.Controllers.Course
{
var extModel = new RB_Class_Plan_ViewModel()
{
ClassPlanId=base.ParmJObj.GetInt("ClassPlanId"),
ClassId=base.ParmJObj.GetInt("ClassId"),
ClassDate=base.ParmJObj.GetDateTime("ClassDate"),
Status= Common.Enum.DateStateEnum.Normal,
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
Group_Id=base.UserInfo.Group_Id,
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
ClassId = base.ParmJObj.GetInt("ClassId"),
ClassDate = base.ParmJObj.GetDateTime("ClassDate"),
Status = Common.Enum.DateStateEnum.Normal,
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
TeacherId = base.ParmJObj.GetInt("TeacherId"),
Group_Id = base.UserInfo.Group_Id,
};
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try
......@@ -298,8 +298,8 @@ namespace Edu.WebApi.Controllers.Course
#endregion
#region 学员列表
#region 学员信息
/// <summary>
/// 获取学员列表
/// </summary>
......@@ -310,6 +310,48 @@ namespace Edu.WebApi.Controllers.Course
var data = classModule.GetClassStudentListModule(classId);
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
#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