change - 添加关锁逻辑处理

main
WenJY 3 months ago
parent 76b33786f5
commit 373c418052

@ -81,7 +81,8 @@ namespace Sln.Iot.Business
closeTime = DateTime.Now, closeTime = DateTime.Now,
useState = '0' 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> 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>(); resIds = new List<long>();
infoRes = 0;
var info = _rep.GetList(x=> x.deviceCode == deviceRecord.deviceCode && x.useState == '1').FirstOrDefault(); var info = _rep.GetList(x=> x.deviceCode == deviceRecord.deviceCode && x.useState == '1').FirstOrDefault();
if (info != null) if (info != null)
{ {
@ -49,7 +49,27 @@ namespace Sln.Iot.Repository.service.Impl
info.closeTime = deviceRecord.closeTime; info.closeTime = deviceRecord.closeTime;
info.useState = deviceRecord.useState; info.useState = deviceRecord.useState;
info.useTime = CalculateHoursDifference(info.openTime, deviceRecord.closeTime); 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; return false;
} }

Loading…
Cancel
Save