数据提交

This commit is contained in:
tanglong 2026-01-19 11:24:22 +08:00
parent aa1dce0c6c
commit a085c284ff
2 changed files with 64 additions and 14 deletions

View File

@ -114,40 +114,52 @@ namespace YD_WeChatApplet.Api.Services.Impl
{
try
{
var list = new List<SportsDataPushDto>
if (homeWorkEntities == null || homeWorkEntities.Count == 0)
{
new SportsDataPushDto
_logger.LogWarning("作业同步任务中,homeWorkEntities 为空");
return;
}
var pushList = new List<SportsDataPushDto>();
foreach (var homeWork in homeWorkEntities)
{
var dto = new SportsDataPushDto
{
StudentNo = UserLoginContext.Current.UserNo,
SportsItem = AppSettings.JingShiTiJiao.SportsItem,
SportsDate = DateTime.Parse(paramDto.StartTime).ToString("yyyy-MM-dd"),
SportsDate = homeWork.StartTime.ToString("yyyy-MM-dd"),
SportsService = AppSettings.JingShiTiJiao.Channel,
SportsScene = "addhomework",
SportsDetail = JsonConvert.SerializeObject(homeWorkEntities, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
})
}
};
SportsDetail = JsonConvert.SerializeObject(
homeWork,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}
)
};
var res = await _jingShiTiJiaoService.PushSportsData(list);
pushList.Add(dto);
}
var res = await _jingShiTiJiaoService.PushSportsData(pushList);
if (res)
{
_logger.LogInformation($"数据同步成功,{JsonConvert.SerializeObject(list)}");
_logger.LogInformation($"作业数据同步成功,共 {pushList.Count} 条");
}
else
{
_logger.LogError($"数据同步失败,{JsonConvert.SerializeObject(list)}");
_logger.LogError($"作业数据同步失败,共 {pushList.Count} 条");
}
}
catch (Exception ex)
{
// ❗ 只记录日志,绝不抛出
// ❗ 只记录日志,绝不影响主流程
_logger.LogError(ex, "作业数据上传失败");
}
});
}
/// <summary>

View File

@ -52,12 +52,50 @@ namespace YD_WeChatApplet.Api.Services.Impl
entity.UserId = UserLoginContext.Current.UserId;
entity.UserName = UserLoginContext.Current.UserName;
entity.CreateTime = DateTime.Now;
entity.StudentNo = UserLoginContext.Current.UserNo;
if (dto.HomeWorkId == 0)
{
await _userContext.AddAsync(entity);
await _userContext.SaveChangesAsync();
_ = Task.Run(async () =>
{
try
{
var list = new List<SportsDataPushDto>
{
new SportsDataPushDto
{
StudentNo = entity.StudentNo,
SportsItem = AppSettings.JingShiTiJiao.SportsItem,
SportsDate = entity.CreateTime.ToString("yyyy-MM-dd"),
SportsService = AppSettings.JingShiTiJiao.Channel,
SportsScene = "freetraining",
SportsDetail = JsonConvert.SerializeObject(entity)
}
};
var res = await _jingShiTiJiaoService.PushSportsData(list);
if (res)
{
_logger.LogInformation($"数据同步成功,{JsonConvert.SerializeObject(list)}");
}
else
{
_logger.LogError($"数据同步失败,{JsonConvert.SerializeObject(list)}");
}
}
catch (Exception ex)
{
// ❗ 只记录日志,绝不抛出
_logger.LogError(ex,
"运动数据上传失败,StudentNo={StudentNo}, Id={Id}",
entity.StudentNo,
entity.Id);
}
});
return;
}