课程场景新增标准课时、学分等字段,并由课程同步

master
xiaochanghai 10 months ago
parent ca5ceed30a
commit 3a02203589
  1. 2720
      Model/Tiobon.Web.pdm
  2. 50
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 27
      Tiobon.Core.Model/Base/Ghre/Ghre_CourseScene.Dto.Base.cs
  4. 31
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs

File diff suppressed because it is too large Load Diff

@ -1955,6 +1955,31 @@
排序 排序
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.StandardHour">
<summary>
标准课时
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.CreditPoints">
<summary>
学分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.CoverUrl">
<summary>
封面图
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.UseDefaultCoverImage">
<summary>
是否使用默认封面
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.DefaultCoverImageName">
<summary>
默认封面图Name
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.IsDefault"> <member name="P:Tiobon.Core.Model.Models.Ghre_CourseSceneBase.IsDefault">
<summary> <summary>
默认标志 默认标志
@ -8666,6 +8691,31 @@
排序 排序
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.StandardHour">
<summary>
标准课时
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.CreditPoints">
<summary>
学分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.CoverUrl">
<summary>
封面图
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.UseDefaultCoverImage">
<summary>
是否使用默认封面
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.DefaultCoverImageName">
<summary>
默认封面图Name
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.IsDefault"> <member name="P:Tiobon.Core.Model.Models.Ghre_CourseScene.IsDefault">
<summary> <summary>
默认标志 默认标志

@ -61,6 +61,33 @@ namespace Tiobon.Core.Model.Models
/// </summary> /// </summary>
public int? SortNo { get; set; } public int? SortNo { get; set; }
/// <summary>
/// 标准课时
/// </summary>
public int? StandardHour { get; set; }
/// <summary>
/// 学分
/// </summary>
public int? CreditPoints { get; set; }
/// <summary>
/// 封面图
/// </summary>
[Display(Name = "CoverUrl"), Description("封面图"), MaxLength(2000, ErrorMessage = "封面图 不能超过 2000 个字符")]
public string CoverUrl { get; set; }
/// <summary>
/// 是否使用默认封面
/// </summary>
public bool? UseDefaultCoverImage { get; set; }
/// <summary>
/// 默认封面图Name
/// </summary>
[Display(Name = "DefaultCoverImageName"), Description("默认封面图Name"), MaxLength(32, ErrorMessage = "默认封面图Name 不能超过 32 个字符")]
public string DefaultCoverImageName { get; set; }
/// <summary> /// <summary>
/// 默认标志 /// 默认标志
/// </summary> /// </summary>

@ -392,6 +392,37 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
await _ghre_CourseSnapServices.Add(entity1); await _ghre_CourseSnapServices.Add(entity1);
} }
#endregion #endregion
#region 处理对应场景标准课时、学分等
if (entity.CourseSceneId.IsNotEmptyOrNull())
{
var courseScene = await Db.Queryable<Ghre_CourseScene>().Where(x => x.Id == entity.CourseSceneId).FirstAsync();
if (courseScene != null)
{
var courses = await Db.Queryable<Ghre_Course>()
.WhereIF(status == Consts.DIC_COURSE_STATUS.RELEASED, x => ids.Contains(x.Id))
.WhereIF(status != Consts.DIC_COURSE_STATUS.RELEASED, x => !ids.Contains(x.Id))
.Where(x => x.CourseSceneId == entity.CourseSceneId && x.Status == Consts.DIC_COURSE_STATUS.RELEASED)
.ToListAsync();
courseScene.StandardHour = courses.Sum(x => x.StandardHour);
courseScene.CreditPoints = courses.Sum(x => x.CreditPoints);
courseScene.CoverUrl = courses.First()?.CoverUrl;
courseScene.UseDefaultCoverImage = courses.First()?.UseDefaultCoverImage;
courseScene.DefaultCoverImageName = courses.First()?.DefaultCoverImageName;
await Db.Updateable(courseScene).UpdateColumns(it => new
{
it.StandardHour,
it.CreditPoints,
it.CoverUrl,
it.UseDefaultCoverImage,
it.DefaultCoverImageName
}).ExecuteCommandAsync();
}
}
#endregion
} }
var result = await BaseDal.Update(entities); var result = await BaseDal.Update(entities);

Loading…
Cancel
Save