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); } } }