297 lines
13 KiB
C#
297 lines
13 KiB
C#
using Competition.Mysql.api;
|
|
using Competition.Mysql.api.Post;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Diagnostics.Eventing.Reader;
|
|
using System.Transactions;
|
|
|
|
namespace CompetitionAPI.Controllers
|
|
{
|
|
[Route("api/[action]")]
|
|
[ApiController]
|
|
public class StudentTaskController : ControllerBase
|
|
{
|
|
Competition.BLL.user_login bll=new Competition.BLL.user_login();
|
|
Competition.BLL.daily_record bll_log=new Competition.BLL.daily_record();
|
|
Competition.BLL.task_user bll_user=new Competition.BLL.task_user();
|
|
Competition.BLL.task_manager bll_task=new Competition.BLL.task_manager();
|
|
Competition.BLL.task_result bll_result=new Competition.BLL.task_result();
|
|
|
|
/// <summary>
|
|
/// 获取学生任务
|
|
/// </summary>
|
|
/// <param name="LoginId"></param>
|
|
/// <param name="TaskName"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public IActionResult GetStudentTask(string LoginId="",string TaskName="")
|
|
{
|
|
var res = new get_student_task();
|
|
try
|
|
{
|
|
var data=new List<student_taskData>();
|
|
if (!string.IsNullOrEmpty(LoginId)&&!string.IsNullOrEmpty(TaskName))
|
|
{
|
|
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (loglist.IdentityName == "学生")
|
|
{
|
|
var logmodel = new Competition.Model.daily_record();
|
|
logmodel.LogId=Guid.NewGuid().ToString();
|
|
logmodel.CreateTime=DateTime.Now;
|
|
logmodel.Identity = loglist.IdentityName;
|
|
logmodel.SchoolId = loglist.SchoolId;
|
|
logmodel.UserName= loglist.UserName;
|
|
logmodel.LogInfo = loglist.UserName + "获取任务名称:'"+TaskName+"'成功";
|
|
bll_log.Add(logmodel);
|
|
|
|
var list = bll_user.GetModelList(" UserId='" + LoginId + "'").ToList();
|
|
foreach (var item in list)
|
|
{
|
|
var alist = bll_task.GetModelList(" TaskId='" + item.TaskId + "' and TaskName like '%"+TaskName+"%'").ToList();
|
|
foreach (var aitem in alist)
|
|
{
|
|
if (aitem.TaskIssue == "1")
|
|
{
|
|
var model = new student_taskData();
|
|
model.TaskUserId = item.TaskUserId;
|
|
model.TaskName = aitem.TaskName;
|
|
model.StartTime = Convert.ToDateTime(aitem.StartTime);
|
|
model.EndTime = Convert.ToDateTime(aitem.EndTime);
|
|
data.Add(model);
|
|
}
|
|
}
|
|
}
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
res.data = data;
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
else if(!string.IsNullOrEmpty(LoginId))
|
|
{
|
|
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (loglist.IdentityName == "学生")
|
|
{
|
|
var logmodel = new Competition.Model.daily_record();
|
|
logmodel.LogId = Guid.NewGuid().ToString();
|
|
logmodel.CreateTime = DateTime.Now;
|
|
logmodel.Identity = loglist.IdentityName;
|
|
logmodel.SchoolId = loglist.IdentityName;
|
|
logmodel.LogInfo = loglist.UserName + "获取所有任务成功";
|
|
bll_log.Add(logmodel);
|
|
|
|
var list = bll_user.GetModelList(" UserId='" + LoginId + "'").ToList();
|
|
foreach (var item in list)
|
|
{
|
|
var alist = bll_task.GetModelList(" TaskId='" + item.TaskId + "'").ToList();
|
|
foreach (var aitem in alist)
|
|
{
|
|
if (aitem.TaskIssue == "1")
|
|
{
|
|
var model = new student_taskData();
|
|
model.TaskUserId = item.TaskUserId;
|
|
model.TaskName = aitem.TaskName;
|
|
model.StartTime = Convert.ToDateTime(aitem.StartTime);
|
|
model.EndTime = Convert.ToDateTime(aitem.EndTime);
|
|
data.Add(model);
|
|
}
|
|
}
|
|
}
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
res.data = data;
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 500;
|
|
res.msg="失败"+ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
/// <summary>
|
|
/// 开始任务
|
|
/// </summary>
|
|
/// <param name="task"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public IActionResult StartStudentTask(start_student_task task)
|
|
{
|
|
var res=new result_data();
|
|
try
|
|
{
|
|
using (var scope = new TransactionScope())
|
|
{
|
|
if (!string.IsNullOrEmpty(task.TaskUserId) && !string.IsNullOrEmpty(task.LoginId))
|
|
{
|
|
var loglist = bll.GetModelList(" UserId='" + task.LoginId + "'").FirstOrDefault();
|
|
if (loglist.IdentityName == "学生")
|
|
{
|
|
var tasklist = bll_user.GetModelList(" TaskUserId='" + task.TaskUserId + "'").FirstOrDefault();
|
|
var list = bll_task.GetModelList(" TaskId='" + tasklist.TaskId + "'").FirstOrDefault();
|
|
var now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (list.StartTime <= Convert.ToDateTime(now) && list.EndTime > Convert.ToDateTime(now))
|
|
{
|
|
var logmodel = new Competition.Model.daily_record();
|
|
logmodel.LogId = Guid.NewGuid().ToString();
|
|
logmodel.Identity = loglist.IdentityName;
|
|
logmodel.SchoolId = loglist.SchoolId;
|
|
logmodel.UserName = loglist.UserName;
|
|
logmodel.CreateTime = DateTime.Now;
|
|
logmodel.LogInfo = loglist.UserName + "开始任务:'" + tasklist.TaskId + "'成功";
|
|
bll_log.Add(logmodel);
|
|
|
|
var model = new Competition.Model.task_result();
|
|
model.TaskResultId = Guid.NewGuid().ToString();
|
|
model.TaskUserId = task.TaskUserId;
|
|
//model.TaskDefinition= task.TaskDefinition;
|
|
model.TaskResult = "0";
|
|
bll_result.Add(model);
|
|
scope.Complete();
|
|
res.code = 200;
|
|
res.msg = "开始任务成功";
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "未到开始时间或超过了结束时间";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
res.code = 200;
|
|
res.msg = "发布失败";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "参数不能为空";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 500;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
/// <summary>
|
|
/// 任务详情
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public IActionResult GetStudentInfo(string LoginId="",string TaskUserId="")
|
|
{
|
|
var res=new get_student_info();
|
|
try
|
|
{
|
|
var data=new List<student_infoData>();
|
|
var loglist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (loglist.IdentityName == "学生")
|
|
{
|
|
var list = bll_user.GetModelList(" TaskUserId='" + TaskUserId + "'").FirstOrDefault();
|
|
var logmodel = new Competition.Model.daily_record();
|
|
logmodel.LogId=Guid.NewGuid().ToString();
|
|
logmodel.CreateTime= DateTime.Now;
|
|
logmodel.SchoolId=loglist.SchoolId;
|
|
logmodel.Identity = loglist.IdentityName;
|
|
logmodel.UserName=loglist.UserName;
|
|
logmodel.LogInfo = loglist.UserName + "任务详情:'"+list.TaskId+"'成功";
|
|
bll_log.Add(logmodel);
|
|
|
|
var tasklist = bll_task.GetModelList(" TaskId='" + list.TaskId + "'").FirstOrDefault();
|
|
var alist = bll_result.GetModelList(" TaskUserId='" + list.TaskUserId + "'").FirstOrDefault();
|
|
var model = new student_infoData();
|
|
model.TaskResultId = alist.TaskResultId;
|
|
model.TaskName = tasklist.TaskName;
|
|
model.TaskParticulars = tasklist.TaskParticulars;
|
|
data.Add(model);
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
res.data= data;
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 500;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
/// <summary>
|
|
/// 提交任务
|
|
/// </summary>
|
|
/// <param name="task"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public IActionResult EndStudentTask(end_student_task task)
|
|
{
|
|
var res=new result_data();
|
|
try
|
|
{
|
|
using (var scope = new TransactionScope())
|
|
{
|
|
if (!string.IsNullOrEmpty(task.LoginId) && !string.IsNullOrEmpty(task.TaskDefinition) && !string.IsNullOrEmpty(task.TaskResultId))
|
|
{
|
|
var loglist = bll.GetModelList(" UserId='" + task.LoginId + "'").FirstOrDefault();
|
|
if (loglist.IdentityName == "学生")
|
|
{
|
|
var list = bll_result.GetModelList(" TaskResultId='" + task.TaskResultId + "'").FirstOrDefault();
|
|
var tasklist = bll_user.GetModelList(" TaskUserId='" + list.TaskUserId + "'").FirstOrDefault();
|
|
var logmodel = new Competition.Model.daily_record();
|
|
logmodel.LogId = Guid.NewGuid().ToString();
|
|
logmodel.Identity = loglist.IdentityName;
|
|
logmodel.SchoolId = loglist.SchoolId;
|
|
logmodel.UserName = loglist.UserName;
|
|
logmodel.CreateTime = DateTime.Now;
|
|
logmodel.LogInfo = loglist.UserName + "提交任务:'" + tasklist.TaskId + "'成功";
|
|
bll_log.Add(logmodel);
|
|
|
|
list.TaskDefinition = task.TaskDefinition;
|
|
list.TaskResult = "1";
|
|
bll_result.Update(list);
|
|
scope.Complete();
|
|
res.code = 200;
|
|
res.msg = "提交任务成功";
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
res.code = 500;
|
|
res.msg = "参数不能为空";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 500;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
}
|
|
}
|