CompetitionAPI_dotnet/CompetitionAPI/Controllers/back/SaveToolsController.cs

80 lines
2.7 KiB
C#

using Competition.Common.Util;
using CompetitionAPI.api.back;
using CompetitionAPI.Util;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace CompetitionAPI.Controllers.back
{
[Route("api/[controller]")]
[ApiController]
public class SaveToolsController : Controller
{
Competition.Mysql.BLL.pow_exam_tool exam_tool_bll = new Competition.Mysql.BLL.pow_exam_tool();
public SaveToolsController()
{
}
/// <summary>
/// 保存工器具接口
/// </summary>
/// <returns></returns>
[Authorize]
[HttpPost]
[APIFilter]
public JsonResult Index([FromBody] SaveToolsRequest req)
{
try
{
if (req != null)
{
if (string.IsNullOrEmpty(req.ExamId))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "考试id不能为空"));
}
if (string.IsNullOrEmpty(req.Type))
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "类型不能为空"));
}
var list = new List<Competition.Mysql.Model.pow_exam_tool>();
foreach (var item in req.Data)
{
var model = new Competition.Mysql.Model.pow_exam_tool();
model.ExamToolId = Guid.NewGuid().ToString("N");
model.ExamId = req.ExamId;
model.ToolId = item.ToolId;
model.Purpose = req.Type;
model.ToolName = item.ToolName;
model.ToolType = item.ToolType;
model.ThreeToolId = int.Parse(item.ThreeToolId);
list.Add(model);
}
if (exam_tool_bll.OperationData(list, req.ExamId, req.Type) > 0)
{
return Json(Tool.GetJsonWithCode(APICode.Success, "保存成功"));
}
else
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "保存失败"));
}
}
else
{
return Json(Tool.GetJsonWithCode(APICode.Fail, "请求参数无数据"));
}
}
catch (Exception ex)
{
LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace);
return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。"));
}
}
}
}