获取学生

This commit is contained in:
tanglong 2025-10-30 17:13:54 +08:00
parent 556623d255
commit 857eed77fc
48 changed files with 360 additions and 10 deletions

View File

@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Mvc;
using YD_AllHeartRates.Api.Services.Impl;
using YD_AllHeartRates.Api.Services.Interface;
using YD_AllHeartRates.Commons.Dto;
using YD_AllHeartRates.Commons.Dto.DataPush;
using YD_AllHeartRates.Commons.Dto.Device;
namespace YD_AllHeartRates.Api.Controllers
@ -29,5 +30,12 @@ namespace YD_AllHeartRates.Api.Controllers
var res = await _dataPushService.GetToken();
return res;
}
[HttpPost(nameof(GetStudentEduId))]
public async Task<List<StudentEduDto>> GetStudentEduId()
{
var res = await _dataPushService.GetStudentEduId("崇明区长兴小学", "一年级", "一班", "李奕佳", "2792");
return res;
}
}
}

View File

@ -1153,6 +1153,72 @@
<member name="P:YD_AllHeartRates.Commons.Dto.Common.Fakes.StubTestingProjectDto.InstanceObserver">
<summary>获取或设置实例观察者。</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto">
<summary>YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto 的填充码类型</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.#ctor">
<summary>初始化新的填充码实例</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.#ctor(YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto)">
<summary>初始化给定实例的新填充码</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances">
<summary>为所有实例成员定义填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.EduIdGet">
<summary>设置 StudentEduDto.get_EduId(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.EduIdSetString">
<summary>设置 StudentEduDto.set_EduId(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.IdGet">
<summary>设置 StudentEduDto.get_Id(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.IdSetString">
<summary>设置 StudentEduDto.set_Id(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.BehaveAsCurrent">
<summary>为已填充的类型的所有方法分配“Current”行为</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.BehaveAsNotImplemented">
<summary>为已填充的类型的所有方法分配“NotImplemented”行为</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.Behavior">
<summary>为已填充的类型的所有方法分配行为</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.Constructor">
<summary>设置 StudentEduDto.StudentEduDto(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.EduIdGet">
<summary>设置 StudentEduDto.get_EduId(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.EduIdSetString">
<summary>设置 StudentEduDto.set_EduId(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.IdGet">
<summary>设置 StudentEduDto.get_Id(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.IdSetString">
<summary>设置 StudentEduDto.set_Id(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto">
<summary>YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto 的存根类型</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.#ctor">
<summary>初始化新实例</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.CallBase">
<summary>获取或设置一个值,该值指示是否应调用基方法而不调用回退行为</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InitializeStub">
<summary>初始化 type StubStudentEduDto 的新实例</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InstanceBehavior">
<summary>获取或设置实例行为。</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InstanceObserver">
<summary>获取或设置实例观察者。</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.Device.Fakes.ShimAddDeviceDto">
<summary>YD_AllHeartRates.Commons.Dto.Device.AddDeviceDto 的填充码类型</summary>
</member>

View File

@ -1,7 +1,9 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text;
using YD_AllHeartRates.Api.Services.Interface;
using YD_AllHeartRates.Api.Utilities;
using YD_AllHeartRates.Commons.Dto.DataPush;
namespace YD_AllHeartRates.Api.Services.Impl
{
@ -16,7 +18,7 @@ namespace YD_AllHeartRates.Api.Services.Impl
Console.WriteLine($"[GetToken] Timestamp: {timestamp}");
// 1. 构造字典参数
var dict = new SortedDictionary<string, string>
var dict = new Dictionary<string, string>
{
{ "APPID", AppSettings.DataPush.Appid },
{ "CLIENT_ID", AppSettings.DataPush.ClientId },
@ -95,6 +97,100 @@ namespace YD_AllHeartRates.Api.Services.Impl
return string.Empty;
}
public async Task<List<StudentEduDto>> GetStudentEduId(string schoolName, string gradeName, string className, string realName, string xsId)
{
var token = await GetToken();
if (string.IsNullOrWhiteSpace(token))
token = "60c282df-d1e8-4de3-b5d2-68b11e5a2b8c";
long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
Console.WriteLine($"[GetStudentEduId] Timestamp: {timestamp}");
var headers = new Dictionary<string, string>
{
{ "token", token }
};
// 1. 构造请求参数字典(有序保证 JSON 序列化顺序)
var dict = new Dictionary<string, string>
{
{ "schoolName", schoolName },
{ "gradeName", gradeName },
{ "className", className },
{ "realName", realName },
{ "xsId", xsId }
};
Console.WriteLine($"[GetStudentEduId] Params dict: {string.Join(", ", dict.Select(kv => kv.Key + "=" + kv.Value))}");
// 2. 序列化字典为 JSON
string jsonPlain = JsonConvert.SerializeObject(dict);
Console.WriteLine($"[GetStudentEduId] Plain JSON: {jsonPlain}");
// 3. 压缩 + SM2 加密
string bodyEncrypted;
try
{
bodyEncrypted = DataEncryptHelper.EncryptSm2(jsonPlain, AppSettings.DataPush.PublicKey);
Console.WriteLine($"[GetStudentEduId] Encrypted BODY (Hex): {bodyEncrypted}");
}
catch (Exception ex)
{
Console.WriteLine($"[GetStudentEduId] SM2加密失败: {ex}");
throw;
}
// 4. 构造 POST 请求 URL
string url = $"{AppSettings.DataPush.Hous}oauth2/getStudentEduId";
// 5. 发送 POST 请求
string responseText;
try
{
responseText = await HttpManager.HttpPostAsync(
url,
postData: bodyEncrypted,
contentType: "application/json",
headers: headers
);
Console.WriteLine($"[GetStudentEduId] Response: {responseText}");
}
catch (Exception ex)
{
Console.WriteLine($"[GetStudentEduId] HTTP请求失败: {ex}");
throw;
}
// 6. 解析响应,返回对象数组
if (!string.IsNullOrWhiteSpace(responseText) && responseText.StartsWith("{"))
{
try
{
var json = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseText);
if (json != null && json.ContainsKey("code") && json["code"].ToString() == "200")
{
if (json.TryGetValue("data", out var dataObj))
{
var dataList = JsonConvert.DeserializeObject<List<StudentEduDto>>(dataObj.ToString());
Console.WriteLine($"[GetStudentEduId] 返回学生数量: {dataList.Count}");
return dataList;
}
}
else
{
Console.WriteLine($"[GetStudentEduId] 接口返回错误: code={json?["code"]}, msg={json?["msg"]}");
}
}
catch (Exception ex)
{
Console.WriteLine($"[GetStudentEduId] JSON解析失败: {ex}");
}
}
else
{
Console.WriteLine("[GetStudentEduId] Response为空或不是JSON");
}
return new List<StudentEduDto>();
}
}
}

View File

@ -1,4 +1,6 @@
namespace YD_AllHeartRates.Api.Services.Interface
using YD_AllHeartRates.Commons.Dto.DataPush;
namespace YD_AllHeartRates.Api.Services.Interface
{
/// <summary>
/// 数据上报服务类
@ -6,5 +8,7 @@
public interface IDataPushService
{
Task<string> GetToken();
Task<List<StudentEduDto>> GetStudentEduId(string schoolName, string gradeName, string className, string realName, string xsId);
}
}

View File

@ -1,4 +1,5 @@
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using Org.BouncyCastle.Asn1.GM;
using Org.BouncyCastle.Asn1.Sec;
using Org.BouncyCastle.Asn1.X9;
@ -8,6 +9,7 @@ using Org.BouncyCastle.Crypto.Modes;
using Org.BouncyCastle.Crypto.Paddings;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
using System.IO.Compression;
using System.Security.Cryptography;
using System.Text;

View File

@ -1,4 +1,24 @@
[
{
"ContainingType": "YD_AllHeartRates.Api.Controllers.DataPushController",
"Method": "GetStudentEduId",
"RelativePath": "api/DataPush/GetStudentEduId",
"HttpMethod": "POST",
"IsController": true,
"Order": 0,
"Parameters": [],
"ReturnTypes": [
{
"Type": "System.Collections.Generic.List\u00601[[YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto, YD_AllHeartRates.Commons, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]",
"MediaTypes": [
"text/plain",
"application/json",
"text/json"
],
"StatusCode": 200
}
]
},
{
"ContainingType": "YD_AllHeartRates.Api.Controllers.DataPushController",
"Method": "GetToken",

View File

@ -35,6 +35,44 @@
}
}
},
"/api/DataPush/GetStudentEduId": {
"post": {
"tags": [
"DataPush"
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentEduDto"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentEduDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentEduDto"
}
}
}
}
}
}
}
},
"/api/Device/DevicePageList": {
"get": {
"tags": [
@ -1200,6 +1238,20 @@
},
"additionalProperties": false
},
"StudentEduDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"eduId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"StudentHeartRateReportDataDto": {
"type": "object",
"properties": {

View File

@ -12,6 +12,7 @@
"Autofac.Extensions.DependencyInjection": "10.0.0.0",
"AutoMapper.Collection": "10.0.0.0",
"AutoMapper": "13.0.0.0",
"BouncyCastle.Crypto": "0.0.0.0",
"CSRedisCore": "3.8.804.0",
"EPPlus.Core": "1.5.4.0",
"Microsoft.AspNetCore.Antiforgery": "6.0.0.0",
@ -212,6 +213,14 @@
}
}
},
"BouncyCastle.Crypto/0.0.0.0": {
"runtime": {
"BouncyCastle.Crypto.dll": {
"assemblyVersion": "0.0.0.0",
"fileVersion": "0.0.0.0"
}
}
},
"CSRedisCore/3.8.804.0": {
"runtime": {
"CSRedisCore.dll": {
@ -1609,6 +1618,11 @@
"serviceable": false,
"sha512": ""
},
"BouncyCastle.Crypto/0.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
},
"CSRedisCore/3.8.804.0": {
"type": "reference",
"serviceable": false,

View File

@ -1153,6 +1153,72 @@
<member name="P:YD_AllHeartRates.Commons.Dto.Common.Fakes.StubTestingProjectDto.InstanceObserver">
<summary>获取或设置实例观察者。</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto">
<summary>YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto 的填充码类型</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.#ctor">
<summary>初始化新的填充码实例</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.#ctor(YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto)">
<summary>初始化给定实例的新填充码</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances">
<summary>为所有实例成员定义填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.EduIdGet">
<summary>设置 StudentEduDto.get_EduId(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.EduIdSetString">
<summary>设置 StudentEduDto.set_EduId(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.IdGet">
<summary>设置 StudentEduDto.get_Id(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.AllInstances.IdSetString">
<summary>设置 StudentEduDto.set_Id(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.BehaveAsCurrent">
<summary>为已填充的类型的所有方法分配“Current”行为</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.BehaveAsNotImplemented">
<summary>为已填充的类型的所有方法分配“NotImplemented”行为</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.Behavior">
<summary>为已填充的类型的所有方法分配行为</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.Constructor">
<summary>设置 StudentEduDto.StudentEduDto(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.EduIdGet">
<summary>设置 StudentEduDto.get_EduId(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.EduIdSetString">
<summary>设置 StudentEduDto.set_EduId(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.IdGet">
<summary>设置 StudentEduDto.get_Id(StudentEduDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.ShimStudentEduDto.IdSetString">
<summary>设置 StudentEduDto.set_Id(StudentEduDto this, String value) 的 填充码</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto">
<summary>YD_AllHeartRates.Commons.Dto.DataPush.StudentEduDto 的存根类型</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.#ctor">
<summary>初始化新实例</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.CallBase">
<summary>获取或设置一个值,该值指示是否应调用基方法而不调用回退行为</summary>
</member>
<member name="M:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InitializeStub">
<summary>初始化 type StubStudentEduDto 的新实例</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InstanceBehavior">
<summary>获取或设置实例行为。</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.DataPush.Fakes.StubStudentEduDto.InstanceObserver">
<summary>获取或设置实例观察者。</summary>
</member>
<member name="T:YD_AllHeartRates.Commons.Dto.Device.Fakes.ShimAddDeviceDto">
<summary>YD_AllHeartRates.Commons.Dto.Device.AddDeviceDto 的填充码类型</summary>
</member>

View File

@ -1 +1 @@
503f8f83
28e85dee

View File

@ -1 +1 @@
GP25Qx28NgShle3DoTgAmB1JVJdDmR8EBb22S5PIjgk=WWmIfOUbyYPYdKFHlVpzo+vbEnfIsJNTTcG8+oWdtSc=
Ix35iyaVpPh3+0G63Ax3VipiI6tMJhQp2U2sE2pG/h0=WWmIfOUbyYPYdKFHlVpzo+vbEnfIsJNTTcG8+oWdtSc=

View File

@ -48,6 +48,10 @@
<HintPath>C:\Users\tangl\.nuget\packages\automapper\13.0.0\lib\net6.0\AutoMapper.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="BouncyCastle.Crypto">
<HintPath>C:\Users\tangl\.nuget\packages\bouncycastle.netcore\2.2.1\lib\netstandard2.0\BouncyCastle.Crypto.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="CSRedisCore">
<HintPath>C:\Users\tangl\.nuget\packages\csrediscore\3.8.804\lib\netstandard2.0\CSRedisCore.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>

View File

@ -1 +1 @@
5846042e049dcf46cdd15ac71fd7d52cccd40efa708812aae4990faf24b5963c
6867cfcdcbfb5969bc19a09dce44d170c72a101835d44dbe6f171c6cfcac6488

View File

@ -362,3 +362,5 @@ C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\n
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\o\net6.0\refint\YD_AllHeartRates.Commons.1.0.0.0.Fakes.dll
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\o\net6.0\YD_AllHeartRates.Commons.1.0.0.0.Fakes.pdb
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\o\net6.0\ref\YD_AllHeartRates.Commons.1.0.0.0.Fakes.dll
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\b\BouncyCastle.Crypto.dll
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\b\BouncyCastle.Crypto.xml

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+730229b74a66f5ecb8bb885e934d6d7c1a2f8873")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+556623d255ce8e5a6531d2e72c3cc2b1a71b437f")]
[assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
55a9d30174cf5cafd72eae0d92049b866215901403ae9201201eb8436d2b1d2d
83f277f24407c0f79eddf300a450eda0d52b114c895688cc06f09bd7b183bf6a

View File

@ -1554,3 +1554,5 @@ C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\n
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\staticwebassets.build.json.cache
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\swae.build.ex.cache
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\bin\Debug\net6.0\BouncyCastle.Crypto.dll
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\b\BouncyCastle.Crypto.dll
C:\Users\tangl\Desktop\Git\YD_AllHeartRates.Api\YD_AllHeartRates.Api\obj\Debug\net6.0\Fakes\ydahrc\b\BouncyCastle.Crypto.xml

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YD_AllHeartRates.Commons.Dto.DataPush
{
public class StudentEduDto
{
public string Id { get; set; }
public string EduId { get; set; }
}
}

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+730229b74a66f5ecb8bb885e934d6d7c1a2f8873")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+556623d255ce8e5a6531d2e72c3cc2b1a71b437f")]
[assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
b3283428dd39ff483981fba7fd4efc92e9010220bdd6783e1838aaf65ac09a6e
438a84c8797757a6d0f91925cde5c191f44b5508ed32b8ad8105e16d473c144d

View File

@ -1 +1 @@
b87ec24c562bf6cb73182f0734224ab086ac903c59193036f42e85e136005e8f
41d1df0128c0a485ede71191b3da235226114ab5daa107671a5648b59baddb3c