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

解决冲突

parents 20d8c6d1 0ab11107
......@@ -14,11 +14,14 @@ namespace Edu.Common.WeChatPayAPIv3
/// </summary>
public class AesGcmHelper
{
private static string ALGORITHM = "AES/GCM/NoPadding";
private static int TAG_LENGTH_BIT = 128;
private static int NONCE_LENGTH_BYTE = 12;
private static string AES_KEY = string.Empty;
/// <summary>
/// 解密微信
/// </summary>
/// <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)
{
GcmBlockCipher gcmBlockCipher = new GcmBlockCipher(new AesEngine());
......
......@@ -112,6 +112,11 @@ namespace Edu.Model.CacheModel
/// </summary>
public string PostName { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string Email { get; set; }
/// <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.Collections.Generic;
using System.Text;
using Edu.Common.Enum;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 班级备案评论实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Class_LessonComment
{ /// <summary>
{
/// <summary>
/// 教案评论id
/// </summary>
public int LessonCommentId { get; set; }
......
......@@ -199,5 +199,20 @@ namespace Edu.Model.Entity.Course
/// (教育订单使用)订单性质(1-直通车,2-代收代付,3-返佣)
/// </summary>
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 System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.Course;
using Edu.Model.Entity.Course;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 班级备案评论扩展实体类
/// </summary>
public class RB_Class_LessonComment_ViewModel : RB_Class_LessonComment
{
/// <summary>
......
......@@ -73,6 +73,7 @@ namespace Edu.Model.ViewModel.Course
/// 上课开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 上课结束时间
/// </summary>
......@@ -92,5 +93,10 @@ namespace Edu.Model.ViewModel.Course
/// 学生id
/// </summary>
public int StuId { get; set; }
/// <summary>
/// 每一节课分钟数
/// </summary>
public int ClassMinutes { get; set; }
}
}
......@@ -187,6 +187,11 @@ namespace Edu.Model.ViewModel.Course
/// 课程原价
/// </summary>
public decimal CourseOriginalPrice { get; set; }
/// <summary>
/// 关联其他课程列表
/// </summary>
public List<RB_Class_Course_Extend> OtherCourseList { get; set; }
}
/// <summary>
......
using System;
using Edu.Common.Enum.Sale;
using System;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
......@@ -81,5 +82,27 @@ namespace Edu.Model.ViewModel.Course
{
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
/// </summary>
public string GuestName { get; set; }
/// <summary>
/// 课程id
/// </summary>
public int CouseId { get; set; }
/// <summary>
/// 订单查询状态 1正常 2取消
/// </summary>
......@@ -126,5 +121,12 @@ namespace Edu.Model.ViewModel.Course
/// 协助人员姓名
/// </summary>
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
/// 岗位名称
/// </summary>
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
/// 课程基础配置
/// </summary>
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>
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>
......@@ -190,11 +197,13 @@ namespace Edu.Module.Course
var classTimeList = new List<RB_Class_Time_ViewModel>();
var classOrderList = new List<RB_Order_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));
if (!string.IsNullOrEmpty(ids))
{
classTimeList = class_TimeRepository.GetClassTimeListRepository(ids);
classOrderList = orderRepository.GetClassOrderPeopleNum(ids);
otherCourseList= GetClassCourseListModule(new RB_Class_Course_Extend() { QClassIds = ids });
}
if (isGetStepPrice)
{
......@@ -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.OtherCourseList = otherCourseList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList() ?? new List<RB_Class_Course_Extend>();
}
}
return list;
......@@ -423,7 +433,6 @@ namespace Edu.Module.Course
}
}
#endregion
return flag;
}
......@@ -502,7 +511,6 @@ namespace Edu.Module.Course
var flag2 = class_PlanRepository.DeleteClassPlanRepository(ids);
}
}
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
if (model.ClassHours > 0)
{
......@@ -664,7 +672,6 @@ namespace Edu.Module.Course
{
}
}
return classPlanList;
}
......@@ -1054,7 +1061,7 @@ namespace Edu.Module.Course
/// <param name="DropOutRemark"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool UpdateClassStudentDropOutModule(string ids, string dropOutRemark, int classId, int createBy, int group_Id, int school_Id, string studentName)
public virtual bool UpdateClassStudentDropOutModule(string ids, string dropOutRemark, int classId, int createBy, int group_Id, int school_Id, string studentName)
{
bool flag = false;
foreach (var item in ids.Split(","))
......@@ -1105,7 +1112,6 @@ namespace Edu.Module.Course
{
{nameof(RB_Student_ViewModel.StuStatus),3},
};
//写日志
studentRepository.Update(fileds, new WhereHelper(nameof(RB_Student_ViewModel.StuId), model.StudentId));
var classLogModel = new Model.Entity.Log.RB_Class_Log()
......@@ -1385,7 +1391,6 @@ namespace Edu.Module.Course
/// <returns></returns>
public bool SetClassFinance(RB_Class_Finance_ViewModel model)
{
var oldModel = GetClassFinanceListRepository(model).FirstOrDefault();
if (oldModel == null || oldModel.FinanceId == 0)
{
......@@ -1507,18 +1512,18 @@ namespace Edu.Module.Course
}
}
}
return flag;
}
/// <summary>
/// 新增/修改老师教案
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[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())
{
foreach (var item in model.LessonPlanList)
......@@ -1529,12 +1534,13 @@ namespace Edu.Module.Course
{
{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;
}
......@@ -1592,10 +1598,6 @@ namespace Edu.Module.Course
return ClassLessonPlanRepository.GetLessonPlanListRepository(query);
}
/// <summary>
/// 获取老师计划列表
/// </summary>
......@@ -1876,5 +1878,81 @@ namespace Edu.Module.Course
var flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), ClassId));
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
}
}
......@@ -151,6 +151,11 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_PlatformAccountRepository platformAccountRepository = new RB_PlatformAccountRepository();
/// <summary>
/// 班级关联课程仓储层对象
/// </summary>
private readonly RB_Class_CourseRepository class_CourseRepository = new RB_Class_CourseRepository();
#region 日语培训
......@@ -163,7 +168,7 @@ namespace Edu.Module.Course
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Class_ViewModel> GetClassPruductList(int pageIndex, int pageSize, out long count, RB_Class_ViewModel dmodel)
public List<RB_Class_ViewModel> GetClassPruductListModule(int pageIndex, int pageSize, out long count, RB_Class_ViewModel dmodel)
{
var list = classRepository.GetClassProductPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any())
......@@ -171,6 +176,7 @@ namespace Edu.Module.Course
string classIds = string.Join(",", list.Select(x => x.ClassId));
//查询阶梯价格
var stepList = class_StepPriceRepository.GetClassStepPriceListRepository(new RB_Class_StepPrice_ViewModel() { QClassIds = classIds });
var otherCourseList = class_CourseRepository.GetClassCourseListRepository(new RB_Class_Course_Extend() { QClassIds = classIds });
List<RB_Class_Plan_ViewModel> PlanFixed = new List<RB_Class_Plan_ViewModel>();
string k2classIds = string.Join(",", list.Where(x => x.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate).Select(x => x.ClassId));
if (!string.IsNullOrEmpty(k2classIds))
......@@ -180,6 +186,7 @@ namespace Edu.Module.Course
foreach (var item in list)
{
item.ClassStepPriceList = stepList.Where(x => x.ClassId == item.ClassId).OrderBy(x => x.PersionNum).ToList();
item.OtherCourseList = otherCourseList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList() ?? new List<RB_Class_Course_Extend>();
item.DefaultTimeList = new List<ClassTimeItem>();
if (item.ClassStyle != Common.Enum.Course.ClassStyleEnum.OnLine)
{
......@@ -212,6 +219,41 @@ namespace Edu.Module.Course
return list;
}
/// <summary>
/// 获取班级课程信息
/// </summary>
/// <param name="classId">班级编号</param>
/// <param name="Group_Id">集团编号</param>
/// <returns></returns>
public Dictionary<string, object> GetClassCourseListModule(int classId, int Group_Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>();
var planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { ClassId = classId, EndTime = Common.ConvertHelper.FormatDate(DateTime.Now) });
var totalMinutes = planList?.Sum(qitem => qitem.ClassMinutes) ?? 0;
//查询基础课时时长
var configModel = class_ConfigRepository.GetClassConfigRepository(new RB_Class_Config_ViewModel() { Group_Id = Group_Id });
var finishHours = totalMinutes / (configModel?.BasicMinutes ?? 45.0);
fileds.Add("finishHours", finishHours);
var classModel = classRepository.GetEntity(classId);
var courseModel = courseRepository.GetEntity(classModel.CouseId);
if (courseModel != null && courseModel.CourseId > 0)
{
fileds.Add("currentCourse", new
{
courseModel.CourseId,
courseModel.CourseName,
courseModel.ClassHours,
courseModel.SellPrice
});
}
var courseList = class_CourseRepository.GetClassCourseListRepository(new RB_Class_Course_Extend() { ClassId = classId });
if (courseList != null)
{
fileds.Add("otherCourse", courseList.Select(qitem => new { qitem.CourseId, qitem.CourseName, qitem.ClassHours, qitem.SellPrice }));
}
return fileds;
}
/// <summary>
/// 获取班级名称
/// </summary>
......@@ -242,24 +284,29 @@ namespace Edu.Module.Course
/// <param name="userInfo"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool SetClassOrder(RB_Order_ViewModel demodel, UserInfo userInfo,bool isEditOrder, out string message)
public virtual bool SetClassOrder(RB_Order_ViewModel demodel, UserInfo userInfo, bool isEditOrder, out string message)
{
bool flag = false;
message = "";
//查询班级信息
var classModel = classRepository.GetEntity(demodel.ClassId);
var courseModel = courseRepository.GetEntity(classModel.CouseId);
if (classModel == null)
{
flag = false;
message = "班级不存在";
return flag;
}
if (demodel.IsChaBan == 0)
{
demodel.CourseId = classModel.CouseId;
}
var courseModel = courseRepository.GetEntity(demodel.CourseId);
#region 计算订单优惠信息
//获取课程优惠
var coursePreferentialList = course_PreferentialRepository.GetCoursePreferentialListRepostory(new RB_Course_Preferential_Extend()
{
CourseId = classModel.CouseId
CourseId = demodel.CourseId
});
if (demodel.IsLessPrice == 1 && demodel.LessPrice > 0)
{
......@@ -469,18 +516,18 @@ namespace Edu.Module.Course
}
else
{
if (classModel.ClassStatus != Common.Enum.Course.ClassStatusEnum.NonOpenClass)
if (classModel.ClassStatus == Common.Enum.Course.ClassStatusEnum.EndClass || classModel.ClassStatus == Common.Enum.Course.ClassStatusEnum.CancelClass)
{
flag = false;
message = "班级状态不正确";
return flag;
}
if (classModel.EndOrderTime < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")))
{
flag = false;
message = "已过期,无法报名";
return flag;
}
//if (classModel.EndOrderTime < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")))
//{
// flag = false;
// message = "已过期,无法报名";
// return flag;
//}
int BNum = orderRepository.GetClassOrderPeopleNum(demodel.ClassId.ToString()).FirstOrDefault()?.GuestNum ?? 0;
if (BNum + demodel.GuestNum > classModel.ClassPersion)
{
......@@ -569,7 +616,7 @@ namespace Edu.Module.Course
/// <param name="userInfo"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool SetStudyOrder(RB_Order_ViewModel demodel, UserInfo userInfo, out string message)
public virtual bool SetStudyOrder(RB_Order_ViewModel demodel, UserInfo userInfo, out string message)
{
bool flag = false;
message = "";
......@@ -720,17 +767,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public RB_Order_ViewModel GetClassOrderInfo(int orderId)
{
return orderRepository.GetEntity<RB_Order_ViewModel>(orderId);
}
/// <summary>
/// 获取订单详情
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public RB_Order_ViewModel GetClassOrderInfo_V2(int orderId)
public RB_Order_ViewModel GetClassOrderInfoModule(int orderId)
{
var model = orderRepository.GetEntity<RB_Order_ViewModel>(orderId);
if (model != null)
......@@ -747,6 +784,8 @@ namespace Edu.Module.Course
return model;
}
/// <summary>
/// 获取订单阶梯价格
/// </summary>
......@@ -886,6 +925,7 @@ namespace Edu.Module.Course
ClassInfo = new { };
//获取订单列表
var orderList = new List<RB_Order_ViewModel>();
int courseId = 0;
if (classId > 0)
{
var cModel = classRepository.GetEntity(classId);
......@@ -893,6 +933,7 @@ namespace Edu.Module.Course
{
return new List<RB_Order_ViewModel>();
}
courseId = cModel.CouseId;
//获取班级教师
var tModel = teacherRepository.GetEntity(cModel.Teacher_Id);
var zModel = assistRepository.GetEntity(cModel.Assist_Id);
......@@ -1363,18 +1404,6 @@ namespace Edu.Module.Course
var orderList = orderRepository.GetList(new RB_Order_ViewModel() { Group_Id = groupId, ClassId = classId, SourceId = SourceId });
return orderList;
}
/// <summary>
/// 获取班级订单列表
/// </summary>
/// <param name="classId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public List<RB_Order_ViewModel> GetClassOrderList_V3(int orderId, int groupId)
{
//获取订单列表
var orderList = orderRepository.GetList(new RB_Order_ViewModel() { Group_Id = groupId, OrderId = orderId });
return orderList;
}
#endregion
......@@ -2092,13 +2121,16 @@ namespace Edu.Module.Course
if (list.Any())
{
var model = list.FirstOrDefault();
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Education_ContractAdjust_ViewModel.AdjustPrice),dmodel.AdjustPrice},
{ nameof(RB_Education_ContractAdjust_ViewModel.UpdateBy),userInfo.Id},
{ nameof(RB_Education_ContractAdjust_ViewModel.UpdateTime),DateTime.Now},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
List<WhereHelper> wheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName=nameof(RB_Education_ContractAdjust_ViewModel.Id),
FiledValue= model.Id,
OperatorEnum=OperatorEnum.Equal
......@@ -2121,7 +2153,6 @@ namespace Edu.Module.Course
}) > 0;
}
}
#endregion
}
}
\ No newline at end of file
......@@ -39,7 +39,6 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
}
if (query.ClassId > 0)
{
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;
namespace Edu.Repository.Course
{
/// <summary>
/// 班级备案评论仓储层
/// </summary>
public class RB_Class_LessonCommentRepository : BaseRepository<RB_Class_LessonComment>
{
/// <summary>
......
......@@ -24,8 +24,10 @@ namespace Edu.Repository.Course
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
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
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
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
......@@ -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);
}
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();
}
/// <summary>
/// 判断是否存在
/// </summary>
......@@ -115,10 +168,12 @@ WHERE ClassId={1} AND ClassDate>'{2}'
public List<RB_Class_Plan_ViewModel> GetClassPlanList_V2(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName from rb_class_plan as a
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 ");
builder.AppendFormat(@"
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName
FROM rb_class_plan as a
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.Group_Id > 0)
......@@ -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);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
......@@ -174,12 +228,13 @@ LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT a.*,b.Teacher_Id,c.TeacherName from rb_class_plan as a
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') ");
builder.AppendFormat(@"
SELECT a.*,b.Teacher_Id,c.TeacherName
FROM rb_class_plan as a
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.Group_Id > 0)
......@@ -202,58 +257,11 @@ 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(@" order by ClassDate desc ");
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>
/// 获取班级累计上课时间(分钟)
......@@ -280,10 +288,6 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
}
/// <summary>
/// 获取班级上课计划列表
/// </summary>
......
......@@ -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>
......
......@@ -47,6 +47,10 @@ namespace Edu.Repository.Course
{
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))
{
where += $@" and o.{nameof(RB_Order_ViewModel.ClassId)} in({demodel.ClassIds})";
......@@ -97,12 +101,15 @@ namespace Edu.Repository.Course
orderBy = " o.CreateTime desc";
}
string sql = $@" select o.*,c.ClassName,t.TeacherName,t.TeacherIcon from RB_Order o
left join rb_class c on o.ClassId = c.ClassId
left join rb_teacher t on c.Teacher_Id = t.TId
where {where} order by {orderBy}
string sql = $@"
SELECT o.*,c.ClassName,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName
FROM RB_Order o
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();
}
......@@ -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}%')";
}
}
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))
{
......@@ -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}%')";
}
}
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))
{
......
......@@ -126,38 +126,42 @@ namespace Edu.Repository.Course
/// <returns></returns>
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)
{
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)
{
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)
{
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)
{
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)
{
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))
{
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)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}");
}
string sql = $@" select * from RB_Order_Guest where {where}";
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
......@@ -197,7 +201,6 @@ namespace Edu.Repository.Course
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
}
string sql = $@" select count(0) from RB_Order_Guest where {where}";
var obj = ExecuteScalar(sql);
if (obj == null)
......
......@@ -136,17 +136,17 @@ SELECT A.*,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName,
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`
,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
WHERE 1=1 {0}
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`
,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
WHERE 1=1 {0}
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`
,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
WHERE 1=1 {0}
) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId
......
......@@ -76,6 +76,7 @@ namespace Edu.WebApi.Controllers.Course
item.NewPlanDateTime,
item.ClassStatus,
item.Status,
item.OtherCourseList,
});
}
pageModel.Count = rowsCount;
......@@ -369,8 +370,10 @@ namespace Edu.WebApi.Controllers.Course
EndTime = jobj["EndTime"].ToString(),
});
}
List<ClassTimeItem> slist = new List<ClassTimeItem>();
slist.Add(model);
List<ClassTimeItem> slist = new List<ClassTimeItem>
{
model
};
bool flag = classModule.UpdateClassTimeModule(item.ClassId, Common.Plugin.JsonHelper.Serialize(slist));
}
}
......@@ -390,7 +393,7 @@ namespace Edu.WebApi.Controllers.Course
};
if (extModel.ClassId <= 0)
{
return ApiResult.ParamIsNull(message: "获取到班级编号,请刷新页面重试!");
return ApiResult.ParamIsNull(message: "获取到班级编号,请刷新页面重试!");
}
bool flag = classModule.SetClassStatusModule(extModel.ClassStatus, extModel.ClassId);
return flag ? ApiResult.Success() : ApiResult.Failed();
......@@ -467,7 +470,6 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult GetCourseClassTypeEnumList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(CourseClassTypeEnum));
return ApiResult.Success(data: list);
}
......@@ -479,11 +481,112 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult GetStudentNumTypeEnumList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(StudentNumTypeEnum));
return ApiResult.Success(data: list);
}
#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 上课计划
/// <summary>
......@@ -1471,7 +1574,6 @@ namespace Edu.WebApi.Controllers.Course
/// <returns></returns>
public ApiResult GetNowUserLessonComment()
{
var query = new RB_Class_LessonComment_ViewModel()
{
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
......@@ -1492,8 +1594,6 @@ namespace Edu.WebApi.Controllers.Course
}
#endregion
#region 老师上课挂件
[HttpGet]
......@@ -1712,6 +1812,5 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: data);
}
#endregion
}
}
......@@ -51,11 +51,17 @@ namespace Edu.WebApi.Controllers.Course
JoinEndTime = base.ParmJObj.GetStringValue("JoinEndTime")
};
dmodel.Group_Id = userInfo.Group_Id;
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);
List<object> result = new List<object>();
foreach (var x in list)
{
int IsChaBan = 0;//不能插班报入
int SurplusNum = x.ClassPersion - x.OrderStudentCount;
if (x.ClassStatus == ClassStatusEnum.StudyIng && SurplusNum > 0)
{
IsChaBan = 1;//可以插班报入
}
var obj = new
{
x.ClassId,
......@@ -76,7 +82,7 @@ namespace Edu.WebApi.Controllers.Course
x.ClassPersion,
x.OutRemark,
x.OrderStudentCount,
SurplusNum = x.ClassPersion - x.OrderStudentCount,
SurplusNum,
ClassStepPriceList = x.ClassStepPriceList.Select(z => new
{
z.ClassStepPriceId,
......@@ -90,7 +96,9 @@ namespace Edu.WebApi.Controllers.Course
ClassDate = x.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate ? z.ClassDate.ToString("yyyy-MM-dd") : ""
}),
x.SchoolName,
UpdateTime =Common.ConvertHelper.FormatTime(x.UpdateTime)
UpdateTime = Common.ConvertHelper.FormatTime(x.UpdateTime),
x.OtherCourseList,
IsChaBan,
};
result.Add(obj);
}
......@@ -108,7 +116,8 @@ namespace Edu.WebApi.Controllers.Course
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
string ClassIds = parms.GetStringValue("ClassIds");
if (string.IsNullOrEmpty(ClassIds)) {
if (string.IsNullOrEmpty(ClassIds))
{
return ApiResult.ParamIsNull("请传递班级ids");
}
......@@ -171,6 +180,10 @@ namespace Edu.WebApi.Controllers.Course
{
x.OrderId,
x.ClassId,
x.CourseId,
x.CourseName,
x.StartClassHours,
x.IsChaBan,
x.ClassSchoolId,
x.TradeWay,
x.Class_Price,
......@@ -186,7 +199,7 @@ namespace Edu.WebApi.Controllers.Course
x.OrderState,
OrderStateName = x.OrderState.ToName(),
x.OrderSource,
OrderSourceName=x.OrderSource.ToName(),
OrderSourceName = x.OrderSource.ToName(),
x.EnterID,
EnterName = UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "",
x.CommissionMoney,
......@@ -200,7 +213,7 @@ namespace Edu.WebApi.Controllers.Course
x.DirectorRemark,
x.OfferId,
x.HelpEnterId,
HelpEnterName= UserReidsCache.GetUserLoginInfo(x.HelpEnterId)?.AccountName,
HelpEnterName = UserReidsCache.GetUserLoginInfo(x.HelpEnterId)?.AccountName,
x.GeneralOccupation,
x.EduOccupation,
x.IsLessPrice,
......@@ -239,7 +252,8 @@ namespace Edu.WebApi.Controllers.Course
z.GuestName,
z.GuestState
}),
ContractList = x.ContractList.Select(z => new {
ContractList = x.ContractList.Select(z => new
{
z.Id,
z.StudentName,
z.ContractNo,
......@@ -316,7 +330,8 @@ namespace Edu.WebApi.Controllers.Course
z.GuestName,
z.GuestState
}),
ContractList = x.ContractList.Select(z => new {
ContractList = x.ContractList.Select(z => new
{
z.Id,
z.StudentName,
z.ContractNo,
......@@ -338,24 +353,27 @@ namespace Edu.WebApi.Controllers.Course
var userInfo = base.UserInfo;
RB_Order_ViewModel demodel = new RB_Order_ViewModel()
{
OrderId=base.ParmJObj.GetInt("OrderId"),
ClassId=base.ParmJObj.GetInt("ClassId"),
GuestNum=base.ParmJObj.GetInt("GuestNum"),
OrderSource=(OrderSourceEnum)base.ParmJObj.GetInt("OrderSource"),
OrderType=(OrderTypeEnum)base.ParmJObj.GetInt("OrderType"),
PreferPrice=base.ParmJObj.GetDecimal("PreferPrice"),
SaleRemark=base.ParmJObj.GetStringValue("SaleRemark"),
SourceId=base.ParmJObj.GetInt("SourceId"),
Unit_Price=base.ParmJObj.GetDecimal("Unit_Price"),
HelpEnterId=base.ParmJObj.GetInt("HelpEnterId"),
GeneralOccupation=base.ParmJObj.GetStringValue("GeneralOccupation"),
EduOccupation=base.ParmJObj.GetStringValue("EduOccupation"),
IsLessPrice=base.ParmJObj.GetInt("IsLessPrice"),
LessPrice=base.ParmJObj.GetDecimal("LessPrice"),
OrderNature=(OrderNatureEnum)base.ParmJObj.GetInt("OrderNature"),
OldPreferPrice=base.ParmJObj.GetDecimal("OldPreferPrice")
OrderId = base.ParmJObj.GetInt("OrderId"),
ClassId = base.ParmJObj.GetInt("ClassId"),
GuestNum = base.ParmJObj.GetInt("GuestNum"),
OrderSource = (OrderSourceEnum)base.ParmJObj.GetInt("OrderSource"),
OrderType = (OrderTypeEnum)base.ParmJObj.GetInt("OrderType"),
PreferPrice = base.ParmJObj.GetDecimal("PreferPrice"),
SaleRemark = base.ParmJObj.GetStringValue("SaleRemark"),
SourceId = base.ParmJObj.GetInt("SourceId"),
Unit_Price = base.ParmJObj.GetDecimal("Unit_Price"),
HelpEnterId = base.ParmJObj.GetInt("HelpEnterId"),
GeneralOccupation = base.ParmJObj.GetStringValue("GeneralOccupation"),
EduOccupation = base.ParmJObj.GetStringValue("EduOccupation"),
IsLessPrice = base.ParmJObj.GetInt("IsLessPrice"),
LessPrice = base.ParmJObj.GetDecimal("LessPrice"),
OrderNature = (OrderNatureEnum)base.ParmJObj.GetInt("OrderNature"),
OldPreferPrice = base.ParmJObj.GetDecimal("OldPreferPrice"),
CourseId = base.ParmJObj.GetInt("CourseId"),
StartClassHours = base.ParmJObj.GetInt("StartClassHours"),
IsChaBan=base.ParmJObj.GetInt("IsChaBan"),
};
if (demodel.OrderType== OrderTypeEnum.CourseOrder &&demodel.ClassId <= 0)
if (demodel.OrderType == OrderTypeEnum.CourseOrder && demodel.ClassId <= 0)
{
return ApiResult.ParamIsNull("请传递班级id");
}
......@@ -389,7 +407,18 @@ namespace Edu.WebApi.Controllers.Course
if (demodel.OrderType == OrderTypeEnum.CourseOrder)
{
flag = orderModule.SetClassOrder(demodel, userInfo,base.CheckUserActionAuth("Edit_Order"), out message);
if (demodel.IsChaBan == 0)
{
demodel.StartClassHours = 0;
}
else if (demodel.IsChaBan == 1)
{
if (demodel.CourseId <= 0)
{
return ApiResult.ParamIsNull(message: "请选择插班课程!");
}
}
flag = orderModule.SetClassOrder(demodel, userInfo, base.CheckUserActionAuth("Edit_Order"), out message);
}
else
{
......@@ -403,12 +432,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetOrderPreferPrice() {
public ApiResult SetOrderPreferPrice()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
decimal PreferPrice = parms.GetDecimal("PreferPrice");
if (OrderId <= 0) {
if (OrderId <= 0)
{
return ApiResult.ParamIsNull("请传递订单id");
}
......@@ -417,7 +448,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -427,7 +459,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassOrderInfo() {
public ApiResult GetClassOrderInfo()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
......@@ -436,8 +469,9 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.ParamIsNull();
}
var model = orderModule.GetClassOrderInfo(OrderId);
if (model == null) {
var model = orderModule.GetClassOrderInfoModule(OrderId);
if (model == null)
{
return ApiResult.Failed("订单不存在");
}
var list = new List<RB_Order_StepPrice_ViewModel>();
......@@ -466,8 +500,11 @@ namespace Edu.WebApi.Controllers.Course
model.IsLessPrice,
model.LessPrice,
model.OrderNature,
OrderNatureName=model.OrderNature.ToName(),
OrderNatureName = model.OrderNature.ToName(),
model.OldPreferPrice,
model.IsChaBan,
model.CourseId,
model.StartClassHours,
},
StepPriceList = list.Select(x => new
{
......@@ -491,12 +528,11 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull();
}
var model = orderModule.GetClassOrderInfo_V2(OrderId);
var model = orderModule.GetClassOrderInfoModule(OrderId);
if (model == null)
{
return ApiResult.Failed("订单不存在");
}
return ApiResult.Success("", new
{
model.OrderId,
......@@ -524,7 +560,7 @@ namespace Edu.WebApi.Controllers.Course
CreateTime2 = model.CreateTime.ToString("yyyy年MM月dd日"),
model.OrderType,
model.SourceId,
OrderTypeName=Common.Plugin.EnumHelper.ToName(model.OrderType),
OrderTypeName = Common.Plugin.EnumHelper.ToName(model.OrderType),
});
}
......@@ -547,7 +583,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -557,7 +594,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult UpdateOrderSale() {
public ApiResult UpdateOrderSale()
{
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
var userInfo = base.UserInfo;
int OrderId = parms.GetInt("OrderId", 0);
......@@ -576,7 +614,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -613,7 +652,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult UpdateOrderRemark() {
public ApiResult UpdateOrderRemark()
{
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
var userInfo = base.UserInfo;
int OrderId = parms.GetInt("OrderId", 0);
......@@ -644,7 +684,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult UpdateOrderCommission() {
public ApiResult UpdateOrderCommission()
{
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
var userInfo = base.UserInfo;
int OrderId = parms.GetInt("OrderId", 0);
......@@ -795,10 +836,12 @@ namespace Edu.WebApi.Controllers.Course
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
int ClassId = parms.GetInt("ClassId", 0);
if (OrderId <= 0) {
if (OrderId <= 0)
{
return ApiResult.ParamIsNull("请传递订单id");
}
if (ClassId <= 0) {
if (ClassId <= 0)
{
return ApiResult.ParamIsNull("请传递转入班级id");
}
......@@ -807,7 +850,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -822,7 +866,8 @@ namespace Edu.WebApi.Controllers.Course
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
if (OrderId <= 0) {
if (OrderId <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -831,7 +876,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -848,9 +894,15 @@ namespace Edu.WebApi.Controllers.Course
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Order_Guest_ViewModel>(RequestParm.Msg.ToString());
var dmodel = new RB_Order_Guest_ViewModel()
{
OrderId = base.ParmJObj.GetInt("OrderId"),
ClassId = base.ParmJObj.GetInt("ClassId"),
GuestState = base.ParmJObj.GetInt("GuestState"),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
SourceId = base.ParmJObj.GetInt("SourceId"),
};
dmodel.Group_Id = userInfo.Group_Id;
var list = orderModule.GetOrderGuestPageList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = list.Select(x => new
......@@ -862,9 +914,9 @@ namespace Edu.WebApi.Controllers.Course
x.GuestStateStr,
x.Profession,
x.Sex,
SexStr= x.Sex==1?"男":"女",
SexStr = x.Sex == 1 ? "男" : "女",
x.Age,
BirthDate= Common.ConvertHelper.FormatDate(x.BirthDate),
BirthDate = Common.ConvertHelper.FormatDate(x.BirthDate),
x.TotalHours,
x.Mobile,
x.Basics,
......@@ -880,13 +932,17 @@ namespace Edu.WebApi.Controllers.Course
x.ContactAddress,
x.Domicile,
UpdateTime = x.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"),
IsShow=true,
IsShow = true,
x.GraduatedSchool,
x.GraduatedMajor,
x.VolunteerMajor,
x.Price,
x.StudyRemark,
x.StuIcon
x.StuIcon,
x.CourseId,
x.CourseName,
x.StartClassHours,
x.IsChaBan,
});
return ApiResult.Success("", pageModel);
}
......@@ -901,30 +957,30 @@ namespace Edu.WebApi.Controllers.Course
var userInfo = base.UserInfo;
var dmodel = new RB_Order_Guest_ViewModel()
{
Id=base.ParmJObj.GetInt("Id"),
OrderId=base.ParmJObj.GetInt("OrderId"),
GuestName=base.ParmJObj.GetStringValue("GuestName"),
Profession=base.ParmJObj.GetStringValue("Profession"),
Sex=base.ParmJObj.GetInt("Sex",1),
Age=base.ParmJObj.GetInt("Age"),
Mobile=base.ParmJObj.GetStringValue("Mobile"),
Basics=base.ParmJObj.GetStringValue("Basics"),
Education=(GuestEducationEnum)base.ParmJObj.GetInt("Education"),
GuestSource=(OrderSourceEnum)base.ParmJObj.GetInt("GuestSource"),
LearningGoals=(GuestLearningGoalsEnum)base.ParmJObj.GetInt("LearningGoals"),
Contact=base.ParmJObj.GetStringValue("Contact"),
ContactMobile=base.ParmJObj.GetStringValue("ContactMobile"),
IDCard=base.ParmJObj.GetStringValue("IDCard"),
Domicile=base.ParmJObj.GetStringValue("Domicile"),
ContactAddress=base.ParmJObj.GetStringValue("ContactAddress"),
SourceId=base.ParmJObj.GetInt("SourceId"),
GraduatedSchool=base.ParmJObj.GetStringValue("GraduatedSchool"),
GraduatedMajor=base.ParmJObj.GetStringValue("GraduatedMajor"),
VolunteerMajor=base.ParmJObj.GetStringValue("VolunteerMajor"),
Price=base.ParmJObj.GetDecimal("Price"),
StudyRemark=base.ParmJObj.GetStringValue("StudyRemark"),
BirthDate=base.ParmJObj.GetDateTime("BirthDate"),
TotalHours=base.ParmJObj.GetInt("TotalHours"),
Id = base.ParmJObj.GetInt("Id"),
OrderId = base.ParmJObj.GetInt("OrderId"),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
Profession = base.ParmJObj.GetStringValue("Profession"),
Sex = base.ParmJObj.GetInt("Sex", 1),
Age = base.ParmJObj.GetInt("Age"),
Mobile = base.ParmJObj.GetStringValue("Mobile"),
Basics = base.ParmJObj.GetStringValue("Basics"),
Education = (GuestEducationEnum)base.ParmJObj.GetInt("Education"),
GuestSource = (OrderSourceEnum)base.ParmJObj.GetInt("GuestSource"),
LearningGoals = (GuestLearningGoalsEnum)base.ParmJObj.GetInt("LearningGoals"),
Contact = base.ParmJObj.GetStringValue("Contact"),
ContactMobile = base.ParmJObj.GetStringValue("ContactMobile"),
IDCard = base.ParmJObj.GetStringValue("IDCard"),
Domicile = base.ParmJObj.GetStringValue("Domicile"),
ContactAddress = base.ParmJObj.GetStringValue("ContactAddress"),
SourceId = base.ParmJObj.GetInt("SourceId"),
GraduatedSchool = base.ParmJObj.GetStringValue("GraduatedSchool"),
GraduatedMajor = base.ParmJObj.GetStringValue("GraduatedMajor"),
VolunteerMajor = base.ParmJObj.GetStringValue("VolunteerMajor"),
Price = base.ParmJObj.GetDecimal("Price"),
StudyRemark = base.ParmJObj.GetStringValue("StudyRemark"),
BirthDate = base.ParmJObj.GetDateTime("BirthDate"),
TotalHours = base.ParmJObj.GetInt("TotalHours"),
StuIcon = base.ParmJObj.GetStringValue("StuIcon"),
};
if (dmodel.OrderId <= 0)
......@@ -947,7 +1003,7 @@ namespace Edu.WebApi.Controllers.Course
dmodel.CreateTime = DateTime.Now;
dmodel.UpdateBy = userInfo.Id;
dmodel.UpdateTime = DateTime.Now;
bool flag = orderModule.SetOrderGuestInfo(dmodel,out string message);
bool flag = orderModule.SetOrderGuestInfo(dmodel, out string message);
return flag ? ApiResult.Success() : ApiResult.Failed(message);
}
......@@ -956,7 +1012,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelOrderGuestInfo() {
public ApiResult DelOrderGuestInfo()
{
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
var userInfo = base.UserInfo;
int GuestId = parms.GetInt("GuestId", 0);
......@@ -994,7 +1051,7 @@ namespace Edu.WebApi.Controllers.Course
OrderId = base.ParmJObj.GetInt("OrderId"),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
ClassName = base.ParmJObj.GetStringValue("ClassName"),
CouseId = base.ParmJObj.GetInt("CouseId"),
CourseId = base.ParmJObj.GetInt("CouseId"),
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
OPStartTime = base.ParmJObj.GetStringValue("OPStartTime"),
......@@ -1104,7 +1161,8 @@ namespace Edu.WebApi.Controllers.Course
z.ContractStatus,
z.ContractStatusStr,
}),
ContractList = x?.ContractList.Select(z => new {
ContractList = x?.ContractList.Select(z => new
{
z.Id,
z.StudentName,
z.ContractNo,
......@@ -1131,7 +1189,7 @@ namespace Edu.WebApi.Controllers.Course
OrderId = base.ParmJObj.GetInt("OrderId"),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
ClassName = base.ParmJObj.GetStringValue("ClassName"),
CouseId = base.ParmJObj.GetInt("CouseId"),
CourseId = base.ParmJObj.GetInt("CouseId"),
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
OPStartTime = base.ParmJObj.GetStringValue("OPStartTime"),
......@@ -1241,7 +1299,8 @@ namespace Edu.WebApi.Controllers.Course
z.ContractStatus,
z.ContractStatusStr,
}),
ContractList = x?.ContractList.Select(z => new {
ContractList = x?.ContractList.Select(z => new
{
z.Id,
z.StudentName,
z.ContractNo,
......@@ -1301,7 +1360,7 @@ namespace Edu.WebApi.Controllers.Course
x.OrderType,
x.SourceId,
x.ClassSchoolId,
ClassName= x.StudyName,
ClassName = x.StudyName,
x.TradeWay,
x.Class_Price,
x.Unit_Price,
......@@ -1541,5 +1600,19 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
}
#endregion
#region 插班报入
/// <summary>
/// 获取插板报入配置信息
/// </summary>
/// <returns></returns>
public ApiResult GetChaClassInfo()
{
var ClassId = base.ParmJObj.GetInt("ClassId");
var otherClassList = orderModule.GetClassCourseListModule(ClassId, base.UserInfo.Group_Id);
return ApiResult.Success(data: otherClassList);
}
#endregion
}
}
......@@ -139,6 +139,7 @@ namespace Edu.WebApi.Controllers.User
DeptName = model.DeptName,
PostId = model.Post_Id,
PostName = model.PostName,
Email=model.Email,
ActionMenuList = actionList?.Select(qitem => new { qitem.FunctionCode, qitem.FunctionName, qitem.MenuName, qitem.MenuUrl }),
UploadConfig = new
{
......@@ -396,7 +397,7 @@ namespace Edu.WebApi.Controllers.User
}
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") : "" })
};
return ApiResult.Failed(message: $"本教室没有找到您的课", data: result);
......
......@@ -88,7 +88,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[HttpPost]
[HttpGet]
[AllowAnonymous]
public async Task<WxPayCallbackRespModel> WxPayCallback(WxPayNotifyModel wxPayNotifyModel)
public WxPayCallbackRespModel WxPayCallback(WxPayNotifyModel wxPayNotifyModel)
{
var viewModel = new WxPayCallbackRespModel();
try
......@@ -112,7 +112,6 @@ namespace Edu.WebApi.Controllers.WeChatPay
}
else
{
if (payModel != null && payModel.trade_state == "SUCCESS")//生成财务单据
{ //然后进行数据库更新处理……等等其他操作
UpdateFinance(payModel);//生成财务单据以及生成支付记录
......@@ -123,6 +122,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "WxPayCallback");
viewModel.code = "FAIL";
viewModel.message = "数据解密失败";
}
......@@ -137,7 +137,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
/// <returns></returns>
[AllowAnonymous]
public async Task UpdateFinance(WxPayResourceDecryptModel payModel)
public void UpdateFinance(WxPayResourceDecryptModel payModel)
{
LogHelper.WriteInfo("我是回调" + System.DateTime.Now);
int contractId = Convert.ToInt32(payModel.out_trade_no[17..]);
......@@ -158,7 +158,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
{
LogHelper.WriteInfo(payModel.out_trade_no + "我要新增财务单据啦...." + System.DateTime.Now);
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();
if (financeConfig == null)
{
......@@ -183,15 +183,17 @@ namespace Edu.WebApi.Controllers.WeChatPay
ServiceFee = OriginalFee
};
#region 财务单据数据组装
var detailList = new List<object>();
detailList.Add(new
var detailList = new List<object>
{
new
{
CostTypeId = financeConfig?.CostTypeId ?? 533,
Number = 1,
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
{
......@@ -216,8 +218,8 @@ namespace Edu.WebApi.Controllers.WeChatPay
RB_BranchName = userInfo.SchoolName,
RB_GroupName = userInfo.GroupName,
FinanceType = 2,
GuestId = orderModle.GuestId,
OrderId = orderModle.OrderId,
orderModle.GuestId,
orderModle.OrderId,
TCIDList = orderModel.ClassId > 0 ? new List<int>() { orderModel.ClassId } : new List<int>(),
};
#endregion
......@@ -363,7 +365,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[HttpPost]
[HttpGet]
[AllowAnonymous]
public async Task<RefundsCallbackRespModel> RefundsCallback(RefundsCallbackModel wxPayNotifyModel)
public RefundsCallbackRespModel RefundsCallback(RefundsCallbackModel wxPayNotifyModel)
{
//我没有使用官方的那种验证数据安全性的方法,我解密出来数据之后,直接拿着商户退款订单号再去查询一下订单状态,然后再更新到数据库中。我嫌麻烦……
var resource = wxPayNotifyModel?.resource ?? new RefundsCallbackResourceModel();
......@@ -420,7 +422,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
[AllowAnonymous]
public async Task UpdateRefundsCallbackFinance(RefundsCallbackDecryptModel payModel)
public void UpdateRefundsCallbackFinance(RefundsCallbackDecryptModel payModel)
{
int contractId = Convert.ToInt32(payModel.out_trade_no[17..]);
bool isAdd = false;
......@@ -439,7 +441,7 @@ namespace Edu.WebApi.Controllers.WeChatPay
if (isAdd)
{
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 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);//手续费
......
......@@ -466,7 +466,7 @@ namespace Edu.WebApi.Controllers.Web
dmodel.Group_Id = groupId;
}
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.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