Commit dd4d4b62 authored by 吴春's avatar 吴春

提交代码

parent d14be932
...@@ -68,7 +68,7 @@ namespace Mall.Model.Entity.Point ...@@ -68,7 +68,7 @@ namespace Mall.Model.Entity.Point
/// <summary> /// <summary>
/// 是否推送放假信息0-否,1-是 /// 是否推送房间信息0-否,1-是
/// </summary> /// </summary>
public int IsSendRoom { get; set; } public int IsSendRoom { get; set; }
......
...@@ -40,5 +40,10 @@ namespace Mall.Model.Extend.Point ...@@ -40,5 +40,10 @@ namespace Mall.Model.Extend.Point
/// 结束时间 /// 结束时间
/// </summary> /// </summary>
public string EndTime { get; set; } public string EndTime { get; set; }
/// <summary>
/// 用户openid
/// </summary>
public string OpenId { get; set; }
} }
} }
...@@ -25,6 +25,14 @@ namespace Mall.Module.Education ...@@ -25,6 +25,14 @@ namespace Mall.Module.Education
private readonly RB_Point_TeacherCourseOrderRepository pointTeacherCourseOrderRepository = new RB_Point_TeacherCourseOrderRepository(); private readonly RB_Point_TeacherCourseOrderRepository pointTeacherCourseOrderRepository = new RB_Point_TeacherCourseOrderRepository();
#region 用户基本信息
public Model.Entity.User.RB_Member_User GetUserEntity(int UserId)
{
return member_UserRepository.GetEntity(UserId);
}
#endregion
#region 点数商品 #region 点数商品
/// <summary> /// <summary>
/// 获取列表 /// 获取列表
...@@ -273,6 +281,7 @@ namespace Mall.Module.Education ...@@ -273,6 +281,7 @@ namespace Mall.Module.Education
}; };
member_UserRepository.Update(filedsUser, userWhereHelpers, trans); member_UserRepository.Update(filedsUser, userWhereHelpers, trans);
} }
pointOrderRepository.DBSession.Commit();
return flag; return flag;
} }
else else
...@@ -612,10 +621,38 @@ namespace Mall.Module.Education ...@@ -612,10 +621,38 @@ namespace Mall.Module.Education
if (model.ID == 0) if (model.ID == 0)
{ {
orderId = pointTeacherCourseOrderRepository.Insert(model, trans); orderId = pointTeacherCourseOrderRepository.Insert(model, trans);
flag = orderId > 0;
} }
else else
{ {
orderId = model.ID; orderId = model.ID;
IDictionary<string, object> fileds = new Dictionary<string, object>
{
{ nameof(RB_Point_TeacherCourseOrder_Extend.OrderStaus), (int)model.OrderStaus },
{ nameof(RB_Point_TeacherCourseOrder_Extend.UpdateDate), model.UpdateDate }
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.ID),
FiledValue = model.ID,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.TenantId),
FiledValue = model.TenantId,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.MallBaseId),
FiledValue = model.MallBaseId,
OperatorEnum = OperatorEnum.Equal
}
};
flag = pointTeacherCourseOrderRepository.Update(fileds, auditrecordWhereHelpers, trans);
} }
if (model.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid && model.TotalPointNum > 0) if (model.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid && model.TotalPointNum > 0)
{ {
...@@ -660,11 +697,62 @@ namespace Mall.Module.Education ...@@ -660,11 +697,62 @@ namespace Mall.Module.Education
} }
}; };
member_UserRepository.Update(filedsUser, userWhereHelpers, trans); member_UserRepository.Update(filedsUser, userWhereHelpers, trans);
} }
pointTeacherCourseOrderRepository.DBSession.Commit();
return flag; return flag;
} }
/// <summary>
/// 确认订单
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool ConfirmTeacherCourseOrder(List<RB_Point_TeacherCourseOrder_Extend> list)
{
bool flag = false;
var trans = pointTeacherCourseOrderRepository.DbTransaction;
foreach (var model in list)
{
IDictionary<string, object> fileds = new Dictionary<string, object>
{
{ nameof(RB_Point_TeacherCourseOrder_Extend.OrderStaus), (int)model.OrderStaus },
{ nameof(RB_Point_TeacherCourseOrder_Extend.IsSendRoom),1 },
{ nameof(RB_Point_TeacherCourseOrder_Extend.UpdateDate), model.UpdateDate },
{ nameof(RB_Point_TeacherCourseOrder_Extend.RoomInfo), model.RoomInfo }
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.ID),
FiledValue = model.ID,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.TenantId),
FiledValue = model.TenantId,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
FiledName = nameof(RB_Point_TeacherCourseOrder_Extend.MallBaseId),
FiledValue = model.MallBaseId,
OperatorEnum = OperatorEnum.Equal
}
};
flag = pointTeacherCourseOrderRepository.Update(fileds, auditrecordWhereHelpers, trans);
}
if (flag)//推送房间信息
{
}
return flag;
}
......
...@@ -22,20 +22,34 @@ namespace Mall.Repository.Point ...@@ -22,20 +22,34 @@ namespace Mall.Repository.Point
public List<RB_Point_TeacherCourseOrder_Extend> GetPointOrderList(RB_Point_TeacherCourseOrder_Extend where) public List<RB_Point_TeacherCourseOrder_Extend> GetPointOrderList(RB_Point_TeacherCourseOrder_Extend where)
{ {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from RB_Point_TeacherCourseOrder where state=0"); sb.Append($@"SELECT a.*, b.`Name` as UserName, t.CourseName, c.CourseClassType, d.Name as TeacherName, d.TeacherLogo, b.OpenId
from RB_Point_TeacherCourseOrder as a
Left join rb_point_teachercourse t on a.CourseId = t.ID
Left Join rb_point_courseclass c on a.CourseClassId = c.ID
Left JOin rb_education_teacher d on a.TeacherId = d.ID
LEFT JOIN rb_member_user as b on a.UserId = b.Id
where a.state = 0");
if (where != null) if (where != null)
{ {
if (where.TenantId > 0) if (where.TenantId > 0)
{ {
sb.AppendFormat(" and TenantId={0}", where.TenantId); sb.AppendFormat(" and a.TenantId={0}", where.TenantId);
}
if (where.MallBaseId > 0)
{
sb.AppendFormat(" and a.MallBaseId={0}", where.MallBaseId);
}
if (where.CourseId > 0)
{
sb.AppendFormat(" and a.CourseId={0}", where.CourseId);
} }
if (where.MallBaseId > 0) if (where.MallBaseId > 0)
{ {
sb.AppendFormat(" and MallBaseId={0}", where.MallBaseId); sb.AppendFormat(" and a.MallBaseId={0}", where.MallBaseId);
} }
if (where.ID > 0) if (where.ID > 0)
{ {
sb.AppendFormat(" and ID={0}", where.ID); sb.AppendFormat(" and a.ID={0}", where.ID);
} }
} }
return Get<RB_Point_TeacherCourseOrder_Extend>(sb.ToString()).ToList(); return Get<RB_Point_TeacherCourseOrder_Extend>(sb.ToString()).ToList();
...@@ -55,7 +69,7 @@ namespace Mall.Repository.Point ...@@ -55,7 +69,7 @@ namespace Mall.Repository.Point
public List<RB_Point_TeacherCourseOrder_Extend> GetPointOrderPageList(int pageIndex, int pageSize, out long rowsCount, RB_Point_TeacherCourseOrder_Extend where) public List<RB_Point_TeacherCourseOrder_Extend> GetPointOrderPageList(int pageIndex, int pageSize, out long rowsCount, RB_Point_TeacherCourseOrder_Extend where)
{ {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT a.*,b.`Name` as UserName , t.CourseName,c.CourseClassType, d.Name as TeacherName ,d.TeacherLogo sb.Append($@"SELECT a.*,b.`Name` as UserName , t.CourseName,c.CourseClassType, d.Name as TeacherName ,d.TeacherLogo,b.OpenId
from RB_Point_TeacherCourseOrder as a from RB_Point_TeacherCourseOrder as a
Left join rb_point_teachercourse t on a.CourseId = t.ID Left join rb_point_teachercourse t on a.CourseId = t.ID
Left Join rb_point_courseclass c on a.CourseClassId = c.ID Left Join rb_point_courseclass c on a.CourseClassId = c.ID
......
...@@ -70,7 +70,7 @@ namespace Mall.WebApi.Controllers.Education ...@@ -70,7 +70,7 @@ namespace Mall.WebApi.Controllers.Education
/// 保存课程分类信息 /// 保存课程分类信息
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public ApiResult SetTeacherCourseOrder() public ApiResult GetSetTeacherCourseOrder()
{ {
var parms = RequestParm; var parms = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
...@@ -90,14 +90,52 @@ namespace Mall.WebApi.Controllers.Education ...@@ -90,14 +90,52 @@ namespace Mall.WebApi.Controllers.Education
if (query.ID == 0) if (query.ID == 0)
{ {
query.CreateDate = System.DateTime.Now; query.CreateDate = System.DateTime.Now;
} }
//查询课程信息 //查询课程信息
var courseModel = pointModule.GetTeacherCourseList(new RB_Point_TeacherCourse_Extend { TeacherId = query.TeacherId, ID = query.CourseId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault(); var courseModel = pointModule.GetTeacherCourseList(new RB_Point_TeacherCourse_Extend { TeacherId = query.TeacherId, ID = query.CourseId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
var courseClassModel = pointModule.GetPointCourseClassList(new RB_Point_CourseClass_Extend { ID = query.CourseClassId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault(); var courseClassModel = pointModule.GetPointCourseClassList(new RB_Point_CourseClass_Extend { ID = query.CourseClassId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
courseModel.StudyStartTime = Convert.ToDateTime(courseModel.StudyDate.ToString("yyyy-MM-dd") + " " + courseModel.StudyStartDate); query.TeacherId = courseModel.TeacherId;
//判断时长是否一致
if ((query.TotalStudyDuration % courseModel.StudyDuration) != 0)
{
return ApiResult.Failed("约课总时长必须课时时长的整数倍");
}
//判断时长是否一致
if (query.StudyDuration != courseModel.StudyDuration)
{
return ApiResult.Failed("约课时长与课时时长不等");
}
if (query.BasePointNum != courseModel.PointNum)
{
return ApiResult.Failed("约课点数错误");
}
if (query.TotalPointNum != (query.BasePointNum * (query.TotalStudyDuration / courseModel.StudyDuration)))
{
return ApiResult.Failed("约课总点数错误");
}
if (query.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid)
{
var userModel = pointModule.GetUserEntity(userInfo.UserId);
if (userModel == null)
{
return ApiResult.Failed("用户信息不存在");
}
else
{
if (userModel.PointNum < query.TotalPointNum)
{
return ApiResult.Failed("点数不够,请先购买点数");
}
}
}
courseModel.StudyStartTime = Convert.ToDateTime(courseModel.StudyDate.ToString("yyyy-MM-dd") + " " + courseModel.StudyStartDate);
if (courseModel.StudentNumType == Common.Enum.Point.StudentNumTypeEnum.OneToMany)//一对多的时候判断开始时间是否和课程一样 if (courseModel.StudentNumType == Common.Enum.Point.StudentNumTypeEnum.OneToMany)//一对多的时候判断开始时间是否和课程一样
{ {
if (courseModel.StudyDate != courseModel.StudyStartTime) if (courseModel.StudyDate != courseModel.StudyStartTime)
...@@ -106,32 +144,47 @@ namespace Mall.WebApi.Controllers.Education ...@@ -106,32 +144,47 @@ namespace Mall.WebApi.Controllers.Education
} }
} }
else else
{ //判断同一时间是否重复预约 {
var orderList = pointModule.GetPointOrderList(new RB_Point_TeacherCourseOrder_Extend { TeacherId = query.TeacherId, CourseId = query.CourseId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }); var orderList = pointModule.GetPointOrderList(new RB_Point_TeacherCourseOrder_Extend { TeacherId = query.TeacherId, CourseId = query.CourseId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
DateTime nowOrderDate = query.StudyDate; DateTime nowOrderDate = query.StudyDate;
if (query.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour) if (query.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour)
{ {
nowOrderDate = query.StudyDate.AddMinutes(Convert.ToDouble(query.TotalStudyDuration * 60));
} }
else else
{ {
nowOrderDate = query.StudyDate.AddMinutes(Convert.ToDouble(query.TotalStudyDuration)); nowOrderDate = query.StudyDate.AddMinutes(Convert.ToDouble(query.TotalStudyDuration));
} }
//判断同一时间是否重复预约
if (query.StudyDate < courseModel.StudyStartTime)
{
return ApiResult.Failed("预约时间不能小于开始时间");
}
if (nowOrderDate > Convert.ToDateTime(courseModel.StudyDate.ToString("yyyy-MM-dd") + " " + courseModel.StudyEndDate))
{
return ApiResult.Failed("预约结束时间不能大于课程预约结束时间");
}
foreach (var item in orderList) foreach (var item in orderList)
{ {
DateTime endTime = item.StudyDate; DateTime endTime = item.StudyDate;
if (item.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour) if (item.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour)
{ {
endTime = item.StudyDate.AddMinutes(Convert.ToDouble(item.TotalStudyDuration * 60));
} }
else else
{ {
endTime = item.StudyDate.AddMinutes(Convert.ToDouble(item.TotalStudyDuration)); endTime = item.StudyDate.AddMinutes(Convert.ToDouble(item.TotalStudyDuration));
} }
if (query.StudyDate == item.StudyDate)
{
return ApiResult.Failed("当前预约时间已预约");
}
if (pointModule.GetTimeSpan(query.StudyDate, item.StudyDate.ToString("HH:mm"), endTime.ToString("HH:mm"))) if (pointModule.GetTimeSpan(query.StudyDate, item.StudyDate.ToString("HH:mm"), endTime.ToString("HH:mm")))
{ {
return ApiResult.Failed("当前预约时间已预约"); return ApiResult.Failed("当前预约时间已预约");
...@@ -142,20 +195,23 @@ namespace Mall.WebApi.Controllers.Education ...@@ -142,20 +195,23 @@ namespace Mall.WebApi.Controllers.Education
} }
} }
} }
query.ActualPointNum = query.TotalPointNum;
query.State = 0; query.State = 0;
query.UserId = userInfo.UserId;
query.UpdateDate = System.DateTime.Now; query.UpdateDate = System.DateTime.Now;
bool result = pointModule.SetTeacherCourseOrder(query); bool result = pointModule.SetTeacherCourseOrder(query);
if (result) if (result)
{ {
return ApiResult.Success("课程分类信息保存成功"); return ApiResult.Success("预约成功");
} }
else else
{ {
return ApiResult.Failed("课程分类信息保存失败"); return ApiResult.Failed("预约失败");
} }
} }
} }
/// <summary> /// <summary>
/// 获取订单列表分页列表 /// 获取订单列表分页列表
/// </summary> /// </summary>
...@@ -245,6 +301,8 @@ namespace Mall.WebApi.Controllers.Education ...@@ -245,6 +301,8 @@ namespace Mall.WebApi.Controllers.Education
}); });
} }
#endregion #endregion
} }
} }
...@@ -186,7 +186,7 @@ namespace Mall.WebApi.Controllers.Education ...@@ -186,7 +186,7 @@ namespace Mall.WebApi.Controllers.Education
}; };
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
} }
/// <summary> /// <summary>
/// 后台获取点数记录 /// 后台获取点数记录
/// </summary> /// </summary>
...@@ -232,7 +232,8 @@ namespace Mall.WebApi.Controllers.Education ...@@ -232,7 +232,8 @@ namespace Mall.WebApi.Controllers.Education
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetPointOrderPageList() { public ApiResult GetPointOrderPageList()
{
var parms = RequestParm; var parms = RequestParm;
var userInfo = UserInfo; var userInfo = UserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString()); ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
...@@ -274,16 +275,18 @@ namespace Mall.WebApi.Controllers.Education ...@@ -274,16 +275,18 @@ namespace Mall.WebApi.Controllers.Education
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetPointOrderInfo() { public ApiResult GetPointOrderInfo()
{
var userInfo = UserInfo; var userInfo = UserInfo;
var parms = JObject.Parse(RequestParm.msg.ToString()); var parms = JObject.Parse(RequestParm.msg.ToString());
int OrderId = parms.GetInt("OrderId", 0); int OrderId = parms.GetInt("OrderId", 0);
if (OrderId <= 0) { if (OrderId <= 0)
{
return ApiResult.ParamIsNull("请传递订单id"); return ApiResult.ParamIsNull("请传递订单id");
} }
var model = pointModule.GetPointOrderInfo(OrderId, userInfo.TenantId); var model = pointModule.GetPointOrderInfo(OrderId, userInfo.TenantId);
if (model == null) { return ApiResult.Failed("订单不存在");} if (model == null) { return ApiResult.Failed("订单不存在"); }
return ApiResult.Success("", new return ApiResult.Success("", new
{ {
model.ID, model.ID,
...@@ -311,6 +314,24 @@ namespace Mall.WebApi.Controllers.Education ...@@ -311,6 +314,24 @@ namespace Mall.WebApi.Controllers.Education
}); });
} }
/// <summary>
/// 获取订单状态枚举
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetOrderStausEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.Point.OrderStausEnum));
return ApiResult.Success("", list.OrderBy(x => Convert.ToInt32(x.Value)).Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
#endregion #endregion
#region 在线课程分类 #region 在线课程分类
...@@ -662,7 +683,7 @@ namespace Mall.WebApi.Controllers.Education ...@@ -662,7 +683,7 @@ namespace Mall.WebApi.Controllers.Education
return ApiResult.Failed("请输入点数"); return ApiResult.Failed("请输入点数");
} }
} }
if (query.StudyDuration == 0) if (query.StudyDuration == 0)
{ {
return ApiResult.Failed("请输入课时时长"); return ApiResult.Failed("请输入课时时长");
......
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