using Competition.Mysql.api;
using Competition.Mysql.api.Post;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
using NPOI.SS.Formula.Functions;
using NPOI.XWPF.UserModel;
using System.ComponentModel.DataAnnotations;
using System.Transactions;
namespace CompetitionAPI.Controllers
{
///
/// 学校账号管理
///
[Route("api/[action]")]
[ApiController]
public class UserController : ControllerBase
{
Competition.BLL.user_login bll=new Competition.BLL.user_login();
Competition.BLL.school_manager bll_school=new Competition.BLL.school_manager();
Competition.BLL.daily_record bll_log = new Competition.BLL.daily_record();
///
/// 获取所有用户
///
///
///
///
[Authorize]
[HttpGet]
public IActionResult GetUserInfo(string LoginId="",string SchoolName="",string UserName="")
{
var res = new get_user_info();
try
{
var data = new List();
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(SchoolName) || !string.IsNullOrEmpty(UserName))
{
var blist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (blist.IdentityName == "管理员")
{
var list = bll_school.GetModelList(" SchoolName like '%" + SchoolName + "%'").ToList();
foreach (var item in list)
{
var alist = bll.GetModelList(" SchoolId='" + item.SchoolId + "' and UserName like '%"+UserName+"%'").ToList();
foreach (var aitem in alist)
{
var model = new user_infoData();
model.SchoolName = item.SchoolName;
model.UserId = aitem.UserId;
model.UserName = aitem.UserName;
model.Identity = aitem.IdentityName;
model.CreateTime = Convert.ToDateTime(aitem.CreateTime);
data.Add(model);
}
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = blist.SchoolId;
amodel.Identity = blist.IdentityName;
amodel.UserName = blist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.LogInfo = blist.UserName + "根据学校条件:" + SchoolName + "和用户条件:" + UserName + "模糊查询成功";
bll_log.Add(amodel);
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else if(!string.IsNullOrEmpty(LoginId))
{
var blist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (blist.IdentityName == "管理员")
{
var list = bll.GetModelList("");
foreach (var item in list)
{
var model = new user_infoData();
model.UserId = item.UserId;
model.UserName = item.UserName;
var alist = bll_school.GetModelList(" SchoolId='" + item.SchoolId + "'").FirstOrDefault();
if (alist == null)
{
model.SchoolName = "";
}
else
{
model.SchoolName = alist.SchoolName;
}
model.Identity = item.IdentityName;
model.CreateTime = Convert.ToDateTime(item.CreateTime);
data.Add(model);
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = blist.SchoolId;
amodel.Identity = blist.IdentityName;
amodel.UserName = blist.UserName;
amodel.CreateTime = DateTime.Now;
amodel.LogInfo = blist.UserName + "查询所有账号用户成功";
bll_log.Add(amodel);
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);
}
///
/// 删除账号用户
///
///
///
[Authorize]
[HttpGet]
public IActionResult DelUserInfo(string LoginId="",string UserId = "")
{
var res=new result_data();
try
{
using (var scope = new TransactionScope())
{
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(UserId))
{
var list = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (list.IdentityName == "管理员")
{
var alist = bll.GetModelList(" UserId='" + UserId + "'").FirstOrDefault();
bll.Delete(alist.UserId);
var model = new Competition.Model.daily_record();
model.LogId = Guid.NewGuid().ToString();
model.UserName = list.UserName;
model.CreateTime = DateTime.Now;
model.SchoolId = list.SchoolId;
model.Identity = list.IdentityName;
model.LogInfo = list.UserName + "删除" + alist.UserName + "成功";
bll_log.Add(model);
scope.Complete();
res.code = 200;
res.msg = "删除成功";
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else
{
res.code = 201;
res.msg = "参数不能为空";
}
}
}
catch (Exception ex)
{
res.code = 500;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
///
/// 反填账号用户
///
///
///
///
[Authorize]
[HttpGet]
public IActionResult FindUserInfo(string LoginId="",string UserId = "")
{
var res = new find_user_info();
try
{
if (!string.IsNullOrEmpty(LoginId) && !string.IsNullOrEmpty(UserId))
{
var data = new List();
var blist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
if (blist.IdentityName == "管理员")
{
var list = bll.GetModelList(" UserId='" + UserId + "'").FirstOrDefault();
if (list != null)
{
var model = new find_user_infoData();
model.UserId = list.UserId;
model.UserName = list.UserName;
var alist = bll_school.GetModelList(" SchoolId='" + list.SchoolId + "'").FirstOrDefault();
model.SchoolName = alist.SchoolName;
model.PassWord = list.PassWord;
data.Add(model);
}
var amodel = new Competition.Model.daily_record();
amodel.LogId = Guid.NewGuid().ToString();
amodel.SchoolId = blist.SchoolId;
amodel.UserName = blist.UserName;
amodel.Identity = blist.IdentityName;
amodel.CreateTime = DateTime.Now;
amodel.LogInfo = blist.UserName + "反填数据" + list.UserName + "成功";
bll_log.Add(amodel);
res.code = 200;
res.msg = "成功";
res.data = data;
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else
{
res.code = 201;
res.msg = "参数不能为空";
}
}
catch (Exception ex)
{
res.code = 500;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
///
/// 修改账号用户
///
///
///
[Authorize]
[HttpPost]
public IActionResult UpdateUserInfo(update_user_info user)
{
var res=new result_data();
try
{
using (var scope = new TransactionScope())
{
if (!string.IsNullOrEmpty(user.LoginId) && !string.IsNullOrEmpty(user.UserName) && !string.IsNullOrEmpty(user.UserId) && !string.IsNullOrEmpty(user.PassWord))
{
var alist = bll.GetModelList(" UserId='" + user.LoginId + "'").FirstOrDefault();
if (alist.IdentityName == "管理员")
{
var list = bll.GetModelList(" UserId='" + user.UserId + "'").FirstOrDefault();
list.UserName = user.UserName;
list.PassWord = user.PassWord;
bll.Update(list);
var model = new Competition.Model.daily_record();
model.LogId = Guid.NewGuid().ToString();
model.UserName = user.UserName;
model.SchoolId = alist.SchoolId;
model.Identity = alist.IdentityName;
model.CreateTime = DateTime.Now;
model.LogInfo = alist.UserName + "修改账号用户:" + list.UserName + "成功";
bll_log.Add(model);
//事务提交回滚
scope.Complete();
res.code = 200;
res.msg = "修改成功";
}
else
{
res.code = 201;
res.msg = "身份不对";
}
}
else
{
res.code = 201;
res.msg = "参数不能为空";
}
}
}
catch (Exception ex)
{
res.code = 500;
res.msg = "失败" + ex.Message;
}
return Ok(res);
}
}
}