wcs_server_kate_suzhou/WcsMain/ApiServe/Service/WcsService/SocketService.cs

107 lines
3.6 KiB
C#
Raw Normal View History

2024-05-14 16:30:56 +08:00
using WcsMain.ExtendMethod;
using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Socket;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
using WcsMain.ApiServe.Factory;
using DataCheck;
namespace WcsMain.ApiServe.Service.WcsService;
[Service]
public class SocketService(AppTcpDao socketDao)
{
private readonly AppTcpDao _socketDao = socketDao;
/// <summary>
/// 查询 socket 连接信息
/// </summary>
/// <returns></returns>
public WcsApiResponse<List<AppTcp>> GetDB()
{
List<AppTcp>? sockets = _socketDao.Query();
if (sockets == default)
{
return WcsApiResponseFactory.DataBaseErr<List<AppTcp>>();
}
return WcsApiResponseFactory.Success(sockets, "查询成功");
}
/// <summary>
/// 编辑 或者 新增一条记录
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public WcsApiResponse EditSocket(EditSocketRequest request)
{
bool checkRequest = CheckData.CheckDataRules(request);
if (!checkRequest || request.IsEdite == default)
{
return WcsApiResponseFactory.RequestErr();
}
if (!request.SocketNo.IsNumber() || request.IsEdite == default)
{
return WcsApiResponseFactory.RequestErr();
}
int socketNo = Convert.ToInt32(request.SocketNo);
if ((bool)request.IsEdite!)
{
// 更新现有记录
int socketStatus = request.SocketStatus.IsNumber() ? Convert.ToInt32(request.SocketStatus) : 0;
/* 插入新记录 */
AppTcp socket = new()
{
TcpId = socketNo,
TcpIp = request.SocketIpPort,
TcpStatus = socketStatus,
Remark = request.Remark,
};
int updateRows = _socketDao.Update(socket);
return updateRows > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
}
else
{
// 新增一条记录
/* 校验这个编号是否已经存在 */
List<AppTcp>? checks = _socketDao.Query(new AppTcp() { TcpId = socketNo });
if (checks == default)
{
return WcsApiResponseFactory.DataBaseErr();
}
if (checks.Count > 0)
{
return WcsApiResponseFactory.DataRepetition("SocketNo重复已经存在一个相同的编号");
}
int socketStatus = request.SocketStatus.IsNumber() ? Convert.ToInt32(request.SocketStatus) : 0;
/* 插入新记录 */
AppTcp socket = new()
{
TcpId = socketNo,
TcpIp = request.SocketIpPort,
TcpStatus = socketStatus,
Remark = request.Remark,
};
int insertRows = _socketDao.Insert(socket);
return insertRows > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
}
}
/// <summary>
/// 删除一条记录
/// </summary>
/// <param name="socketNoStr"></param>
/// <returns></returns>
public WcsApiResponse DeleteSocket(string? socketNoStr)
{
if (!socketNoStr.IsNumber())
{
return WcsApiResponseFactory.RequestErr();
}
int socketNo = Convert.ToInt32(socketNoStr);
int deleteRows = _socketDao.Delete(new AppTcp() { TcpId = socketNo });
return deleteRows > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
}
}