ZhiYeJianKang_PeiXun/Song.ViewData/Methods/Course.cs

93 lines
3.3 KiB
C#
Raw Normal View History

2025-02-20 15:41:53 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//using System.Web.Mvc;
using Song.Entities;
using Song.ServiceInterfaces;
using Song.ViewData.Attri;
using WeiSha.Common;
namespace Song.ViewData.Methods
{
/// <summary>
/// 课程管理
/// </summary>
[HttpGet]
public class Course : IViewAPI
{
/// <summary>
/// 根据课程ID获取课程信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[Cache(Expires = 60)]
public Song.Entities.Course ForID(int id)
{
Song.Entities.Course cur = Business.Do<ICourse>().CourseSingle(id);
return _tran(cur);
}
/// <summary>
/// 分页获取课程
/// </summary>
/// <param name="orgid">机构id</param>
/// <param name="sbjids">章节id可以为多个以逗号分隔</param>
/// <param name="search">检索字符,按课程名称</param>
/// <param name="size">每页几条</param>
/// <param name="index">第几页</param>
/// <returns></returns>
public ListResult Pager(int orgid, string sbjids, string search, int size, int index)
{
int count = 0;
List<Song.Entities.Course> eas = null;
eas = Business.Do<ICourse>().CoursePager(orgid, sbjids, true, search, "", size, index, out count);
for (int i = 0; i < eas.Count; i++)
{
eas[i] = _tran(eas[i]);
}
ListResult result = new ListResult(eas);
result.Index = index;
result.Size = size;
result.Total = count;
return result;
}
/// <summary>
/// 记录当前学员的视频学习进度
/// </summary>
/// <param name="couid">课程ID</param>
/// <param name="olid">章节ID</param>
/// <param name="playTime">观看进度,单位:毫秒</param>
/// <param name="studyTime">学习时间,单位:秒</param>
/// <param name="totalTime">视频总时长,单位:秒</param>
/// <returns></returns>
[Student]
[HttpPost]
public double StudyLog(int couid, int olid, int playTime, int studyTime, int totalTime)
{
//当前学员
Song.Entities.Accounts student = Extend.LoginState.Accounts.CurrentUser;
if (student == null) return -1;
double per = Business.Do<IStudent>().LogForStudyUpdate(couid, olid, student, playTime*1000, studyTime, totalTime*1000);
return per;
}
#region
/// <summary>
/// 处理课程信息图片转为全路径并生成clone对象
/// </summary>
/// <param name="cour">课程对象的clone</param>
/// <returns></returns>
private Song.Entities.Course _tran(Song.Entities.Course cour)
{
if (cour == null) return cour;
Song.Entities.Course curr = cour.Clone<Song.Entities.Course>();
curr.Cou_Logo = WeiSha.Common.Upload.Get["Course"].Virtual + curr.Cou_Logo;
curr.Cou_LogoSmall = WeiSha.Common.Upload.Get["Course"].Virtual + curr.Cou_LogoSmall;
return curr;
}
#endregion
}
}