Files
2026-09-02 16:31:50 +08:00

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