434 lines
19 KiB
C#
434 lines
19 KiB
C#
using Competition.Mysql.api;
|
|
using Competition.Mysql.api.Post;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Security;
|
|
using System.Transactions;
|
|
|
|
namespace CompetitionAPI.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 学校管理
|
|
/// </summary>
|
|
[Route("api/[action]")]
|
|
[ApiController]
|
|
public class SchoolController : ControllerBase
|
|
{
|
|
Competition.BLL.user_login bll=new Competition.BLL.user_login();
|
|
Competition.BLL.daily_record bll_log = new Competition.BLL.daily_record();
|
|
Competition.BLL.school_manager bll_school = new Competition.BLL.school_manager();
|
|
|
|
/// <summary>
|
|
/// 添加学校
|
|
/// </summary>
|
|
/// <param name="school"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpPost]
|
|
public IActionResult AddSchoolManager(add_school_manager school)
|
|
{
|
|
var res = new result_data();
|
|
try
|
|
{
|
|
using (var scope=new TransactionScope())
|
|
{
|
|
if (!string.IsNullOrEmpty(school.LoginId) && !string.IsNullOrEmpty(school.SchoolName) && !string.IsNullOrEmpty(school.ContactName) && !string.IsNullOrEmpty(school.ContactNumber) && !string.IsNullOrEmpty(school.PassWord))
|
|
{
|
|
var list = bll.GetModelList(" UserId='" + school.LoginId + "'").FirstOrDefault();
|
|
if (list.IdentityName == "管理员")
|
|
{
|
|
var model = new Competition.Model.school_manager();
|
|
model.SchoolId = Guid.NewGuid().ToString();
|
|
model.SchoolName = school.SchoolName;
|
|
model.ContactName = school.ContactName;
|
|
model.ContactNumber = school.ContactNumber;
|
|
model.CreateTime = DateTime.Now;
|
|
bll_school.Add(model);
|
|
var alist = bll_school.GetModelList(" ContactNumber='" + school.ContactNumber + "'").FirstOrDefault();
|
|
var amodel = new Competition.Model.user_login();
|
|
amodel.UserId = Guid.NewGuid().ToString();
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.UserName = alist.ContactNumber;
|
|
amodel.PassWord = school.PassWord;
|
|
amodel.IsLogin = "0";
|
|
amodel.IdentityName = "学校管理员";
|
|
amodel.CreateTime = DateTime.Now;
|
|
bll.Add(amodel);
|
|
|
|
var models = new Competition.Model.daily_record();
|
|
models.LogId = Guid.NewGuid().ToString();
|
|
models.SchoolId = list.SchoolId;
|
|
models.CreateTime = DateTime.Now;
|
|
models.UserName = list.UserName;
|
|
models.Identity = list.IdentityName;
|
|
models.LogInfo = list.UserName + "添加" + school.SchoolName + "成功";
|
|
bll_log.Add(models);
|
|
//事物提交和回滚
|
|
scope.Complete();
|
|
res.code = 200;
|
|
res.msg = "添加成功";
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 201;
|
|
res.msg="失败"+ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取学校
|
|
/// </summary>
|
|
/// <param name="SchoolName"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpGet]
|
|
public IActionResult GetSchoolManager(string LoginId="",string SchoolName="")
|
|
{
|
|
var res = new get_school_manager();
|
|
try
|
|
{
|
|
var data=new List<school_managerData>();
|
|
if (!string.IsNullOrEmpty(LoginId)&&!string.IsNullOrEmpty(SchoolName))
|
|
{
|
|
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (alist.IdentityName == "管理员")
|
|
{
|
|
var list = bll_school.GetModelList(" SchoolName like '%" + SchoolName + "%'").ToList();
|
|
foreach (var item in list)
|
|
{
|
|
var model = new school_managerData();
|
|
model.SchoolId = item.SchoolId;
|
|
model.SchoolName = item.SchoolName;
|
|
model.ContactName = item.ContactName;
|
|
model.ContactNumber = item.ContactNumber;
|
|
data.Add(model);
|
|
}
|
|
var amodel = new Competition.Model.daily_record();
|
|
amodel.LogId = Guid.NewGuid().ToString();
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.UserName = alist.UserName;
|
|
amodel.CreateTime = DateTime.Now;
|
|
amodel.Identity = alist.IdentityName;
|
|
amodel.LogInfo = alist.UserName + "根据条件:" + SchoolName + "模糊查询学校成功";
|
|
bll_log.Add(amodel);
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
res.data = data;
|
|
}
|
|
else
|
|
{
|
|
res.code = 200;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
else if(!string.IsNullOrEmpty(LoginId))
|
|
{
|
|
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (alist.IdentityName == "管理员")
|
|
{
|
|
var list = bll_school.GetModelList("").ToList();
|
|
foreach (var item in list)
|
|
{
|
|
var model = new school_managerData();
|
|
model.SchoolId = item.SchoolId;
|
|
model.SchoolName = item.SchoolName;
|
|
model.ContactName = item.ContactName;
|
|
model.ContactNumber = item.ContactNumber;
|
|
data.Add(model);
|
|
}
|
|
var amodel = new Competition.Model.daily_record();
|
|
amodel.LogId = Guid.NewGuid().ToString();
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.UserName = alist.UserName;
|
|
amodel.CreateTime = DateTime.Now;
|
|
amodel.Identity = alist.IdentityName;
|
|
amodel.LogInfo = alist.UserName + "查询所有学校成功";
|
|
bll_log.Add(amodel);
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
res.data = data;
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 201;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 反填学校
|
|
/// </summary>
|
|
/// <param name="SchoolId"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpGet]
|
|
public IActionResult FindSchoolManager(string LoginId="",string SchoolId = "")
|
|
{
|
|
var res = new get_school_manager();
|
|
try
|
|
{
|
|
var data = new List<school_managerData>();
|
|
if (!string.IsNullOrEmpty(LoginId)&&!string.IsNullOrEmpty(SchoolId))
|
|
{
|
|
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (alist.IdentityName == "管理员")
|
|
{
|
|
var list = bll_school.GetModelList(" SchoolId='" + SchoolId + "'").FirstOrDefault();
|
|
var model = new school_managerData();
|
|
model.SchoolId = list.SchoolId;
|
|
model.SchoolName = list.SchoolName;
|
|
model.ContactName = list.ContactName;
|
|
model.ContactNumber = list.ContactNumber;
|
|
data.Add(model);
|
|
|
|
var amodel = new Competition.Model.daily_record();
|
|
amodel.LogId = Guid.NewGuid().ToString();
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.Identity = alist.IdentityName;
|
|
amodel.UserName = alist.UserName;
|
|
amodel.CreateTime = DateTime.Now;
|
|
amodel.LogInfo = alist.UserName + "反填" + list.SchoolName + "成功";
|
|
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 = 201;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改学校
|
|
/// </summary>
|
|
/// <param name="school"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpPost]
|
|
public IActionResult UpdateSchoolManager(update_school_manager school)
|
|
{
|
|
var res = new result_data();
|
|
try
|
|
{
|
|
using (var scope=new TransactionScope())
|
|
{
|
|
if(!string.IsNullOrEmpty(school.LoginId)&&!string.IsNullOrEmpty(school.SchoolId) && !string.IsNullOrEmpty(school.SchoolName) && !string.IsNullOrEmpty(school.ContactName) && !string.IsNullOrEmpty(school.ContactNumber))
|
|
{
|
|
var blist = bll.GetModelList(" UserId='" + school.LoginId + "'").FirstOrDefault();
|
|
if (blist.IdentityName == "管理员")
|
|
{
|
|
var list = bll_school.GetModelList(" SchoolId='" + school.SchoolId + "'").FirstOrDefault();
|
|
var model = new Competition.Model.school_manager();
|
|
model.SchoolId = school.SchoolId;
|
|
model.SchoolName = school.SchoolName;
|
|
model.ContactName = school.ContactName;
|
|
model.ContactNumber = school.ContactNumber;
|
|
model.CreateTime = list.CreateTime;
|
|
bll_school.Update(model);
|
|
var alist = bll.GetModelList(" SchoolId='" + school.SchoolId + "'").FirstOrDefault();
|
|
var amodel = new Competition.Model.user_login();
|
|
amodel.UserId = alist.UserId;
|
|
amodel.UserName = school.ContactNumber;
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.PassWord = alist.PassWord;
|
|
amodel.IsLogin = alist.IsLogin;
|
|
amodel.IdentityName = alist.IdentityName;
|
|
amodel.CreateTime = alist.CreateTime;
|
|
bll.Update(amodel);
|
|
|
|
var bmodeel = new Competition.Model.daily_record();
|
|
bmodeel.LogId = Guid.NewGuid().ToString();
|
|
bmodeel.SchoolId = blist.SchoolId;
|
|
bmodeel.UserName = blist.UserName;
|
|
bmodeel.CreateTime = DateTime.Now;
|
|
bmodeel.Identity = blist.IdentityName;
|
|
bmodeel.LogInfo = blist.UserName + "修改" + school.SchoolName + "成功";
|
|
bll_log.Add(bmodeel);
|
|
//事务提交回滚
|
|
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="SchoolId"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpGet]
|
|
public IActionResult DelSchoolManager(string LoginId="",string SchoolId = "")
|
|
{
|
|
var res=new result_data();
|
|
try
|
|
{
|
|
using (var scope=new TransactionScope())
|
|
{
|
|
if (!string.IsNullOrEmpty(LoginId) &&!string.IsNullOrEmpty(SchoolId))
|
|
{
|
|
var alist = bll.GetModelList(" UserId='" + LoginId + "'").FirstOrDefault();
|
|
if (alist.IdentityName == "管理员")
|
|
{
|
|
var blist = bll_school.GetModelList(" SchoolId='" + SchoolId + "'").FirstOrDefault();
|
|
bll_school.Delete(SchoolId);
|
|
var list = bll.GetModelList(" SchoolId='" + SchoolId + "'").ToList();
|
|
foreach (var item in list)
|
|
{
|
|
bll.Delete(item.UserId);
|
|
}
|
|
var amodel = new Competition.Model.daily_record();
|
|
amodel.LogId = Guid.NewGuid().ToString();
|
|
amodel.SchoolId = alist.SchoolId;
|
|
amodel.Identity = alist.IdentityName;
|
|
amodel.UserName = alist.UserName;
|
|
amodel.CreateTime = DateTime.Now;
|
|
amodel.LogInfo = alist.UserName + "删除" + blist.SchoolName + "成功和学校下所有账号";
|
|
bll_log.Add(amodel);
|
|
//事务提交回滚
|
|
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="user"></param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpPost]
|
|
public IActionResult AddUserList(add_user_list user)
|
|
{
|
|
var res=new result_data();
|
|
try
|
|
{
|
|
using (var scope = new TransactionScope())
|
|
{
|
|
if (!string.IsNullOrEmpty(user.LoginId) && !string.IsNullOrEmpty(user.Prefix) && user.Quantity > 0 && !string.IsNullOrEmpty(user.SchoolId))
|
|
{
|
|
var list = bll.GetModelList(" UserId='" + user.LoginId + "'").FirstOrDefault();
|
|
if (list.IdentityName == "管理员")
|
|
{
|
|
var a = bll.GetModelList(" UserName like '%" + user.Prefix + "%'").ToList();
|
|
var b = a.Count();
|
|
var c = b + 1;
|
|
var count = c + user.Quantity;
|
|
for (int i = c; i <= count; i++)
|
|
{
|
|
var Prefix = user.Prefix + "_" + i;
|
|
var model = new Competition.Model.user_login();
|
|
model.UserId = Guid.NewGuid().ToString();
|
|
model.UserName = Prefix;
|
|
model.PassWord = Prefix;
|
|
model.SchoolId = user.SchoolId;
|
|
model.IdentityName = "学生";
|
|
model.IsLogin = "0";
|
|
model.CreateTime = DateTime.Now;
|
|
bll.Add(model);
|
|
}
|
|
var alist = bll_school.GetModelList(" SchoolId='" + user.SchoolId + "'").FirstOrDefault();
|
|
var amodel = new Competition.Model.daily_record();
|
|
amodel.LogId = Guid.NewGuid().ToString();
|
|
amodel.Identity = list.IdentityName;
|
|
amodel.SchoolId = list.SchoolId;
|
|
amodel.CreateTime = DateTime.Now;
|
|
amodel.UserName = list.UserName;
|
|
amodel.LogInfo = list.UserName + "为" + alist.SchoolName + "生成" + user.Quantity + "个账号";
|
|
bll_log.Add(amodel);
|
|
//事物提交回滚
|
|
scope.Complete();
|
|
res.code = 200;
|
|
res.msg = "批量生成成功";
|
|
}
|
|
else
|
|
{
|
|
res.code = 201;
|
|
res.msg = "身份不对";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.code = 500;
|
|
res.msg = "失败" + ex.Message;
|
|
}
|
|
return Ok(res);
|
|
}
|
|
}
|
|
}
|