dd
This commit is contained in:
parent
2a7f1816e4
commit
1233f40833
@ -392,26 +392,46 @@ namespace YD_AllHeartRates.Api.Mqtt
|
|||||||
foreach (var key in keys)
|
foreach (var key in keys)
|
||||||
{
|
{
|
||||||
var data = _caching.Get<JumpRopeData>(key);
|
var data = _caching.Get<JumpRopeData>(key);
|
||||||
|
|
||||||
if (data == null || string.IsNullOrWhiteSpace(data.StudentNo)) continue;
|
if (data == null || string.IsNullOrWhiteSpace(data.StudentNo)) continue;
|
||||||
|
|
||||||
var exist = await dbContext.JumpRopeData
|
var exist = await dbContext.JumpRopeData
|
||||||
.FirstOrDefaultAsync(x => x.StudentNo == data.StudentNo && x.ScoreTime.Date == today);
|
.FirstOrDefaultAsync(x => x.StudentNo == data.StudentNo && x.ScoreTime.Date == today);
|
||||||
|
|
||||||
if (exist != null && data.JumpValue > exist.JumpValue)
|
if (exist != null)
|
||||||
{
|
{
|
||||||
exist.JumpValue = data.JumpValue;
|
if (data.JumpValue > exist.JumpValue)
|
||||||
exist.ErrorNumber = data.ErrorNumber;
|
{
|
||||||
exist.QuantityOfElectricity = data.QuantityOfElectricity;
|
exist.JumpValue = data.JumpValue;
|
||||||
exist.ScoreTime = data.ScoreTime;
|
exist.ErrorNumber = data.ErrorNumber;
|
||||||
|
exist.QuantityOfElectricity = data.QuantityOfElectricity;
|
||||||
|
exist.ScoreTime = data.ScoreTime;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dbContext.JumpRopeData.Add(data);
|
try
|
||||||
|
{
|
||||||
|
dbContext.JumpRopeData.Add(data);
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
catch (DbUpdateException ex)
|
||||||
|
{
|
||||||
|
// 如果是唯一约束冲突,说明有并发插入
|
||||||
|
// 可以忽略或重试更新
|
||||||
|
var existRetry = await dbContext.JumpRopeData
|
||||||
|
.FirstOrDefaultAsync(x => x.StudentNo == data.StudentNo && x.ScoreTime.Date == today);
|
||||||
|
|
||||||
|
if (existRetry != null && data.JumpValue > existRetry.JumpValue)
|
||||||
|
{
|
||||||
|
existRetry.JumpValue = data.JumpValue;
|
||||||
|
existRetry.ErrorNumber = data.ErrorNumber;
|
||||||
|
existRetry.QuantityOfElectricity = data.QuantityOfElectricity;
|
||||||
|
existRetry.ScoreTime = data.ScoreTime;
|
||||||
|
await dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await dbContext.SaveChangesAsync();
|
|
||||||
_lastJumpRopeSaveTime = DateTime.Now;
|
_lastJumpRopeSaveTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user