Commit 3c9e2e35 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/viitto/eduspider

# Conflicts:
#	EduSpider.Model/Entity/RB_Stu_Comment.cs
#	EduSpider.Model/Query/CourseQuery.cs
#	EduSpider.Repository/StuHomeWorkRepository.cs
parents f8c84944 8fe6a3a7
using EduSpider.Model.Entity;
using EduSpider.Model.Extend;
using EduSpider.Model.Query;
using System.Collections.Generic;
using VTX.FW.Config;
using VTX.FW.DB;
namespace EduSpider.IRepository
{
/// <summary>
/// 学生评论详情仓储接口
/// </summary>
public interface IStuCommentDetailsRepository : IDBRepository<RB_Stu_CommentDetails>, IDependency
{
/// <summary>
/// 批量新增修改学员评论详情
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchSetStuCommentDetails(List<RB_Stu_CommentDetails> list);
/// <summary>
/// 获取学员评价详情
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_CommentDetails_Extend> GetStuCommentDetailsListRepository(RB_Stu_CommentDetails_Extend query);
/// <summary>
/// 修改学生评价
/// </summary>
/// <param name="Ids"></param>
/// <param name="Info"></param>
/// <returns></returns>
public bool SetStuCommentDetailsInfoRepository(string Ids, string Info);
/// <summary>
/// 修改学员评论状态
/// </summary>
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentDetailsShowTypeRepository(int ShowType, string Ids);
/// <summary>
/// 根据课程评论次数修改可见等级
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="CommentMainId">评价主表编号</param>
/// <param name="ShowType">可见性</param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimesRepository(int CourseId, int CommentMainId, int ShowType);
/// <summary>
/// 根据编号删除学员评论
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public bool DeleteStuCommentRepository(string Ids);
}
}
......@@ -8,7 +8,7 @@ using VTX.FW.DB;
namespace EduSpider.IRepository
{
/// <summary>
/// 学员评仓储接口
/// 学员评仓储接口
/// </summary>
public interface IStuCommentRepository:IDBRepository<RB_Stu_Comment>, IDependency
{
......@@ -17,59 +17,20 @@ namespace EduSpider.IRepository
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStuCommentRepository(RB_Stu_Comment model);
public bool SetStuCommentRepository(RB_Stu_Comment_Extend model, bool IsAdd = false);
/// <summary>
/// 批量新增学员评价
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchSetStuCommentRepository(List<RB_Stu_Comment> list, StuCommentType commentType );
/// <summary>
/// 查询学员评语列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetStuCommentListRepository(CourseQuery query);
/// <summary>
/// 修改学员评论状态
/// </summary>
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentShowTypeRepository(int ShowType, string Ids);
/// <summary>
/// 根据课程评论次数修改可见等级
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="Times">次数</param>
/// <param name="ShowType">可见性</param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimesRepository(int CourseId,int Times,int ShowType);
/// <summary>
/// 根据编号删除学员评论
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public bool DeleteStuCommentRepository(string Ids);
public bool BatchSetStuCommentRepository(RB_Stu_Comment_Extend model, StuCommentType commentType );
/// <summary>
/// 获取系统生成评论次数
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetCourseCommentTimesListRepository(CourseQuery query);
/// <summary>
/// 获取评论列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment_Extend> GetStuCommentList(CourseQuery query);
public List<RB_Stu_Comment_Extend> GetCourseCommentTimesListRepository(CourseQuery query);
}
}
......@@ -80,26 +80,27 @@ namespace EduSpider.IServices
/// <returns></returns>
public bool DeleteCourseCommentDetail(string DetailIds);
/// <summary>
/// 新增修改学员评价
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStuComment(RB_Stu_Comment model);
/// <summary>
/// 批量新增学员评价
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchSetStuComment(List<RB_Stu_Comment> list, StuCommentType commentType);
public bool BatchSetStuComment(RB_Stu_Comment_Extend model, StuCommentType commentType);
/// <summary>
/// 获取学员评价列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment_Extend> GetStuCommentList(CourseQuery query);
public List<RB_Stu_CommentDetails_Extend> GetStuCommentDetailsList(RB_Stu_CommentDetails_Extend query);
/// <summary>
/// 修改学生评价
/// </summary>
/// <param name="Ids"></param>
/// <param name="Info"></param>
/// <returns></returns>
public bool SetStuCommentDetailsInfo(string Ids, string Info);
/// <summary>
/// 修改学员评论状态
......@@ -107,16 +108,16 @@ namespace EduSpider.IServices
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentShowType(int ShowType, string Ids);
public bool SetStuCommentDetailsShowType(int ShowType, string Ids);
/// <summary>
/// 根据课程评论次数修改可见等级
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="Times">次数</param>
/// <param name="CommentMainId">评价主表编号</param>
/// <param name="ShowType">可见性</param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimes(int CourseId, int Times, int ShouType);
public bool SetStuCommentShowTypeByTimes(int CourseId, int CommentMainId, int ShouType);
/// <summary>
/// 根据编号删除学员评论
......@@ -130,7 +131,7 @@ namespace EduSpider.IServices
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetCourseCommentTimesList(CourseQuery query);
public List<RB_Stu_Comment_Extend> GetCourseCommentTimesList(CourseQuery query);
/// <summary>
/// 获取系统评价配置
......
......@@ -4,77 +4,50 @@ using VTX.FW.Attr;
namespace EduSpider.Model.Entity
{
/// <summary>
/// 学员评实体类
/// 学员评价主表实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Stu_Comment
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 开始作业编号
/// </summary>
public Int64 StartHomeWorkId { get; set; }
/// <summary>
/// 家庭作业编号
/// </summary>
public Int64 HomeWorkId { get; set; }
/// <summary>
/// 学员登录编号
/// </summary>
public int StuUid { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 评语次数
/// </summary>
public int Times { get; set; }
/// <summary>
/// 评语
/// </summary>
public string Info { get; set; }
/// <summary>
/// 创建类型(1-系统创建,2-老师创建)
/// </summary>
public int CreateType { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建人姓名
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 显示类型(1-全部可见,2-部分可见,3-不可见)
/// </summary>
public int ShowType { get; set; }
/// <summary>
/// 删除状态(0-正常,1-删除)
/// </summary>
public int Status { get; set; }
}
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 次数
/// </summary>
public int Times { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 评论标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 创建类型(1-系统创建,2-老师创建)
/// </summary>
public int CreateType { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人姓名
/// </summary>
public string CreateByName { get; set; }
}
}
using System;
using VTX.FW.Attr;
namespace EduSpider.Model.Entity
{
/// <summary>
/// 学员评价详情表实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Stu_CommentDetails
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 学员评价主表编号
/// </summary>
public int CommentMainId { get; set; }
/// <summary>
/// 开始作业编号
/// </summary>
public Int64 StartHomeWorkId { get; set; }
/// <summary>
/// 家庭作业编号
/// </summary>
public Int64 HomeWorkId { get; set; }
/// <summary>
/// 学员登录编号
/// </summary>
public int StuUid { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 评语次数
/// </summary>
public int Times { get; set; }
/// <summary>
/// 评语
/// </summary>
public string Info { get; set; }
/// <summary>
/// 创建类型(1-系统创建,2-老师创建)
/// </summary>
public int CreateType { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建人姓名
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 显示类型(1-全部可见,2-部分可见,3-不可见)
/// </summary>
public int ShowType { get; set; }
/// <summary>
/// 删除状态(0-正常,1-删除)
/// </summary>
public int Status { get; set; }
/// <summary>
/// 多个作业编号
/// </summary>
public string HomeWorkIds { get; set; }
}
}
using EduSpider.Model.Entity;
namespace EduSpider.Model.Extend
{
/// <summary>
/// 学员评价详情扩展实体类
/// </summary>
public class RB_Stu_CommentDetails_Extend : RB_Stu_CommentDetails
{
/// <summary>
/// 学员评价主表编号
/// </summary>
public string QCommentMainIds { get; set; }
/// <summary>
/// 学生名称
/// </summary>
public string StuName { get; set; }
}
}
using EduSpider.Model.Entity;
using System;
using VTX.FW.Attr;
using System.Collections.Generic;
namespace EduSpider.Model.Extend
{
/// <summary>
/// 学生评价扩展
/// </summary>
public class RB_Stu_Comment_Extend : RB_Stu_Comment
{
/// <summary>
/// 学生姓名
/// </summary>
public string StuName { get; set; }
}
/// <summary>
/// 学生评价主表扩展实体类
/// </summary>
public class RB_Stu_Comment_Extend : RB_Stu_Comment
{
/// <summary>
/// 学员评论详情列表
/// </summary>
public List<RB_Stu_CommentDetails> Details { get; set; }
/// <summary>
/// 显示类型
/// </summary>
public int ShowType { get; set; }
}
}
......@@ -41,21 +41,21 @@ namespace EduSpider.Model.Query
/// 关键词
/// </summary>
public string KeyWords { get; set;}
/// <summary>
/// 作业编号
/// 是否强制匹配关键词
/// </summary>
public Int64 HomeWorkId { get; set; }
public int IsMatchKeyWords { get; set; }
/// <summary>
/// 开始作业编号
/// 作业编号
/// </summary>
public Int64 StartHomeWorkId { get; set; }
public Int64 HomeWorkId { get; set; }
/// <summary>
/// 结束作业编号
/// 作业编号
/// </summary>
public Int64 EndHomeWorkId { get; set; }
public string QHomeWorkIds { get; set; }
/// <summary>
/// 创建类型(1-系统创建,2-老师创建)
......
......@@ -66,7 +66,20 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Comment_Extend.Id), query.DefaultCommentId);
}
var list = base.Get<RB_Comment_Extend>(builder.ToString(),parameters).ToList();
var list = new List<RB_Comment_Extend>();
//强制匹配关键词
if (query.IsMatchKeyWords == 1)
{
if (parameters != null && parameters.ParameterNames.Count()>0)
{
list = base.Get<RB_Comment_Extend>(builder.ToString(), parameters).ToList();
}
}
else
{
list = base.Get<RB_Comment_Extend>(builder.ToString(), parameters).ToList();
}
if (list != null && list.Count>0)
{
string Ids = string.Join(",", list.Select(qitem => qitem.Id));
......
......@@ -82,7 +82,7 @@ WHERE 1=1
/// <returns></returns>
public bool DeleteCourseCommentDetailsRepository(string DetailIds)
{
string sql = string.Format("UPDATE RB_Course_CommentDetails SET Status=1 WHERE DetailId IN({0}) ", DetailIds);
string sql = string.Format(" UPDATE RB_Course_CommentDetails SET Status=1 WHERE DetailId IN({0}) ", DetailIds);
return base.Execute(sql) > 0;
}
}
......
using EduSpider.IRepository;
using EduSpider.Model.Entity;
using EduSpider.Model.Extend;
using EduSpider.Model.Query;
using EduSpider.Repository.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VTX.FW.DB.Dapper;
namespace EduSpider.Repository
{
/// <summary>
/// 学员评论详情仓储接口
/// </summary>
public class StuCommentDetailsRepository : BaseRepository<RB_Stu_CommentDetails>, IStuCommentDetailsRepository
{
/// <summary>
/// 批量新增修改学员评论详情
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchSetStuCommentDetails(List<RB_Stu_CommentDetails> list)
{
foreach (var item in list)
{
var defaultModel = GetStuCommentDetailsListRepository(new RB_Stu_CommentDetails_Extend()
{
CourseId = item.CourseId,
Times = item.Times,
StuUid = item.StuUid,
HomeWorkId = item.HomeWorkId,
}).FirstOrDefault();
string createTimeStr = "";
if (defaultModel != null)
{
createTimeStr = VTX.FW.Helper.ConvertHelper.FormatTime(defaultModel.CreateTime.AddSeconds(1));
}
else
{
var homeWorkModel = new StuHomeWorkRepository().GetStuHomeWorkDetailsListRepository(new CourseQuery()
{
CourseId = item.CourseId,
HomeWorkId = item.HomeWorkId,
StuIds = item.StuUid.ToString()
}).FirstOrDefault();
if (homeWorkModel != null)
{
createTimeStr = VTX.FW.Helper.ConvertHelper.FormatTime(homeWorkModel.add_time.AddSeconds(1));
}
}
if (!string.IsNullOrEmpty(createTimeStr))
{
item.CreateTime = Convert.ToDateTime(createTimeStr);
}
else
{
item.CreateTime = DateTime.Now;
}
// flag = base.Insert(item) > 0;
}
bool flag = BatchInsert(list);
return flag;
}
/// <summary>
/// 获取学员评价详情
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_CommentDetails_Extend> GetStuCommentDetailsListRepository(RB_Stu_CommentDetails_Extend query)
{
StringBuilder builder = new();
builder.AppendFormat(@"
SELECT A.*,s.StudentName as StuName
FROM RB_Stu_CommentDetails AS A LEFT JOIN rb_student s on A.StuUid = s.StudentUid
WHERE 1=1
");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.QCommentMainIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Stu_CommentDetails_Extend.CommentMainId), query.QCommentMainIds);
}
if (query.CommentMainId > 0)
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Stu_CommentDetails_Extend.CommentMainId), query.CommentMainId);
}
if (query.CourseId > 0)
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Stu_CommentDetails_Extend.CourseId), query.CourseId);
}
if (query.Times > 0)
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Stu_CommentDetails_Extend.Times), query.Times);
}
if (query.StuUid > 0)
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Stu_CommentDetails_Extend.StuUid), query.StuUid);
}
if (query.HomeWorkId > 0)
{
builder.AppendFormat(@" AND A.{0} ={1} ", nameof(RB_Stu_CommentDetails_Extend.HomeWorkId), query.HomeWorkId);
}
}
return Get<RB_Stu_CommentDetails_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 修改学生评价
/// </summary>
/// <param name="Ids"></param>
/// <param name="Info"></param>
/// <returns></returns>
public bool SetStuCommentDetailsInfoRepository(string Ids,string Info)
{
string sql = string.Format("UPDATE RB_Stu_CommentDetails SET Info=@Info WHERE Id IN({0}) ", Ids);
DynamicParameters parameters = new();
parameters.Add("Info", Info);
return base.Execute(sql,parameters) > 0;
}
/// <summary>
/// 根据课程编号和次数修改评价可见状态
/// </summary>
/// <param name="CourseId"></param>
/// <param name="CommentMainId">评价主表编号</param>
/// <param name="ShowType"></param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimesRepository(int CourseId, int CommentMainId, int ShowType)
{
string sql = string.Format("UPDATE RB_Stu_CommentDetails SET ShowType={0} WHERE CourseId={1} AND CommentMainId={2}", ShowType, CourseId, CommentMainId);
return base.Execute(sql) > 0;
}
/// <summary>
/// 修改学员评论可见状态
/// </summary>
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentDetailsShowTypeRepository(int ShowType, string Ids)
{
string sql = string.Format("UPDATE RB_Stu_CommentDetails SET ShowType={0} WHERE Id IN({1}) ", ShowType, Ids);
return base.Execute(sql) > 0;
}
/// <summary>
/// 根据编号删除评论
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public bool DeleteStuCommentRepository(string Ids)
{
string sql = string.Format("UPDATE RB_Stu_CommentDetails SET Status=1 WHERE Id IN({0}) ", Ids);
return base.Execute(sql) > 0;
}
}
}
......@@ -13,18 +13,54 @@ using VTX.FW.DB;
namespace EduSpider.Repository
{
/// <summary>
/// 学员评仓储接口实现
/// 学员评仓储接口实现
/// </summary>
public class StuCommentRepository : BaseRepository<RB_Stu_Comment>, IStuCommentRepository
{
/// <summary>
/// 新增修改学员评语
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStuCommentRepository(RB_Stu_Comment_Extend model,bool IsAdd=false)
{
if (!IsAdd)
{
var oldModel = GetCourseCommentTimesListRepository(new CourseQuery() { CourseId = model.CourseId, CreateCommentType = model.CreateType, CommentTimes = model.Times }).FirstOrDefault();
model.Id = oldModel?.Id ?? 0;
}
bool flag;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new()
{
{ nameof(RB_Stu_Comment_Extend.CreateBy), model.CreateBy }
};
flag = base.UpdateOne(fileds, new WhereHelper(nameof(RB_Stu_Comment_Extend.Id), model.Id));
}
else
{
var newId = base.Insert(model);
model.Id = newId;
flag = newId > 0;
}
if (model.Details != null && model.Details.Count > 0)
{
foreach (var item in model.Details)
{
item.CommentMainId = model.Id;
}
flag = new StuCommentDetailsRepository().BatchSetStuCommentDetails(model.Details);
}
return flag;
}
/// <summary>
/// 获取学员评语列表
/// 获取作业评价次数列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetStuCommentListRepository(CourseQuery query)
public List<RB_Stu_Comment_Extend> GetCourseCommentTimesListRepository(CourseQuery query)
{
StringBuilder builder = new();
builder.AppendFormat(@"
......@@ -32,85 +68,48 @@ SELECT A.*
FROM RB_Stu_Comment AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}=0 ", nameof(RB_Stu_Comment.Status));
if (query != null)
{
if (query.CourseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.CourseId), query.CourseId);
}
if (!string.IsNullOrWhiteSpace(query.StuIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_Comment.StuUid), query.StuIds);
}
if (query.HomeWorkId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.HomeWorkId), query.HomeWorkId);
}
if (query.StartHomeWorkId > 0)
{
builder.AppendFormat(" AND A.{0}>={1} ", nameof(RB_Stu_Comment.HomeWorkId), query.StartHomeWorkId);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment_Extend.CourseId), query.CourseId);
}
if (query.EndHomeWorkId > 0)
if (query.CommentTimes > 0)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Stu_Comment.HomeWorkId), query.EndHomeWorkId);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment_Extend.Times), query.CommentTimes);
}
if (query.CommentTimes > 0)
if (query.CreateCommentType > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_Comment.Times), query.CommentTimes);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment_Extend.CreateType), query.CreateCommentType);
}
}
return Get<RB_Stu_Comment>(builder.ToString()).ToList();
return Get<RB_Stu_Comment_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 新增修改学员评语
/// 批量添加学员评价
/// </summary>
/// <param name="model"></param>
/// <param name="commentType"></param>
/// <returns></returns>
public bool SetStuCommentRepository(RB_Stu_Comment model)
public bool BatchSetStuCommentRepository(RB_Stu_Comment_Extend model, StuCommentType commentType)
{
bool flag;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new()
{
{nameof(RB_Stu_Comment.Info),model.Info },
};
flag = base.UpdateOne(fileds, new WhereHelper(nameof(RB_Stu_Comment.Id), model.Id));
}
else
{
var newId = base.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 批量新增学员评价
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchSetStuCommentRepository(List<RB_Stu_Comment> list, StuCommentType commentType)
{
bool flag = false;
// 以前批量添加接口
if (commentType != null)
{
if (commentType.CommentType == 2)
{
flag = AddTemplateStuComment(list, commentType.IsDefault, commentType.CommentId);
flag = AddTemplateStuComment(model, commentType.IsDefault, commentType.CommentId);
}
else
{
flag = AddDefaultStuComment(list);
flag = SetStuCommentRepository(model);
}
}
else
{
flag = AddDefaultStuComment(list);
flag = SetStuCommentRepository(model);
}
return flag;
}
......@@ -122,198 +121,62 @@ WHERE 1=1
/// <param name="IsDefault"></param>
/// <param name="CommentId"></param>
/// <returns></returns>
private bool AddTemplateStuComment(List<RB_Stu_Comment> list, int IsDefault, int CommentId)
private bool AddTemplateStuComment(RB_Stu_Comment_Extend model, int IsDefault, int CommentId)
{
bool flag = false;
if (list != null && list.Count > 0)
if (model != null )
{
var homeworkList =new StuHomeWorkRepository().GetStuHomeWorkDetailsListRepository(new CourseQuery()
var homeworkList = new StuHomeWorkRepository().GetStuHomeWorkDetailsListRepository(new CourseQuery()
{
CourseId = list[0].CourseId,
StartHomeWorkId = list[0].StartHomeWorkId,
EndHomeWorkId = list[0].HomeWorkId
CourseId = model.CourseId,
QHomeWorkIds= model.Details[0].HomeWorkIds,
});
var courseComment = new RB_Course_Comment_Extend();
var defaultComment = new RB_Comment_Extend();
if (IsDefault == 1)
if (homeworkList != null && homeworkList.Count > 0)
{
defaultComment =new CommentRepository().GetCommentListRepository(new CourseQuery() { DefaultCommentId = CommentId }).FirstOrDefault();
}
else
{
courseComment =new CourseCommentRepository().GetCourseCommentListRepository(new CourseQuery() { CourseId = list[0].CourseId }).Where(qitem => qitem.Id == CommentId).FirstOrDefault();
}
foreach (var item in list)
{
var tempList = homeworkList.Where(qitem => qitem.student_uid == item.StuUid).ToList();
item.CreateTime = tempList.LastOrDefault().add_time.AddSeconds(1);
var Score = tempList.Average(qitem => qitem.score_p) * 100;
string info = "";
var courseComment = new RB_Course_Comment_Extend();
var defaultComment = new RB_Comment_Extend();
if (IsDefault == 1)
{
if (defaultComment != null && defaultComment.Details != null && defaultComment.Details.Count > 0)
defaultComment = new CommentRepository().GetCommentListRepository(new CourseQuery() { DefaultCommentId = CommentId }).FirstOrDefault();
}
else
{
courseComment = new CourseCommentRepository().GetCourseCommentListRepository(new CourseQuery() { CourseId = model.CourseId }).Where(qitem => qitem.Id == CommentId).FirstOrDefault();
}
foreach (var item in model.Details)
{
var tempList = homeworkList.Where(qitem => qitem.student_uid == item.StuUid).ToList();
item.CreateTime = tempList.LastOrDefault().add_time.AddSeconds(1);
var Score = tempList.Average(qitem => qitem.score_p) * 100;
string info = "";
if (IsDefault == 1)
{
var tempModel = defaultComment.Details.Where(qitem => qitem.StartNum <= Score && Score < qitem.EndNum)?.FirstOrDefault();
if (tempModel != null)
if (defaultComment != null && defaultComment.Details != null && defaultComment.Details.Count > 0)
{
info = tempModel?.Info ?? "";
var tempModel = defaultComment.Details.Where(qitem => qitem.StartNum <= Score && Score < qitem.EndNum)?.FirstOrDefault();
if (tempModel != null)
{
info = tempModel?.Info ?? "";
}
}
}
}
else
{
if (courseComment != null && courseComment.CommentDetails != null && courseComment.CommentDetails.Count > 0)
else
{
var tempModel = courseComment.CommentDetails.Where(qitem => qitem.StartNum <= Score && Score < qitem.EndNum)?.FirstOrDefault();
if (tempModel != null)
if (courseComment != null && courseComment.CommentDetails != null && courseComment.CommentDetails.Count > 0)
{
info = tempModel?.Info ?? "";
var tempModel = courseComment.CommentDetails.Where(qitem => qitem.StartNum <= Score && Score < qitem.EndNum)?.FirstOrDefault();
if (tempModel != null)
{
info = tempModel?.Info ?? "";
}
}
}
item.Info = info;
}
item.Info = info;
flag = base.Insert(item) > 0;
}
}
flag = SetStuCommentRepository(model,IsAdd:true);
return flag;
}
/// <summary>
/// 自定义添加评价
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private bool AddDefaultStuComment(List<RB_Stu_Comment> list)
{
bool flag = false;
foreach (var item in list)
{
var defaultModel = GetStuCommentListRepository(new CourseQuery()
{
CourseId = item.CourseId,
CommentTimes = item.Times,
StuIds = item.StuUid.ToString(),
HomeWorkId = item.HomeWorkId,
}).FirstOrDefault();
item.CreateTime = defaultModel.CreateTime.AddSeconds(1);
item.HomeWorkId = defaultModel.HomeWorkId;
flag = base.Insert(item) > 0;
}
return flag;
}
/// <summary>
/// 修改学员评论状态
/// </summary>
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentShowTypeRepository(int ShowType, string Ids)
{
string sql = string.Format("UPDATE RB_Stu_Comment SET ShowType={0} WHERE Id IN({1}) ", ShowType, Ids);
return base.Execute(sql) > 0;
}
/// <summary>
/// 根据课程评论次数修改可见等级
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="Times">次数</param>
/// <param name="ShowType">可见性</param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimesRepository(int CourseId, int Times, int ShowType)
{
string sql = string.Format("UPDATE RB_Stu_Comment SET ShowType={0} WHERE CourseId={1} AND Times={2}", ShowType, CourseId, Times);
return base.Execute(sql) > 0;
}
/// <summary>
/// 根据编号删除学员评论
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public bool DeleteStuCommentRepository(string Ids)
{
string sql = string.Format("UPDATE RB_Stu_Comment SET Status=1 WHERE Id IN({0}) ", Ids);
return base.Execute(sql) > 0;
}
/// <summary>
/// 获取系统生成评论次数
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetCourseCommentTimesListRepository(CourseQuery query)
{
StringBuilder builder = new();
builder.AppendFormat(@"
SELECT A.Times,A.CourseId,MAX(CreateTime) AS CreateTime,CreateType
FROM RB_Stu_Comment AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}=0 ", nameof(RB_Stu_Comment.Status));
if (query != null)
{
if (query.CourseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.CourseId), query.CourseId);
}
if (!string.IsNullOrWhiteSpace(query.StuIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_Comment.StuUid), query.StuIds);
}
if (query.HomeWorkId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.HomeWorkId), query.HomeWorkId);
}
if (query.CreateCommentType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.CreateType), query.CreateCommentType);
}
}
builder.AppendFormat(@" GROUP BY A.Times,A.CourseId ");
return Get<RB_Stu_Comment>(builder.ToString()).ToList();
}
/// <summary>
/// 获取评论列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment_Extend> GetStuCommentList(CourseQuery query)
{
StringBuilder builder = new();
builder.AppendFormat(@"
SELECT A.*,s.StudentName as StuName
FROM RB_Stu_Comment AS A
left join rb_student s on A.StuUid = s.StudentUid
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}=0 ", nameof(RB_Stu_Comment.Status));
if (query != null)
{
if (query.CourseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.CourseId), query.CourseId);
}
if (!string.IsNullOrWhiteSpace(query.StuIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_Comment.StuUid), query.StuIds);
}
if (query.HomeWorkId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stu_Comment.HomeWorkId), query.HomeWorkId);
}
if (query.CommentTimes > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_Comment.Times), query.CommentTimes);
}
}
return Get<RB_Stu_Comment_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -61,13 +61,9 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_HomeWork_Extend.homework_id), query.HomeWorkId);
}
if (query.StartHomeWorkId > 0)
if (!string.IsNullOrEmpty(query.QHomeWorkIds))
{
builder.AppendFormat(" AND A.{0}>={1} ", nameof(RB_Stu_HomeWork_Extend.homework_id), query.StartHomeWorkId);
}
if (query.EndHomeWorkId > 0)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Stu_HomeWork_Extend.homework_id), query.EndHomeWorkId);
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Stu_HomeWork_Extend.homework_id), query.QHomeWorkIds);
}
}
var dataList = Get<RB_Stu_HomeWork_Extend>(builder.ToString()).ToList();
......@@ -91,14 +87,15 @@ WHERE 1=1
var stuList = dataList.Where(qitem => qitem.course_id == cItem.course_id).GroupBy(qitem => new { qitem.student_uid }).Select(qitem => new{ qitem.Key.student_uid});
//课程配置评论列表
var courseCommentList =new CourseCommentRepository().GetCourseCommentListRepository(new CourseQuery() { QCourseIds = cItem.course_id.ToString() });
var defaultCommentList = new CommentRepository().GetCommentListRepository(new CourseQuery() { KeyWords = cItem.CourseName });
var defaultCommentList = new CommentRepository().GetCommentListRepository(new CourseQuery() { KeyWords = cItem.CourseName,IsMatchKeyWords=1 });
if ((courseCommentList != null && courseCommentList.Count > 0) || (defaultCommentList != null && defaultCommentList.Count > 0))
{
foreach (var sItem in stuList)
{
List<ExamWorkResult> homeWorkList = new();
//学员评论列表
var commentList = new StuCommentRepository().GetStuCommentListRepository(new CourseQuery() { CourseId = cItem.course_id, StuIds = sItem.student_uid.ToString() });
var commentList = new StuCommentDetailsRepository().GetStuCommentDetailsListRepository(new RB_Stu_CommentDetails_Extend() { CourseId = cItem.course_id, StuUid = sItem.student_uid });
var tempDataList = dataList.Where(qitem => qitem.course_id == cItem.course_id && qitem.student_uid == sItem.student_uid).ToList();
if (tempDataList != null && tempDataList.Count > 0)
{
......@@ -155,8 +152,19 @@ WHERE 1=1
}
if (tempModel == null || (tempModel != null && tempModel.Id <= 0))
{
//新增系统生成评价
new StuCommentRepository().SetStuCommentRepository(new RB_Stu_Comment()
var f_model = new RB_Stu_Comment_Extend()
{
Id = 0,
Times = 1,
CourseId = cItem.course_id,
CreateType = 1,
CreateByName = firstList.LastOrDefault().ThName,
CreateTime = firstStartTime,
ShowType = 3,
Details = new List<RB_Stu_CommentDetails>()
};
f_model.Title = string.Format("第{0}次评价", f_model.Times);
f_model.Details.Add(new RB_Stu_CommentDetails()
{
Id = 0,
StartHomeWorkId = firstList.FirstOrDefault().Stu_HomeWork_Id,
......@@ -170,6 +178,8 @@ WHERE 1=1
CreateTime = firstStartTime,
ShowType = 3,
});
//新增系统生成评价
new StuCommentRepository().SetStuCommentRepository(f_model);
}
}
}
......@@ -203,7 +213,19 @@ WHERE 1=1
if (secondModel == null || (secondModel != null && secondModel.Id <= 0))
{
new StuCommentRepository().SetStuCommentRepository(new RB_Stu_Comment()
var s_model = new RB_Stu_Comment_Extend()
{
Id = 0,
Times = 2,
CourseId = cItem.course_id,
CreateType = 1,
CreateByName = secondList.LastOrDefault().ThName,
CreateTime = secondTime,
ShowType = 3,
Details = new List<RB_Stu_CommentDetails>()
};
s_model.Title = string.Format("第{0}次评价", s_model.Times);
s_model.Details.Add(new RB_Stu_CommentDetails()
{
Id = 0,
StartHomeWorkId = secondList.FirstOrDefault().Stu_HomeWork_Id,
......@@ -217,6 +239,7 @@ WHERE 1=1
CreateTime = secondTime,
ShowType = 3,
});
new StuCommentRepository().SetStuCommentRepository(s_model);
}
}
}
......@@ -249,7 +272,19 @@ WHERE 1=1
}
if (thirdModel == null || (thirdModel != null && thirdModel.Id <= 0))
{
new StuCommentRepository().SetStuCommentRepository(new RB_Stu_Comment()
var t_model = new RB_Stu_Comment_Extend()
{
Id = 0,
Times = 3,
CourseId = cItem.course_id,
CreateType = 1,
CreateByName = thirdList.LastOrDefault().ThName,
CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum),
ShowType = 3,
Details = new List<RB_Stu_CommentDetails>()
};
t_model.Title = string.Format("第{0}次评价", t_model.Times);
t_model.Details.Add(new RB_Stu_CommentDetails()
{
Id = 0,
StartHomeWorkId = thirdList.FirstOrDefault().Stu_HomeWork_Id,
......@@ -263,6 +298,7 @@ WHERE 1=1
CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum),
ShowType = 3,
});
new StuCommentRepository().SetStuCommentRepository(t_model);
}
}
}
......@@ -309,7 +345,7 @@ WHERE 1=1
}
//学员评论列表
var commentList =new StuCommentRepository().GetStuCommentListRepository(new CourseQuery() { CourseId = query.CourseId, StuIds = query.StuIds });
var commentList =new StuCommentDetailsRepository().GetStuCommentDetailsListRepository(new RB_Stu_CommentDetails_Extend() { CourseId = query.CourseId, StuUid = Convert.ToInt32(query.StuIds) });
ExamWorkResult firstComment = null;
ExamWorkResult secondComment = null;
......@@ -437,7 +473,7 @@ WHERE 1=1
/// <param name="CourseId"></param>
/// <param name="Stu_HomeWork_Id"></param>
/// <returns></returns>
private static RB_Stu_Comment GetSystemCreateComment(List<RB_Stu_Comment> commentList,int CourseId,Int64 Stu_HomeWork_Id)
private static RB_Stu_CommentDetails_Extend GetSystemCreateComment(List<RB_Stu_CommentDetails_Extend> commentList,int CourseId,Int64 Stu_HomeWork_Id)
{
var tempModel = commentList.Where(qitem => qitem.CourseId == CourseId && qitem.HomeWorkId == Stu_HomeWork_Id && qitem.CreateType == 1).FirstOrDefault();
return tempModel;
......@@ -449,7 +485,7 @@ WHERE 1=1
/// <param name="courseCommentModel">课程评价配置</param>
/// <param name="Score">平均分数</param>
/// <returns></returns>
private string GetCommentInfo(List<RB_Course_Comment_Extend> courseCommentList,string keyWords,int Times, decimal Score)
private static string GetCommentInfo(List<RB_Course_Comment_Extend> courseCommentList,string keyWords,int Times, decimal Score)
{
string info = "";
......@@ -464,7 +500,7 @@ WHERE 1=1
}
if (string.IsNullOrEmpty(info))
{
var commentModel =new CommentRepository().GetCommentListRepository(new CourseQuery() { KeyWords=keyWords,CommentTimes=Times}).FirstOrDefault();
var commentModel =new CommentRepository().GetCommentListRepository(new CourseQuery() { KeyWords=keyWords,CommentTimes=Times,IsMatchKeyWords=1}).FirstOrDefault();
if (commentModel != null && commentModel.Details != null && commentModel.Details.Count > 0)
{
var tempModel = commentModel.Details.Where(qitem => qitem.StartNum <= Score && Score < qitem.EndNum)?.FirstOrDefault();
......
......@@ -8,8 +8,6 @@ using EduSpider.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VTX.FW.Attr;
namespace EduSpider.Services
......@@ -73,6 +71,11 @@ namespace EduSpider.Services
[Autowired]
public IStuCommentRepository StuCommentRepository { get; set; }
/// <summary>
/// 学员评价详情仓储接口
/// </summary>
[Autowired]
public IStuCommentDetailsRepository StuCommentDetailsRepository { get; set; }
/// <summary>
......@@ -354,48 +357,35 @@ namespace EduSpider.Services
}
/// <summary>
/// 新增修改学员评价
/// 批量新增学员评价
/// </summary>
/// <param name="model"></param>
/// <param name="list"></param>
/// <returns></returns>
public bool SetStuComment(RB_Stu_Comment model)
public bool BatchSetStuComment(RB_Stu_Comment_Extend model, StuCommentType commentType)
{
if (model.Id <= 0 && model.HomeWorkId > 0)
{
var stuHomeWork = StuHomeWorkRepository.GetStuHomeWorkDetailsListRepository(new CourseQuery()
{
CourseId = model.CourseId,
HomeWorkId = model.HomeWorkId,
StuIds = model.StuUid.ToString()
}).FirstOrDefault();
if (stuHomeWork != null)
{
model.CreateTime = stuHomeWork.add_time.AddSeconds(1);
}
}
return StuCommentRepository.SetStuCommentRepository(model);
return StuCommentRepository.BatchSetStuCommentRepository(model, commentType);
}
/// <summary>
/// 批量新增学员评价
/// 获取学员评价列表
/// </summary>
/// <param name="list"></param>
/// <param name="query"></param>
/// <returns></returns>
public bool BatchSetStuComment(List<RB_Stu_Comment> list, StuCommentType commentType)
public List<RB_Stu_CommentDetails_Extend> GetStuCommentDetailsList(RB_Stu_CommentDetails_Extend query)
{
return StuCommentRepository.BatchSetStuCommentRepository(list,commentType);
var list = StuCommentDetailsRepository.GetStuCommentDetailsListRepository(query);
return list;
}
/// <summary>
/// 获取学员评价列表
/// 修改学生评语
/// </summary>
/// <param name="query"></param>
/// <param name="Ids"></param>
/// <param name="Info"></param>
/// <returns></returns>
public List<RB_Stu_Comment_Extend> GetStuCommentList(CourseQuery query)
public bool SetStuCommentDetailsInfo(string Ids, string Info)
{
var list = StuCommentRepository.GetStuCommentList(query);
return list;
return StuCommentDetailsRepository.SetStuCommentDetailsInfoRepository(Ids, Info);
}
/// <summary>
......@@ -404,21 +394,21 @@ namespace EduSpider.Services
/// <param name="ShowType"></param>
/// <param name="Ids"></param>
/// <returns></returns>
public bool SetStuCommentShowType(int ShowType, string Ids)
public bool SetStuCommentDetailsShowType(int ShowType, string Ids)
{
return StuCommentRepository.SetStuCommentShowTypeRepository(ShowType, Ids);
return StuCommentDetailsRepository.SetStuCommentDetailsShowTypeRepository(ShowType, Ids);
}
/// <summary>
/// 根据课程评论次数修改可见等级
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="Times">次数</param>
/// <param name="CommentMainId">评价主表编号</param>
/// <param name="ShowType">可见性</param>
/// <returns></returns>
public bool SetStuCommentShowTypeByTimes(int CourseId, int Times, int ShowType)
public bool SetStuCommentShowTypeByTimes(int CourseId, int CommentMainId, int ShowType)
{
return StuCommentRepository.SetStuCommentShowTypeByTimesRepository(CourseId, Times, ShowType);
return StuCommentDetailsRepository.SetStuCommentShowTypeByTimesRepository(CourseId, CommentMainId, ShowType);
}
......@@ -429,7 +419,7 @@ namespace EduSpider.Services
/// <returns></returns>
public bool RemoveStuComment(string Ids)
{
return StuCommentRepository.DeleteStuCommentRepository(Ids);
return StuCommentDetailsRepository.DeleteStuCommentRepository(Ids);
}
/// <summary>
......@@ -437,15 +427,21 @@ namespace EduSpider.Services
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stu_Comment> GetCourseCommentTimesList(CourseQuery query)
public List<RB_Stu_Comment_Extend> GetCourseCommentTimesList(CourseQuery query)
{
var list = StuCommentRepository.GetCourseCommentTimesListRepository(query);
if (list != null && list.Count > 0)
{
string qIds = string.Join(",", list.Select(qitem => qitem.Id));
List<RB_Stu_CommentDetails_Extend> detailsList = new List<RB_Stu_CommentDetails_Extend>();
if (!string.IsNullOrEmpty(qIds))
{
detailsList= StuCommentDetailsRepository.GetStuCommentDetailsListRepository(new RB_Stu_CommentDetails_Extend() { QCommentMainIds = qIds });
}
foreach (var item in list)
{
int ShowType = 3;
var subList = StuCommentRepository.GetStuCommentListRepository(new CourseQuery() { CourseId = item.CourseId, CommentTimes = item.Times });
var subList = detailsList?.Where(qitem => qitem.CommentMainId == item.Id)?.ToList();
if (subList != null && subList.Count > 0)
{
var totalCount = subList.Count;
......@@ -485,6 +481,10 @@ namespace EduSpider.Services
/// <returns></returns>
public List<ExamWorkResult> CreateHomeWorkComment(int CourseId)
{
if (StuHomeWorkRepository == null)
{
StuHomeWorkRepository = new StuHomeWorkRepository();
}
return StuHomeWorkRepository.CreateHomeWorkCommentRepository(CourseId);
}
}
......
......@@ -152,7 +152,7 @@ namespace EduSpider.WebApi.Controllers
CommentTimes=base.ReqParameters.GetInt("Times"),
};
var courseRule = CourseService.GetCourseCommentList(query).FirstOrDefault();
object result=new object();
object result=new();
if (courseRule != null)
{
result = new
......@@ -166,7 +166,12 @@ namespace EduSpider.WebApi.Controllers
}
else
{
var sysModel = CourseService.GetSysComment(new CourseQuery() { KeyWords= query.CourseName ,CommentTimes= query.CommentTimes }).FirstOrDefault();
var sysModel = CourseService.GetSysComment(new CourseQuery()
{
KeyWords = query.CourseName,
CommentTimes = query.CommentTimes,
IsMatchKeyWords = 1
}).FirstOrDefault();
if (sysModel != null)
{
result = new
......@@ -206,52 +211,67 @@ namespace EduSpider.WebApi.Controllers
CourseId = base.ReqParameters.GetInt("CourseId"),
CourseName = base.ReqParameters.GetString("CourseName"),
};
var courseRuleList = CourseService.GetCourseCommentList(query);
List<object> result = new List<object>();
if (courseRuleList != null && courseRuleList.Count > 0)
var courseRuleList = CourseService.GetCourseCommentList(query).OrderBy(qitem=>qitem.Times).ToList();
var sysCommentList = CourseService.GetSysComment(new CourseQuery() { KeyWords = query.CourseName, CommentTimes = query.CommentTimes ,IsMatchKeyWords=1}).OrderBy(qitem => qitem.Times).ToList();
List<object> result = new();
for (var i = 1; i <= 3; i++)
{
foreach (var item in courseRuleList)
var tempCourseRule = courseRuleList.Where(qitem => qitem.Times == i).FirstOrDefault();
var defaultRule = sysCommentList.Where(qitem => qitem.Times == i).FirstOrDefault();
int IsDefault = 0;
int Id = 0;
List<object> SubList = new List<object>();
if (tempCourseRule != null)
{
result.Add(new
Id = tempCourseRule.Id;
if (tempCourseRule.CommentDetails != null && tempCourseRule.CommentDetails.Count > 0)
{
IsDefault = 0,
item.Id,
item.Times,
CommentDetails = item.CommentDetails.Select(qitem => new
foreach (var subItem in tempCourseRule.CommentDetails)
{
qitem.DetailId,
qitem.CourseCommentId,
qitem.StartNum,
qitem.EndNum,
qitem.Info,
}),
});
SubList.Add(new
{
subItem.DetailId,
subItem.CourseCommentId,
subItem.StartNum,
subItem.EndNum,
subItem.Info,
});
}
}
}
}
else
{
var sysCommentList = CourseService.GetSysComment(new CourseQuery() { KeyWords = query.CourseName, CommentTimes = query.CommentTimes });
if (sysCommentList != null && sysCommentList.Count > 0)
else if (defaultRule != null)
{
foreach (var item in sysCommentList)
Id = defaultRule.Id;
IsDefault = 1;
if (defaultRule.Details != null && defaultRule.Details.Count > 0)
{
result.Add(new
foreach (var subItem in defaultRule.Details)
{
IsDefault = 1,
item.Id,
item.Times,
CommentDetails = item.Details.Select(qitem => new
SubList.Add(new
{
DetailId = 0,
CourseCommentId = 0,
qitem.StartNum,
qitem.EndNum,
qitem.Info,
}),
});
subItem.StartNum,
subItem.EndNum,
subItem.Info,
});
}
}
}
if (Id > 0)
{
result.Add(new
{
IsDefault,
Id,
Times = i,
CommentDetails = SubList
});
}
}
return ApiResult.Success(data: result);
}
......@@ -341,69 +361,64 @@ namespace EduSpider.WebApi.Controllers
public ApiResult BatchSetStuComment()
{
var stuListStr = base.ReqParameters.GetString("ChooseStuList");
StuCommentType commentType = new StuCommentType()
var model = new RB_Stu_Comment_Extend()
{
Id = base.ReqParameters.GetInt("Id"),
Times = base.ReqParameters.GetInt("Times"),
CourseId = base.ReqParameters.GetInt("CourseId"),
Title = base.ReqParameters.GetString("Title"),
CreateType = 2,
CreateTime = System.DateTime.Now,
CreateBy = base.BaseUserId,
CreateByName = base.UserInfo.AccountName,
ShowType = 3,
Details = new List<RB_Stu_CommentDetails>()
};
StuCommentType commentType = new()
{
CommentId = base.ReqParameters.GetInt("CommentId"),
CommentType = base.ReqParameters.GetInt("CommentType"),
IsDefault = base.ReqParameters.GetInt("IsDefault")
};
List<RB_Stu_Comment> list = new();
List<RB_Stu_CommentDetails> list = new();
if (!string.IsNullOrWhiteSpace(stuListStr))
{
JArray jArray = JArray.Parse(stuListStr);
if (jArray != null && jArray.Count > 0)
{
var homeworkIds= base.ReqParameters.GetString("HomeWorkIds");
List<int> homeIds = new();
if (!string.IsNullOrWhiteSpace(homeworkIds))
{
homeIds = VTX.FW.Helper.JsonHelper.Deserialize<List<int>>(homeworkIds);
}
foreach (var jItem in jArray)
{
JObject stuObj = JObject.Parse(jItem.ToString());
var model = new RB_Stu_Comment()
var subModel = new RB_Stu_CommentDetails()
{
Id = base.ReqParameters.GetInt("Id"),
StartHomeWorkId=base.ReqParameters.GetInt("StartHomeWorkId"),
StartHomeWorkId = base.ReqParameters.GetInt("StartHomeWorkId"),
HomeWorkId = base.ReqParameters.GetInt("HomeWorkId"),
StuUid = stuObj.GetInt("StuId"),
CourseId = base.ReqParameters.GetInt("CourseId"),
Times = base.ReqParameters.GetInt("Times"),
Info = base.ReqParameters.GetString("Info"),
CreateType = 2,
HomeWorkIds = string.Join(",", homeIds)
};
model.ShowType = 3;
model.Status = 0;
model.CreateTime = System.DateTime.Now;
model.CreateBy = base.BaseUserId;
model.CreateByName = base.UserInfo.AccountName;
list.Add(model);
subModel.ShowType = 3;
subModel.Status = 0;
subModel.CreateTime = System.DateTime.Now;
subModel.CreateBy = base.BaseUserId;
subModel.CreateByName = base.UserInfo.AccountName;
list.Add(subModel);
}
}
}
var flag = CourseService.BatchSetStuComment(list, commentType);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 指定作业后添加评价
/// </summary>
/// <returns></returns>
[HttpPost]
[HttpGet]
public ApiResult SetStuComment()
{
var model = new RB_Stu_Comment()
{
Id = base.ReqParameters.GetInt("Id"),
HomeWorkId = base.ReqParameters.GetInt("HomeWorkId"),
StuUid = base.ReqParameters.GetInt("StuId"),
CourseId = base.ReqParameters.GetInt("CourseId"),
Times = 0,
Info = base.ReqParameters.GetString("Info"),
CreateType = 2,
};
model.ShowType = 3;
model.Status = 0;
model.CreateTime = System.DateTime.Now;
model.CreateBy = base.BaseUserId;
model.CreateByName = base.UserInfo.AccountName;
var flag = CourseService.SetStuComment(model);
model.Details = list;
var flag = CourseService.BatchSetStuComment(model, commentType);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -416,12 +431,9 @@ namespace EduSpider.WebApi.Controllers
[HttpGet]
public ApiResult SetStuCommentInfo()
{
var model = new RB_Stu_Comment()
{
Id = base.ReqParameters.GetInt("Id"),
Info = base.ReqParameters.GetString("Info"),
};
var flag = CourseService.SetStuComment(model);
string Id = base.ReqParameters.GetString("Id");
string Info = base.ReqParameters.GetString("Info");
var flag = CourseService.SetStuCommentDetailsInfo(Id, Info);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -436,7 +448,7 @@ namespace EduSpider.WebApi.Controllers
{
string Ids = base.ReqParameters.GetString("Ids");
int ShowType = base.ReqParameters.GetInt("ShowType");
var flag = CourseService.SetStuCommentShowType(ShowType, Ids);
var flag = CourseService.SetStuCommentDetailsShowType(ShowType, Ids);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -449,9 +461,9 @@ namespace EduSpider.WebApi.Controllers
public ApiResult SetStuCommentShowTypeByTimes()
{
int CourseId = base.ReqParameters.GetInt("CourseId");
int Times = base.ReqParameters.GetInt("Times");
int CommentMainId = base.ReqParameters.GetInt("CommentMainId");
int ShowType = base.ReqParameters.GetInt("ShowType");
var flag = CourseService.SetStuCommentShowTypeByTimes(CourseId, Times, ShowType); ;
var flag = CourseService.SetStuCommentShowTypeByTimes(CourseId, CommentMainId, ShowType); ;
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -466,7 +478,7 @@ namespace EduSpider.WebApi.Controllers
var query = new CourseQuery()
{
CourseId = base.ReqParameters.GetInt("CourseId"),
CreateCommentType = 1
// CreateCommentType = 1
};
List<object> result = new();
var list = CourseService.GetCourseCommentTimesList(query);
......@@ -489,7 +501,9 @@ namespace EduSpider.WebApi.Controllers
}
result.Add(new
{
item.Id,
item.Times,
item.Title,
item.CourseId,
item.CreateType,
CreateTypeStr = item.CreateType == 1 ? "系统创建" : "老师创建",
......@@ -512,13 +526,14 @@ namespace EduSpider.WebApi.Controllers
[HttpGet]
public ApiResult GetStuCommentList()
{
var query = new CourseQuery()
var query = new RB_Stu_CommentDetails_Extend()
{
CourseId = base.ReqParameters.GetInt("CourseId"),
CommentTimes = base.ReqParameters.GetInt("CommentTimes")
Times = base.ReqParameters.GetInt("CommentTimes"),
CommentMainId=base.ReqParameters.GetInt("CommentMainId"),
};
List<object> result = new();
var list = CourseService.GetStuCommentList(query);
var list = CourseService.GetStuCommentDetailsList(query);
if (list.Any())
{
foreach (var item in list)
......
......@@ -10,7 +10,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>G:\Publish\jinjieapi.oytour.com</PublishUrl>
<PublishUrl>G:\Publish\jinjie_publish</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<SiteUrlToLaunchAfterPublish />
<TargetFramework>net5.0</TargetFramework>
<ProjectGuid>f0a5853b-7aa9-43bf-8e81-98b65f44a269</ProjectGuid>
<SelfContained>false</SelfContained>
</PropertyGroup>
</Project>
\ No newline at end of file
using EduSpider.IServices;
using EduSpider.Services;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
......@@ -18,8 +19,7 @@ namespace EduSpider.WebApi.Timers
/// <summary>
/// 课程仓储接口
/// </summary>
[Autowired]
public ICourseService CourseService { get; set; }
public ICourseService CourseService = new CourseService();
//定义一个定时器
private Timer _timer;
......@@ -32,7 +32,7 @@ namespace EduSpider.WebApi.Timers
{
VTX.FW.Helper.LogHelper.WriteInfo("StartAsync","定时任务被启动");
int Interval = 0;
Interval = 2;
Interval = 30;//30分钟执行一次
//Interval = 1;
//绑定定时任务
//设置延迟时间
......@@ -55,15 +55,15 @@ namespace EduSpider.WebApi.Timers
/// <returns></returns>
private void DoWork(object state)
{
VTX.FW.Helper.LogHelper.WriteInfo("DoWork","定时任务被触发");
try
{
if (Interlocked.Exchange(ref create_Comment, 1) == 0)
{
VTX.FW.Helper.LogHelper.WriteInfo("DoWork", "DealMarketConsultantData========Start");
VTX.FW.Helper.LogHelper.WriteInfo("DoWork", "CreateHomeWorkComment========Start");
Thread.Sleep(1000 * 60 * 1);
var today = DateTime.Now;
CourseService.CreateHomeWorkComment(0);
VTX.FW.Helper.LogHelper.WriteInfo("DoWork", "DealMarketConsultantData========End");
VTX.FW.Helper.LogHelper.WriteInfo("DoWork", "CreateHomeWorkComment==========End");
Interlocked.Exchange(ref create_Comment, 0);
}
}
......
......@@ -23,8 +23,10 @@ namespace EduSpider
protected override void OnStart(string[] args)
{
VTX.FW.Helper.LogHelper.WriteInfo("OnStart", "开始服务");
timer1 = new System.Timers.Timer();
timer1.Interval = 1000 * 60 * 1; //60分钟
timer1 = new System.Timers.Timer
{
Interval = 1000 * 60 * 1 //60分钟
};
timer1.Elapsed += new System.Timers.ElapsedEventHandler(RunClassInData);
timer1.Enabled = true;
}
......
......@@ -46,7 +46,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
string result;
result = Utility.SchoolHttpHelper.HttpPost(url, VTX.FW.Helper.JsonHelper.Serialize(pageModel), "application/json", cookie); ;
List<SchoolCourseItem> list = new List<SchoolCourseItem>();
List<SchoolCourseItem> list = new();
if (!string.IsNullOrEmpty(result))
{
JObject jobj = JObject.Parse(result);
......@@ -56,7 +56,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
Console.WriteLine(string.Format("已完成 第 {0} 页/共 {1} 页,已完成 {2} 条/总共 {3} 条", pageModel.PageIndex, pageCount, pageModel.PageSize * pageModel.PageIndex, totalCount));
if (pageCount > pageModel.PageIndex)
{
Random random = new Random();
Random random = new();
for (var i = 2; i <= pageCount; i++)
{
var num = random.Next(1, 10);
......@@ -83,7 +83,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
/// <returns></returns>
public static List<SchoolCourseItem> ParseJson(string data)
{
List<SchoolCourseItem> list = new List<SchoolCourseItem>();
List<SchoolCourseItem> list = new();
if (!string.IsNullOrEmpty(data))
{
JArray courseArray = JArray.Parse(data);
......
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