用户接口修改及考核接口

parent a63ba523
......@@ -71,6 +71,19 @@ public ApiResponse<UserIdentity> Login([FromBody]LoginRequest request)
}
/// <summary>
/// 查询个人信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("selfinfo")]
[HttpPost]
public ApiResponse SelfInfo([FromBody]ApiRequest request)
{
var user = _claim.At(request.Token);
return new ApiResponse(ResponseType.OK, user);
}
/// <summary>
/// 修改个人信息
/// </summary>
/// <param name="request"></param>
......@@ -102,18 +115,15 @@ public ApiResponse<List<UserResponse>> List([FromBody]ApiRequest request)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("insert")]
[Route("delete")]
[HttpPost]
public ApiResponse<UserResponse> Insert([CustomizeValidator(RuleSet = "Insert"), FromBody]UserRequest request)
public ApiResponse Delete([CustomizeValidator(RuleSet = "Delete"), FromBody]UserRequest request)
{
var userIdentity = _claim.At(request.Token);
var user = _userService.Insert(request, userIdentity.UserID);
user.Role = request.Role;
return new ApiResponse<UserResponse>(ResponseType.OK, user);
return _userService.Delete(request.ID);
}
/// <summary>
/// 修改用户
/// 删除用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
......
......@@ -20,11 +20,13 @@ public class AssessController : Controller
{
private ClaimService claimService;
private AssessService assessService;
private UserService userService;
public AssessController(ClaimService claimService,
AssessService assessService)
AssessService assessService, UserService userService)
{
this.claimService = claimService;
this.assessService = assessService;
this.userService = userService;
}
//新增考核类别
......@@ -32,16 +34,15 @@ public class AssessController : Controller
[Route("addassess")]
public ApiResponse AddAssess([CustomizeValidator(RuleSet = "Add"), FromBody]AssessRequest request)
{
assessService.AddAssess(request.AllotID, request.AssessName);
throw new NotImplementedException();
return assessService.AddAssess(request.AllotID, request.AssessName);
}
//修改考核类别
[HttpPost]
[Route("editassess")]
public ApiResponse EditAssess([CustomizeValidator(RuleSet = "Update"), FromBody]AllotRequest request)
public ApiResponse EditAssess([CustomizeValidator(RuleSet = "Update"), FromBody]AssessRequest request)
{
throw new NotImplementedException();
return assessService.EditAssess(request.AssessID, request.AssessName);
}
//删除考核类别
......@@ -49,39 +50,48 @@ public ApiResponse EditAssess([CustomizeValidator(RuleSet = "Update"), FromBody]
[Route("delassess")]
public ApiResponse DelAssess([CustomizeValidator(RuleSet = "Del"), FromBody]AssessRequest request)
{
throw new NotImplementedException();
return assessService.DelAssess(request.AssessID);
}
//获取所有科室列表
[HttpPost]
[Route("departmentlist")]
public ApiResponse DepartmentList()
{
throw new NotImplementedException();
}
////获取所有科室列表
//[HttpPost]
//[Route("departmentlist")]
//public ApiResponse DepartmentList([FromBody]SetDepartmentRequest request)
//{
// var department = _userService.Department(request.HospitalID);
// return new ApiResponse<List<TitleValue>>(ResponseType.OK, "ok", department);
//}
//设置科室考核分类
[HttpPost]
[Route("setassesstype")]
public ApiResponse SetAssessType()
public ApiResponse SetAssessType([FromBody]SetAssessRequest request)
{
throw new NotImplementedException();
return assessService.SetAssessType(request);
}
//新增考核项
[HttpPost]
[Route("addcolumn")]
public ApiResponse AddColumn()
public ApiResponse AddColumn([CustomizeValidator(RuleSet = "Add"), FromBody]AssessColumnRequest request)
{
return assessService.AddColumn(request.AssessID, request.ParentID, request.ColumnName);
}
//修改考核项
[HttpPost]
[Route("editcolumn")]
public ApiResponse EditColumn([CustomizeValidator(RuleSet = "Update"), FromBody]AssessColumnRequest request)
{
throw new NotImplementedException();
return assessService.EditColumn(request.ColumnID, request.ColumnName);
}
//删除考核项
[HttpPost]
[Route("delcolumn")]
public ApiResponse DelColumn()
public ApiResponse DelColumn([CustomizeValidator(RuleSet = "Del"), FromBody]AssessColumnRequest request)
{
throw new NotImplementedException();
return assessService.DelColumn(request.ColumnID);
}
}
}
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AssessColumnRequest
{
public int ColumnID { get; set; }
public int AssessID { get; set; }
public int ParentID { get; set; }
public string ColumnName { get; set; }
}
public class AssessColumnRequestValidator : AbstractValidator<AssessColumnRequest>
{
public AssessColumnRequestValidator()
{
RuleSet("Del", () =>
{
RuleFor(t => t.ColumnID).NotNull().GreaterThan(0);
});
RuleSet("Update", () =>
{
RuleFor(t => t.ColumnID).NotNull().GreaterThan(0);
RuleFor(t => t.ColumnName).NotNull().NotEmpty();
});
RuleSet("Add", () =>
{
RuleFor(t => t.AssessID).NotNull().GreaterThan(0);
RuleFor(t => t.ParentID).NotNull().GreaterThan(-1);
RuleFor(t => t.ColumnName).NotNull().NotEmpty();
});
}
}
}
......@@ -24,7 +24,6 @@ public AssessRequestValidator()
RuleSet("Update", () =>
{
RuleFor(t => t.AssessID).NotNull().GreaterThan(0);
RuleFor(t => t.AllotID).NotNull().GreaterThan(0);
RuleFor(t => t.AssessName).NotNull().NotEmpty();
});
......
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Performance.DtoModels
{
public class SetAssessRequest
{
public int AssessID { get; set; }
public List<string> Department { get; set; }
}
public class SetAssessRequestValidator : AbstractValidator<SetAssessRequest>
{
public SetAssessRequestValidator()
{
RuleFor(t => t.AssessID).NotNull().GreaterThan(0);
RuleFor(t => t.Department).NotNull().Must(p => p != null && p.Count > 0 && !p.Any(t => t.Trim() != ""));
}
}
}
......@@ -84,6 +84,11 @@ public UserRequestValidator()
RuleFor(x => x.HosIDArray).NotNull().NotEmpty().Must(f => f.Length > 0);
});
RuleSet("Delete", () =>
{
RuleFor(x => x.ID).NotNull().NotEmpty().GreaterThan(0);
});
RuleSet("Self", () =>
{
RuleFor(x => x.Password).Length(4, 20);
......
......@@ -65,5 +65,10 @@ public class sys_user
/// 用户科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 删除状态 1可用 2删除
/// </summary>
public Nullable<int> IsDelete { get; set; }
}
}
using System;
using Performance.DtoModels;
using Performance.EntityModels;
using Performance.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Performance.Services
{
public class AssessService : IAutoInjection
{
//priv
public AssessService()
private PerforAsassessRepository perforAsassessRepository;
private PerforAsdataRepository perforAsdataRepository;
private PerforAscolumnsRepository perforAscolumnsRepository;
public AssessService(PerforAsassessRepository perforAsassessRepository,
PerforAsdataRepository perforAsdataRepository,
PerforAscolumnsRepository perforAscolumnsRepository)
{
this.perforAsassessRepository = perforAsassessRepository;
this.perforAsdataRepository = perforAsdataRepository;
this.perforAscolumnsRepository = perforAscolumnsRepository;
}
/// <summary>
/// 新增
/// </summary>
/// <param name="allotID"></param>
/// <param name="assessName"></param>
/// <returns></returns>
public ApiResponse AddAssess(int allotID, string assessName)
{
var entity = perforAsassessRepository.GetEntities(t => t.AllotID == allotID && t.AssessName == assessName);
if (entity != null && entity.Count > 0)
return new ApiResponse(ResponseType.Fail, "考核类别重复");
var result = perforAsassessRepository.Add(new as_assess { AllotID = allotID, AssessName = assessName });
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 修改
/// </summary>
/// <param name="assessID"></param>
/// <param name="assessName"></param>
/// <returns></returns>
public ApiResponse EditAssess(int assessID, string assessName)
{
var entity = perforAsassessRepository.GetEntity(t => t.ID == assessID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核类别ID无效");
entity.AssessName = assessName;
var result = perforAsassessRepository.Update(entity);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="assessID"></param>
/// <returns></returns>
public ApiResponse DelAssess(int assessID)
{
var entity = perforAsassessRepository.GetEntity(t => t.ID == assessID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核类别ID无效");
var result = perforAsassessRepository.Remove(entity);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 科室考核类别归纳
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResponse SetAssessType(SetAssessRequest request)
{
var entity = perforAsassessRepository.GetEntity(t => t.ID == request.AssessID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核类别ID无效");
var entities = perforAsdataRepository.GetEntities(t => t.AssessID == request.AssessID && request.Department.Contains(t.Department));
if (entities != null && entities.Count > 0)
return new ApiResponse(ResponseType.Fail, "科室考核类别重复分配", entities.Select(t => t.Department));
var addList = request.Department.Select(t => new as_data { AssessID = request.AssessID, Department = t }).ToArray();
var result = perforAsdataRepository.AddRange(addList);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
public void AddAssess(int allotID, string assessName)
/// <summary>
/// 新增考核项
/// </summary>
/// <param name="assessID"></param>
/// <param name="parentID"></param>
/// <param name="columnName"></param>
/// <returns></returns>
public ApiResponse AddColumn(int assessID, int parentID, string columnName)
{
var entity = perforAsassessRepository.GetEntity(t => t.ID == assessID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核类别ID无效");
if (parentID > 0)
{
throw new NotImplementedException();
var centity = perforAscolumnsRepository.GetEntity(t => t.ID == parentID);
if (centity == null)
return new ApiResponse(ResponseType.Fail, "考核项目父级ID无效");
}
var result = perforAscolumnsRepository.Add(new as_columns { AssessID = assessID, ParentID = parentID, ColumnName = columnName });
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 修改考核项
/// </summary>
/// <param name="columnID"></param>
/// <param name="columnName"></param>
/// <returns></returns>
public ApiResponse EditColumn(int columnID, string columnName)
{
var entity = perforAscolumnsRepository.GetEntity(t => t.ID == columnID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核项目父级ID无效");
entity.ColumnName = columnName;
var result = perforAscolumnsRepository.Update(entity);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 删除考核项
/// </summary>
/// <param name="columnID"></param>
/// <returns></returns>
public ApiResponse DelColumn(int columnID)
{
var entity = perforAscolumnsRepository.GetEntity(t => t.ID == columnID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核项目父级ID无效");
var result = perforAscolumnsRepository.Remove(entity);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
}
}
......@@ -58,7 +58,7 @@ public UserIdentity Login(LoginRequest request)
var sms = _smsRepository.GetEntity(t => t.Mobile == request.Account.Trim() && t.SmsCode == request.Password.Trim());
if (sms == null)
throw new PerformanceException("验证码验证失败");
var user = _userRepository.GetEntity(t => t.Mobile == request.Account);
var user = _userRepository.GetEntity(t => t.Mobile == request.Account && t.IsDelete == 1);
if (user == null)
throw new PerformanceException("用户信息查询失败");
......@@ -69,7 +69,7 @@ public UserIdentity Login(LoginRequest request)
//账号密码登录
else if (request.LoginType == 2)
{
var user = _userRepository.GetEntity(t => t.Login == request.Account);
var user = _userRepository.GetEntity(t => t.Login == request.Account && t.IsDelete == 1);
if (user == null)
throw new PerformanceException($"用户不存在 UserId:{request.Account}");
if (!user.Password.Equals(request.Password, StringComparison.OrdinalIgnoreCase))
......@@ -89,7 +89,7 @@ public UserIdentity Login(LoginRequest request)
/// <returns></returns>
public List<UserResponse> GetUserList(int userID)
{
var userlist = _userRepository.GetEntities(t => t.CreateUser == userID);
var userlist = _userRepository.GetEntities(t => t.CreateUser == userID && t.IsDelete == 1);
var result = Mapper.Map<List<UserResponse>>(userlist);
if (result != null && result.Count > 0)
{
......@@ -109,15 +109,30 @@ public List<UserResponse> GetUserList(int userID)
}
/// <summary>
/// 删除
/// </summary>
/// <param name="iD"></param>
/// <returns></returns>
public ApiResponse Delete(int iD)
{
var user = _userRepository.GetEntity(t => t.ID == iD && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{iD}");
user.IsDelete = 2;
var result = _userRepository.Remove(user);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
public UserResponse Insert(UserRequest request, int userid)
{
var isAgainAdmin = new int[] { application.DirectorRole, application.NurseRole }.Contains(request.Role);
if (null != _userRepository.GetEntity(t => t.Login == request.Login))
if (null != _userRepository.GetEntity(t => t.Login == request.Login && t.IsDelete == 1))
throw new PerformanceException("登录名重复");
if (null != _userRepository.GetEntity(t => t.Mobile == request.Mobile))
if (null != _userRepository.GetEntity(t => t.Mobile == request.Mobile && t.IsDelete == 1))
throw new PerformanceException("手机号重复");
if (request.Role == 3 && string.IsNullOrEmpty(request.Department))
throw new PerformanceException("请选择科室");
......@@ -149,7 +164,7 @@ public UserResponse Insert(UserRequest request, int userid)
/// <returns></returns>
public bool SetHospital(int userId, int[] hosIDArray)
{
var user = _userRepository.GetEntity(t => t.ID == userId);
var user = _userRepository.GetEntity(t => t.ID == userId && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{userId}");
var userHospital = _userhospitalRepository.GetUserHospital(userId);
......@@ -181,15 +196,15 @@ public bool SetHospital(int userId, int[] hosIDArray)
/// <returns></returns>
public UserResponse Update(UserRequest request, bool isAgainAdmin)
{
var user = _userRepository.GetEntity(t => t.ID == request.ID);
var user = _userRepository.GetEntity(t => t.ID == request.ID && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{request.ID}");
var vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Login == request.Login);
var vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Login == request.Login && t.IsDelete == 1);
if (null != vlist && vlist.Count() > 0)
throw new PerformanceException("登录名重复");
vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Mobile == request.Mobile);
vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Mobile == request.Mobile && t.IsDelete == 1);
if (null != vlist && vlist.Count() > 0)
throw new PerformanceException("手机号重复");
......@@ -230,15 +245,15 @@ public UserResponse Update(UserRequest request, bool isAgainAdmin)
/// <returns></returns>
public UserResponse UpdateSelf(UserRequest request)
{
var user = _userRepository.GetEntity(t => t.ID == request.ID);
var user = _userRepository.GetEntity(t => t.ID == request.ID && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{request.ID}");
var vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Login == request.Login);
var vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Login == request.Login && t.IsDelete == 1);
if (null != vlist && vlist.Count() > 0)
throw new PerformanceException("登录名重复");
vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Mobile == request.Mobile);
vlist = _userRepository.GetEntities(t => t.ID != user.ID && t.Mobile == request.Mobile && t.IsDelete == 1);
if (null != vlist && vlist.Count() > 0)
throw new PerformanceException("手机号重复");
......@@ -260,7 +275,7 @@ public UserResponse UpdateSelf(UserRequest request)
/// <returns></returns>
public UserResponse UpdatePwd(PasswordRequest request, int userId)
{
var user = _userRepository.GetEntity(t => t.ID == userId);
var user = _userRepository.GetEntity(t => t.ID == userId && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{userId}");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment