107 lines
3.6 KiB
C#
107 lines
3.6 KiB
C#
|
|
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();
|
|||
|
|
}
|
|||
|
|
}
|