307 lines
13 KiB
C#
307 lines
13 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 学校账号管理
|
|
/// </summary>
|
|
[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();
|
|
|
|
/// <summary>
|
|
/// 获取所有用户
|
|
/// </summary>
|
|
/// <param name="SchoolName"></param>
|
|
/// <param name="UserName" ></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpGet]
|
|
public IActionResult GetUserInfo(string LoginId="",string SchoolName="",string UserName="")
|
|
{
|
|
var res = new get_user_info();
|
|
try
|
|
{
|
|
var data = new List<user_infoData>();
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除账号用户
|
|
/// </summary>
|
|
/// <param name="UserId"></param>
|
|
/// <returns></returns>
|
|
[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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 反填账号用户
|
|
/// </summary>
|
|
/// <param name="LoginId"></param>
|
|
/// <param name="UserId"></param>
|
|
/// <returns></returns>
|
|
[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<find_user_infoData>();
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改账号用户
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
/// <returns></returns>
|
|
[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);
|
|
}
|
|
|
|
}
|
|
}
|