104 lines
3.5 KiB
C#
104 lines
3.5 KiB
C#
using WcsMain.ExtendMethod;
|
||
using WcsMain.DataBase.Dao;
|
||
using WcsMain.DataBase.TableEntity;
|
||
using WcsMain.Constant.WcsAttribute.AutoFacAttribute;
|
||
using WcsMain.ApiServe.Factory;
|
||
using DataCheck;
|
||
using WcsMain.ApiServe.Dto;
|
||
using WcsMain.ApiServe.Dto.WcsDto.Socket;
|
||
|
||
namespace WcsMain.ApiServe.Service.WcsService;
|
||
|
||
[Service]
|
||
public class SocketService(AppTcpDao 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();
|
||
}
|
||
} |