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

107 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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