165 lines
5.2 KiB
C#
165 lines
5.2 KiB
C#
using JSMachine.WMS.App.Dto;
|
|
using JSMachine.WMS.App.IService;
|
|
using JSMachine.WMS.Common.Dto.Business;
|
|
using JSMachine.WMS.RPC.ErpRPC.Dto.Out;
|
|
using JSMachine.WMS.WebHost.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SqlSugar;
|
|
|
|
namespace JSMachine.WMS.WebHost.Controllers
|
|
{
|
|
[Route("api/[controller]/[action]")]
|
|
public class UserInfoController : ControllerBase
|
|
{
|
|
private readonly IUserInfoService _userInfoService;
|
|
|
|
public UserInfoController(IUserInfoService userInfoService)
|
|
{
|
|
_userInfoService = userInfoService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取所有用户信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<ApiResult<List<UserInfoDto>>> GetAll()
|
|
{
|
|
var users = await _userInfoService.GetListByExpression(p => true,
|
|
nameof(UserInfoDto.CreationTime),
|
|
OrderByType.Desc);
|
|
|
|
return new ApiResult<List<UserInfoDto>>
|
|
{
|
|
ResultCode = "200",
|
|
Data = users
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据ID获取用户信息
|
|
/// </summary>
|
|
/// <param name="id">用户ID</param>
|
|
/// <returns></returns>
|
|
[HttpGet("{id}")]
|
|
public async Task<ApiResult<UserInfoDto>> GetById(Guid id)
|
|
{
|
|
var user = await _userInfoService.GetSingalByExpression(p => p.Id == id);
|
|
if (user == null)
|
|
{
|
|
return new ApiResult<UserInfoDto>
|
|
{
|
|
ResultCode = "404",
|
|
ErrorMsg = "用户不存在"
|
|
};
|
|
}
|
|
|
|
return new ApiResult<UserInfoDto>
|
|
{
|
|
ResultCode = "200",
|
|
Data = user
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建新用户
|
|
/// </summary>
|
|
/// <param name="userDto">用户信息</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<ApiResult<bool>> Create([FromBody] UserInfoDto userDto)
|
|
{
|
|
if (userDto == null)
|
|
{
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "400",
|
|
ErrorMsg = "请求参数不能为空"
|
|
};
|
|
}
|
|
|
|
var result = await _userInfoService.Add(userDto);
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "200",
|
|
Data = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新用户信息
|
|
/// </summary>
|
|
/// <param name="id">用户ID</param>
|
|
/// <param name="userDto">更新后的用户信息</param>
|
|
/// <returns></returns>
|
|
[HttpPut("{id}")]
|
|
public async Task<ApiResult<bool>> Update(Guid id, [FromBody] UserInfoDto userDto)
|
|
{
|
|
if (userDto == null)
|
|
{
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "400",
|
|
ErrorMsg = "请求参数不能为空"
|
|
};
|
|
}
|
|
|
|
var existingUser = await _userInfoService.GetSingalByExpression(p => p.Id == id);
|
|
if (existingUser == null)
|
|
{
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "404",
|
|
ErrorMsg = "用户不存在"
|
|
};
|
|
}
|
|
|
|
// 更新用户信息
|
|
var result = await _userInfoService.EditSingal(userDto);
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "200",
|
|
Data = result
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除用户
|
|
/// </summary>
|
|
/// <param name="id">用户ID</param>
|
|
/// <returns></returns>
|
|
[HttpDelete("{id}")]
|
|
public async Task<ApiResult<bool>> Delete(Guid id)
|
|
{
|
|
var existingUser = await _userInfoService.GetSingalByExpression(p => p.Id == id);
|
|
if (existingUser == null)
|
|
{
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "404",
|
|
ErrorMsg = "用户不存在"
|
|
};
|
|
}
|
|
|
|
var result = await _userInfoService.DeleteById(id);
|
|
return new ApiResult<bool>
|
|
{
|
|
ResultCode = "200",
|
|
Data = result
|
|
};
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<ApiResult<UserPermission>> Login([FromBody] UserInfoDto userInfo)
|
|
{
|
|
if (userInfo == null || string.IsNullOrEmpty(userInfo.UserId) || string.IsNullOrEmpty(userInfo.Password))
|
|
return new ApiResult<UserPermission> { ResultCode = "500", ErrorMsg = "参数不合法" };
|
|
|
|
UserInfoDto validUser = await _userInfoService.GetSingalByExpression(p=>p.UserId== userInfo.UserId&&p.Password== userInfo.Password);
|
|
if (validUser == null)
|
|
return new ApiResult<UserPermission> { ResultCode = "500", ErrorMsg = "用户名或密码错误" };
|
|
|
|
return new ApiResult<UserPermission> { ResultCode="200",Data=new UserPermission {Token=Guid.NewGuid().ToString("N"),UserInfo= validUser } };
|
|
}
|
|
}
|
|
} |