change - 添加关锁逻辑处理

main
WenJY 3 months ago
parent 76b33786f5
commit 373c418052

@ -81,7 +81,8 @@ namespace Sln.Iot.Business
closeTime = DateTime.Now,
useState = '0'
};
var res = _deviceRecordService.UpdateCloseTime(deviceRecord,out List<long> resIds);
var res = _deviceRecordService.UpdateCloseTime(deviceRecord,out List<long> resIds,out int infoRes);
_logger.Info($"锁具:{idsStr};记录数据更新{(res ? "":"")},基础数据更新{(infoRes > 0 ? "":"")}");
}
}

@ -32,6 +32,6 @@ namespace Sln.Iot.Repository.service
public interface IDeviceRecordService:IBaseService<DeviceRecord>
{
bool UpdateCloseTime(DeviceRecord deviceRecord,out List<long> resIds);
bool UpdateCloseTime(DeviceRecord deviceRecord,out List<long> resIds,out int infoRes);
}
}

@ -38,10 +38,10 @@ namespace Sln.Iot.Repository.service.Impl
{
}
public bool UpdateCloseTime(DeviceRecord deviceRecord, out List<long> resIds)
public bool UpdateCloseTime(DeviceRecord deviceRecord, out List<long> resIds,out int infoRes)
{
resIds = new List<long>();
infoRes = 0;
var info = _rep.GetList(x=> x.deviceCode == deviceRecord.deviceCode && x.useState == '1').FirstOrDefault();
if (info != null)
{
@ -49,7 +49,27 @@ namespace Sln.Iot.Repository.service.Impl
info.closeTime = deviceRecord.closeTime;
info.useState = deviceRecord.useState;
info.useTime = CalculateHoursDifference(info.openTime, deviceRecord.closeTime);
_rep.Update(info);
var res = _rep.Update(info);
if (!res)
{
throw new ArgumentNullException($"锁具:{deviceRecord.deviceCode};记录数据更新失败");
}
var dt = new Dictionary<string, object>();
dt.Add("device_code", info.deviceCode);
dt.Add("use_state", deviceRecord.useState);
infoRes = _rep.Context.Updateable(dt).AS("device_base_info").WhereColumns("device_code").ExecuteCommand();
if (infoRes < 1)
{
throw new ArgumentNullException($"锁具:{deviceRecord.deviceCode};基础数据更新失败");
}
}
else
{
throw new ArgumentNullException($"锁具:{deviceRecord.deviceCode};不存在已上锁的锁具记录");
}
return false;
}

Loading…
Cancel
Save