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)
{
///
/// 查询 socket 连接信息
///
///
public WcsApiResponse> GetDB()
{
List? sockets = socketDao.Query();
if (sockets == default)
{
return WcsApiResponseFactory.DataBaseErr>();
}
return WcsApiResponseFactory.Success(sockets, "查询成功");
}
///
/// 编辑 或者 新增一条记录
///
///
///
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? 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();
}
}
///
/// 删除一条记录
///
///
///
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();
}
}