Commit 6c0fb21f authored by 罗超's avatar 罗超

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

parents 99a145d4 f4a9173a
...@@ -47,5 +47,10 @@ namespace Edu.Common.Enum.Course ...@@ -47,5 +47,10 @@ namespace Edu.Common.Enum.Course
/// </summary> /// </summary>
[EnumField("甲鹤小程序")] [EnumField("甲鹤小程序")]
MallApplet = 8, MallApplet = 8,
/// <summary>
/// 教育同行B2B报名
/// </summary>
[EnumField("教育同行B2B")]
EduB2BClient = 9,
} }
} }
...@@ -112,7 +112,7 @@ namespace Edu.Common ...@@ -112,7 +112,7 @@ namespace Edu.Common
} }
/// <summary> /// <summary>
/// 格式化时间【yyyy-MM-dd /// 格式化时间【yyyy年MM月dd日
/// </summary> /// </summary>
/// <param name="time"></param> /// <param name="time"></param>
/// <returns></returns> /// <returns></returns>
......
...@@ -30,6 +30,8 @@ namespace Edu.Education ...@@ -30,6 +30,8 @@ namespace Edu.Education
new QuarzHelper().RevenueReportTimer().GetAwaiter().GetResult(); new QuarzHelper().RevenueReportTimer().GetAwaiter().GetResult();
new QuarzHelper().WeXinMediumTimer().GetAwaiter().GetResult();//企业微信定时上传文件 2021-08-09 new QuarzHelper().WeXinMediumTimer().GetAwaiter().GetResult();//企业微信定时上传文件 2021-08-09
new QuarzHelper().WeXinChannelTimer().GetAwaiter().GetResult();//企业微信定时渠道码更新 2021-08-20 new QuarzHelper().WeXinChannelTimer().GetAwaiter().GetResult();//企业微信定时渠道码更新 2021-08-20
//new QuarzHelper().EduB2BOrderCancelTimer().GetAwaiter().GetResult();//教育同业订单超时取消
//new QuarzHelper().EduB2BOrderCommissionTimer().GetAwaiter().GetResult();//教育同业订单返佣
new QuarzHelper().CheckPerparingTimer().GetAwaiter().GetResult(); new QuarzHelper().CheckPerparingTimer().GetAwaiter().GetResult();
} }
......
...@@ -243,6 +243,72 @@ namespace Edu.Education.Helper ...@@ -243,6 +243,72 @@ namespace Edu.Education.Helper
await scheduler.ScheduleJob(job, trigger); await scheduler.ScheduleJob(job, trigger);
} }
/// <summary>
/// 教育同业B2B订单超时取消
/// </summary>
/// <returns></returns>
public async Task EduB2BOrderCancelTimer()
{
string CronExpression2 = "0 */1 * * * ?";//每1分钟执行的一次
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type", "binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
IJobDetail job = JobBuilder.Create<EduB2BOrderCancel>()
.WithIdentity("job8", "group8")
.Build();
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger7", "group7")
// .StartNow()
// .WithSimpleSchedule(x => x
// .WithIntervalInHours(1)
// .RepeatForever())
// .Build();
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity("trigger8", "group8")
.WithCronSchedule(CronExpression2)
.Build();
await scheduler.ScheduleJob(job, trigger);
}
/// <summary>
/// 教育同业B2B订单佣金发放
/// </summary>
/// <returns></returns>
public async Task EduB2BOrderCommissionTimer()
{
string CronExpression2 = "0 1 0 25 * ?";//每月25号 凌晨12.1分执行
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type", "binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
IJobDetail job = JobBuilder.Create<EduB2BOrderCommission>()
.WithIdentity("job9", "group9")
.Build();
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger7", "group7")
// .StartNow()
// .WithSimpleSchedule(x => x
// .WithIntervalInHours(1)
// .RepeatForever())
// .Build();
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity("trigger9", "group9")
.WithCronSchedule(CronExpression2)
.Build();
await scheduler.ScheduleJob(job, trigger);
}
} }
...@@ -506,6 +572,58 @@ namespace Edu.Education.Helper ...@@ -506,6 +572,58 @@ namespace Edu.Education.Helper
} }
} }
/// <summary>
/// 教育同业B2B订单超时取消
/// </summary>
public class EduB2BOrderCancel : IJob
{
/// <summary>
/// 这里是作业调度每次定时执行方法
/// </summary>
/// <param name="context"></param>
public Task Execute(IJobExecutionContext context)
{
try
{
LogHelper.Write("开始执行教育同业订单超时取消....");
EduB2BOrderModule EduB2BOrderModule = new EduB2BOrderModule();
EduB2BOrderModule.SetEduB2BOrderCancel();
LogHelper.Write("教育同业订单超时取消更新结束");
}
catch (Exception ex)
{
LogHelper.Write(ex, "EduB2BOrderCancel");
}
return null;
}
}
/// <summary>
/// 教育同业B2B订单佣金发放
/// </summary>
public class EduB2BOrderCommission : IJob
{
/// <summary>
/// 这里是作业调度每次定时执行方法
/// </summary>
/// <param name="context"></param>
public Task Execute(IJobExecutionContext context)
{
try
{
LogHelper.Write("开始执行教育同业订单返佣....");
EduB2BOrderModule EduB2BOrderModule = new EduB2BOrderModule();
EduB2BOrderModule.SetEduB2BOrderCommission();
LogHelper.Write("教育同业订单返佣更新结束");
}
catch (Exception ex)
{
LogHelper.Write(ex, "EduB2BOrderCommission");
}
return null;
}
}
public class UpdageHistoryOrderCommissionHelper public class UpdageHistoryOrderCommissionHelper
{ {
......
...@@ -97,6 +97,16 @@ namespace Edu.Model.Entity.Customer ...@@ -97,6 +97,16 @@ namespace Edu.Model.Entity.Customer
/// </summary> /// </summary>
public decimal Client_Balance { get; set; } public decimal Client_Balance { get; set; }
/// <summary>
/// 累计佣金
/// </summary>
public decimal TotalCommission { get; set; }
/// <summary>
/// 可提现佣金
/// </summary>
public decimal CommissionWithdrawal { get; set; }
/// <summary> /// <summary>
/// 账号 /// 账号
/// </summary> /// </summary>
......
...@@ -85,5 +85,10 @@ namespace Edu.Model.Entity.Customer ...@@ -85,5 +85,10 @@ namespace Edu.Model.Entity.Customer
/// 兑换截止日期 /// 兑换截止日期
/// </summary> /// </summary>
public DateTime ExchangeEndTime { get; set; } public DateTime ExchangeEndTime { get; set; }
/// <summary>
/// 任务值类型(1-人数,2-成交金额)
/// </summary>
public int TaskFinishType { get; set; }
} }
} }
...@@ -38,10 +38,7 @@ namespace Edu.Model.Entity.Customer ...@@ -38,10 +38,7 @@ namespace Edu.Model.Entity.Customer
/// </summary> /// </summary>
public string TargetId { get; set; } public string TargetId { get; set; }
/// <summary>
/// 任务值类型(1-人数,2-成交金额)
/// </summary>
public int TaskFinishType { get; set; }
/// <summary> /// <summary>
/// 任务完成值 /// 任务完成值
......
...@@ -69,5 +69,10 @@ namespace Edu.Model.ViewModel.Customer ...@@ -69,5 +69,10 @@ namespace Edu.Model.ViewModel.Customer
/// 操作时间字符串 /// 操作时间字符串
/// </summary> /// </summary>
public string UpdateTimeStr { get { return Common.ConvertHelper.FormatTime(this.UpdateTime); } } public string UpdateTimeStr { get { return Common.ConvertHelper.FormatTime(this.UpdateTime); } }
/// <summary>
/// 订单编号
/// </summary>
public string QOrderIds { get; set; }
} }
} }
...@@ -73,5 +73,10 @@ namespace Edu.Model.ViewModel.Customer ...@@ -73,5 +73,10 @@ namespace Edu.Model.ViewModel.Customer
/// 状态(1-正式客户,2-非正式客户,3-未通过客户,4-黑名单客户) /// 状态(1-正式客户,2-非正式客户,3-未通过客户,4-黑名单客户)
/// </summary> /// </summary>
public int QCustomerState { get; set; } public int QCustomerState { get; set; }
/// <summary>
/// 同业Ids
/// </summary>
public string CustomerIds { get; set; }
} }
} }
...@@ -186,6 +186,11 @@ namespace Edu.Model.ViewModel.Sell ...@@ -186,6 +186,11 @@ namespace Edu.Model.ViewModel.Sell
/// </summary> /// </summary>
public string CourseName { get; set; } public string CourseName { get; set; }
/// <summary>
/// 课程封面图
/// </summary>
public string CourseImg { get; set; }
/// <summary> /// <summary>
/// 开班时间 /// 开班时间
/// </summary> /// </summary>
...@@ -254,5 +259,25 @@ namespace Edu.Model.ViewModel.Sell ...@@ -254,5 +259,25 @@ namespace Edu.Model.ViewModel.Sell
/// 科目名称 /// 科目名称
/// </summary> /// </summary>
public string CourseSubjectName { get; set; } public string CourseSubjectName { get; set; }
/// <summary>
/// 班级开班状态
/// </summary>
public ClassStatusEnum ClassStatus { get; set; }
/// <summary>
/// 学生表_学员编号
/// </summary>
public int Q_StudentId { get; set; }
/// <summary>
/// 课程封面背景颜色
/// </summary>
public string B2BBackground { get; set; }
/// <summary>
/// 课程图标
/// </summary>
public string B2BIcon { get; set; }
} }
} }
\ No newline at end of file
...@@ -36,5 +36,25 @@ namespace Edu.Model.ViewModel.User ...@@ -36,5 +36,25 @@ namespace Edu.Model.ViewModel.User
/// 学员状态 /// 学员状态
/// </summary> /// </summary>
public GuestStateEnum StuGuestState { get; set; } public GuestStateEnum StuGuestState { get; set; }
/// <summary>
/// 订单状态
/// </summary>
public OrderStateEnum OrderState { get; set; }
/// <summary>
/// 总课时
/// </summary>
public decimal TotalHours { get; set; }
/// <summary>
/// 完成课时
/// </summary>
public decimal CompleteHours { get; set; }
/// <summary>
/// 班级状态
/// </summary>
public ClassStatusEnum ClassStatus { get; set; }
} }
} }
This diff is collapsed.
using System;
using System.Collections.Generic;
using System.Linq;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.Sell;
using Edu.Repository.Customer;
using Edu.Repository.Log;
using Edu.Repository.Sell;
using Edu.Repository.User;
using VT.FW.DB;
namespace Edu.Module.Course
{
/// <summary>
/// 教育同业订单处理类
/// </summary>
public class EduB2BOrderModule
{
/// <summary>
/// 订单
/// </summary>
private readonly RB_OrderRepository orderRepository = new RB_OrderRepository();
/// <summary>
/// 用户日志
/// </summary>
private readonly RB_User_ChangeLogRepository changeLogRepository = new RB_User_ChangeLogRepository();
/// <summary>
/// 同业
/// </summary>
private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository();
/// <summary>
/// 同业返佣
/// </summary>
private readonly RB_Customer_BalanceDetailRepository customer_BalanceDetailRepository = new RB_Customer_BalanceDetailRepository();
/// <summary>
/// 集团
/// </summary>
private readonly RB_GroupRepository groupRepository = new RB_GroupRepository();
/// <summary>
/// 更新教育同业订单超时取消
/// </summary>
/// <returns></returns>
public bool SetEduB2BOrderCancel() {
var glist = groupRepository.GetGroupListRepository(new Model.ViewModel.User.RB_Group_ViewModel() { });
foreach (var group in glist) {
int GroupId = group.GId;
//查询此集团下所有超时未付款的教育同业订单
var olist = orderRepository.GetEduB2BTimeoutOrderList(GroupId);
foreach (var item in olist) {
//取消订单
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Order_ViewModel.OrderState), Common.Enum.Course.OrderStateEnum.Cancel}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Order_ViewModel.OrderId),
FiledValue = item.OrderId,
OperatorEnum =OperatorEnum.Equal
}
};
bool flag = orderRepository.Update(keyValues, wheres);
if (flag)
{
//记录日志
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
Id = 0,
Type = 2,
CreateBy = 0,
CreateTime = DateTime.Now,
Group_Id = GroupId,
LogContent = $"同业付款超时自动取消订单【{item.OrderId}】",
School_Id = 0,
SourceId = item.OrderId
});
}
}
}
return true;
}
/// <summary>
/// 更新教育同业订单返佣
/// </summary>
/// <returns></returns>
public bool SetEduB2BOrderCommission()
{
if (DateTime.Now.Day != 25) { return false; }
var glist = groupRepository.GetGroupListRepository(new Model.ViewModel.User.RB_Group_ViewModel() { });
var trans = customerRepository.DbTransaction;
try
{
foreach (var group in glist)
{
int GroupId = group.GId;
string dateStr = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM") + "-01").AddDays(-1).ToString("yyyy-MM-dd");
//获取可发放返佣的订单+返佣列表
var blist = customer_BalanceDetailRepository.GetEduB2BOrderCanSendCommissionList(GroupId, dateStr);
if (blist.Any())
{
var clist = customerRepository.GetCustomerListRepository(new RB_Customer_Extend() { Group_Id = GroupId, CustomerIds = string.Join(",", blist.Select(x => x.CustomerId).Distinct()) });
var olist = orderRepository.GetEduB2BOrderCanSendCommissionList(GroupId, dateStr);
//查询所有的同业
foreach (var item in olist.OrderBy(x => x.OrderId))
{
var bclist = blist.Where(x => x.OrderId == item.OrderId).ToList();
if (bclist.Any())
{
foreach (var qitem in bclist.OrderBy(x => x.Id))
{
var cmodel = clist.Where(x => x.CustomerId == qitem.CustomerId).FirstOrDefault();
cmodel.TotalCommission += qitem.Money;
cmodel.CommissionWithdrawal += qitem.Money;
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Customer_BalanceDetail_ViewModel.BalanceState), 1},
{ nameof(RB_Customer_BalanceDetail_ViewModel.AccountMoney), cmodel.CommissionWithdrawal },
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Customer_BalanceDetail_ViewModel.Id),
FiledValue = qitem.Id,
OperatorEnum =OperatorEnum.Equal
}
};
customer_BalanceDetailRepository.Update(keyValues, wheres, trans);
}
}
}
//更新所有的同业佣金
foreach (var item in clist)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Customer_Extend.TotalCommission), item.TotalCommission},
{ nameof(RB_Customer_Extend.CommissionWithdrawal), item.CommissionWithdrawal},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Customer_Extend.CustomerId),
FiledValue = item.CustomerId,
OperatorEnum =OperatorEnum.Equal
}
};
customerRepository.Update(keyValues, wheres, trans);
}
}
}
customerRepository.DBSession.Commit();
return true;
}
catch (Exception ex)
{
customerRepository.DBSession.Rollback();
LogHelper.Write(ex, "SetEduB2BOrderCommission 定时更新 更新教育同业订单返佣");
return false;
}
}
}
}
...@@ -85,6 +85,11 @@ namespace Edu.Module.Course ...@@ -85,6 +85,11 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_Class_PlanRepository class_PlanRepository = new RB_Class_PlanRepository(); private readonly RB_Class_PlanRepository class_PlanRepository = new RB_Class_PlanRepository();
/// <summary>
/// 班级上课时间仓储层对象
/// </summary>
private readonly RB_Class_TimeRepository class_TimeRepository = new RB_Class_TimeRepository();
/// <summary> /// <summary>
/// 课程仓储层对象 /// 课程仓储层对象
/// </summary> /// </summary>
...@@ -2262,6 +2267,16 @@ namespace Edu.Module.Course ...@@ -2262,6 +2267,16 @@ namespace Edu.Module.Course
#region 销售中心 #region 销售中心
/// <summary>
/// 获取班级上课时间列表
/// </summary>
/// <param name="classIds"></param>
public List<RB_Class_Time_ViewModel> GetClassOpenTimeListModule(string classIds)
{
var classTimeList = class_TimeRepository.GetClassTimeListRepository(classIds);
return classTimeList;
}
/// <summary> /// <summary>
/// 获取我的订单列表 /// 获取我的订单列表
/// </summary> /// </summary>
......
...@@ -30,5 +30,16 @@ namespace Edu.Module.Customer ...@@ -30,5 +30,16 @@ namespace Edu.Module.Customer
return list; return list;
} }
/// <summary>
/// 获取客户返佣或幸福存折列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_BalanceDetail_ViewModel> GetCustomerBalanceDetailListModule(RB_Customer_BalanceDetail_ViewModel query)
{
var list = customer_BalanceDetailRepository.GetCustomerBalanceDetailListRepository(query);
return list;
}
} }
} }
...@@ -179,6 +179,7 @@ namespace Edu.Module.Customer ...@@ -179,6 +179,7 @@ namespace Edu.Module.Customer
{nameof(RB_Task_Extend.UpdateBy),model.UpdateBy }, {nameof(RB_Task_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Task_Extend.UpdateTime),model.UpdateTime }, {nameof(RB_Task_Extend.UpdateTime),model.UpdateTime },
{nameof(RB_Task_Extend.ExchangeEndTime),model.ExchangeEndTime }, {nameof(RB_Task_Extend.ExchangeEndTime),model.ExchangeEndTime },
{nameof(RB_Task_Extend.TaskFinishType),model.TaskFinishType },
}; };
flag = customer_TaskRepository.Update(fileds, new WhereHelper(nameof(RB_Task_Extend.Id), model.Id)); flag = customer_TaskRepository.Update(fileds, new WhereHelper(nameof(RB_Task_Extend.Id), model.Id));
} }
...@@ -238,7 +239,6 @@ namespace Edu.Module.Customer ...@@ -238,7 +239,6 @@ namespace Edu.Module.Customer
{nameof(RB_TaskDetails_Extend.DetailsName),item.DetailsName }, {nameof(RB_TaskDetails_Extend.DetailsName),item.DetailsName },
{nameof(RB_TaskDetails_Extend.TaskType),item.TaskType }, {nameof(RB_TaskDetails_Extend.TaskType),item.TaskType },
{nameof(RB_TaskDetails_Extend.TargetId),item.TargetId }, {nameof(RB_TaskDetails_Extend.TargetId),item.TargetId },
{nameof(RB_TaskDetails_Extend.TaskFinishType),item.TaskFinishType },
{nameof(RB_TaskDetails_Extend.TaskFinishValue),item.TaskFinishValue }, {nameof(RB_TaskDetails_Extend.TaskFinishValue),item.TaskFinishValue },
{nameof(RB_TaskDetails_Extend.TaskKudo),item.TaskKudo }, {nameof(RB_TaskDetails_Extend.TaskKudo),item.TaskKudo },
{nameof(RB_TaskDetails_Extend.TaskKudoImg),item.TaskKudoImg }, {nameof(RB_TaskDetails_Extend.TaskKudoImg),item.TaskKudoImg },
......
...@@ -70,5 +70,66 @@ WHERE 1=1 ...@@ -70,5 +70,66 @@ WHERE 1=1
} }
return GetPage<RB_Customer_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Customer_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
/// <summary>
/// 获取客户列表..
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_Extend> GetCustomerListRepository(RB_Customer_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Customer AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.CustomerName))
{
builder.AppendFormat(" AND A.{0} LIKE @CustomerName ", nameof(RB_Customer_Extend.CustomerName));
parameters.Add("CustomerName", "%" + query.CustomerName.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.ContactNumber))
{
builder.AppendFormat(" AND A.{0} LIKE @ContactNumber ", nameof(RB_Customer_Extend.ContactNumber));
parameters.Add("ContactNumber", "%" + query.ContactNumber.Trim() + "%");
}
if (query.ApproveState > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.ApproveState), query.ApproveState);
}
if (query.QCustomerState > 0)
{
switch (query.QCustomerState)
{
//正式客户
case 1: builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.CustomerState), (int)CustomerStateEnum.Normal); break;
//正式客户
case 2: builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.CustomerState), (int)CustomerStateEnum.NotActivation); break;
//未通过客户
case 3: builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.ApproveState), 2); break;
//黑名单
case 4: builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.CustomerState), (int)CustomerStateEnum.Disable); break;
}
}
if (!string.IsNullOrEmpty(query.CustomerIds))
{
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Customer_Extend.CustomerId), query.CustomerIds);
}
}
return Get<RB_Customer_Extend>(builder.ToString(), parameters).ToList();
}
} }
} }
...@@ -4,6 +4,7 @@ using System; ...@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Linq; using System.Linq;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Customer namespace Edu.Repository.Customer
{ {
...@@ -13,7 +14,7 @@ namespace Edu.Repository.Customer ...@@ -13,7 +14,7 @@ namespace Edu.Repository.Customer
public class RB_Customer_BalanceDetailRepository : BaseRepository<RB_Customer_BalanceDetail> public class RB_Customer_BalanceDetailRepository : BaseRepository<RB_Customer_BalanceDetail>
{ {
/// <summary> /// <summary>
/// 获取客户幸福存折分页列表 /// 获取客户返佣或幸福存折分页列表
/// </summary> /// </summary>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
...@@ -22,6 +23,7 @@ namespace Edu.Repository.Customer ...@@ -22,6 +23,7 @@ namespace Edu.Repository.Customer
/// <returns></returns> /// <returns></returns>
public List<RB_Customer_BalanceDetail_ViewModel> GetCustomerBalanceDetailPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Customer_BalanceDetail_ViewModel query) public List<RB_Customer_BalanceDetail_ViewModel> GetCustomerBalanceDetailPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Customer_BalanceDetail_ViewModel query)
{ {
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(b.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.CustomerName,'') AS CustomerName SELECT A.*,IFNULL(b.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.CustomerName,'') AS CustomerName
...@@ -51,8 +53,81 @@ WHERE 1=1 ...@@ -51,8 +53,81 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.OrderId), query.OrderId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.OrderId), query.OrderId);
} }
if (!string.IsNullOrEmpty(query.Description))
{
builder.AppendFormat(" AND A.{0} LIKE @Description ", nameof(RB_Customer_BalanceDetail_ViewModel.Description));
parameters.Add("Description", "%" + query.Description.Trim() + "%");
}
} }
return GetPage<RB_Customer_BalanceDetail_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Customer_BalanceDetail_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_Customer_BalanceDetail_ViewModel> GetCustomerBalanceDetailListRepository( RB_Customer_BalanceDetail_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(b.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.CustomerName,'') AS CustomerName
FROM RB_Customer_BalanceDetail AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_customer AS C ON A.CustomerId=C.CustomerId
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.Group_Id), query.Group_Id);
}
if (query.CustomerId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.CustomerId), query.CustomerId);
}
if (query.RebateType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.RebateType), query.RebateType);
}
if (query.BalanceType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.BalanceType), query.BalanceType);
}
if (query.OrderId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_BalanceDetail_ViewModel.OrderId), query.OrderId);
}
if (!string.IsNullOrEmpty(query.Description))
{
builder.AppendFormat(" AND A.{0} LIKE @Description ", nameof(RB_Customer_BalanceDetail_ViewModel.Description));
parameters.Add("Description", "%" + query.Description.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.QOrderIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Customer_BalanceDetail_ViewModel.OrderId), query.QOrderIds);
}
}
return Get<RB_Customer_BalanceDetail_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取可发放返佣的列表
/// </summary>
/// <param name="groupId"></param>
/// <param name="dateStr"></param>
/// <returns></returns>
public List<RB_Customer_BalanceDetail_ViewModel> GetEduB2BOrderCanSendCommissionList(int groupId, string dateStr)
{
string sql = $@"SELECT b.* FROM rb_order o
INNER JOIN rb_customer_balancedetail b on o.OrderId = b.OrderId
WHERE o.Group_Id ={groupId} and o.OrderState =1 and o.OrderSource =9 and o.PayState =1 and b.RebateType =1 and b.BalanceType =1 and b.BalanceState =2 and o.PayDate <='{dateStr} 23:59:59' ";
return Get<RB_Customer_BalanceDetail_ViewModel>(sql).ToList();
}
} }
} }
...@@ -91,11 +91,12 @@ WHERE 1=1 ...@@ -91,11 +91,12 @@ WHERE 1=1
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,time.ClassTimeId ,Time.StartTime,time.EndTime,time.ClassTimeId
,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',time.StartTime), CONCAT('2020-12-16',' ',time.EndTime)) AS ClassMinutes ,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',time.StartTime), CONCAT('2020-12-16',' ',time.EndTime)) AS ClassMinutes
,time.TimeHour,c.ClassName ,time.TimeHour,c.ClassName,IFNULL(course.CourseName,'') AS CourseName
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 LEFT JOIN rb_class_time AS time ON A.ClassPlanId=Time.ClassPlanId
Left JOIN rb_class as c ON c.ClassId=A.ClassId LEFT JOIN rb_class as c ON c.ClassId=A.ClassId
LEFT JOIN rb_course AS course ON c.CouseId=course.CourseId
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);
...@@ -483,7 +484,8 @@ WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 and ...@@ -483,7 +484,8 @@ WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 and
public List<RB_Class_Plan_ViewModel> GetStudentPlanListRepository(RB_Class_Plan_ViewModel query) public List<RB_Class_Plan_ViewModel> GetStudentPlanListRepository(RB_Class_Plan_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat($@"SELECT a.*,c.ClassName,lp.LessonPlanNum,c.ClassHours,b.RoomName,IFNULL(T.TeacherHead,'') AS UserIcon,IFNULL(T.TeacherName,'') AS TeacherName FROM rb_class_plan as a LEFT JOIN rb_class as c on a.ClassId=c.ClassId builder.AppendFormat($@"
SELECT a.*,c.ClassName,lp.LessonPlanNum,c.ClassHours,b.RoomName,IFNULL(T.TeacherHead,'') AS UserIcon,IFNULL(T.TeacherName,'') AS TeacherName FROM rb_class_plan as a LEFT JOIN rb_class as c on a.ClassId=c.ClassId
LEFT JOIN rb_class_room as b on a.ClassRoomId=b.RoomId LEFT JOIN rb_class_room as b on a.ClassRoomId=b.RoomId
LEFT JOIN rb_teacher AS T ON c.Teacher_Id=T.TId LEFT JOIN rb_teacher AS T ON c.Teacher_Id=T.TId
LEFT JOIN rb_student_orderguest as sog on sog.ClassId=c.ClassId LEFT JOIN rb_student_orderguest as sog on sog.ClassId=c.ClassId
......
...@@ -219,6 +219,11 @@ ORDER BY {orderBy} ...@@ -219,6 +219,11 @@ 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.Q_StudentId > 0)
{
where += string.Format(" AND o.OrderId IN (SELECT OrderId FROM rb_student_orderguest WHERE Student_Id={0}) ", demodel.Q_StudentId);
}
if (demodel.CourseId > 0) if (demodel.CourseId > 0)
{ {
where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CourseId}"; where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CourseId}";
...@@ -268,12 +273,14 @@ ORDER BY {orderBy} ...@@ -268,12 +273,14 @@ ORDER BY {orderBy}
string sql = $@" string sql = $@"
SELECT o.*,c.ClassName,c.ClassNo,c.School_Id as ClassSchoolId,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName SELECT o.*,c.ClassName,c.ClassNo,c.School_Id as ClassSchoolId,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName
,C.OpenTime,course.CourseSubject,IFNULL(csubject.SubjectName,'') AS CourseSubjectName ,C.OpenTime,course.CourseSubject,IFNULL(csubject.SubjectName,'') AS CourseSubjectName,IFNULL(school.SName,'') AS SchoolName
FROM RB_Order o ,IFNULL(c.ClassStatus,0) AS ClassStatus,IFNULL(course.CoverImg,'') AS CourseImg,IFNULL(course.B2BBackground,'') AS B2BBackground
LEFT JOIN rb_class c on o.ClassId = c.ClassId ,IFNULL(course.B2BIcon,'') AS B2BIcon
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_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) LEFT JOIN rb_course AS course ON (o.CourseId=course.CourseId AND o.CourseId>0 AND o.OrderType=1)
LEFT JOIN rb_course_subject AS csubject ON course.CourseSubject=csubject.Id LEFT JOIN rb_course_subject AS csubject ON course.CourseSubject=csubject.Id
LEFT JOIN rb_school AS school ON c.School_Id=school.SId
WHERE {where} ORDER BY {orderBy} WHERE {where} ORDER BY {orderBy}
"; ";
return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList(); return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
...@@ -1083,5 +1090,34 @@ ORDER BY {orderBy} ...@@ -1083,5 +1090,34 @@ ORDER BY {orderBy}
} }
#endregion #endregion
#region 教育同业
/// <summary>
/// 获取教育同业付款超时订单
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
public List<RB_Order_ViewModel> GetEduB2BTimeoutOrderList(int groupId)
{
string sql = $@"SELECT * FROM rb_order WHERE Group_Id ={groupId} and OrderState =1 and OrderSource =9 and IFNULL(PayState,0) <>1 and CreateTime <'{DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss")}'";
return Get<RB_Order_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取教育同业可返佣订单列表
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
public List<RB_Order_ViewModel> GetEduB2BOrderCanSendCommissionList(int groupId, string dateStr)
{
string sql = $@"SELECT o.* FROM rb_order o
INNER JOIN rb_customer_balancedetail b on o.OrderId = b.OrderId
WHERE o.Group_Id ={groupId} and o.OrderState =1 and o.OrderSource =9 and o.PayState =1 and b.RebateType =1 and b.BalanceType =1 and b.BalanceState =2 and o.PayDate <='{dateStr} 23:59:59'
GROUP BY o.OrderId";
return Get<RB_Order_ViewModel>(sql).ToList();
}
#endregion
} }
} }
...@@ -23,9 +23,10 @@ namespace Edu.Repository.User ...@@ -23,9 +23,10 @@ namespace Edu.Repository.User
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState
,C.OrderState,IFNULL(D.TotalHours,0) AS TotalHours,IFNULL(D.CompleteHours,0) AS CompleteHours,IFNULL(B.ClassStatus,0) AS ClassStatus
FROM RB_Student_OrderGuest AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId FROM RB_Student_OrderGuest AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_order AS C ON A.OrderId=C.OrderId LEFT JOIN rb_order AS C ON A.OrderId=C.OrderId
LEFT JOIN rb_order_guest AS D ON A.GuestId=D.Id LEFT JOIN rb_order_guest AS D ON A.GuestId=D.Id
WHERE 1=1 WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_OrderGuest_ViewModel.Status), (int)DateStateEnum.Normal);
......
...@@ -141,11 +141,9 @@ namespace Edu.WebApi.Controllers.APP ...@@ -141,11 +141,9 @@ namespace Edu.WebApi.Controllers.APP
/// <returns></returns> /// <returns></returns>
public ApiResult GetStudentPlan() public ApiResult GetStudentPlan()
{ {
var query = new RB_Class_Plan_ViewModel() var query = new RB_Class_Plan_ViewModel()
{ {
Group_Id = base.AppUserInfo.Group_Id, Group_Id = base.AppUserInfo.Group_Id,
StuId = base.AppUserInfo.Id, StuId = base.AppUserInfo.Id,
StartTime = base.ParmJObj.GetStringValue("StartTime"), StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"), EndTime = base.ParmJObj.GetStringValue("EndTime"),
......
using Edu.Common.API; using Edu.Common.API;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Sell; using Edu.Model.ViewModel.Sell;
using Edu.Module.Course; using Edu.Module.Course;
using Edu.Module.Customer;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
...@@ -27,12 +30,22 @@ namespace Edu.WebApi.Controllers.B2BApp ...@@ -27,12 +30,22 @@ namespace Edu.WebApi.Controllers.B2BApp
/// </summary> /// </summary>
private readonly OrderModule orderModule = new OrderModule(); private readonly OrderModule orderModule = new OrderModule();
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = new ClassModule();
/// <summary>
/// 客户返佣和幸福存折处理类对象
/// </summary>
private readonly CustomerBalanceDetailModule customerBalanceDetailModule = new CustomerBalanceDetailModule();
/// <summary> /// <summary>
/// 同行获取学员订单分页列表 /// 同行获取学员订单分页列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetCustomerGetStudentOrderPage() public ApiResult CustomerGetStudentOrderPage()
{ {
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var customer = base.AppletCustomerInfo; var customer = base.AppletCustomerInfo;
...@@ -40,12 +53,70 @@ namespace Edu.WebApi.Controllers.B2BApp ...@@ -40,12 +53,70 @@ namespace Edu.WebApi.Controllers.B2BApp
{ {
Group_Id=customer.GroupId, Group_Id=customer.GroupId,
CustomerId=customer.CustomerId, CustomerId=customer.CustomerId,
GuestName=base.ParmJObj.GetStringValue("GuestName"),
Q_StudentId=base.ParmJObj.GetInt("Q_StudentId"),
}; };
var list = orderModule.GetMyOrderPageList(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = orderModule.GetMyOrderPageList(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<RB_Class_Time_ViewModel> timeList = new List<RB_Class_Time_ViewModel>();
pageModel.PageData = list; List<RB_Customer_BalanceDetail_ViewModel> balanceList = new List<RB_Customer_BalanceDetail_ViewModel>();
if (list != null && list.Count > 0)
{
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
timeList= orderModule.GetClassOpenTimeListModule(classIds);
string orderIds = string.Join(",", list.Select(qitem => qitem.OrderId));
balanceList= customerBalanceDetailModule.GetCustomerBalanceDetailListModule(new RB_Customer_BalanceDetail_ViewModel()
{
QOrderIds = orderIds
});
}
List<object> result = new List<object>();
foreach (var item in list)
{
var timeModel = timeList.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault();
var tempBalanceList = balanceList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList();
result.Add(new
{
item.CourseId,
item.CourseName,
item.CourseImg,
item.ClassId,
item.ClassName,
item.ClassNo,
OpenTime= timeModel?.NewPlanDateTime??"",
item.ClassSchoolId,
item.SchoolName,
item.OrderState,
OrderStateName = item.OrderState.ToName(),
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.GuestNum,
GuestList = item.GuestList.Select(qitem => new { qitem.GuestName }),
item.Income,
item.ClassStatus,
ClassStatusName = item.ClassStatus.ToName(),
RebateMoney = tempBalanceList?.Where(qitem=>qitem.RebateType==1)?.Sum(qitem=>qitem.Money)??0,
DepositbookMoney = tempBalanceList?.Where(qitem => qitem.RebateType == 2)?.Sum(qitem => qitem.Money) ?? 0,
item.B2BBackground,
item.B2BIcon,
});
}
pageModel.PageData = result;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
/// <summary>
/// 同行获取学员上课计划
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CustomerGetStudentPlan()
{
var customer = base.AppletCustomerInfo;
int StuId = base.ParmJObj.GetInt("StuId");
var obj = classModule.AppCustomerGetClassPlan(StuId);
return ApiResult.Success(data: obj);
}
} }
} }
...@@ -206,6 +206,7 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -206,6 +206,7 @@ namespace Edu.WebApi.Controllers.Customer
TaskEndTime = base.ParmJObj.GetDateTime("TaskEndTime"), TaskEndTime = base.ParmJObj.GetDateTime("TaskEndTime"),
TaskDesc = base.ParmJObj.GetStringValue("TaskDesc"), TaskDesc = base.ParmJObj.GetStringValue("TaskDesc"),
ExchangeEndTime = base.ParmJObj.GetDateTime("ExchangeEndTime"), ExchangeEndTime = base.ParmJObj.GetDateTime("ExchangeEndTime"),
TaskFinishType = base.ParmJObj.GetInt("TaskFinishType"),
}; };
string taskImageList = base.ParmJObj.GetStringValue("TaskImageList"); string taskImageList = base.ParmJObj.GetStringValue("TaskImageList");
List<string> imgList = new List<string>(); List<string> imgList = new List<string>();
...@@ -250,7 +251,7 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -250,7 +251,7 @@ namespace Edu.WebApi.Controllers.Customer
DetailsName=jobj.GetStringValue("DetailsName"), DetailsName=jobj.GetStringValue("DetailsName"),
TaskType = (TaskTypeEnum)jobj.GetInt("TaskType"), TaskType = (TaskTypeEnum)jobj.GetInt("TaskType"),
TargetId = string.Join(",", targetIds), TargetId = string.Join(",", targetIds),
TaskFinishType = jobj.GetInt("TaskFinishType"),
TaskFinishValue = jobj.GetDecimal("TaskFinishValue"), TaskFinishValue = jobj.GetDecimal("TaskFinishValue"),
TaskKudo=jobj.GetStringValue("TaskKudo"), TaskKudo=jobj.GetStringValue("TaskKudo"),
TaskKudoImg= JsonHelper.Serialize(imgKudoList), TaskKudoImg= JsonHelper.Serialize(imgKudoList),
...@@ -347,6 +348,7 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -347,6 +348,7 @@ namespace Edu.WebApi.Controllers.Customer
BalanceType = base.ParmJObj.GetInt("BalanceType"), BalanceType = base.ParmJObj.GetInt("BalanceType"),
CustomerId=base.ParmJObj.GetInt("CustomerId"), CustomerId=base.ParmJObj.GetInt("CustomerId"),
OrderId=base.ParmJObj.GetInt("OrderId"), OrderId=base.ParmJObj.GetInt("OrderId"),
Description=base.ParmJObj.GetStringValue("Description"),
}; };
var list = balanceDetailModule.GetCustomerBalanceDetailPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = balanceDetailModule.GetCustomerBalanceDetailPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list) foreach (var item in list)
......
...@@ -11,6 +11,7 @@ using Edu.Common.Enum.User; ...@@ -11,6 +11,7 @@ using Edu.Common.Enum.User;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.Log; using Edu.Model.ViewModel.Log;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Module.Course;
using Edu.Module.Log; using Edu.Module.Log;
using Edu.Module.User; using Edu.Module.User;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
...@@ -89,6 +90,11 @@ namespace Edu.WebApi.Controllers.User ...@@ -89,6 +90,11 @@ namespace Edu.WebApi.Controllers.User
/// </summary> /// </summary>
private readonly UserChangeLogModule userChangeLogModule = new UserChangeLogModule(); private readonly UserChangeLogModule userChangeLogModule = new UserChangeLogModule();
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = new ClassModule();
#region 用户账户管理 #region 用户账户管理
/// <summary> /// <summary>
...@@ -793,6 +799,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -793,6 +799,7 @@ namespace Edu.WebApi.Controllers.User
{ {
var StuId = base.ParmJObj.GetInt("StuId", 0); var StuId = base.ParmJObj.GetInt("StuId", 0);
var extModel = studentModule.GetStudentModule(StuId); var extModel = studentModule.GetStudentModule(StuId);
classModule.GetStudentCurrentOrderModule(StuId, out int newClassStatus, out string classStatusName, out _, out _);
var obj = new var obj = new
{ {
extModel.StuId, extModel.StuId,
...@@ -823,6 +830,9 @@ namespace Edu.WebApi.Controllers.User ...@@ -823,6 +830,9 @@ namespace Edu.WebApi.Controllers.User
extModel.StuContractMobile, extModel.StuContractMobile,
extModel.StuIDCard, extModel.StuIDCard,
extModel.StuIDCardAddress, extModel.StuIDCardAddress,
CreateTimeStr=Common.ConvertHelper.FormatDate(extModel.CreateTime),
newClassStatus,
classStatusName
}; };
return ApiResult.Success(data: obj); return ApiResult.Success(data: obj);
} }
......
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