上传记录增加本地保存逻辑

This commit is contained in:
lishuo committed 2021-04-28 17:23:29 +08:00
1 parent 614d067d25
commit 9993752ff5
6 files changed
+4200 -3948

No files matched your search

@@ -1,11 +1,13 @@
using Assets.Scripts.Apis;
using Assets.Scripts.Apis.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
namespace Assets.Scenes.Ride.Scripts.Model
{
@@ -104,16 +106,12 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int GlobalCyclingId { get; set; }
/// <summary>
/// 保存数据
/// </summary>
/// <param name="base64Image"></param>
/// <returns></returns>
public JsonResult<AddMapRecordResultModel> SaveData(CyclingModel cyclingModel, RouteResultParam selectParam, string imageName = "")
public Dictionary<MapInterruptRecord, List<string>> SaveLocal(CyclingModel cyclingModel, RouteResultParam selectParam, string imageName = "")
{
Dictionary<MapInterruptRecord, List<string>> recordData = new Dictionary<MapInterruptRecord, List<string>>();
if (RiderDatas.Count <= 0)
{
return new JsonResult<AddMapRecordResultModel> { result = true };
return recordData;
}
string newFileName = Guid.NewGuid().ToString();
int FTP = Helper.GetFtp();
@@ -123,8 +121,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
//训练量
double TSS = (RiderDatas.Count * NP * IF) / (FTP * 3600) * 100;
var averagePower = Helper.AveragePower(RiderDatas);
MapInterruptRecordApi service = new MapInterruptRecordApi();
// AntManufacturer manufacturer = service.GetAntManufacturer(ManufacturerId).data;
// AntManufacturer manufacturer = service.GetAntManufacturer(ManufacturerId).data;
var recordId = Guid.NewGuid().ToString();
var ticks = RiderDatas.Last().Ticks;
var interruptRecord = new MapInterruptRecord
@@ -182,7 +180,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
interruptRecord.AverageHeartRate = Math.Round(RiderDatas.Average(a => a._HeartRate.GetValueOrDefault(0)));
interruptRecord.MaxHeartRate = RiderDatas.Max(a => a._HeartRate.GetValueOrDefault(0));
//service.CreateRecordCyclingData(interruptRecord);
var path = Helper.GetDataDire("MapWorkoutRecords");
//保存骑行记录txt
var path = Helper.GetDataDir("MapWorkoutRecords" + "/" + interruptRecord.Id);
var fname = path + "/" + newFileName + ".txt";
var files = new List<string>();
using (var fs = new FileInfo(fname).OpenWrite())
@@ -197,14 +196,35 @@ namespace Assets.Scenes.Ride.Scripts.Model
stream.Close();
files.Add(fname);
}
#region 截图
//图片
if (!string.IsNullOrEmpty(imageName))
{
files.Add(imageName);
files.Add(imageName);
}
//持久化序列化对象
var recordString = JsonConvert.SerializeObject(interruptRecord);
var recordFilePath = path + "/" + "record" + ".txt";
System.IO.File.WriteAllText(recordFilePath, recordString);
recordData.Add(interruptRecord, files);
return recordData;
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="base64Image"></param>
/// <returns></returns>
public void SaveDataAysnc(Dictionary<MapInterruptRecord, List<string>> data)
{
if (data != null && data.Count > 0)
{
Task.Run(() => {
var record = data.FirstOrDefault();
MapInterruptRecordApi service = new MapInterruptRecordApi();
var result = service.Add(record.Key, record.Value);
//return new JsonResult<AddMapRecordResultModel> { result = result.result, errMsg = result.errMsg, data = result.data };
});
}
#endregion
var result = service.Add(interruptRecord, files);
return new JsonResult<AddMapRecordResultModel> { result = result.result, errMsg = result.errMsg, data = result.data };
}
}
}