mirror of
https://github.com/anjoy8/Blog.Core.git
synced 2024-09-20 23:48:27 +08:00
fix: try to use dto in user manage
This commit is contained in:
parent
cb2016c2bb
commit
6fa0b153b0
|
@ -633,7 +633,7 @@
|
|||
用户管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserController.#ctor(Blog.Core.IRepository.UnitOfWork.IUnitOfWork,Blog.Core.IServices.ISysUserInfoServices,Blog.Core.IServices.IUserRoleServices,Blog.Core.IServices.IRoleServices,Blog.Core.Common.HttpContextUser.IUser,Microsoft.Extensions.Logging.ILogger{Blog.Core.Controllers.UserController})">
|
||||
<member name="M:Blog.Core.Controllers.UserController.#ctor(Blog.Core.IRepository.UnitOfWork.IUnitOfWork,Blog.Core.IServices.ISysUserInfoServices,Blog.Core.IServices.IUserRoleServices,Blog.Core.IServices.IRoleServices,Blog.Core.Common.HttpContextUser.IUser,AutoMapper.IMapper,Microsoft.Extensions.Logging.ILogger{Blog.Core.Controllers.UserController})">
|
||||
<summary>
|
||||
构造函数
|
||||
</summary>
|
||||
|
@ -642,6 +642,7 @@
|
|||
<param name="userRoleServices"></param>
|
||||
<param name="roleServices"></param>
|
||||
<param name="user"></param>
|
||||
<param name="mapper"></param>
|
||||
<param name="logger"></param>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserController.Get(System.Int32,System.String)">
|
||||
|
@ -660,14 +661,14 @@
|
|||
<param name="token">令牌</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserController.Post(Blog.Core.Model.Models.SysUserInfo)">
|
||||
<member name="M:Blog.Core.Controllers.UserController.Post(Blog.Core.Model.ViewModels.SysUserInfoDto)">
|
||||
<summary>
|
||||
添加一个用户
|
||||
</summary>
|
||||
<param name="sysUserInfo"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserController.Put(Blog.Core.Model.Models.SysUserInfo)">
|
||||
<member name="M:Blog.Core.Controllers.UserController.Put(Blog.Core.Model.ViewModels.SysUserInfoDto)">
|
||||
<summary>
|
||||
更新用户与角色
|
||||
</summary>
|
||||
|
@ -686,12 +687,13 @@
|
|||
用户角色关系
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserRoleController.#ctor(Blog.Core.IServices.ISysUserInfoServices,Blog.Core.IServices.IUserRoleServices,Blog.Core.IServices.IRoleServices)">
|
||||
<member name="M:Blog.Core.Controllers.UserRoleController.#ctor(Blog.Core.IServices.ISysUserInfoServices,Blog.Core.IServices.IUserRoleServices,AutoMapper.IMapper,Blog.Core.IServices.IRoleServices)">
|
||||
<summary>
|
||||
构造函数
|
||||
</summary>
|
||||
<param name="sysUserInfoServices"></param>
|
||||
<param name="userRoleServices"></param>
|
||||
<param name="mapper"></param>
|
||||
<param name="roleServices"></param>
|
||||
</member>
|
||||
<member name="M:Blog.Core.Controllers.UserRoleController.AddUser(System.String,System.String)">
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using Blog.Core.AuthHelper.OverWrite;
|
||||
using Blog.Core.Common.Helper;
|
||||
using Blog.Core.Common.HttpContextUser;
|
||||
|
@ -9,6 +10,7 @@ using Blog.Core.IRepository.UnitOfWork;
|
|||
using Blog.Core.IServices;
|
||||
using Blog.Core.Model;
|
||||
using Blog.Core.Model.Models;
|
||||
using Blog.Core.Model.ViewModels;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
@ -21,13 +23,14 @@ namespace Blog.Core.Controllers
|
|||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[Authorize(Permissions.Name)]
|
||||
public class UserController : ControllerBase
|
||||
public class UserController : BaseApiController
|
||||
{
|
||||
private readonly IUnitOfWork _unitOfWork;
|
||||
readonly ISysUserInfoServices _sysUserInfoServices;
|
||||
readonly IUserRoleServices _userRoleServices;
|
||||
readonly IRoleServices _roleServices;
|
||||
private readonly IUser _user;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly ILogger<UserController> _logger;
|
||||
|
||||
/// <summary>
|
||||
|
@ -38,14 +41,18 @@ namespace Blog.Core.Controllers
|
|||
/// <param name="userRoleServices"></param>
|
||||
/// <param name="roleServices"></param>
|
||||
/// <param name="user"></param>
|
||||
/// <param name="mapper"></param>
|
||||
/// <param name="logger"></param>
|
||||
public UserController(IUnitOfWork unitOfWork, ISysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IRoleServices roleServices, IUser user, ILogger<UserController> logger)
|
||||
public UserController(IUnitOfWork unitOfWork, ISysUserInfoServices sysUserInfoServices,
|
||||
IUserRoleServices userRoleServices, IRoleServices roleServices,
|
||||
IUser user, IMapper mapper, ILogger<UserController> logger)
|
||||
{
|
||||
_unitOfWork = unitOfWork;
|
||||
_sysUserInfoServices = sysUserInfoServices;
|
||||
_userRoleServices = userRoleServices;
|
||||
_roleServices = roleServices;
|
||||
_user = user;
|
||||
_mapper = mapper;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
|
@ -57,7 +64,7 @@ namespace Blog.Core.Controllers
|
|||
/// <returns></returns>
|
||||
// GET: api/User
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<PageModel<SysUserInfo>>> Get(int page = 1, string key = "")
|
||||
public async Task<MessageModel<PageModel<SysUserInfoDto>>> Get(int page = 1, string key = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key))
|
||||
{
|
||||
|
@ -87,12 +94,7 @@ namespace Blog.Core.Controllers
|
|||
#endregion
|
||||
|
||||
|
||||
return new MessageModel<PageModel<SysUserInfo>>()
|
||||
{
|
||||
msg = "获取成功",
|
||||
success = data.dataCount >= 0,
|
||||
response = data
|
||||
};
|
||||
return SuccessPage(data.page, data.dataCount, data.PageSize, _mapper.Map<List<SysUserInfoDto>>(sysUserInfos), data.pageCount);
|
||||
|
||||
}
|
||||
|
||||
|
@ -114,9 +116,9 @@ namespace Blog.Core.Controllers
|
|||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<MessageModel<SysUserInfo>> GetInfoByToken(string token)
|
||||
public async Task<MessageModel<SysUserInfoDto>> GetInfoByToken(string token)
|
||||
{
|
||||
var data = new MessageModel<SysUserInfo>();
|
||||
var data = new MessageModel<SysUserInfoDto>();
|
||||
if (!string.IsNullOrEmpty(token))
|
||||
{
|
||||
var tokenModel = JwtHelper.SerializeJwt(token);
|
||||
|
@ -125,7 +127,7 @@ namespace Blog.Core.Controllers
|
|||
var userinfo = await _sysUserInfoServices.QueryById(tokenModel.Uid);
|
||||
if (userinfo != null)
|
||||
{
|
||||
data.response = userinfo;
|
||||
data.response = _mapper.Map<SysUserInfoDto>(userinfo);
|
||||
data.success = true;
|
||||
data.msg = "获取成功";
|
||||
}
|
||||
|
@ -142,14 +144,14 @@ namespace Blog.Core.Controllers
|
|||
/// <returns></returns>
|
||||
// POST: api/User
|
||||
[HttpPost]
|
||||
public async Task<MessageModel<string>> Post([FromBody] SysUserInfo sysUserInfo)
|
||||
public async Task<MessageModel<string>> Post([FromBody] SysUserInfoDto sysUserInfo)
|
||||
{
|
||||
var data = new MessageModel<string>();
|
||||
|
||||
sysUserInfo.LoginPWD = MD5Helper.MD5Encrypt32(sysUserInfo.LoginPWD);
|
||||
sysUserInfo.Remark = _user.Name;
|
||||
sysUserInfo.uLoginPWD = MD5Helper.MD5Encrypt32(sysUserInfo.uLoginPWD);
|
||||
sysUserInfo.uRemark = _user.Name;
|
||||
|
||||
var id = await _sysUserInfoServices.Add(sysUserInfo);
|
||||
var id = await _sysUserInfoServices.Add(_mapper.Map<SysUserInfo>(sysUserInfo));
|
||||
data.success = id > 0;
|
||||
if (data.success)
|
||||
{
|
||||
|
@ -167,7 +169,7 @@ namespace Blog.Core.Controllers
|
|||
/// <returns></returns>
|
||||
// PUT: api/User/5
|
||||
[HttpPut]
|
||||
public async Task<MessageModel<string>> Put([FromBody] SysUserInfo sysUserInfo)
|
||||
public async Task<MessageModel<string>> Put([FromBody] SysUserInfoDto sysUserInfo)
|
||||
{
|
||||
// 这里使用事务处理
|
||||
|
||||
|
@ -176,12 +178,12 @@ namespace Blog.Core.Controllers
|
|||
{
|
||||
_unitOfWork.BeginTran();
|
||||
|
||||
if (sysUserInfo != null && sysUserInfo.Id > 0)
|
||||
if (sysUserInfo != null && sysUserInfo.uID > 0)
|
||||
{
|
||||
if (sysUserInfo.RIDs.Count > 0)
|
||||
{
|
||||
// 无论 Update Or Add , 先删除当前用户的全部 U_R 关系
|
||||
var usreroles = (await _userRoleServices.Query(d => d.UserId == sysUserInfo.Id)).Select(d => d.Id.ToString()).ToArray();
|
||||
var usreroles = (await _userRoleServices.Query(d => d.UserId == sysUserInfo.uID)).Select(d => d.Id.ToString()).ToArray();
|
||||
if (usreroles.Count() > 0)
|
||||
{
|
||||
var isAllDeleted = await _userRoleServices.DeleteByIds(usreroles);
|
||||
|
@ -191,21 +193,21 @@ namespace Blog.Core.Controllers
|
|||
var userRolsAdd = new List<UserRole>();
|
||||
sysUserInfo.RIDs.ForEach(rid =>
|
||||
{
|
||||
userRolsAdd.Add(new UserRole(sysUserInfo.Id, rid));
|
||||
userRolsAdd.Add(new UserRole(sysUserInfo.uID, rid));
|
||||
});
|
||||
|
||||
await _userRoleServices.Add(userRolsAdd);
|
||||
|
||||
}
|
||||
|
||||
data.success = await _sysUserInfoServices.Update(sysUserInfo);
|
||||
data.success = await _sysUserInfoServices.Update(_mapper.Map<SysUserInfo>(sysUserInfo));
|
||||
|
||||
_unitOfWork.CommitTran();
|
||||
|
||||
if (data.success)
|
||||
{
|
||||
data.msg = "更新成功";
|
||||
data.response = sysUserInfo?.Id.ObjToString();
|
||||
data.response = sysUserInfo?.uID.ObjToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
using System.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using Blog.Core.IServices;
|
||||
using Blog.Core.Model;
|
||||
using Blog.Core.Model.Models;
|
||||
using Blog.Core.Model.ViewModels;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
|
@ -16,21 +18,24 @@ namespace Blog.Core.Controllers
|
|||
[Authorize(Permissions.Name)]
|
||||
public class UserRoleController : Controller
|
||||
{
|
||||
readonly ISysUserInfoServices _sysUserInfoServices;
|
||||
readonly IUserRoleServices _userRoleServices;
|
||||
readonly IRoleServices _roleServices;
|
||||
private readonly ISysUserInfoServices _sysUserInfoServices;
|
||||
private readonly IUserRoleServices _userRoleServices;
|
||||
private readonly IRoleServices _roleServices;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="sysUserInfoServices"></param>
|
||||
/// <param name="userRoleServices"></param>
|
||||
/// <param name="mapper"></param>
|
||||
/// <param name="roleServices"></param>
|
||||
public UserRoleController(ISysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IRoleServices roleServices)
|
||||
public UserRoleController(ISysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IMapper mapper, IRoleServices roleServices)
|
||||
{
|
||||
this._sysUserInfoServices = sysUserInfoServices;
|
||||
this._userRoleServices = userRoleServices;
|
||||
this._roleServices = roleServices;
|
||||
_sysUserInfoServices = sysUserInfoServices;
|
||||
_userRoleServices = userRoleServices;
|
||||
_roleServices = roleServices;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
|
||||
|
@ -42,13 +47,14 @@ namespace Blog.Core.Controllers
|
|||
/// <param name="loginPwd"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<MessageModel<SysUserInfo>> AddUser(string loginName, string loginPwd)
|
||||
public async Task<MessageModel<SysUserInfoDto>> AddUser(string loginName, string loginPwd)
|
||||
{
|
||||
return new MessageModel<SysUserInfo>()
|
||||
var userInfo = await _sysUserInfoServices.SaveUserInfo(loginName, loginPwd);
|
||||
return new MessageModel<SysUserInfoDto>()
|
||||
{
|
||||
success = true,
|
||||
msg = "添加成功",
|
||||
response = await _sysUserInfoServices.SaveUserInfo(loginName, loginPwd)
|
||||
response = _mapper.Map<SysUserInfoDto>(userInfo)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,43 @@ namespace Blog.Core.AutoMapper
|
|||
{
|
||||
CreateMap<BlogArticle, BlogViewModels>();
|
||||
CreateMap<BlogViewModels, BlogArticle>();
|
||||
|
||||
CreateMap<SysUserInfo, SysUserInfoDto>()
|
||||
.ForMember(a => a.uID, o => o.MapFrom(d => d.Id))
|
||||
.ForMember(a => a.RIDs, o => o.MapFrom(d => d.RIDs))
|
||||
.ForMember(a => a.addr, o => o.MapFrom(d => d.Address))
|
||||
.ForMember(a => a.age, o => o.MapFrom(d => d.Age))
|
||||
.ForMember(a => a.birth, o => o.MapFrom(d => d.Birth))
|
||||
.ForMember(a => a.uStatus, o => o.MapFrom(d => d.Status))
|
||||
.ForMember(a => a.uUpdateTime, o => o.MapFrom(d => d.UpdateTime))
|
||||
.ForMember(a => a.uCreateTime, o => o.MapFrom(d => d.CreateTime))
|
||||
.ForMember(a => a.uErrorCount, o => o.MapFrom(d => d.ErrorCount))
|
||||
.ForMember(a => a.uLastErrTime, o => o.MapFrom(d => d.LastErrorTime))
|
||||
.ForMember(a => a.uLoginName, o => o.MapFrom(d => d.LoginName))
|
||||
.ForMember(a => a.uLoginPWD, o => o.MapFrom(d => d.LoginPWD))
|
||||
.ForMember(a => a.uRemark, o => o.MapFrom(d => d.Remark))
|
||||
.ForMember(a => a.uRealName, o => o.MapFrom(d => d.RealName))
|
||||
.ForMember(a => a.name, o => o.MapFrom(d => d.Name))
|
||||
.ForMember(a => a.tdIsDelete, o => o.MapFrom(d => d.IsDeleted))
|
||||
.ForMember(a => a.RoleNames, o => o.MapFrom(d => d.RoleNames));
|
||||
CreateMap<SysUserInfoDto, SysUserInfo>()
|
||||
.ForMember(a => a.Id, o => o.MapFrom(d => d.uID))
|
||||
.ForMember(a => a.Address, o => o.MapFrom(d => d.addr))
|
||||
.ForMember(a => a.RIDs, o => o.MapFrom(d => d.RIDs))
|
||||
.ForMember(a => a.Age, o => o.MapFrom(d => d.age))
|
||||
.ForMember(a => a.Birth, o => o.MapFrom(d => d.birth))
|
||||
.ForMember(a => a.Status, o => o.MapFrom(d => d.uStatus))
|
||||
.ForMember(a => a.UpdateTime, o => o.MapFrom(d => d.uUpdateTime))
|
||||
.ForMember(a => a.CreateTime, o => o.MapFrom(d => d.uCreateTime))
|
||||
.ForMember(a => a.ErrorCount, o => o.MapFrom(d => d.uErrorCount))
|
||||
.ForMember(a => a.LastErrorTime, o => o.MapFrom(d => d.uLastErrTime))
|
||||
.ForMember(a => a.LoginName, o => o.MapFrom(d => d.uLoginName))
|
||||
.ForMember(a => a.LoginPWD, o => o.MapFrom(d => d.uLoginPWD))
|
||||
.ForMember(a => a.Remark, o => o.MapFrom(d => d.uRemark))
|
||||
.ForMember(a => a.RealName, o => o.MapFrom(d => d.uRealName))
|
||||
.ForMember(a => a.Name, o => o.MapFrom(d => d.name))
|
||||
.ForMember(a => a.IsDeleted, o => o.MapFrom(d => d.tdIsDelete))
|
||||
.ForMember(a => a.RoleNames, o => o.MapFrom(d => d.RoleNames));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
27
Blog.Core.Model/ViewModels/SysUserInfoDto.cs
Normal file
27
Blog.Core.Model/ViewModels/SysUserInfoDto.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Blog.Core.Model.ViewModels
|
||||
{
|
||||
public class SysUserInfoDto
|
||||
{
|
||||
public int uID { get; set; }
|
||||
public string uLoginName { get; set; }
|
||||
public string uLoginPWD { get; set; }
|
||||
public string uRealName { get; set; }
|
||||
public int uStatus { get; set; }
|
||||
public string uRemark { get; set; }
|
||||
public System.DateTime uCreateTime { get; set; } = DateTime.Now;
|
||||
public System.DateTime uUpdateTime { get; set; } = DateTime.Now;
|
||||
public DateTime uLastErrTime { get; set; } = DateTime.Now;
|
||||
public int uErrorCount { get; set; }
|
||||
public string name { get; set; }
|
||||
public int sex { get; set; } = 0;
|
||||
public int age { get; set; }
|
||||
public DateTime birth { get; set; } = DateTime.Now;
|
||||
public string addr { get; set; }
|
||||
public bool tdIsDelete { get; set; }
|
||||
public List<string> RoleNames { get; set; }
|
||||
public List<int> RIDs { get; set; }
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user