Commit 6bd4ef6e authored by 吴春's avatar 吴春

解决冲突

parents 20d8c6d1 0ab11107
...@@ -14,11 +14,14 @@ namespace Edu.Common.WeChatPayAPIv3 ...@@ -14,11 +14,14 @@ namespace Edu.Common.WeChatPayAPIv3
/// </summary> /// </summary>
public class AesGcmHelper public class AesGcmHelper
{ {
private static string ALGORITHM = "AES/GCM/NoPadding"; /// <summary>
private static int TAG_LENGTH_BIT = 128; /// 解密微信
private static int NONCE_LENGTH_BYTE = 12; /// </summary>
private static string AES_KEY = string.Empty; /// <param name="associatedData"></param>
/// <param name="nonce"></param>
/// <param name="ciphertext"></param>
/// <param name="APIV3Key"></param>
/// <returns></returns>
public static string AesGcmDecrypt(string associatedData, string nonce, string ciphertext, string APIV3Key) public static string AesGcmDecrypt(string associatedData, string nonce, string ciphertext, string APIV3Key)
{ {
GcmBlockCipher gcmBlockCipher = new GcmBlockCipher(new AesEngine()); GcmBlockCipher gcmBlockCipher = new GcmBlockCipher(new AesEngine());
......
...@@ -112,6 +112,11 @@ namespace Edu.Model.CacheModel ...@@ -112,6 +112,11 @@ namespace Edu.Model.CacheModel
/// </summary> /// </summary>
public string PostName { get; set; } public string PostName { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string Email { get; set; }
/// <summary> /// <summary>
/// 功能权限列表 /// 功能权限列表
/// </summary> /// </summary>
......
using Edu.Common.Enum;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 班级关联课程实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Class_Course
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public DateStateEnum Status { get; set; }
}
}
using System; using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum; using Edu.Common.Enum;
using VT.FW.DB; using VT.FW.DB;
namespace Edu.Model.Entity.Course namespace Edu.Model.Entity.Course
{ {
/// <summary>
/// 班级备案评论实体类
/// </summary>
[Serializable] [Serializable]
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Class_LessonComment public class RB_Class_LessonComment
{ /// <summary> {
/// <summary>
/// 教案评论id /// 教案评论id
/// </summary> /// </summary>
public int LessonCommentId { get; set; } public int LessonCommentId { get; set; }
......
...@@ -199,5 +199,20 @@ namespace Edu.Model.Entity.Course ...@@ -199,5 +199,20 @@ namespace Edu.Model.Entity.Course
/// (教育订单使用)订单性质(1-直通车,2-代收代付,3-返佣) /// (教育订单使用)订单性质(1-直通车,2-代收代付,3-返佣)
/// </summary> /// </summary>
public decimal OldPreferPrice { get; set; } public decimal OldPreferPrice { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 插班开始课时
/// </summary>
public int StartClassHours { get; set; }
/// <summary>
/// 是否插班报入
/// </summary>
public int IsChaBan { get; set; }
} }
} }
using Edu.Model.Entity.Course;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 班级关联课程扩展实体类
/// </summary>
public class RB_Class_Course_Extend : RB_Class_Course
{
/// <summary>
/// 班级编号【查询使用】
/// </summary>
public string QClassIds { get; set; }
/// <summary>
/// 课程名称
/// </summary>
public string CourseName { get; set; }
/// <summary>
/// 课程课时
/// </summary>
public int ClassHours { get; set; }
/// <summary>
/// 课程价格
/// </summary>
public decimal SellPrice { get; set; }
}
}
using System; using Edu.Model.Entity.Course;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.Course;
namespace Edu.Model.ViewModel.Course namespace Edu.Model.ViewModel.Course
{ {
/// <summary>
/// 班级备案评论扩展实体类
/// </summary>
public class RB_Class_LessonComment_ViewModel : RB_Class_LessonComment public class RB_Class_LessonComment_ViewModel : RB_Class_LessonComment
{ {
/// <summary> /// <summary>
......
...@@ -73,6 +73,7 @@ namespace Edu.Model.ViewModel.Course ...@@ -73,6 +73,7 @@ namespace Edu.Model.ViewModel.Course
/// 上课开始时间 /// 上课开始时间
/// </summary> /// </summary>
public string StartTime { get; set; } public string StartTime { get; set; }
/// <summary> /// <summary>
/// 上课结束时间 /// 上课结束时间
/// </summary> /// </summary>
...@@ -92,5 +93,10 @@ namespace Edu.Model.ViewModel.Course ...@@ -92,5 +93,10 @@ namespace Edu.Model.ViewModel.Course
/// 学生id /// 学生id
/// </summary> /// </summary>
public int StuId { get; set; } public int StuId { get; set; }
/// <summary>
/// 每一节课分钟数
/// </summary>
public int ClassMinutes { get; set; }
} }
} }
...@@ -187,6 +187,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -187,6 +187,11 @@ namespace Edu.Model.ViewModel.Course
/// 课程原价 /// 课程原价
/// </summary> /// </summary>
public decimal CourseOriginalPrice { get; set; } public decimal CourseOriginalPrice { get; set; }
/// <summary>
/// 关联其他课程列表
/// </summary>
public List<RB_Class_Course_Extend> OtherCourseList { get; set; }
} }
/// <summary> /// <summary>
......
using System; using Edu.Common.Enum.Sale;
using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course namespace Edu.Model.ViewModel.Course
...@@ -81,5 +82,27 @@ namespace Edu.Model.ViewModel.Course ...@@ -81,5 +82,27 @@ namespace Edu.Model.ViewModel.Course
{ {
get; set; get; set;
} }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public OrderTypeEnum OrderType { get; set; }
/// <summary>
/// 开始课时
/// </summary>
public int StartClassHours { get; set; }
/// <summary>
/// 是否插班报入(1-是)
/// </summary>
public int IsChaBan { get; set; }
} }
} }
\ No newline at end of file
...@@ -44,11 +44,6 @@ namespace Edu.Model.ViewModel.Course ...@@ -44,11 +44,6 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public string GuestName { get; set; } public string GuestName { get; set; }
/// <summary>
/// 课程id
/// </summary>
public int CouseId { get; set; }
/// <summary> /// <summary>
/// 订单查询状态 1正常 2取消 /// 订单查询状态 1正常 2取消
/// </summary> /// </summary>
...@@ -126,5 +121,12 @@ namespace Edu.Model.ViewModel.Course ...@@ -126,5 +121,12 @@ namespace Edu.Model.ViewModel.Course
/// 协助人员姓名 /// 协助人员姓名
/// </summary> /// </summary>
public string HelpEnterName { get; set; } public string HelpEnterName { get; set; }
/// <summary>
/// 课程名称
/// </summary>
public string CourseName { get; set; }
} }
} }
\ No newline at end of file
...@@ -72,5 +72,10 @@ namespace Edu.Model.ViewModel.User ...@@ -72,5 +72,10 @@ namespace Edu.Model.ViewModel.User
/// 岗位名称 /// 岗位名称
/// </summary> /// </summary>
public string PostName { get; set; } public string PostName { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string Email { get; set; }
} }
} }
\ No newline at end of file
...@@ -98,15 +98,22 @@ namespace Edu.Module.Course ...@@ -98,15 +98,22 @@ namespace Edu.Module.Course
/// 课程基础配置 /// 课程基础配置
/// </summary> /// </summary>
private readonly RB_Class_LessonPlanProjectsRepository ClassLessonPlanProjectsRepository = new RB_Class_LessonPlanProjectsRepository(); private readonly RB_Class_LessonPlanProjectsRepository ClassLessonPlanProjectsRepository = new RB_Class_LessonPlanProjectsRepository();
private readonly RB_Class_LessonCommentRepository classLessonCommentRepository = new RB_Class_LessonCommentRepository();
/// <summary>
/// 班级备案评论仓储层对象
/// </summary>
private readonly RB_Class_LessonCommentRepository classLessonCommentRepository = new RB_Class_LessonCommentRepository();
/// <summary> /// <summary>
/// 课程基础配置 /// 课程基础配置
/// </summary> /// </summary>
private readonly RB_Class_LessonPlanRepository ClassLessonPlanRepository = new RB_Class_LessonPlanRepository(); private readonly RB_Class_LessonPlanRepository ClassLessonPlanRepository = new RB_Class_LessonPlanRepository();
/// <summary>
/// 班级关联课程仓储层对象
/// </summary>
private readonly RB_Class_CourseRepository class_CourseRepository = new RB_Class_CourseRepository();
/// <summary> /// <summary>
/// 获取班级列表 /// 获取班级列表
/// </summary> /// </summary>
...@@ -190,11 +197,13 @@ namespace Edu.Module.Course ...@@ -190,11 +197,13 @@ namespace Edu.Module.Course
var classTimeList = new List<RB_Class_Time_ViewModel>(); var classTimeList = new List<RB_Class_Time_ViewModel>();
var classOrderList = new List<RB_Order_ViewModel>(); var classOrderList = new List<RB_Order_ViewModel>();
var stepPriceList = new List<RB_Class_StepPrice_ViewModel>(); var stepPriceList = new List<RB_Class_StepPrice_ViewModel>();
var otherCourseList = new List<RB_Class_Course_Extend>();
string ids = string.Join(",", list.Select(qitem => qitem.ClassId)); string ids = string.Join(",", list.Select(qitem => qitem.ClassId));
if (!string.IsNullOrEmpty(ids)) if (!string.IsNullOrEmpty(ids))
{ {
classTimeList = class_TimeRepository.GetClassTimeListRepository(ids); classTimeList = class_TimeRepository.GetClassTimeListRepository(ids);
classOrderList = orderRepository.GetClassOrderPeopleNum(ids); classOrderList = orderRepository.GetClassOrderPeopleNum(ids);
otherCourseList= GetClassCourseListModule(new RB_Class_Course_Extend() { QClassIds = ids });
} }
if (isGetStepPrice) if (isGetStepPrice)
{ {
...@@ -210,6 +219,7 @@ namespace Edu.Module.Course ...@@ -210,6 +219,7 @@ namespace Edu.Module.Course
{ {
item.ClassStepPriceList = stepPriceList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList() ?? new List<RB_Class_StepPrice_ViewModel>(); item.ClassStepPriceList = stepPriceList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList() ?? new List<RB_Class_StepPrice_ViewModel>();
} }
item.OtherCourseList = otherCourseList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList() ?? new List<RB_Class_Course_Extend>();
} }
} }
return list; return list;
...@@ -423,7 +433,6 @@ namespace Edu.Module.Course ...@@ -423,7 +433,6 @@ namespace Edu.Module.Course
} }
} }
#endregion #endregion
return flag; return flag;
} }
...@@ -502,7 +511,6 @@ namespace Edu.Module.Course ...@@ -502,7 +511,6 @@ namespace Edu.Module.Course
var flag2 = class_PlanRepository.DeleteClassPlanRepository(ids); var flag2 = class_PlanRepository.DeleteClassPlanRepository(ids);
} }
} }
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>(); List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
if (model.ClassHours > 0) if (model.ClassHours > 0)
{ {
...@@ -664,7 +672,6 @@ namespace Edu.Module.Course ...@@ -664,7 +672,6 @@ namespace Edu.Module.Course
{ {
} }
} }
return classPlanList; return classPlanList;
} }
...@@ -1054,7 +1061,7 @@ namespace Edu.Module.Course ...@@ -1054,7 +1061,7 @@ namespace Edu.Module.Course
/// <param name="DropOutRemark"></param> /// <param name="DropOutRemark"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public bool UpdateClassStudentDropOutModule(string ids, string dropOutRemark, int classId, int createBy, int group_Id, int school_Id, string studentName) public virtual bool UpdateClassStudentDropOutModule(string ids, string dropOutRemark, int classId, int createBy, int group_Id, int school_Id, string studentName)
{ {
bool flag = false; bool flag = false;
foreach (var item in ids.Split(",")) foreach (var item in ids.Split(","))
...@@ -1105,7 +1112,6 @@ namespace Edu.Module.Course ...@@ -1105,7 +1112,6 @@ namespace Edu.Module.Course
{ {
{nameof(RB_Student_ViewModel.StuStatus),3}, {nameof(RB_Student_ViewModel.StuStatus),3},
}; };
//写日志 //写日志
studentRepository.Update(fileds, new WhereHelper(nameof(RB_Student_ViewModel.StuId), model.StudentId)); studentRepository.Update(fileds, new WhereHelper(nameof(RB_Student_ViewModel.StuId), model.StudentId));
var classLogModel = new Model.Entity.Log.RB_Class_Log() var classLogModel = new Model.Entity.Log.RB_Class_Log()
...@@ -1385,7 +1391,6 @@ namespace Edu.Module.Course ...@@ -1385,7 +1391,6 @@ namespace Edu.Module.Course
/// <returns></returns> /// <returns></returns>
public bool SetClassFinance(RB_Class_Finance_ViewModel model) public bool SetClassFinance(RB_Class_Finance_ViewModel model)
{ {
var oldModel = GetClassFinanceListRepository(model).FirstOrDefault(); var oldModel = GetClassFinanceListRepository(model).FirstOrDefault();
if (oldModel == null || oldModel.FinanceId == 0) if (oldModel == null || oldModel.FinanceId == 0)
{ {
...@@ -1507,18 +1512,18 @@ namespace Edu.Module.Course ...@@ -1507,18 +1512,18 @@ namespace Edu.Module.Course
} }
} }
} }
return flag; return flag;
} }
/// <summary> /// <summary>
/// 新增/修改老师教案 /// 新增/修改老师教案
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public bool UpdateClassLessPlan(Class_LessonPlan_ViewModel model) public virtual bool UpdateClassLessPlan(Class_LessonPlan_ViewModel model)
{ {
bool flag = false; bool flag = true;
if (model.LessonPlanList != null && model.LessonPlanList.Any()) if (model.LessonPlanList != null && model.LessonPlanList.Any())
{ {
foreach (var item in model.LessonPlanList) foreach (var item in model.LessonPlanList)
...@@ -1529,12 +1534,13 @@ namespace Edu.Module.Course ...@@ -1529,12 +1534,13 @@ namespace Edu.Module.Course
{ {
{nameof(RB_Class_LessonPlanDetails_ViewModel.Summary),itemDetails.Summary} {nameof(RB_Class_LessonPlanDetails_ViewModel.Summary),itemDetails.Summary}
}; };
ClassLessonPlanDetailsRepository.Update(fileds, new WhereHelper(nameof(RB_Class_LessonPlanDetails_ViewModel.LessonPlanDetailsId), itemDetails.LessonPlanDetailsId)); if (flag)
{
flag = ClassLessonPlanDetailsRepository.Update(fileds, new WhereHelper(nameof(RB_Class_LessonPlanDetails_ViewModel.LessonPlanDetailsId), itemDetails.LessonPlanDetailsId));
}
} }
} }
return true;
} }
return flag; return flag;
} }
...@@ -1592,10 +1598,6 @@ namespace Edu.Module.Course ...@@ -1592,10 +1598,6 @@ namespace Edu.Module.Course
return ClassLessonPlanRepository.GetLessonPlanListRepository(query); return ClassLessonPlanRepository.GetLessonPlanListRepository(query);
} }
/// <summary> /// <summary>
/// 获取老师计划列表 /// 获取老师计划列表
/// </summary> /// </summary>
...@@ -1876,5 +1878,81 @@ namespace Edu.Module.Course ...@@ -1876,5 +1878,81 @@ namespace Edu.Module.Course
var flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), ClassId)); var flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), ClassId));
return flag; return flag;
} }
#region 班级课程关联管理
/// <summary>
/// 新增修改班级关联课程
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetClassCourseModule(List<RB_Class_Course_Extend> list)
{
bool flag = false;
foreach (var model in list)
{
var newModel = class_CourseRepository.GetClassCourseListRepository(new RB_Class_Course_Extend()
{
CourseId = model.CourseId,
ClassId = model.ClassId
})?.FirstOrDefault();
model.Id = newModel?.Id ?? 0;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Course_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Class_Course_Extend.UpdateTime),model.UpdateTime },
};
flag = class_CourseRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Course_Extend.Id), model.Id));
}
else
{
var newId = class_CourseRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
}
return flag;
}
/// <summary>
/// 获取班级关联课程列表
/// </summary>
/// <param name="query"></param>
public List<RB_Class_Course_Extend> GetClassCourseListModule(RB_Class_Course_Extend query)
{
return class_CourseRepository.GetClassCourseListRepository(query);
}
/// <summary>
/// 删除班级关联课程
/// </summary>
/// <param name="Id"></param>
/// <param name="message"></param>
/// <returns></returns>
public bool RemoveClassCourseModule(int Id, out string message)
{
message = "";
var classCourse = class_CourseRepository.GetEntity(Id);
var orderList = orderRepository.GetList(new RB_Order_ViewModel()
{
ClassId = classCourse.ClassId,
CourseId = classCourse.CourseId,
OrderState = OrderStateEnum.Normal
});
if (orderList != null && orderList.Count > 0)
{
message = "此关联课程下有正常的订单,不能取消!";
return false;
}
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Course_Extend.Status),(int)DateStateEnum.Delete },
};
var flag = class_CourseRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Course_Extend.Id), Id));
return flag;
}
#endregion
} }
} }
This diff is collapsed.
...@@ -39,7 +39,6 @@ WHERE 1=1 ...@@ -39,7 +39,6 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
} }
if (query.ClassId > 0) if (query.ClassId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId);
......
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Course
{
/// <summary>
/// 班级关联课程仓储层
/// </summary>
public class RB_Class_CourseRepository : BaseRepository<RB_Class_Course>
{
/// <summary>
/// 获取班级关联课程列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Course_Extend> GetClassCourseListRepository(RB_Class_Course_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* ,IFNULL(B.CourseName,'') AS CourseName,IFNULL(B.ClassHours,0) AS ClassHours,IFNULL(B.SellPrice,0) AS SellPrice
FROM RB_Class_Course AS A LEFT JOIN rb_course AS B ON A.CourseId=B.CourseId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Course_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Course_Extend.Group_Id), query.Group_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Course_Extend.ClassId), query.ClassId);
}
if (query.CourseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Course_Extend.CourseId), query.CourseId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Course_Extend.ClassId), query.QClassIds);
}
}
return Get<RB_Class_Course_Extend>(builder.ToString()).ToList();
}
}
}
...@@ -7,6 +7,9 @@ using Edu.Model.ViewModel.Course; ...@@ -7,6 +7,9 @@ using Edu.Model.ViewModel.Course;
namespace Edu.Repository.Course namespace Edu.Repository.Course
{ {
/// <summary>
/// 班级备案评论仓储层
/// </summary>
public class RB_Class_LessonCommentRepository : BaseRepository<RB_Class_LessonComment> public class RB_Class_LessonCommentRepository : BaseRepository<RB_Class_LessonComment>
{ {
/// <summary> /// <summary>
......
...@@ -24,8 +24,10 @@ namespace Edu.Repository.Course ...@@ -24,8 +24,10 @@ namespace Edu.Repository.Course
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon SELECT A.*,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon
,Time.StartTime,time.EndTime,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',time.StartTime), CONCAT('2020-12-16',' ',time.EndTime)) AS ClassMinutes
FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
LEFT JOIN rb_class_time AS time ON A.ClassPlanId=Time.ClassPlanId
WHERE 1=1 WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
...@@ -59,10 +61,61 @@ WHERE 1=1 ...@@ -59,10 +61,61 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')>='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')>='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
} }
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')<='{1} 23:59:59' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取班级上课计划
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanModelRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*
FROM rb_class_plan as a
WHERE a.`Status`=0 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (query.Status >= 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status);
}
if (!string.IsNullOrEmpty(query.QClassDateStr))
{
builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT('{0}','%Y-%m-%d') ", query.QClassDateStr);
}
else
{
builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') ");
}
} }
builder.AppendFormat(@" ORDER BY ClassDate DESC ");
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
} }
/// <summary> /// <summary>
/// 判断是否存在 /// 判断是否存在
/// </summary> /// </summary>
...@@ -115,10 +168,12 @@ WHERE ClassId={1} AND ClassDate>'{2}' ...@@ -115,10 +168,12 @@ WHERE ClassId={1} AND ClassDate>'{2}'
public List<RB_Class_Plan_ViewModel> GetClassPlanList_V2(RB_Class_Plan_ViewModel query) public List<RB_Class_Plan_ViewModel> GetClassPlanList_V2(RB_Class_Plan_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName from rb_class_plan as a builder.AppendFormat(@"
left join rb_class c on a.ClassId = c.ClassId SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId FROM rb_class_plan as a
where a.`Status`=0 "); LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
where a.`Status`=0 ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -157,7 +212,6 @@ LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId ...@@ -157,7 +212,6 @@ LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
{ {
builder.AppendFormat(" AND A.{0} <='{1} 23:59:59' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime); builder.AppendFormat(" AND A.{0} <='{1} 23:59:59' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
} }
} }
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
} }
...@@ -174,12 +228,13 @@ LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId ...@@ -174,12 +228,13 @@ LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
/// <returns></returns> /// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Class_Plan_ViewModel query) public List<RB_Class_Plan_ViewModel> GetClassPlanLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Class_Plan_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT a.*,b.Teacher_Id,c.TeacherName from rb_class_plan as a builder.AppendFormat(@"
LEFT JOIN rb_class as b on a.ClassId=b.ClassId SELECT a.*,b.Teacher_Id,c.TeacherName
LEFT JOIN rb_teacher as c on c.TId=a.TeacherId FROM rb_class_plan as a
where a.`Status`=0 and DATE_FORMAT(a.ClassDate,'%Y-%m-%d')<=DATE_FORMAT(NOW(),'%Y-%m-%d') "); LEFT JOIN rb_class as b on a.ClassId=b.ClassId
LEFT JOIN rb_teacher as c on c.TId=a.TeacherId
WHERE a.`Status`=0 and DATE_FORMAT(a.ClassDate,'%Y-%m-%d')<=DATE_FORMAT(NOW(),'%Y-%m-%d') ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -202,59 +257,12 @@ LEFT JOIN rb_teacher as c on c.TId=a.TeacherId ...@@ -202,59 +257,12 @@ LEFT JOIN rb_teacher as c on c.TId=a.TeacherId
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status);
} }
} }
builder.AppendFormat(@" order by ClassDate desc "); builder.AppendFormat(@" order by ClassDate desc ");
return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
/// <summary>
/// 获取班级上课计划
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanModelRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*
FROM rb_class_plan as a
WHERE a.`Status`=0 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (query.Status >= 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status);
}
if (!string.IsNullOrEmpty(query.QClassDateStr))
{
builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT('{0}','%Y-%m-%d') ", query.QClassDateStr);
}
else
{
builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') ");
}
}
builder.AppendFormat(@" ORDER BY ClassDate DESC ");
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary> /// <summary>
/// 获取班级累计上课时间(分钟) /// 获取班级累计上课时间(分钟)
/// </summary> /// </summary>
...@@ -280,10 +288,6 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId} ...@@ -280,10 +288,6 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
} }
/// <summary> /// <summary>
/// 获取班级上课计划列表 /// 获取班级上课计划列表
/// </summary> /// </summary>
......
...@@ -111,16 +111,6 @@ FROM rb_class_time AS B INNER JOIN rb_class_plan AS A ON A.ClassPlanId=B.ClassPl ...@@ -111,16 +111,6 @@ FROM rb_class_time AS B INNER JOIN rb_class_plan AS A ON A.ClassPlanId=B.ClassPl
} }
/// <summary>
/// 根据班级编号删除班级上课时间
/// </summary>
/// <param name="ClassId">班级编号</param>
/// <returns></returns>
public bool DeleteClassTimeRepository(int ClassId)
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_Time_ViewModel.ClassId), ClassId));
}
/// <summary> /// <summary>
/// 根据上课计划编号删除上课计划 /// 根据上课计划编号删除上课计划
/// </summary> /// </summary>
......
...@@ -47,6 +47,10 @@ namespace Edu.Repository.Course ...@@ -47,6 +47,10 @@ namespace Edu.Repository.Course
{ {
where += $@" and o.{nameof(RB_Order_ViewModel.SourceId)} ={demodel.SourceId}"; where += $@" and o.{nameof(RB_Order_ViewModel.SourceId)} ={demodel.SourceId}";
} }
if (demodel.CourseId > 0)
{
where += $@" and o.{nameof(RB_Order_ViewModel.CourseId)} ={demodel.CourseId}";
}
if (!string.IsNullOrEmpty(demodel.ClassIds)) if (!string.IsNullOrEmpty(demodel.ClassIds))
{ {
where += $@" and o.{nameof(RB_Order_ViewModel.ClassId)} in({demodel.ClassIds})"; where += $@" and o.{nameof(RB_Order_ViewModel.ClassId)} in({demodel.ClassIds})";
...@@ -97,12 +101,15 @@ namespace Edu.Repository.Course ...@@ -97,12 +101,15 @@ namespace Edu.Repository.Course
orderBy = " o.CreateTime desc"; orderBy = " o.CreateTime desc";
} }
string sql = $@" select o.*,c.ClassName,t.TeacherName,t.TeacherIcon from RB_Order o string sql = $@"
left join rb_class c on o.ClassId = c.ClassId SELECT o.*,c.ClassName,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName
left join rb_teacher t on c.Teacher_Id = t.TId FROM RB_Order o
where {where} order by {orderBy} LEFT JOIN rb_class c on o.ClassId = c.ClassId
LEFT JOIN rb_teacher t on c.Teacher_Id = t.TId
LEFT JOIN rb_course AS course ON (o.CourseId=course.CourseId AND o.CourseId>0 AND o.OrderType=1)
WHERE {where}
ORDER BY {orderBy}
"; ";
return Get<RB_Order_ViewModel>(sql).ToList(); return Get<RB_Order_ViewModel>(sql).ToList();
} }
...@@ -180,9 +187,9 @@ where {where} order by {orderBy} ...@@ -180,9 +187,9 @@ where {where} order by {orderBy}
where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')"; where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')";
} }
} }
if (demodel.CouseId > 0) if (demodel.CourseId > 0)
{ {
where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CouseId}"; where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CourseId}";
} }
if (!string.IsNullOrEmpty(demodel.StartTime)) if (!string.IsNullOrEmpty(demodel.StartTime))
{ {
...@@ -282,9 +289,9 @@ where {where} order by {orderBy} ...@@ -282,9 +289,9 @@ where {where} order by {orderBy}
where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')"; where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')";
} }
} }
if (demodel.CouseId > 0) if (demodel.CourseId > 0)
{ {
where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CouseId}"; where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CourseId}";
} }
if (!string.IsNullOrEmpty(demodel.StartTime)) if (!string.IsNullOrEmpty(demodel.StartTime))
{ {
......
...@@ -126,38 +126,42 @@ namespace Edu.Repository.Course ...@@ -126,38 +126,42 @@ namespace Edu.Repository.Course
/// <returns></returns> /// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{ {
string where = $@" 1=1 and Status=0"; StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* ,IFNULL(course.CourseName,'') AS CourseName,tOrder.CourseId,tOrder.OrderType,tOrder.StartClassHours,tOrder.IsChaBan
FROM RB_Order_Guest AS A LEFT JOIN RB_Order as tOrder ON A.OrderId=tOrder.OrderId
LEFT JOIN rb_course AS course ON (tOrder.CourseId=course.CourseId AND tOrder.CourseId>0 AND tOrder.OrderType=1)
WHERE 1=1 AND A.Status=0
");
if (demodel.Group_Id > 0) if (demodel.Group_Id > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}");
} }
if (demodel.School_Id > 0) if (demodel.School_Id > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}");
} }
if (demodel.OrderId > 0) if (demodel.OrderId > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}");
} }
if (demodel.ClassId > 0) if (demodel.ClassId > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}");
} }
if (demodel.SourceId > 0) if (demodel.SourceId > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.SourceId)} ={demodel.SourceId}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.SourceId)} ={demodel.SourceId}");
} }
if (!string.IsNullOrEmpty(demodel.GuestName)) if (!string.IsNullOrEmpty(demodel.GuestName))
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'");
} }
if (demodel.GuestState > 0) if (demodel.GuestState > 0)
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}"; builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}");
} }
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
string sql = $@" select * from RB_Order_Guest where {where}";
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
} }
...@@ -197,7 +201,6 @@ namespace Edu.Repository.Course ...@@ -197,7 +201,6 @@ namespace Edu.Repository.Course
{ {
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}"; where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
} }
string sql = $@" select count(0) from RB_Order_Guest where {where}"; string sql = $@" select count(0) from RB_Order_Guest where {where}";
var obj = ExecuteScalar(sql); var obj = ExecuteScalar(sql);
if (obj == null) if (obj == null)
......
...@@ -136,17 +136,17 @@ SELECT A.*,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName, ...@@ -136,17 +136,17 @@ SELECT A.*,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName,
FROM FROM
( (
SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status` SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status`
,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.MName,'') AS AccountName,B.MHead AS UserIcon,B.Dept_Id,B.Post_Id ,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.MName,'') AS AccountName,B.MHead AS UserIcon,B.Dept_Id,B.Post_Id,IFNULL(B.Email,'') AS Email
FROM rb_account AS A INNER JOIN rb_manager AS B ON A.AccountId=B.MId AND A.AccountType=1 FROM rb_account AS A INNER JOIN rb_manager AS B ON A.AccountId=B.MId AND A.AccountType=1
WHERE 1=1 {0} WHERE 1=1 {0}
UNION ALL UNION ALL
SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status` SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status`
,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.TeacherName,'') AS AccountName,B.TeacherIcon AS UserIcon,B.Dept_Id,B.Post_Id ,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.TeacherName,'') AS AccountName,B.TeacherIcon AS UserIcon,B.Dept_Id,B.Post_Id,IFNULL(B.Email,'') AS Email
FROM rb_account AS A INNER JOIN rb_teacher AS B ON A.AccountId=B.TId AND A.AccountType=2 FROM rb_account AS A INNER JOIN rb_teacher AS B ON A.AccountId=B.TId AND A.AccountType=2
WHERE 1=1 {0} WHERE 1=1 {0}
UNION ALL UNION ALL
SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status` SELECT A.Id,A.Account,A.`Password`,A.AccountType,A.AccountId,A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,B.School_Id,A.`Status`
,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.AssistName,'') AS AccountName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id ,A.AnnualLeaveDay, A.DirectSupervisor,A.OpenId,A.ActivationStatus,IFNULL(B.AssistName,'') AS AccountName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id,IFNULL(B.Email,'') AS Email
FROM rb_account AS A INNER JOIN rb_assist AS B ON A.AccountId=B.AId AND A.AccountType=3 FROM rb_account AS A INNER JOIN rb_assist AS B ON A.AccountId=B.AId AND A.AccountType=3
WHERE 1=1 {0} WHERE 1=1 {0}
) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId ) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId
......
...@@ -76,6 +76,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -76,6 +76,7 @@ namespace Edu.WebApi.Controllers.Course
item.NewPlanDateTime, item.NewPlanDateTime,
item.ClassStatus, item.ClassStatus,
item.Status, item.Status,
item.OtherCourseList,
}); });
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
...@@ -369,8 +370,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -369,8 +370,10 @@ namespace Edu.WebApi.Controllers.Course
EndTime = jobj["EndTime"].ToString(), EndTime = jobj["EndTime"].ToString(),
}); });
} }
List<ClassTimeItem> slist = new List<ClassTimeItem>(); List<ClassTimeItem> slist = new List<ClassTimeItem>
slist.Add(model); {
model
};
bool flag = classModule.UpdateClassTimeModule(item.ClassId, Common.Plugin.JsonHelper.Serialize(slist)); bool flag = classModule.UpdateClassTimeModule(item.ClassId, Common.Plugin.JsonHelper.Serialize(slist));
} }
} }
...@@ -390,7 +393,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -390,7 +393,7 @@ namespace Edu.WebApi.Controllers.Course
}; };
if (extModel.ClassId <= 0) if (extModel.ClassId <= 0)
{ {
return ApiResult.ParamIsNull(message: "获取到班级编号,请刷新页面重试!"); return ApiResult.ParamIsNull(message: "获取到班级编号,请刷新页面重试!");
} }
bool flag = classModule.SetClassStatusModule(extModel.ClassStatus, extModel.ClassId); bool flag = classModule.SetClassStatusModule(extModel.ClassStatus, extModel.ClassId);
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
...@@ -467,7 +470,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -467,7 +470,6 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult GetCourseClassTypeEnumList() public ApiResult GetCourseClassTypeEnumList()
{ {
var list = Common.Plugin.EnumHelper.EnumToList(typeof(CourseClassTypeEnum)); var list = Common.Plugin.EnumHelper.EnumToList(typeof(CourseClassTypeEnum));
return ApiResult.Success(data: list); return ApiResult.Success(data: list);
} }
...@@ -479,11 +481,112 @@ namespace Edu.WebApi.Controllers.Course ...@@ -479,11 +481,112 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult GetStudentNumTypeEnumList() public ApiResult GetStudentNumTypeEnumList()
{ {
var list = Common.Plugin.EnumHelper.EnumToList(typeof(StudentNumTypeEnum)); var list = Common.Plugin.EnumHelper.EnumToList(typeof(StudentNumTypeEnum));
return ApiResult.Success(data: list); return ApiResult.Success(data: list);
} }
#endregion #endregion
#region 班级关联课程管理
/// <summary>
/// 添加修改班级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetClassCourse()
{
JArray jarray = JArray.Parse(base.ParmJObj.GetStringValue("courseMsg"));
List<RB_Class_Course_Extend> list = new List<RB_Class_Course_Extend>();
if (jarray != null && jarray.Count > 0)
{
foreach (var jItem in jarray)
{
JObject jobj = JObject.Parse(jItem.ToString());
var extModel = new RB_Class_Course_Extend()
{
Id = jobj.GetInt("Id"),
ClassId = jobj.GetInt("ClassId"),
CourseId = jobj.GetInt("CourseId"),
CourseName=jobj.GetStringValue("CourseName"),
CreateBy = UserInfo.Id,
CreateTime = DateTime.Now,
UpdateBy = UserInfo.Id,
UpdateTime = DateTime.Now,
Group_Id = this.UserInfo.Group_Id,
School_Id = this.UserInfo.School_Id,
Status = Common.Enum.DateStateEnum.Normal
};
list.Add(extModel);
}
}
else
{
return ApiResult.ParamIsNull(message: "请选择要关联的课程!");
}
var groupList = list.GroupBy(qitem => new { qitem.CourseId,qitem.CourseName }).Where(qitem=>qitem.Count()>1).Select(qitem => new { qitem.Key.CourseId,qitem.Key.CourseName});
string message = "";
if (groupList != null && groupList.Count() > 0)
{
foreach (var item in groupList)
{
message += "," + item.CourseName + "、";
}
}
if (!string.IsNullOrEmpty(message))
{
return ApiResult.ParamIsNull(message: message.TrimStart(',').TrimEnd('、') + "重复!请删除后再提交!");
}
var classModel = classModule.GetClassModule(list[0].ClassId);
if (list.Where(qitem => qitem.CourseId == classModel.CouseId).Count() > 0)
{
var model = list.Where(qitem => qitem.CourseId == classModel.CouseId)?.FirstOrDefault();
return ApiResult.ParamIsNull(message: string.Format("此班级已绑定{0}课程,请删除后再提交!", (model?.CourseName ?? "")));
}
bool flag = classModule.SetClassCourseModule(list);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取班级关联课程列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassCourseList()
{
var query = new RB_Class_Course_Extend()
{
ClassId = base.ParmJObj.GetInt("ClassId"),
};
var list = classModule.GetClassCourseListModule(query);
return ApiResult.Success(data: list.Select(qitem => new
{
qitem.Id,
qitem.ClassId,
qitem.CourseName,
qitem.CourseId,
qitem.ClassHours,
qitem.SellPrice,
}));
}
/// <summary>
/// 删除班级关联课程
/// </summary>
/// <returns></returns>
public ApiResult RemoveClassCourse()
{
var extModel = new RB_Class_Course_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
};
if (extModel.Id <= 0)
{
return ApiResult.ParamIsNull(message: "未获取到班级关联课程编号,请刷新页面重试!");
}
bool flag = classModule.RemoveClassCourseModule(extModel.Id,out string message);
return flag ? ApiResult.Success(message:message) : ApiResult.Failed(message:message);
}
#endregion
#region 上课计划 #region 上课计划
/// <summary> /// <summary>
...@@ -1471,7 +1574,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1471,7 +1574,6 @@ namespace Edu.WebApi.Controllers.Course
/// <returns></returns> /// <returns></returns>
public ApiResult GetNowUserLessonComment() public ApiResult GetNowUserLessonComment()
{ {
var query = new RB_Class_LessonComment_ViewModel() var query = new RB_Class_LessonComment_ViewModel()
{ {
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"), ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
...@@ -1492,8 +1594,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1492,8 +1594,6 @@ namespace Edu.WebApi.Controllers.Course
} }
#endregion #endregion
#region 老师上课挂件 #region 老师上课挂件
[HttpGet] [HttpGet]
...@@ -1712,6 +1812,5 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1712,6 +1812,5 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: data); return ApiResult.Success(data: data);
} }
#endregion #endregion
} }
} }
...@@ -116,7 +116,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -116,7 +116,7 @@ namespace Edu.WebApi.Controllers.User
var actionList = menuModule.GetPostMenuFunctionListModule(model.Post_Id.ToString()); var actionList = menuModule.GetPostMenuFunctionListModule(model.Post_Id.ToString());
//上传配置 //上传配置
var uploadConfig = publicModule.GetFileStoreList(new Model.Public.RB_File_Store() { Group_Id = model.Group_Id, IsDefault = 1 })?.FirstOrDefault(); var uploadConfig = publicModule.GetFileStoreList(new Model.Public.RB_File_Store() { Group_Id = model.Group_Id, IsDefault = 1 })?.FirstOrDefault();
UserInfo obj = new UserInfo UserInfo obj = new UserInfo
{ {
Id = model.Id, Id = model.Id,
...@@ -139,6 +139,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -139,6 +139,7 @@ namespace Edu.WebApi.Controllers.User
DeptName = model.DeptName, DeptName = model.DeptName,
PostId = model.Post_Id, PostId = model.Post_Id,
PostName = model.PostName, PostName = model.PostName,
Email=model.Email,
ActionMenuList = actionList?.Select(qitem => new { qitem.FunctionCode, qitem.FunctionName, qitem.MenuName, qitem.MenuUrl }), ActionMenuList = actionList?.Select(qitem => new { qitem.FunctionCode, qitem.FunctionName, qitem.MenuName, qitem.MenuUrl }),
UploadConfig = new UploadConfig = new
{ {
...@@ -396,7 +397,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -396,7 +397,7 @@ namespace Edu.WebApi.Controllers.User
} }
var result = new var result = new
{ {
TeacherName = modelTeacher.FirstOrDefault()?.TeacherName, modelTeacher.FirstOrDefault()?.TeacherName,
tempList = tempList.Select(x => new { x.RoomName, x.TeacherName, NewPlanDateTime = x.NewPlanDateTime.HasValue ? x.NewPlanDateTime.Value.ToString("yyyy-MM-dd HH:mm") : "", NewEndPlanDateTime = x.NewEndPlanDateTime.HasValue ? x.NewEndPlanDateTime.Value.ToString("yyyy-MM-dd HH:mm") : "" }) tempList = tempList.Select(x => new { x.RoomName, x.TeacherName, NewPlanDateTime = x.NewPlanDateTime.HasValue ? x.NewPlanDateTime.Value.ToString("yyyy-MM-dd HH:mm") : "", NewEndPlanDateTime = x.NewEndPlanDateTime.HasValue ? x.NewEndPlanDateTime.Value.ToString("yyyy-MM-dd HH:mm") : "" })
}; };
return ApiResult.Failed(message: $"本教室没有找到您的课", data: result); return ApiResult.Failed(message: $"本教室没有找到您的课", data: result);
......
...@@ -88,7 +88,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -88,7 +88,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[HttpPost] [HttpPost]
[HttpGet] [HttpGet]
[AllowAnonymous] [AllowAnonymous]
public async Task<WxPayCallbackRespModel> WxPayCallback(WxPayNotifyModel wxPayNotifyModel) public WxPayCallbackRespModel WxPayCallback(WxPayNotifyModel wxPayNotifyModel)
{ {
var viewModel = new WxPayCallbackRespModel(); var viewModel = new WxPayCallbackRespModel();
try try
...@@ -112,7 +112,6 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -112,7 +112,6 @@ namespace Edu.WebApi.Controllers.WeChatPay
} }
else else
{ {
if (payModel != null && payModel.trade_state == "SUCCESS")//生成财务单据 if (payModel != null && payModel.trade_state == "SUCCESS")//生成财务单据
{ //然后进行数据库更新处理……等等其他操作 { //然后进行数据库更新处理……等等其他操作
UpdateFinance(payModel);//生成财务单据以及生成支付记录 UpdateFinance(payModel);//生成财务单据以及生成支付记录
...@@ -123,6 +122,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -123,6 +122,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
} }
catch (Exception ex) catch (Exception ex)
{ {
Common.Plugin.LogHelper.Write(ex, "WxPayCallback");
viewModel.code = "FAIL"; viewModel.code = "FAIL";
viewModel.message = "数据解密失败"; viewModel.message = "数据解密失败";
} }
...@@ -137,7 +137,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -137,7 +137,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
/// <returns></returns> /// <returns></returns>
[AllowAnonymous] [AllowAnonymous]
public async Task UpdateFinance(WxPayResourceDecryptModel payModel) public void UpdateFinance(WxPayResourceDecryptModel payModel)
{ {
LogHelper.WriteInfo("我是回调" + System.DateTime.Now); LogHelper.WriteInfo("我是回调" + System.DateTime.Now);
int contractId = Convert.ToInt32(payModel.out_trade_no[17..]); int contractId = Convert.ToInt32(payModel.out_trade_no[17..]);
...@@ -158,7 +158,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -158,7 +158,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
{ {
LogHelper.WriteInfo(payModel.out_trade_no + "我要新增财务单据啦...." + System.DateTime.Now); LogHelper.WriteInfo(payModel.out_trade_no + "我要新增财务单据啦...." + System.DateTime.Now);
var orderModle = educationContractModule.GetEducationContractModule(contractId); var orderModle = educationContractModule.GetEducationContractModule(contractId);
var orderModel = orderModule.GetClassOrderInfo(orderModle.OrderId); var orderModel = orderModule.GetClassOrderInfoModule(orderModle.OrderId);
var financeConfig = educationContractModule.GetFinanceConfigList(new Model.ViewModel.Course.RB_Finance_Config_ViewModel { Group_Id = orderModle.Group_Id, Type = Common.Enum.Course.FinanceConfigTypeEnum.Tuition }).FirstOrDefault(); var financeConfig = educationContractModule.GetFinanceConfigList(new Model.ViewModel.Course.RB_Finance_Config_ViewModel { Group_Id = orderModle.Group_Id, Type = Common.Enum.Course.FinanceConfigTypeEnum.Tuition }).FirstOrDefault();
if (financeConfig == null) if (financeConfig == null)
{ {
...@@ -183,15 +183,17 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -183,15 +183,17 @@ namespace Edu.WebApi.Controllers.WeChatPay
ServiceFee = OriginalFee ServiceFee = OriginalFee
}; };
#region 财务单据数据组装 #region 财务单据数据组装
var detailList = new List<object>(); var detailList = new List<object>
detailList.Add(new
{ {
CostTypeId = financeConfig?.CostTypeId ?? 533, new
Number = 1, {
OriginalMoney = Convert.ToDecimal(payModel.amount.payer_total) / 100, CostTypeId = financeConfig?.CostTypeId ?? 533,
UnitPrice = Convert.ToDecimal(payModel.amount.payer_total) / 100, Number = 1,
Remark = orderModle.StudentName + orderModle.CourseName + payModel.out_trade_no OriginalMoney = Convert.ToDecimal(payModel.amount.payer_total) / 100,
}); UnitPrice = Convert.ToDecimal(payModel.amount.payer_total) / 100,
Remark = orderModle.StudentName + orderModle.CourseName + payModel.out_trade_no
}
};
var financeObj = new var financeObj = new
{ {
...@@ -216,8 +218,8 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -216,8 +218,8 @@ namespace Edu.WebApi.Controllers.WeChatPay
RB_BranchName = userInfo.SchoolName, RB_BranchName = userInfo.SchoolName,
RB_GroupName = userInfo.GroupName, RB_GroupName = userInfo.GroupName,
FinanceType = 2, FinanceType = 2,
GuestId = orderModle.GuestId, orderModle.GuestId,
OrderId = orderModle.OrderId, orderModle.OrderId,
TCIDList = orderModel.ClassId > 0 ? new List<int>() { orderModel.ClassId } : new List<int>(), TCIDList = orderModel.ClassId > 0 ? new List<int>() { orderModel.ClassId } : new List<int>(),
}; };
#endregion #endregion
...@@ -363,7 +365,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -363,7 +365,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[HttpPost] [HttpPost]
[HttpGet] [HttpGet]
[AllowAnonymous] [AllowAnonymous]
public async Task<RefundsCallbackRespModel> RefundsCallback(RefundsCallbackModel wxPayNotifyModel) public RefundsCallbackRespModel RefundsCallback(RefundsCallbackModel wxPayNotifyModel)
{ {
//我没有使用官方的那种验证数据安全性的方法,我解密出来数据之后,直接拿着商户退款订单号再去查询一下订单状态,然后再更新到数据库中。我嫌麻烦…… //我没有使用官方的那种验证数据安全性的方法,我解密出来数据之后,直接拿着商户退款订单号再去查询一下订单状态,然后再更新到数据库中。我嫌麻烦……
var resource = wxPayNotifyModel?.resource ?? new RefundsCallbackResourceModel(); var resource = wxPayNotifyModel?.resource ?? new RefundsCallbackResourceModel();
...@@ -420,7 +422,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -420,7 +422,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[AllowAnonymous] [AllowAnonymous]
public async Task UpdateRefundsCallbackFinance(RefundsCallbackDecryptModel payModel) public void UpdateRefundsCallbackFinance(RefundsCallbackDecryptModel payModel)
{ {
int contractId = Convert.ToInt32(payModel.out_trade_no[17..]); int contractId = Convert.ToInt32(payModel.out_trade_no[17..]);
bool isAdd = false; bool isAdd = false;
...@@ -439,7 +441,7 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -439,7 +441,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
if (isAdd) if (isAdd)
{ {
var orderModle = educationContractModule.GetEducationContractModule(contractId); var orderModle = educationContractModule.GetEducationContractModule(contractId);
var orderModel = orderModule.GetClassOrderInfo(orderModle.OrderId); var orderModel = orderModule.GetClassOrderInfoModule(orderModle.OrderId);
var payOrderRecordModel = educationContractModule.GetOrderRecordList(new RB_Finance_OrderRecord { ContractId = contractId, OutTradeNo = payModel.out_trade_no }).FirstOrDefault(); var payOrderRecordModel = educationContractModule.GetOrderRecordList(new RB_Finance_OrderRecord { ContractId = contractId, OutTradeNo = payModel.out_trade_no }).FirstOrDefault();
var userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.EnterID, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault(); var userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.EnterID, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault();
var OriginalFee = Math.Round(Convert.ToDecimal((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(payModel.amount.payer_total) / 100)), 2, MidpointRounding.AwayFromZero);//手续费 var OriginalFee = Math.Round(Convert.ToDecimal((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(payModel.amount.payer_total) / 100)), 2, MidpointRounding.AwayFromZero);//手续费
......
...@@ -466,7 +466,7 @@ namespace Edu.WebApi.Controllers.Web ...@@ -466,7 +466,7 @@ namespace Edu.WebApi.Controllers.Web
dmodel.Group_Id = groupId; dmodel.Group_Id = groupId;
} }
dmodel.Saleplat = "2,3"; dmodel.Saleplat = "2,3";
var list = orderModule.GetClassPruductList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel); var list = orderModule.GetClassPruductListModule(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
pageModel.Count = Convert.ToInt32(count); pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = list.Select(x => new pageModel.PageData = list.Select(x => new
{ {
......
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