Commit 83f5beaa authored by 黄奎's avatar 黄奎

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

parents a2f42753 77f03bfa
...@@ -85,5 +85,15 @@ namespace Edu.Model.ViewModel.Course ...@@ -85,5 +85,15 @@ namespace Edu.Model.ViewModel.Course
/// 开班结束时间 /// 开班结束时间
/// </summary> /// </summary>
public string OPEndTime { get; set; } public string OPEndTime { get; set; }
/// <summary>
/// 未收款
/// </summary>
public decimal DueInMoney { get; set; }
/// <summary>
/// 取消人数
/// </summary>
public int CancelNum { get; set; }
} }
} }
\ No newline at end of file
...@@ -22,6 +22,11 @@ namespace Edu.Model.ViewModel.Log ...@@ -22,6 +22,11 @@ namespace Edu.Model.ViewModel.Log
/// </summary> /// </summary>
public string CreateByName { get; set; } public string CreateByName { get; set; }
/// <summary>
/// 创建人头像
/// </summary>
public string CreateByPhoto { get; set; }
/// <summary> /// <summary>
/// 星期几 /// 星期几
/// </summary> /// </summary>
......
...@@ -61,6 +61,10 @@ namespace Edu.Module.Course ...@@ -61,6 +61,10 @@ namespace Edu.Module.Course
/// 教师 /// 教师
/// </summary> /// </summary>
private readonly RB_TeacherRepository teacherRepository = new RB_TeacherRepository(); private readonly RB_TeacherRepository teacherRepository = new RB_TeacherRepository();
/// <summary>
/// 助教
/// </summary>
private readonly RB_AssistRepository assistRepository = new RB_AssistRepository();
#region 日语培训 #region 日语培训
...@@ -424,6 +428,7 @@ namespace Edu.Module.Course ...@@ -424,6 +428,7 @@ namespace Edu.Module.Course
} }
//获取班级教师 //获取班级教师
var tModel = teacherRepository.GetEntity(cModel.Teacher_Id); var tModel = teacherRepository.GetEntity(cModel.Teacher_Id);
var zModel = assistRepository.GetEntity(cModel.Assist_Id);
//获取订单列表 //获取订单列表
var orderList = orderRepository.GetList(new RB_Order_ViewModel() { Group_Id = groupId, ClassId = classId }); var orderList = orderRepository.GetList(new RB_Order_ViewModel() { Group_Id = groupId, ClassId = classId });
if (orderList.Any()) { if (orderList.Any()) {
...@@ -445,7 +450,9 @@ namespace Edu.Module.Course ...@@ -445,7 +450,9 @@ namespace Edu.Module.Course
{ {
cModel.ClassName, cModel.ClassName,
tModel?.TeacherName, tModel?.TeacherName,
tModel?.TeacherIcon tModel?.TeacherIcon,
zModel?.AssistName,
zModel?.AssistIcon
}; };
return orderList; return orderList;
...@@ -910,6 +917,15 @@ namespace Edu.Module.Course ...@@ -910,6 +917,15 @@ namespace Edu.Module.Course
} }
return orderList; return orderList;
} }
/// <summary>
/// 获取我的订单统计
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public RB_Order_ViewModel GetMyOrderStatistics(RB_Order_ViewModel demodel) {
return orderRepository.GetMyOrderStatistics(demodel);
}
#endregion #endregion
} }
} }
...@@ -33,6 +33,18 @@ namespace Edu.Module.Log ...@@ -33,6 +33,18 @@ namespace Edu.Module.Log
{ {
return changeLogRepository.Insert(extModel) > 0; return changeLogRepository.Insert(extModel) > 0;
} }
/// <summary>
/// 获取日志列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_User_ChangeLog_ViewModel> GetUserChangeLogList(int pageIndex, int pageSize, out long count, RB_User_ChangeLog_ViewModel dmodel)
{
return changeLogRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
}
/// <summary> /// <summary>
/// 新增日志 /// 新增日志
......
...@@ -28,6 +28,7 @@ namespace Edu.Module.User ...@@ -28,6 +28,7 @@ namespace Edu.Module.User
/// <summary> /// <summary>
/// 获取行政备注分页列表 /// 获取行政备注分页列表
/// </summary> /// </summary>
......
...@@ -180,10 +180,10 @@ where {where} order by {orderBy} ...@@ -180,10 +180,10 @@ where {where} order by {orderBy}
where += $@" and o.{nameof(RB_Order_ViewModel.PreferPrice)} > (o.{nameof(RB_Order_ViewModel.Income)} - o.{nameof(RB_Order_ViewModel.Refund)} + o.{nameof(RB_Order_ViewModel.DiscountMoney)}) "; where += $@" and o.{nameof(RB_Order_ViewModel.PreferPrice)} > (o.{nameof(RB_Order_ViewModel.Income)} - o.{nameof(RB_Order_ViewModel.Refund)} + o.{nameof(RB_Order_ViewModel.DiscountMoney)}) ";
} }
string orderBy = ""; string orderBy = " o.OrderId asc";
if (demodel.Q_OrderBy == 1) if (demodel.Q_OrderBy == 1)
{ {
orderBy = " o.Id asc"; orderBy = " o.OrderId asc";
} }
else if (demodel.Q_OrderBy == 2) else if (demodel.Q_OrderBy == 2)
{ {
...@@ -198,6 +198,93 @@ where {where} order by {orderBy} ...@@ -198,6 +198,93 @@ where {where} order by {orderBy}
return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList(); return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
} }
/// <summary>
/// 获取我的订单统计
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public RB_Order_ViewModel GetMyOrderStatistics(RB_Order_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.Group_Id > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.School_Id > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.School_Id)} ={demodel.School_Id}";
}
if (demodel.OrderId > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.ClassId > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (demodel.OrderSource > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.OrderSource)} ={(int)demodel.OrderSource}";
}
if (demodel.OrderForm > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.OrderForm)} ={(int)demodel.OrderForm}";
}
if (demodel.EnterID > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.EnterID)} ={demodel.EnterID}";
}
if (demodel.Dept_Id > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.Dept_Id)} ={demodel.Dept_Id}";
}
if (!string.IsNullOrEmpty(demodel.ClassName))
{
where += $@" and c.{nameof(RB_Class.ClassName)} like '%{demodel.ClassName}%'";
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
where += $@" o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')";
}
if (demodel.CouseId > 0)
{
where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CouseId}";
}
if (!string.IsNullOrEmpty(demodel.StartTime))
{
where += $@" and o.{nameof(RB_Order_ViewModel.CreateTime)} >='{demodel.StartTime}'";
}
if (!string.IsNullOrEmpty(demodel.EndTime))
{
where += $@" and o.{nameof(RB_Order_ViewModel.CreateTime)} <='{demodel.EndTime} 23:59:59'";
}
if (!string.IsNullOrEmpty(demodel.OPStartTime))
{
where += $@" and c.{nameof(RB_Class.OpenTime)} >='{demodel.OPStartTime}'";
}
if (!string.IsNullOrEmpty(demodel.OPEndTime))
{
where += $@" and c.{nameof(RB_Class.OpenTime)} <='{demodel.OPEndTime} 23:59:59'";
}
if (demodel.Q_NotCollect == 1)
{
where += $@" and o.{nameof(RB_Order_ViewModel.PreferPrice)} > (o.{nameof(RB_Order_ViewModel.Income)} - o.{nameof(RB_Order_ViewModel.Refund)} + o.{nameof(RB_Order_ViewModel.DiscountMoney)}) ";
}
string sql = $@" select SUM(CASE WHEN o.OrderState <> 3 THEN o.PreferPrice ELSE 0 END) AS PreferPrice,
SUM(CASE WHEN o.OrderState <> 3 THEN o.Income ELSE 0 END) AS Income,
SUM(CASE WHEN o.OrderState <> 3 THEN o.PreferPrice - o.Income + o.Refund - o.DiscountMoney ELSE 0 END) AS DueInMoney,
SUM(CASE WHEN o.OrderState <> 3 THEN o.GuestNum ELSE 0 END) AS GuestNum,
SUM(CASE WHEN o.OrderState = 3 THEN o.GuestNum ELSE 0 END) AS CancelNum,
SUM(CASE WHEN o.CommissionMoney <> -1 AND o.OrderState <> 3 THEN o.CommissionMoney ELSE 0 END) AS CommissionMoney,
SUM(CASE WHEN o.OrderState <> 3 THEN o.ExtraRewardMoney - o.ExtraDeductMoney ELSE 0 END) AS ExtraRewardMoney
from RB_Order o
left join rb_class c on o.ClassId = c.ClassId
where {where}
";
return Get<RB_Order_ViewModel>(sql).FirstOrDefault();
}
/// <summary> /// <summary>
/// 获取班级报名人数 /// 获取班级报名人数
/// </summary> /// </summary>
......
...@@ -38,6 +38,18 @@ WHERE 1=1 ...@@ -38,6 +38,18 @@ WHERE 1=1
{ {
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.CreateBy)}={query.CreateBy} "); builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.CreateBy)}={query.CreateBy} ");
} }
if (query.Type > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.Type)}={query.Type} ");
}
if (query.AccountType > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.AccountType)}={(int)query.AccountType} ");
}
if (query.SourceId > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.SourceId)}={query.SourceId} ");
}
} }
return Get<RB_User_ChangeLog_ViewModel>(builder.ToString()).ToList(); return Get<RB_User_ChangeLog_ViewModel>(builder.ToString()).ToList();
} }
......
...@@ -49,6 +49,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -49,6 +49,8 @@ namespace Edu.WebApi.Controllers.Course
x.TeacherName, x.TeacherName,
x.TeacherHead, x.TeacherHead,
x.RoomName, x.RoomName,
x.ClassStyle,
ClassStyleName = x.ClassStyle.ToName(),
OpenTime = x.OpenTime.ToString("yyyy年MM月dd日"), OpenTime = x.OpenTime.ToString("yyyy年MM月dd日"),
EndOrderTime = x.EndOrderTime.HasValue ? x.EndOrderTime.Value.ToString("yyyy年MM月dd日") : "", EndOrderTime = x.EndOrderTime.HasValue ? x.EndOrderTime.Value.ToString("yyyy年MM月dd日") : "",
IsCanApply = x.EndOrderTime >= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")) && x.ClassPersion > x.OrderStudentCount ? 1 : 0, IsCanApply = x.EndOrderTime >= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")) && x.ClassPersion > x.OrderStudentCount ? 1 : 0,
...@@ -58,6 +60,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -58,6 +60,7 @@ namespace Edu.WebApi.Controllers.Course
x.ClassPersion, x.ClassPersion,
x.OutRemark, x.OutRemark,
x.OrderStudentCount, x.OrderStudentCount,
SurplusNum = x.ClassPersion - x.OrderStudentCount,
ClassStepPriceList = x.ClassStepPriceList.Select(z => new ClassStepPriceList = x.ClassStepPriceList.Select(z => new
{ {
z.ClassStepPriceId, z.ClassStepPriceId,
...@@ -653,68 +656,81 @@ namespace Edu.WebApi.Controllers.Course ...@@ -653,68 +656,81 @@ namespace Edu.WebApi.Controllers.Course
demodel.EnterID = userInfo.Id; demodel.EnterID = userInfo.Id;
var orderList = orderModule.GetMyOrderPageList(pageModel.PageIndex, pageModel.PageSize, out long count, demodel); var orderList = orderModule.GetMyOrderPageList(pageModel.PageIndex, pageModel.PageSize, out long count, demodel);
var orderS = orderModule.GetMyOrderStatistics(demodel);
pageModel.Count = Convert.ToInt32(count); pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = orderList.Select(x => new pageModel.PageData = new {
{ Statistics = new
x.OrderId,
x.ClassId,
x.TradeWay,
x.Class_Price,
x.Unit_Price,
x.GuestNum,
x.PreferPrice,
x.Income,
x.Refund,
x.DiscountMoney,
DueInMoney = x.PreferPrice - (x.Income - x.Refund + x.DiscountMoney),
x.OrderState,
OrderStateName = x.OrderState.ToName(),
x.EnterID,
EnterName = UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "",
x.CommissionMoney,
x.ExtraRewardMoney,
x.ExtraDeductMoney,
x.IsCommissionGive,
CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
x.SaleRemark,
x.TeacherRemark,
x.RectorRemark,
x.DirectorRemark,
SaleRemarkList = x.SaleRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
TeacherRemarkList = x.TeacherRemarkList.Select(z => new
{ {
z.Id, PreferPrice = orderS?.PreferPrice ?? 0,
z.Content, Income = orderS?.Income ?? 0,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "", DueInMoney = orderS?.DueInMoney ?? 0,
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss") GuestNum = orderS?.GuestNum ?? 0,
}), CancelNum = orderS?.CancelNum ?? 0,
RectorRemarkList = x.RectorRemarkList.Select(z => new CommissionMoney = orderS?.CommissionMoney ?? 0,
{ ExtraRewardMoney = orderS?.ExtraRewardMoney ?? 0
z.Id, },
z.Content, List = orderList.Select(x => new
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
DirectorRemarkList = x.DirectorRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
GuestList = x.GuestList.Select(z => new
{ {
z.Id, x.OrderId,
z.GuestName, x.ClassId,
z.GuestState x.TradeWay,
x.Class_Price,
x.Unit_Price,
x.GuestNum,
x.PreferPrice,
x.Income,
x.Refund,
x.DiscountMoney,
DueInMoney = x.PreferPrice - (x.Income - x.Refund + x.DiscountMoney),
x.OrderState,
OrderStateName = x.OrderState.ToName(),
x.EnterID,
EnterName = UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "",
x.CommissionMoney,
x.ExtraRewardMoney,
x.ExtraDeductMoney,
x.IsCommissionGive,
CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
x.SaleRemark,
x.TeacherRemark,
x.RectorRemark,
x.DirectorRemark,
SaleRemarkList = x.SaleRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
TeacherRemarkList = x.TeacherRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
RectorRemarkList = x.RectorRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
DirectorRemarkList = x.DirectorRemarkList.Select(z => new
{
z.Id,
z.Content,
CreateBy = UserReidsCache.GetUserLoginInfo(z.CreateBy)?.AccountName ?? "",
CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
}),
GuestList = x.GuestList.Select(z => new
{
z.Id,
z.GuestName,
z.GuestState
})
}) })
}); };
return ApiResult.Success("", pageModel); return ApiResult.Success("", pageModel);
} }
......
...@@ -7,6 +7,7 @@ using Edu.Common.API; ...@@ -7,6 +7,7 @@ using Edu.Common.API;
using Edu.Common.Enum.User; using Edu.Common.Enum.User;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Module.Log;
using Edu.Module.User; using Edu.Module.User;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
...@@ -78,6 +79,11 @@ namespace Edu.WebApi.Controllers.User ...@@ -78,6 +79,11 @@ namespace Edu.WebApi.Controllers.User
/// 助教处理类对象 /// 助教处理类对象
/// </summary> /// </summary>
private readonly NoticeModule noticeModule = new NoticeModule(); private readonly NoticeModule noticeModule = new NoticeModule();
/// <summary>
/// 用户修改日志
/// </summary>
private readonly UserChangeLogModule userChangeLogModule = new UserChangeLogModule();
#region 用户账户管理 #region 用户账户管理
/// <summary> /// <summary>
...@@ -912,6 +918,45 @@ namespace Edu.WebApi.Controllers.User ...@@ -912,6 +918,45 @@ namespace Edu.WebApi.Controllers.User
pageModel.PageData = list; pageModel.PageData = list;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
/// <summary>
/// 获取系统管理者分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserChangeLogPageList()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = Common.Plugin.JsonHelper.DeserializeObject<Model.ViewModel.Log.RB_User_ChangeLog_ViewModel>(RequestParm.Msg.ToString());
query.Group_Id = base.UserInfo.Group_Id;
var list = userChangeLogModule.GetUserChangeLogList(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.CreateBy > 0)
{
item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
if (item.CreateBy > 0)
{
item.CreateByPhoto = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.UserIcon ?? "";
}
}
pageModel.Count = rowsCount;
pageModel.PageData = list.Select(x => new
{
x.WeekDay,
x.CreateByName,
x.CreateByPhoto,
x.DayStr,
x.LogContent,
x.TimeStr
});
return ApiResult.Success(data: pageModel);
}
#endregion #endregion
#region 部门管理 #region 部门管理
...@@ -1000,7 +1045,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -1000,7 +1045,7 @@ namespace Edu.WebApi.Controllers.User
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id") School_Id = base.ParmJObj.GetInt("School_Id")
}; };
var list = departmentModule.GetDepartmentTreeModule(query,isQueryPost:true); var list = departmentModule.GetDepartmentTreeModule(query, isQueryPost: true);
return ApiResult.Success(data: list); return ApiResult.Success(data: list);
} }
...@@ -1062,7 +1107,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -1062,7 +1107,7 @@ namespace Edu.WebApi.Controllers.User
} }
#endregion #endregion
......
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