Commit 001bc0bd authored by 吴春's avatar 吴春

提交代码

parent f9da4b98
......@@ -63,5 +63,10 @@ namespace Edu.Cache
/// </summary>
public static string QYWECHAT_GLOBAL_CONFIG_KEY = "QYWECHAT_GLOBAL_CONFIG";
/// <summary>
/// 微信公众号token
/// </summary>
public static readonly string DATA_WeChatAccountToken = "DATA_WeChatAccountToken_";
}
}
......@@ -845,5 +845,28 @@ namespace Edu.Common
return ReadConfigKey("TempToken");
}
}
/// <summary>
/// 公众号的AppId
/// </summary>
public static string WeChatAccountAppId
{
get
{
return ReadConfigKey("WeChatAccountAppId");
}
}
/// <summary>
/// 公众号的AppSecret
/// </summary>
public static string WeChatAccountAppSecret
{
get
{
return ReadConfigKey("WeChatAccountAppSecret");
}
}
}
}
\ No newline at end of file
using Edu.Common.Enum;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Grade
{
/// <summary>
/// 班级学员上课反馈实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Class_FeedBack
{
/// <summary>
/// 主键编号
/// </summary>
public int FeedBackId { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 状态
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 所属校区
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 教师编号
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 学员id
/// </summary>
public int OrderGuestId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 上课计划时间id
/// </summary>
public int ClassTimeId { get; set; }
/// <summary>
/// 上课计划id
/// </summary>
public int ClassPlanId { get; set; }
/// <summary>
/// 评分
/// </summary>
public int Score { get; set; }
/// <summary>
/// 评语
/// </summary>
public string Comment { get; set; }
/// <summary>
/// 照片/视频
/// </summary>
public string Photo { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum;
using VT.FW.DB;
namespace Edu.Model.Entity.LearningGarden
{
/// <summary>
/// 学习园地管理实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_LearningGarden
{
/// <summary>
/// 编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 封面图片
/// </summary>
public string Img { get; set; }
/// <summary>
/// 内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 摘要
/// </summary>
public string Digest { get; set; }
/// <summary>
/// 对应公众号文章的url
/// </summary>
public string LinkUrl { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 类型图片(image)、视频(video)、语音 (voice)、图文(news)
/// </summary>
public string TypeId { get; set; }
/// <summary>
/// 微信公众号对应的文章id(media_id)
/// </summary>
public string WeChatAccountId { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 创建人编号
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 作者
/// </summary>
public string Author { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.Grade;
namespace Edu.Model.ViewModel.Grade
{
public class RB_Class_FeedBack_ViewModel: RB_Class_FeedBack
{
/// <summary>
/// ids
/// </summary>
public string Q_ClassTimeIds { get; set; }
/// <summary>
/// ids
/// </summary>
public string Q_ClassIds { get; set; }
/// <summary>
/// 老师名称
/// </summary>
public string TeacherName { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.LearningGarden;
namespace Edu.Model.ViewModel.LearningGarden
{
public class RB_LearningGarden_ViewModel : RB_LearningGarden
{
}
/// <summary>
/// 公众号文章对应的实体
/// </summary>
public class WeChatLearningGarden
{
public WeChatLearningGardenItem item { get; set; }
/// <summary>
/// 该类型的素材的总数
/// </summary>
public int total_count { get; set; }
/// <summary>
/// 本次调用获取的素材的数量
/// </summary>
public int item_count { get; set; }
}
public class WeChatLearningGardenItem
{
/// <summary>
///
/// </summary>
public string media_id { get; set; }
public WeChatLearningGardenContent content { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public string update_time { get; set; }
}
public class WeChatLearningGardenContent
{
public List<WeChatLearningGardenNewsItem> news_item { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public long create_time { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public long update_time { get; set; }
}
public class WeChatLearningGardenNewsItem
{
/// <summary>
/// 图文消息的标题
/// </summary>
public string title { get; set; }
/// <summary>
/// 作者
/// </summary>
public string author { get; set; }
/// <summary>
/// 文消息的摘要,仅有单图文消息才有摘要,多图文此处为空
/// </summary>
public string digest { get; set; }
/// <summary>
/// 文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS
/// </summary>
public string content { get; set; }
/// <summary>
/// 是否显示封面,0为false,即不显示,1为true,即显示
/// </summary>
public int show_cover_pic { get; set; }
/// <summary>
/// 链接地址
/// </summary>
public string url { get; set; }
/// <summary>
/// 封面图片地址
/// </summary>
public string thumb_url { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.ViewModel.LearningGarden;
using Edu.Repository.LearningGarden;
using VT.FW.DB;
namespace Edu.Module.Course
{
public class LearningGardenModule
{
/// <summary>
/// 订单
/// </summary>
private readonly RB_LearningGardenRepository learningGardenRepository = new RB_LearningGardenRepository();
#region 学习园地
/// <summary>
/// 获取学习园地分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示调试</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_LearningGarden_ViewModel> GetLearningGardenPageModule(int pageIndex, int pageSize, out long rowsCount, RB_LearningGarden_ViewModel query)
{
return learningGardenRepository.GetLearningGardenPageRepository(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 获取学习园地列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_LearningGarden_ViewModel> GetLearningGardenListModule(RB_LearningGarden_ViewModel query)
{
return learningGardenRepository.GetLearningGardenListRepository(query);
}
/// <summary>
/// 新增修改新闻
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetLearningGardenModule(RB_LearningGarden_ViewModel model)
{
bool flag;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_LearningGarden_ViewModel.Title),model.Title },
{nameof(RB_LearningGarden_ViewModel.Img),model.Img },
{nameof(RB_LearningGarden_ViewModel.Content),model.Content },
{nameof(RB_LearningGarden_ViewModel.TypeId),model.TypeId },
{nameof(RB_LearningGarden_ViewModel.Digest),model.Digest },
{nameof(RB_LearningGarden_ViewModel.LinkUrl),model.LinkUrl }
};
flag = learningGardenRepository.Update(fileds, new WhereHelper(nameof(RB_LearningGarden_ViewModel.Id), model.Id));
}
else
{
var newId = learningGardenRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 批量新增修改学习园地
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetBatchWebNewsModule(List<RB_LearningGarden_ViewModel> list)
{
bool flag = false;
foreach (var model in list)
{
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_LearningGarden_ViewModel.Title),model.Title },
{nameof(RB_LearningGarden_ViewModel.Img),model.Img },
{nameof(RB_LearningGarden_ViewModel.Content),model.Content },
{nameof(RB_LearningGarden_ViewModel.TypeId),model.TypeId },
{nameof(RB_LearningGarden_ViewModel.Digest),model.Digest },
{nameof(RB_LearningGarden_ViewModel.LinkUrl),model.LinkUrl },
{nameof(RB_LearningGarden_ViewModel.UpdateTime),model.UpdateTime }
};
flag = learningGardenRepository.Update(fileds, new WhereHelper(nameof(RB_LearningGarden_ViewModel.Id), model.Id));
}
else
{
var newId = learningGardenRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
}
return flag;
}
/// <summary>
/// 根据编号获取学习园地详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_LearningGarden_ViewModel GetLearningGardenModule(object Id)
{
return learningGardenRepository.GetEntity<RB_LearningGarden_ViewModel>(Id);
}
/// <summary>
/// 修改学习园地状态
/// </summary>
/// <param name="Id"></param>
/// <param name="Status">0-正常,1-删除</param>
/// <returns></returns>
public bool RemoveLearningGardenStatusModule(int Id, int Status)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_LearningGarden_ViewModel.Status),Status },
};
var flag = learningGardenRepository.Update(fileds, new WhereHelper(nameof(RB_LearningGarden_ViewModel.Id), Id));
return flag;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.Grade;
namespace Edu.Repository.Grade
{
public class RB_Class_FeedBackRepository:BaseRepository<RB_Class_FeedBack>
{
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Edu.Common.Enum;
using Edu.Model.Entity.LearningGarden;
using Edu.Model.ViewModel.LearningGarden;
using VT.FW.DB.Dapper;
namespace Edu.Repository.LearningGarden
{
public class RB_LearningGardenRepository:BaseRepository<RB_LearningGarden>
{
/// <summary>
/// 获取学习园地分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示调试</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_LearningGarden_ViewModel> GetLearningGardenPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_LearningGarden_ViewModel query)
{
rowsCount = 0;
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.Append(@"
SELECT A.*
FROM RB_LearningGarden AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGarden_ViewModel.Status), (int)DateStateEnum.Normal);
if (query == null)
{
return new List<RB_LearningGarden_ViewModel>();
}
else
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGarden_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Title))
{
builder.AppendFormat(" AND A.{0} LIKE @Title ", nameof(RB_LearningGarden_ViewModel.Title));
parameters.Add("Title", "%" + query.Title.Trim() + "%");
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_LearningGarden_ViewModel.Id));
return GetPage<RB_LearningGarden_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取学习园地列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_LearningGarden_ViewModel> GetLearningGardenListRepository(RB_LearningGarden_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.Append(@"
SELECT A.*
FROM RB_LearningGarden AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGarden_ViewModel.Status), (int)DateStateEnum.Normal);
if (query == null)
{
return new List<RB_LearningGarden_ViewModel>();
}
else
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGarden_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Title))
{
builder.AppendFormat(" AND A.{0} LIKE @Title ", nameof(RB_LearningGarden_ViewModel.Title));
parameters.Add("Title", "%" + query.Title.Trim() + "%");
}
}
return Get<RB_LearningGarden_ViewModel>(builder.ToString()).ToList();
}
}
}
......@@ -2,11 +2,14 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Enum.Question;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Exam;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.LearningGarden;
using Edu.Model.ViewModel.User;
using Edu.Module.Course;
using Edu.Module.EduTask;
......@@ -54,6 +57,11 @@ namespace Edu.WebApi.Controllers.Applet
/// </summary>
private readonly Module.Exam.PaperModule paperModule = AOP.AOPHelper.CreateAOPObject<Module.Exam.PaperModule>();
/// <summary>
/// 学习园地处理类对象
/// </summary>
private readonly LearningGardenModule learningGardenModule = AOP.AOPHelper.CreateAOPObject<LearningGardenModule>();
#region 小程序首页
/// <summary>
/// 小程序首页
......@@ -663,5 +671,84 @@ namespace Edu.WebApi.Controllers.Applet
}
#endregion
#region 学习园地
/// <summary>
/// 获取学习园地分页
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GeLearningGardenPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_LearningGarden_ViewModel()
{
Title = base.ParmJObj.GetStringValue("Title"),
Group_Id = base.ParmJObj.GetInt("Group_Id")
};
query.Status = DateStateEnum.Normal;
query.Group_Id = base.AppletUserInfo.Group_Id;
var list = learningGardenModule.GetLearningGardenPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> resultList = new List<object>();
foreach (var item in list)
{
string CreateByName = "甲鹤教育";
if (item.CreateBy > 0)
{
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
resultList.Add(new
{
item.Id,
item.Title,
item.Content,
item.Img,
item.Digest,
item.LinkUrl,
CreateByName,
CreateTime = Common.Plugin.StringHelper.DateFormatToString(item.CreateDate)
});
}
pageModel.Count = rowsCount;
pageModel.PageData = resultList;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取学习园地详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLearningGarden()
{
var Id = base.ParmJObj.GetInt("Id", 0);
var extModel = learningGardenModule.GetLearningGardenModule(Id);
object obj = new object();
if (extModel != null && extModel.Id > 0)
{
string CreateByName = "甲鹤教育";
if (extModel.CreateBy > 0)
{
CreateByName = UserReidsCache.GetUserLoginInfo(extModel.CreateBy)?.AccountName ?? "";
}
obj = new
{
extModel.Id,
extModel.Title,
extModel.Img,
extModel.Content,
extModel.Digest,
extModel.LinkUrl,
CreateByName,
CreateTime = Common.Plugin.StringHelper.DateFormatToString(extModel.CreateDate)
};
}
return ApiResult.Success(data: obj);
}
#endregion
}
}
......@@ -179,7 +179,7 @@ namespace Edu.WebApi.Controllers.Course
Group_Id = base.UserInfo.Group_Id,
School_Id = -1,
ClassId = base.ParmJObj.GetInt("ClassId"),
OrderBy= base.ParmJObj.GetInt("OrderBy",0),
OrderBy = base.ParmJObj.GetInt("OrderBy", 0),
ClassType = base.ParmJObj.GetInt("ClassType")// //课程类型(0-全部,1-正常,2-试听课)
};
var result = classModule.GetTeacherPlan(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
......@@ -272,7 +272,7 @@ namespace Edu.WebApi.Controllers.Course
}
/// <summary>
/// 获取学员列表
......@@ -322,5 +322,10 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: result);
}
#endregion
#region 上课反馈
#endregion
}
}
......@@ -43,6 +43,8 @@
"JHTenantId": "15",
"JHMallBaseId": "5",
"JHMallUserOpenId": "oshxs5I-6uR1J91Rs3QVyi2rJIm4",
"WeChatAccountAppId": "wx7c2cedaebbfca211",
"WeChatAccountAppSecret": "6fd676c7f599bc2783fab6ae6c7a12d4",
"Notice_BaseKey": "Notice_BaseKey",
"EducationContractSchool": "EducationContractSchool",
"EducationContractAdmin": "EducationContractAdmin",
......
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