using Competition.Common.Util;
using CompetitionAPI.api.back;
using CompetitionAPI.api.unity;
using CompetitionAPI.Util;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Text;
namespace CompetitionAPI.Controllers.unity.study
{
[Route("unity/[controller]")]
[ApiController]
public class GetStudyListController : Controller
{
private readonly IWebHostEnvironment _webHostEnvironment;
Competition.Mysql.BLL.pow_study study_bll = new Competition.Mysql.BLL.pow_study();
public GetStudyListController(IWebHostEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
}
///
/// 获取我的学习列表接口
///
/// 请求参数
///
[Authorize]
[HttpPost]
[APIFilter]
public JsonResult Index([FromForm] GetStudyListRequest req)
{
try
{
var query = new StringBuilder(" T1.Status='已发布' ");
var total_query = new StringBuilder(" T1.Status='已发布' ");
if (!string.IsNullOrEmpty(req.StudyName))
{
query.AppendFormat(" and T1.StudyName like '%{0}%' ", req.StudyName);
total_query.AppendFormat(" and T1.StudyName like '%{0}%' ", req.StudyName);
}
if (!string.IsNullOrEmpty(req.StudyClassId))
{
query.AppendFormat(" and T1.StudyClassId='{0}' ", req.StudyClassId);
total_query.AppendFormat(" and T1.StudyClassId='{0}' ", req.StudyClassId);
}
var offset = (req.PageIndex - 1) * req.PageSize;
query.AppendFormat(" order by T1.CreateTime desc LIMIT {0} OFFSET {1} ", req.PageSize, offset);
var total = study_bll.GetUserRecordCount(total_query.ToString(), req.UserId);
var list = study_bll.GetUserList(query.ToString(), req.UserId);
return Json(Tool.GetJsonWithCode(APICode.Success, new { total = total, list = list }));
}
catch (Exception ex)
{
LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace);
return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。"));
}
}
}
}