Commit bf793f53 authored by 吴春's avatar 吴春

提交代码

parent dd4d4b62
......@@ -44,7 +44,7 @@ namespace Mall.Model.Entity.AppletWeChat
/// </summary>
public string cover_img { get; set; }
/// <summary>
/// 直播状态
/// 直播状态 101: 直播中, 102: 未开始, 103: 已结束, 104: 禁播, 105: 暂停中, 106: 异常, 107: 已过期
/// </summary>
public string live_status { get; set; }
......
......@@ -99,5 +99,6 @@ namespace Mall.Model.Entity.Education
/// 用户id
/// </summary>
public int UserId { get; set; }
}
}
......@@ -24,6 +24,16 @@ namespace Mall.Model.Entity.Point
set;
}
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 分类图片
/// </summary>
public string ClassPic { get; set; }
/// <summary>
/// 分类类型
/// </summary>
......
......@@ -45,6 +45,11 @@ namespace Mall.Model.Entity.Point
public string StudyEndDate { get; set; }
/// <summary>
/// 直播房间id
/// </summary>
public string RoomId { get; set; }
/// <summary>
/// 点数
/// </summary>
......
......@@ -98,6 +98,12 @@ namespace Mall.Model.Entity.Point
/// <summary>
/// 直播平台
/// </summary>
public int LiveApp { get; set; }
/// <summary>
/// 删除状态
/// </summary>
......
......@@ -455,6 +455,9 @@ namespace Mall.Model.Entity.User
/// 点数0-未开启,1-开启
/// </summary>
public int PointStatus { get; set; }
public string CourseOrderTpl { get; set; }
}
......
......@@ -17,17 +17,18 @@ namespace Mall.Model.Extend.AppletWeChat
public string errmsg { get; set; }
public List<RB_Live_House> room_info { get; set; }
/// <summary>
/// 房间总数
/// </summary>
public string total { get; set; }
public int total { get; set; }
}
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Live_HouseExtension_Extend: RB_Live_House
public class RB_Live_HouseExtension_Extend : RB_Live_House
{
/// <summary>
/// 推广图片
......
......@@ -17,6 +17,12 @@ namespace Mall.Model.Extend.Point
/// </summary>
public Common.Enum.Point.CourseClassTypeEnum CourseClassType { get; set; }
/// <summary>
/// 课程分类名称
/// </summary>
public Common.Enum.Point.StudentNumTypeEnum StudentNumType { get; set; }
/// <summary>
/// 教师名称
/// </summary>
......@@ -32,6 +38,8 @@ namespace Mall.Model.Extend.Point
/// </summary>
public string UserName { get; set; }
public string Photo { get; set; }
/// <summary>
/// 开始时间
/// </summary>
......@@ -45,5 +53,16 @@ namespace Mall.Model.Extend.Point
/// 用户openid
/// </summary>
public string OpenId { get; set; }
/// <summary>
/// 课程id
/// </summary>
public string CourseIds { get; set; }
/// <summary>
/// 1-查询除未付款的订单
/// </summary>
public int SelectOrderStatus { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Extend.Point;
using Mall.Module.User;
using Mall.Repository.Point;
using Mall.Repository.User;
using VT.FW.DB;
......@@ -385,8 +387,11 @@ namespace Mall.Module.Education
{ nameof(RB_Point_CourseClass_Extend.Sort), model.Sort },
{ nameof(RB_Point_CourseClass_Extend.PointNum), model.PointNum },
{ nameof(RB_Point_CourseClass_Extend.Duration), model.Duration },
{ nameof(RB_Point_CourseClass_Extend.DurationUnit), model.DurationUnit }
};
{ nameof(RB_Point_CourseClass_Extend.DurationUnit), model.DurationUnit },
{ nameof(RB_Point_CourseClass_Extend.ClassPic), model.ClassPic },
{ nameof(RB_Point_CourseClass_Extend.Title), model.Title }
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
new WhereHelper()
......@@ -503,7 +508,8 @@ namespace Mall.Module.Education
{ nameof(RB_Point_TeacherCourse_Extend.PointNum), model.PointNum },
{ nameof(RB_Point_TeacherCourse_Extend.CourseName), model.CourseName },
{ nameof(RB_Point_TeacherCourse_Extend.MinDuration), model.MinDuration },
{ nameof(RB_Point_TeacherCourse_Extend.StudyDuration), model.StudyDuration }
{ nameof(RB_Point_TeacherCourse_Extend.StudyDuration), model.StudyDuration },
{ nameof(RB_Point_TeacherCourse_Extend.RoomId), model.RoomId },
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
......@@ -746,11 +752,14 @@ namespace Mall.Module.Education
};
flag = pointTeacherCourseOrderRepository.Update(fileds, auditrecordWhereHelpers, trans);
if (flag)//推送房间信息
{
List<string> openidList = new List<string>();
openidList.Add(model.OpenId);
new MiniProgramMsgModule().SendCourseOrderTplMsg(model.TenantId, model.MallBaseId, openidList, model.CourseName, "老师:" + model.TeacherName + "时间:" + model.StudyDate.ToString("HH:mm"), model.StudyDate.ToString("MM月dd日"));
}
}
if (flag)//推送房间信息
{
}
return flag;
}
......
......@@ -1963,6 +1963,12 @@ namespace Mall.Module.User
{
return liveHouseRepository.GetLiveHouseExtensionPageList(pageIndex, pageSize, out rowCount, query);
}
public List<RB_Live_HouseExtension_Extend> GetLiveHousePageList( RB_Live_HouseExtension_Extend query)
{
return liveHouseRepository.GetLiveHousePageList( query);
}
/// <summary>
/// 获取直播房间信息
......
......@@ -899,6 +899,99 @@ namespace Mall.Module.User
return false;
}
/// <summary>
/// 老师发布动态发送订阅消息
/// </summary>
/// <param name="TenantId"></param>
/// <param name="MallBaseId"></param>
/// <param name="OpenId"></param>
/// <param name="Remark">退款原因</param>
/// <param name="OrderNo">订单号</param>
/// <param name="OrderMoney">退款金额</param>
/// <param name="GoodsName">商品名称</param>
/// <returns></returns>
public bool SendCourseOrderTplMsg(int TenantId, int MallBaseId, List<string> OpenIds, string Title, string UserName, string CreateTime)
{
var appletWeChatModel = programRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
string token = WeiXinReidsCache.Get(appletWeChatModel.MiniAppId);
if (string.IsNullOrEmpty(token))
{
token = Mall.Common.Pay.WeChatPat.TokenHelper.GetLXYToken(token, appletWeChatModel.MiniAppId, appletWeChatModel.MiniAppSecret);
System.Threading.Tasks.Task.Run(() => WeiXinReidsCache.Set(appletWeChatModel.MiniAppId, token));
}
if (string.IsNullOrEmpty(token))
{
return false;
}
string wenXinResult = string.Empty;
int successCount = 0;
if (!string.IsNullOrWhiteSpace(token))
{
try
{
foreach (var item in OpenIds)
{
if (!string.IsNullOrWhiteSpace(item))
{
string Url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token;
var postdata = new
{
touser = item,
template_id = appletWeChatModel.CourseOrderTpl,
page = "pages/order/index/index",
data = new
{
thing1 = new
{
value = Title
},
thing2 = new
{
value = UserName
},
time4 = new
{
value = CreateTime
}
}
};
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
LogHelper.WriteInfo("老师确认房间信息发送推送消息:" + wenXinResult);
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
int errcode = Convert.ToInt32(jo["errcode"].ToString());
if (errcode == 0)
{
successCount += 1;
}
else
{
LogHelper.Write(string.Format("SendCourseOrderTplMsg:wenXinResult:{0}", wenXinResult));
}
}
}
}
catch (Exception ex)
{
LogHelper.Write(string.Format("SendCourseOrderTplMsg:wenXinResult:{0}", wenXinResult));
}
if (successCount == OpenIds.Count())
{
return true;
}
else
{
return false;
}
}
return false;
}
#endregion
#region
......
......@@ -47,23 +47,31 @@ namespace Mall.Repository.AppletWeChat
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Live_House> GetLiveHousePageList(int pageIndex, int pageSize, out long rowCount, RB_Live_House query)
public List<RB_Live_HouseExtension_Extend> GetLiveHousePageList(RB_Live_HouseExtension_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1");
builder.Append($" SELECT a.*,b.ExtensionImg,b.ID as HouseImgID FROM {TableName} as a left JOIN rb_live_houseimg as b on a.roomid=b.roomid WHERE 1=1");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Live_House.TenantId)}={query.TenantId}");
builder.Append($" AND a.{nameof(RB_Live_HouseExtension_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Live_House.MallBaseId)}={query.MallBaseId}");
builder.Append($" AND a.{nameof(RB_Live_HouseExtension_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_Live_HouseExtension_Extend.ID)}={query.ID}");
}
if (!string.IsNullOrWhiteSpace(query.live_status))
{
builder.Append($" AND a.{nameof(RB_Live_HouseExtension_Extend.live_status)}='{query.live_status}'");
}
}
return GetPage<RB_Live_House>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
builder.Append($" order by a.ID asc,a.{nameof(RB_Live_HouseExtension_Extend.LiveTime)} desc");
return Get<RB_Live_HouseExtension_Extend>( builder.ToString()).ToList();
}
......
......@@ -7,7 +7,7 @@ using Mall.Model.Extend.Point;
namespace Mall.Repository.Point
{
public class RB_Point_TeacherCourseOrderRepository:BaseRepository<RB_Point_TeacherCourseOrder>
public class RB_Point_TeacherCourseOrderRepository : BaseRepository<RB_Point_TeacherCourseOrder>
{
/// <summary>
/// 表名称
......@@ -22,7 +22,7 @@ namespace Mall.Repository.Point
public List<RB_Point_TeacherCourseOrder_Extend> GetPointOrderList(RB_Point_TeacherCourseOrder_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT a.*, b.`Name` as UserName, t.CourseName, c.CourseClassType, d.Name as TeacherName, d.TeacherLogo, b.OpenId
sb.Append($@"SELECT a.*, b.`Name` as UserName, t.CourseName, c.CourseClassType, d.Name as TeacherName, d.TeacherLogo, b.OpenId,b.Photo
from RB_Point_TeacherCourseOrder as a
Left join rb_point_teachercourse t on a.CourseId = t.ID
Left Join rb_point_courseclass c on a.CourseClassId = c.ID
......@@ -43,9 +43,18 @@ where a.state = 0");
{
sb.AppendFormat(" and a.CourseId={0}", where.CourseId);
}
if (where.MallBaseId > 0)
if (!string.IsNullOrWhiteSpace(where.CourseIds))
{
sb.AppendFormat(" and a.MallBaseId={0}", where.MallBaseId);
sb.AppendFormat(" and a.CourseId in({0})", where.CourseIds);
}
if (where.SelectOrderStatus > 0)
{
sb.AppendFormat(" and a.OrderStaus <>1 ");
}
if (where.UserId > 0)
{
sb.AppendFormat(" and a.UserId={0}", where.UserId);
}
if (where.ID > 0)
{
......@@ -94,10 +103,6 @@ where a.state=0 ");
{
sb.AppendFormat(" and a.CourseId={0}", where.CourseId);
}
if (where.TeacherId > 0)
{
sb.AppendFormat(" and a.TeacherId={0}", where.TeacherId);
}
if (where.OrderStaus > 0)
{
sb.AppendFormat(" and a.OrderStaus={0}", where.OrderStaus);
......
......@@ -46,7 +46,6 @@ namespace Mall.WebApi.Controllers.AppletWeChat
RB_Live_HouseExtension_Extend demodel = JsonConvert.DeserializeObject<RB_Live_HouseExtension_Extend>(requestParm.msg.ToString());
demodel.TenantId = requestParm.TenantId;
demodel.MallBaseId = requestParm.MallBaseId;
// var list = appletWeChatModule.GetLiveHousePageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
var list = appletWeChatModule.GetLiveHouseExtensionPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
......@@ -70,6 +69,36 @@ namespace Mall.WebApi.Controllers.AppletWeChat
return ApiResult.Success("", pagelist);
}
[HttpPost]
[Obsolete]
public ApiResult GetLiveListByLiveStatus(object requestMsg)
{
var requestParm = JsonConvert.DeserializeObject<RequestParm>(requestMsg.ToString());
Model.Extend.AppletWeChat.RB_Live_HouseExtension_Extend demodel = JsonConvert.DeserializeObject<Model.Extend.AppletWeChat.RB_Live_HouseExtension_Extend>(requestParm.msg.ToString());
demodel.TenantId = requestParm.TenantId;
demodel.MallBaseId = requestParm.MallBaseId;
demodel.live_status = "102";
var list = appletWeChatModule.GetLiveHousePageList(demodel);
var retult = list.Select(x => new
{
x.ID,
x.roomid,
x.name,
x.anchor_img,
x.anchor_name,
x.cover_img,
x.live_status,
x.ExtensionImg,
x.HouseImgID,
x.LiveQrCodePaddingLeft,
x.LiveQrCodePaddingTop,
x.LiveQrCodeSize,
x.LiveQrCodeType,
start_time = GetTime(x.start_time),
end_time = GetTime(x.end_time),
});
return ApiResult.Success("", retult);
}
/// <summary>
......
......@@ -49,8 +49,8 @@ namespace Mall.WebApi.Controllers.AppletWeChat
{
if (model.LivePlayerPlugin == 1)
{
path = projectUrl + "/miniProjectLive/common/vendor.js";
jsonpath = projectUrl + "/miniProjectLive/project.config.json";
path = projectUrl + "/miniProjectLive/common/vendor.js";
jsonpath = projectUrl + "/miniProjectLive/project.config.json";
}
string txtStr = System.IO.File.ReadAllText(basePath);
string newStr = txtStr.Replace("$MallBaseId$", query.MallBaseId.ToString()).Replace("$TenantId$", query.TenantId.ToString()).Replace("$MiniAppId$", model.MiniAppId);
......@@ -525,6 +525,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat
}
[HttpPost]
[Obsolete]
public ApiResult GetLiveHousePageList()
......
......@@ -6,6 +6,7 @@ using Mall.CacheManager.User;
using Mall.Common.API;
using Mall.Common.Plugin;
using Mall.Model.Extend.Point;
using Mall.Module.BaseSetUp;
using Mall.Module.Education;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
......@@ -26,7 +27,7 @@ namespace Mall.WebApi.Controllers.Education
private readonly PointModule pointModule = new PointModule();
private readonly Module.User.MiniProgramModule appletWeChatModule = new Module.User.MiniProgramModule();
#region 点数记录
/// <summary>
......@@ -91,9 +92,14 @@ namespace Mall.WebApi.Controllers.Education
{
query.CreateDate = System.DateTime.Now;
}
query.OrderStaus = Common.Enum.Point.OrderStausEnum.NoPaid;
if (query.StudyDate <= System.DateTime.Now)
{
return ApiResult.Failed("请提前预约课程");
}
//查询课程信息
var courseModel = pointModule.GetTeacherCourseList(new RB_Point_TeacherCourse_Extend { TeacherId = query.TeacherId, ID = query.CourseId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
var courseClassModel = pointModule.GetPointCourseClassList(new RB_Point_CourseClass_Extend { ID = query.CourseClassId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
// var courseClassModel = pointModule.GetPointCourseClassList(new RB_Point_CourseClass_Extend { ID = query.CourseClassId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
query.TeacherId = courseModel.TeacherId;
//判断时长是否一致
......@@ -110,8 +116,8 @@ namespace Mall.WebApi.Controllers.Education
if (query.BasePointNum != courseModel.PointNum)
{
return ApiResult.Failed("约课点数错误");
}
if (query.TotalPointNum != (query.BasePointNum * (query.TotalStudyDuration / courseModel.StudyDuration)))
{
return ApiResult.Failed("约课总点数错误");
......@@ -119,22 +125,30 @@ namespace Mall.WebApi.Controllers.Education
}
if (query.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid)
//if (query.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid)
//{
var userModel = pointModule.GetUserEntity(userInfo.UserId);
if (userModel == null)
{
var userModel = pointModule.GetUserEntity(userInfo.UserId);
if (userModel == null)
return ApiResult.Failed("用户信息不存在");
}
else
{
if (userModel.PointNum < query.TotalPointNum)
{
return ApiResult.Failed("用户信息不存在");
return ApiResult.Failed("点数不够,请先购买点数");
}
else
{
if (userModel.PointNum < query.TotalPointNum)
{
return ApiResult.Failed("点数不够,请先购买点数");
}
query.OrderStaus = Common.Enum.Point.OrderStausEnum.Paid;
}
}
if (!string.IsNullOrWhiteSpace(courseModel.RoomId) && query.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid)
{
query.OrderStaus = Common.Enum.Point.OrderStausEnum.NoClass;
query.IsSendRoom = 1;
query.RoomInfo = "微信直播";
}
courseModel.StudyStartTime = Convert.ToDateTime(courseModel.StudyDate.ToString("yyyy-MM-dd") + " " + courseModel.StudyStartDate);
if (courseModel.StudentNumType == Common.Enum.Point.StudentNumTypeEnum.OneToMany)//一对多的时候判断开始时间是否和课程一样
{
......@@ -303,6 +317,277 @@ namespace Mall.WebApi.Controllers.Education
/// <summary>
/// 保存课程分类信息
/// </summary>
/// <returns></returns>
public ApiResult GetConfirmTeacherCourseOrder()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Point_TeacherCourseOrder_Extend>(RequestParm.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入课程订单信息");
}
else
{
if (query.CourseId == 0)
{
return ApiResult.Failed("请选择课程信息");
}
if (query.TeacherId == 0)
{
return ApiResult.Failed("请传入老师id");
}
if (string.IsNullOrWhiteSpace(query.RoomInfo))
{
return ApiResult.Failed("请传入房间信息");
}
var oldcourseOrderList = pointModule.GetPointOrderList(new RB_Point_TeacherCourseOrder_Extend { CourseId = query.CourseId, TeacherId = query.TeacherId });
var updateList = new List<RB_Point_TeacherCourseOrder_Extend>();
if (query.StudentNumType == Common.Enum.Point.StudentNumTypeEnum.OneOnOne)
{
if (query.ID == 0)
{
return ApiResult.Failed("请传入订单号id");
}
}
else
{
updateList = oldcourseOrderList.Where(x => x.OrderStaus == Common.Enum.Point.OrderStausEnum.Paid).ToList();
}
if (updateList == null || updateList.Any())
{
return ApiResult.Failed("订单已确认");
}
updateList.ForEach(x => x.OrderStaus = Common.Enum.Point.OrderStausEnum.Complete);
updateList.ForEach(x => x.UpdateDate = System.DateTime.Now);
//query.OrderStaus = Common.Enum.Point.OrderStausEnum.Complete;
//query.UpdateDate = System.DateTime.Now;
//List<RB_Point_TeacherCourseOrder_Extend> list = new List<RB_Point_TeacherCourseOrder_Extend>();
//list.Add(query);
bool result = pointModule.ConfirmTeacherCourseOrder(updateList);
if (result)
{
return ApiResult.Success("预约成功");
}
else
{
return ApiResult.Failed("预约失败");
}
}
}
#endregion
#region 充值点数
/// <summary>
/// 小程序获取点数记录
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPointGoodsList()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
RB_Point_Goods_Extend demodel = JsonConvert.DeserializeObject<RB_Point_Goods_Extend>(RequestParm.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = pointModule.GetPointGoodsList(demodel);
var result = list.OrderBy(x => x.Sort).Select(x => new
{
x.ID,
x.PonitNum,
x.GivePoint,
x.GoodsName,
x.SellingPrice,
});
return ApiResult.Success("", result);
}
#endregion
#region 老师排课
/// <summary>
/// 小程序获取点数记录
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPointCourseClassList()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
RB_Point_CourseClass_Extend demodel = JsonConvert.DeserializeObject<RB_Point_CourseClass_Extend>(RequestParm.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = pointModule.GetPointCourseClassList(demodel);
List<object> result = new List<object>();
foreach (var item in list.GroupBy(x => x.StudentNumType))
{
result.Add(new
{
StudentNumTypeStr = EnumHelper.GetEnumName(item.Key),
ClassList = list.Where(y => y.StudentNumType == item.Key).Select(t => new { t.IsFree, t.IsPublic, t.PointNum, t.ID, ClassName = EnumHelper.GetEnumName(t.CourseClassType), t.ClassPic, t.Title, t.Duration, DurationUnitName = EnumHelper.GetEnumName(t.DurationUnit) })
});
}
return ApiResult.Success("", result);
}
/// <summary>
/// 小程序获取点数记录
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPointCourseDetail()
{
var userInfo = AppletUserInfo;
RB_Point_TeacherCourse_Extend demodel = new RB_Point_TeacherCourse_Extend();
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var parms = JObject.Parse(RequestParm.msg.ToString());
int courseId = parms.GetInt("CourseId", 0);
demodel.ID = courseId;
var model = pointModule.GetTeacherCourseList(demodel).FirstOrDefault();
var miniModel = appletWeChatModule.GetMiniProgramModule(new Model.Extend.User.RB_MiniProgram_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
List<RB_Point_TeacherCourseOrder_Extend> courseOrder = new List<RB_Point_TeacherCourseOrder_Extend>();
if (model != null)
{
courseOrder = pointModule.GetPointOrderList(new RB_Point_TeacherCourseOrder_Extend { SelectOrderStatus = 1, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, CourseId = model.ID, UserId = userInfo.UserId });
}
List<object> orderList = new List<object>();
if (courseOrder != null && courseOrder.Any())
{
orderList.AddRange(courseOrder.Select(x => new { x.UserName, x.Photo, StartStudyDate = x.StudyDate.ToString("HH:mm"), EndStudyDate = x.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour ? (x.StudyDate.AddMinutes(Convert.ToDouble(x.TotalStudyDuration * 60))) : x.StudyDate.AddMinutes(Convert.ToDouble(x.TotalStudyDuration)) }));
}
List<string> template_message_list = new List<string>();
if (miniModel != null)
{
if (!string.IsNullOrWhiteSpace(miniModel.CourseOrderTpl))
{
template_message_list.Add(miniModel.CourseOrderTpl);
}
}
var result = new
{
template_message_list,
model.ID,
model.IsFree,
model.IsPublic,
model.MinDuration,
model.PointNum,
model.TeacherId,
model.TeacherLogo,
model.TeacherName,
model.CourseName,
model.RoomId,
StudyDateStr = model.StudyDate.ToString("yyyy-MM-dd"),
orderList
};
return ApiResult.Success("", result);
}
/// <summary>
/// 课程列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeacherCourseList()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Point_TeacherCourse_Extend>(RequestParm.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
if (string.IsNullOrWhiteSpace(query.SelectStartTime) || string.IsNullOrWhiteSpace(query.SelectEndTime))
{
return ApiResult.Failed("请传入查询时间范围");
}
var oldPointGoodsList = pointModule.GetTeacherCourseList(query);
List<RB_Point_TeacherCourseOrder_Extend> courseOrder = new List<RB_Point_TeacherCourseOrder_Extend>();
if (oldPointGoodsList != null && oldPointGoodsList.Any())
{
string courseIds = string.Join(",", oldPointGoodsList.Select(x => x.ID));
courseOrder = pointModule.GetPointOrderList(new RB_Point_TeacherCourseOrder_Extend { SelectOrderStatus = 1, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, CourseIds = courseIds, UserId = userInfo.UserId });
}
if (oldPointGoodsList != null && oldPointGoodsList.Any())
{
oldPointGoodsList.ForEach(x => x.ClassName = EnumHelper.GetEnumName(x.CourseClassType));
oldPointGoodsList.ForEach(x => x.StudentNumTypeName = EnumHelper.GetEnumName(x.StudentNumType));
oldPointGoodsList.ForEach(x => x.DurationUnitName = EnumHelper.GetEnumName(x.DurationUnit));
}
List<object> result = new List<object>();
DateTime startTime = Convert.ToDateTime(query.SelectStartTime);
DateTime endTime = Convert.ToDateTime(query.SelectEndTime);
TimeSpan sp = endTime.Subtract(startTime);
for (int i = 0; i <= sp.Days; i++)
{
string DayTime = string.Empty;
List<object> planList = new List<object>();
var nowDayList = oldPointGoodsList.Where(x => x.StudyDate.ToString("yyyy-MM-dd") == startTime.AddDays(i).ToString("yyyy-MM-dd"));
int haveCourseCount = 0;
foreach (var item in nowDayList)
{
var nowCourseOrderList = courseOrder.Where(x => item.ID == x.CourseId);
haveCourseCount += nowCourseOrderList.Count();
List<object> orderList = new List<object>();
if (nowCourseOrderList != null && nowCourseOrderList.Any())
{
orderList.AddRange(nowCourseOrderList.Select(x => new { x.UserName, x.Photo, StartStudyDate = x.StudyDate.ToString("HH:mm"), EndStudyDate = x.DurationUnit == Common.Enum.Point.DurationUnitEnum.Hour ? (x.StudyDate.AddMinutes(Convert.ToDouble(x.TotalStudyDuration * 60))) : x.StudyDate.AddMinutes(Convert.ToDouble(x.TotalStudyDuration)) }));
}
planList.Add(new
{
item.ID,
item.OrderNum,
item.TeacherId,
item.TeacherLogo,
item.TeacherName,
item.StudyDuration,
item.CourseClassId,
item.StudyStartDate,
item.StudyEndDate,
item.PointNum,
item.CourseName,
item.ClassName,
item.MinDuration,
item.StudentNumTypeName,
item.DurationUnitName,
item.RoomId,
IsHaveCourse = nowCourseOrderList.Count(),
OrderList = orderList
});
}
result.Add(new
{
DayTime,
DateYear = startTime.AddDays(i).ToString("yyyy"),
DateMonth = startTime.AddDays(i).ToString("MM"),
DateDay = startTime.AddDays(i).ToString("dd"),
haveCourseCount,
WeekStr = StringHelper.GetWeek(startTime.AddDays(i)).Replace('周', ' ').TrimStart(' '),
PlanList = planList
});
}
return ApiResult.Success("", result);
}
#endregion
}
}
......@@ -531,7 +531,31 @@ namespace Mall.WebApi.Controllers.Education
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 小程序老师下拉列表(赞羊)
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeacherList(object requestMsg)
{
var parms = JsonConvert.DeserializeObject<RequestParm>(requestMsg.ToString());
if (parms.MallBaseId <= 0)
{
return ApiResult.ParamIsNull();
}
RB_Education_Teacher_Extend demodel = JsonConvert.DeserializeObject<RB_Education_Teacher_Extend>(parms.msg.ToString());
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
demodel.TeacherStatus = 1;
var list = educationModule.GetTeacherList(demodel);
var result = list.Select(x => new
{
x.ID,
x.Name,
x.TeacherLogo
});
return ApiResult.Success("", result);
}
#endregion
......
......@@ -600,7 +600,8 @@ namespace Mall.WebApi.Controllers.Education
item.ClassName,
item.MinDuration,
item.StudentNumTypeName,
item.DurationUnitName
item.DurationUnitName,
RoomIdInfo = string.IsNullOrWhiteSpace(item.RoomId) ? "第三方" : "微信房间号:"+ item.RoomId
});
}
result.Add(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