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 { /// /// 学校管理 /// [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(); /// /// 添加学校 /// /// /// [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); } /// /// 获取学校 /// /// /// [Authorize] [HttpGet] public IActionResult GetSchoolManager(string LoginId="",string SchoolName="") { var res = new get_school_manager(); try { var data=new List(); 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); } /// /// 反填学校 /// /// /// [Authorize] [HttpGet] public IActionResult FindSchoolManager(string LoginId="",string SchoolId = "") { var res = new get_school_manager(); try { var data = new List(); 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); } /// /// 修改学校 /// /// /// [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); } /// /// 删除学校 /// /// /// [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); } /// /// 批量生成账号 /// /// /// [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); } } }