using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Reserve;
using Edu.Module.Duty;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Edu.WebApi.Controllers.Duty
{
///
/// 访客约课控制器
///
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class VisitorReserveController : BaseController
{
///
/// 访客约课处理类对象
///
private readonly VisitorReserveModule visitorReserveModule = AOP.AOPHelper.CreateAOPObject();
#region 访客约课
///
/// 获取访客约课分页列表
///
///
[HttpPost]
public ApiResult GetVisitorReservePage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString());
var query = new RB_Visitor_Reserve_Extend()
{
Group_Id = base.UserInfo.Group_Id,
StartClassDate=base.ParmJObj.GetStringValue("StartClassDate"),
EndClassDate=base.ParmJObj.GetStringValue("EndClassDate"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
Q_ReserveStatus=base.ParmJObj.GetStringValue("Q_ReserveStatus"),
VisitorName=base.ParmJObj.GetStringValue("VisitorName"),
Id=base.ParmJObj.GetInt("Id"),
IsQueryAll=base.ParmJObj.GetInt("IsQueryAll")
};
if (query.IsQueryAll != 1)
{
query.CreateBy = base.UserInfo.Id;
}
var list = visitorReserveModule.GetVisitorReservePageModule(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.PageData = list;
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
}
///
/// 获取访客约课列表
///
///
[HttpPost]
public ApiResult GetVisitorReserveList()
{
var query = new RB_Visitor_Reserve_Extend()
{
Group_Id = base.UserInfo.Group_Id,
};
var list = visitorReserveModule.GetVisitorReserveListModule(query);
foreach (var item in list)
{
}
return ApiResult.Success(data: list);
}
///
/// 新增修改访客约课
///
///
[HttpPost]
public ApiResult SetVisitorReserve()
{
var model = new RB_Visitor_Reserve_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
Visitor_Id = base.ParmJObj.GetInt("Visitor_Id"),
Remark = base.ParmJObj.GetStringValue("Remark"),
ReserveClassId = base.ParmJObj.GetInt("ReserveClassId"),
ClassDate=base.ParmJObj.GetDateTime("ClassDate"),
ClassTime = base.ParmJObj.GetStringValue("ClassTime"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"),
};
if (string.IsNullOrEmpty(model.ClassTime))
{
return ApiResult.ParamIsNull("请选择预约时间段!");
}
model.ReserveStatus = 0;
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.CreateBy = base.UserInfo.Id;
model.CreateTime = System.DateTime.Now;
model.UpdateBy = base.UserInfo.Id;
model.UpdateTime = System.DateTime.Now;
model.Status = Common.Enum.DateStateEnum.Normal;
bool retult = visitorReserveModule.SetVisitorReserveModule(model,out string message);
return retult ? ApiResult.Success() : ApiResult.Failed(message: message);
}
///
/// 根据编号获取访客约课详情
///
///
[HttpPost]
public ApiResult GetVisitorReserve()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var model = visitorReserveModule.GetVisitorReserveModule(Id);
return ApiResult.Success(data: model);
}
///
/// 删除访客约课
///
///
[HttpPost]
public ApiResult RemoveVisitorReserve()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var flag = visitorReserveModule.RemoveVisitorReserveModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
///
/// 更新访客状态
///
///
[HttpPost]
public ApiResult UpdateVisitorReserveStatus()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var ReserveStatus = base.ParmJObj.GetInt("ReserveStatus", 0);
string Remark = base.ParmJObj.GetStringValue("Remark");
var flag = visitorReserveModule.UpdateVisitorReserveStatusModule(Id, ReserveStatus, Remark);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 约课班级
///
/// 获取约课班级分页列表
///
///
[HttpPost]
public ApiResult GetReserveClassPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString());
var query = new RB_Reserve_Class_Extend()
{
Group_Id = base.UserInfo.Group_Id,
StartClassDate=base.ParmJObj.GetStringValue("StartClassDate"),
EndClassDate=base.ParmJObj.GetStringValue("EndClassDate"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
};
var list = visitorReserveModule.GetReserveClassPageModule(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.PageData = list;
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
}
///
/// 获取约课班级列表
///
///
[HttpPost]
public ApiResult GetReserveClassList()
{
var query = new RB_Reserve_Class_Extend()
{
Group_Id = base.UserInfo.Group_Id,
};
var list = visitorReserveModule.GetReserveClassListModule(query);
foreach (var item in list)
{
}
return ApiResult.Success(data: list);
}
///
/// 新增修改约课班级
///
///
[HttpPost]
public ApiResult SetReserveClass()
{
var model = new RB_Reserve_Class_Extend()
{
ReserveClassId = base.ParmJObj.GetInt("ReserveClassId"),
TeacherId = base.ParmJObj.GetInt("TeacherId"),
ClassDate = base.ParmJObj.GetDateTime("ClassDate"),
ClassTime = base.ParmJObj.GetStringValue("ClassTime"),
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
ClassContent = base.ParmJObj.GetStringValue("ClassContent"),
EndTime=base.ParmJObj.GetStringValue("EndTime"),
};
if (string.IsNullOrEmpty(model.ClassTime))
{
return ApiResult.ParamIsNull("请选择预约时间!");
}
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.CreateBy = base.UserInfo.Id;
model.CreateTime = System.DateTime.Now;
model.UpdateBy = base.UserInfo.Id;
model.UpdateTime = System.DateTime.Now;
model.Status = Common.Enum.DateStateEnum.Normal;
bool retult = visitorReserveModule.SetReserveClassModule(model,out string message);
return retult ? ApiResult.Success() : ApiResult.Failed(message: message);
}
///
/// 根据编号获取约课班级
///
///
[HttpPost]
public ApiResult GetReserveClass()
{
var ReserveClassId = base.ParmJObj.GetInt("ReserveClassId", 0);
var model = visitorReserveModule.GetReserveClassModule(ReserveClassId);
return ApiResult.Success(data: model);
}
///
/// 根据编号删除约课班级
///
///
[HttpPost]
public ApiResult RemoveReserveClass()
{
var ReserveClassId = base.ParmJObj.GetInt("ReserveClassId", 0);
var flag = visitorReserveModule.RemoveReserveClassModule(ReserveClassId,base.UserInfo,out string message);
return flag ? ApiResult.Success() : ApiResult.Failed(message: message);
}
#endregion
}
}