This commit is contained in:
tanglong 2026-07-07 13:08:28 +08:00
parent dc69d782f0
commit 112aef6adb
12 changed files with 17422 additions and 3 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,125 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace VOL.Core.Migrations
{
public partial class _20260623v1 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "XW_DeviceImage",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false, comment: "编号")
.Annotation("SqlServer:Identity", "1, 1"),
Path = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "图片地址路径"),
ImageUrl = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "图片OSS地址"),
DeviceNum = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "上传设备序列号"),
Timestamp = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "上传时间戳"),
StudentId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "学生ID"),
FileName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "原始文件名"),
CreateTime = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "创建时间")
},
constraints: table =>
{
table.PrimaryKey("PK_XW_DeviceImage", x => x.Id);
});
migrationBuilder.CreateTable(
name: "XW_SunshinePoint",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false, comment: "编号")
.Annotation("SqlServer:Identity", "1, 1"),
ImageUrl = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "图片OSS地址"),
FileName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "原始文件名"),
DeviceNum = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "上传设备序列号"),
Timestamp = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "上传时间戳"),
StudentNo = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "学号"),
PointName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "点位名称"),
CameraIp = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "抓拍摄像机ip"),
EffectiveDistance = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "有效里程"),
SumDistance = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "总里程"),
CreateTime = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "创建时间")
},
constraints: table =>
{
table.PrimaryKey("PK_XW_SunshinePoint", x => x.Id);
});
migrationBuilder.CreateTable(
name: "XW_SunshineRunTrain",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false, comment: "编号")
.Annotation("SqlServer:Identity", "1, 1"),
OrgId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "学校id"),
GradeName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "年级名称"),
GradeId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "年级ID"),
ClassName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "班级名称"),
ClassId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "班级Id"),
StudentId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "学生ID"),
StudentName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "学生名称"),
Sex = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "性别(1:男 2:女)"),
EffectiveDistance = table.Column<int>(type: "int", nullable: true, comment: "有效里程(米)"),
InvalidDistance = table.Column<int>(type: "int", nullable: true, comment: "无效里程(米)"),
Times = table.Column<int>(type: "int", nullable: true, comment: "用时(s)"),
InvalidTimes = table.Column<int>(type: "int", nullable: true, comment: "无效用时(s)"),
CreateTime = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "创建时间")
},
constraints: table =>
{
table.PrimaryKey("PK_XW_SunshineRunTrain", x => x.Id);
});
migrationBuilder.CreateTable(
name: "XW_SunshineRunTrainDetail",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false, comment: "编号")
.Annotation("SqlServer:Identity", "1, 1"),
SunshineRunTrainId = table.Column<int>(type: "int", nullable: false, comment: "阳光跑训练数据ID"),
Point = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "点位号"),
Distance = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "距离上一个点位距离"),
LapSpeed = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "速度 每ms/m"),
CameraName = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "摄像头名称"),
Trigger = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "抓拍时间"),
SnapPath = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "抓拍图片路径"),
ValidFlag = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "是否有效"),
Remark = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "备注")
},
constraints: table =>
{
table.PrimaryKey("PK_XW_SunshineRunTrainDetail", x => x.Id);
table.ForeignKey(
name: "FK_XW_SunshineRunTrainDetail_XW_SunshineRunTrain_SunshineRunTrainId",
column: x => x.SunshineRunTrainId,
principalTable: "XW_SunshineRunTrain",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_XW_SunshineRunTrainDetail_SunshineRunTrainId",
table: "XW_SunshineRunTrainDetail",
column: "SunshineRunTrainId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "XW_DeviceImage");
migrationBuilder.DropTable(
name: "XW_SunshinePoint");
migrationBuilder.DropTable(
name: "XW_SunshineRunTrainDetail");
migrationBuilder.DropTable(
name: "XW_SunshineRunTrain");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,76 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace VOL.Core.Migrations
{
public partial class _20260630v1 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "YL_AppVersion",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ApplyName = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
DeviceType = table.Column<int>(type: "int", nullable: false),
HardwareType = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true),
OperatingSystem = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true),
VersionNumber = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: false),
VersionCode = table.Column<int>(type: "int", nullable: false),
NeedForcedUpdating = table.Column<int>(type: "int", nullable: false),
UpdateUrl = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: false),
IsLatest = table.Column<int>(type: "int", nullable: false),
PublishStatus = table.Column<int>(type: "int", nullable: false),
MinSupportVersion = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true),
UpdateContent = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
FileSize = table.Column<long>(type: "bigint", nullable: true),
FileMd5 = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
GrayPercent = table.Column<int>(type: "int", nullable: false),
Status = table.Column<int>(type: "int", nullable: false),
CreateTime = table.Column<DateTime>(type: "datetime2", nullable: false),
UpdateTime = table.Column<DateTime>(type: "datetime2", nullable: true),
Remark = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_YL_AppVersion", x => x.Id);
});
migrationBuilder.CreateTable(
name: "YL_DeviceVideo",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DeviceSerial = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
DeviceType = table.Column<int>(type: "int", nullable: false),
VideoSerial = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
VideoUrl = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: false),
FileName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
FileSize = table.Column<long>(type: "bigint", nullable: true),
Duration = table.Column<int>(type: "int", nullable: true),
Timestamp = table.Column<long>(type: "bigint", nullable: false),
CreateTime = table.Column<DateTime>(type: "datetime2", nullable: false),
Status = table.Column<int>(type: "int", nullable: false),
Remark = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_YL_DeviceVideo", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "YL_AppVersion");
migrationBuilder.DropTable(
name: "YL_DeviceVideo");
}
}
}

View File

@ -6274,6 +6274,48 @@ namespace VOL.Core.Migrations
b.ToTable("XW_Device");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_DeviceImage", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasComment("编号");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("CreateTime")
.HasColumnType("nvarchar(max)")
.HasComment("创建时间");
b.Property<string>("DeviceNum")
.HasColumnType("nvarchar(max)")
.HasComment("上传设备序列号");
b.Property<string>("FileName")
.HasColumnType("nvarchar(max)")
.HasComment("原始文件名");
b.Property<string>("ImageUrl")
.HasColumnType("nvarchar(max)")
.HasComment("图片OSS地址");
b.Property<string>("Path")
.HasColumnType("nvarchar(max)")
.HasComment("图片地址路径");
b.Property<string>("StudentId")
.HasColumnType("nvarchar(max)")
.HasComment("学生ID");
b.Property<string>("Timestamp")
.HasColumnType("nvarchar(max)")
.HasComment("上传时间戳");
b.HasKey("Id");
b.ToTable("XW_DeviceImage");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SportsTestData", b =>
{
b.Property<int>("Id")
@ -6608,6 +6650,178 @@ namespace VOL.Core.Migrations
b.ToTable("XW_SportsTestData");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SunshinePoint", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasComment("编号");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("CameraIp")
.HasColumnType("nvarchar(max)")
.HasComment("抓拍摄像机ip");
b.Property<string>("CreateTime")
.HasColumnType("nvarchar(max)")
.HasComment("创建时间");
b.Property<string>("DeviceNum")
.HasColumnType("nvarchar(max)")
.HasComment("上传设备序列号");
b.Property<string>("EffectiveDistance")
.HasColumnType("nvarchar(max)")
.HasComment("有效里程");
b.Property<string>("FileName")
.HasColumnType("nvarchar(max)")
.HasComment("原始文件名");
b.Property<string>("ImageUrl")
.HasColumnType("nvarchar(max)")
.HasComment("图片OSS地址");
b.Property<string>("PointName")
.HasColumnType("nvarchar(max)")
.HasComment("点位名称");
b.Property<string>("StudentNo")
.HasColumnType("nvarchar(max)")
.HasComment("学号");
b.Property<string>("SumDistance")
.HasColumnType("nvarchar(max)")
.HasComment("总里程");
b.Property<string>("Timestamp")
.HasColumnType("nvarchar(max)")
.HasComment("上传时间戳");
b.HasKey("Id");
b.ToTable("XW_SunshinePoint");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SunshineRunTrain", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasComment("编号");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("ClassId")
.HasColumnType("nvarchar(max)")
.HasComment("班级Id");
b.Property<string>("ClassName")
.HasColumnType("nvarchar(max)")
.HasComment("班级名称");
b.Property<string>("CreateTime")
.HasColumnType("nvarchar(max)")
.HasComment("创建时间");
b.Property<int?>("EffectiveDistance")
.HasColumnType("int")
.HasComment("有效里程(米)");
b.Property<string>("GradeId")
.HasColumnType("nvarchar(max)")
.HasComment("年级ID");
b.Property<string>("GradeName")
.HasColumnType("nvarchar(max)")
.HasComment("年级名称");
b.Property<int?>("InvalidDistance")
.HasColumnType("int")
.HasComment("无效里程(米)");
b.Property<int?>("InvalidTimes")
.HasColumnType("int")
.HasComment("无效用时(s)");
b.Property<string>("OrgId")
.HasColumnType("nvarchar(max)")
.HasComment("学校id");
b.Property<string>("Sex")
.HasColumnType("nvarchar(max)")
.HasComment("性别(1:男 2:女)");
b.Property<string>("StudentId")
.HasColumnType("nvarchar(max)")
.HasComment("学生ID");
b.Property<string>("StudentName")
.HasColumnType("nvarchar(max)")
.HasComment("学生名称");
b.Property<int?>("Times")
.HasColumnType("int")
.HasComment("用时(s)");
b.HasKey("Id");
b.ToTable("XW_SunshineRunTrain");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SunshineRunTrainDetail", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasComment("编号");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("CameraName")
.HasColumnType("nvarchar(max)")
.HasComment("摄像头名称");
b.Property<string>("Distance")
.HasColumnType("nvarchar(max)")
.HasComment("距离上一个点位距离");
b.Property<string>("LapSpeed")
.HasColumnType("nvarchar(max)")
.HasComment("速度 每ms/m");
b.Property<string>("Point")
.HasColumnType("nvarchar(max)")
.HasComment("点位号");
b.Property<string>("Remark")
.HasColumnType("nvarchar(max)")
.HasComment("备注");
b.Property<string>("SnapPath")
.HasColumnType("nvarchar(max)")
.HasComment("抓拍图片路径");
b.Property<int>("SunshineRunTrainId")
.HasColumnType("int")
.HasComment("阳光跑训练数据ID");
b.Property<string>("Trigger")
.HasColumnType("nvarchar(max)")
.HasComment("抓拍时间");
b.Property<string>("ValidFlag")
.HasColumnType("nvarchar(max)")
.HasComment("是否有效");
b.HasKey("Id");
b.HasIndex("SunshineRunTrainId");
b.ToTable("XW_SunshineRunTrainDetail");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_TrainSetting", b =>
{
b.Property<int?>("Id")
@ -7291,6 +7505,88 @@ namespace VOL.Core.Migrations
b.ToTable("Y_StadiumVisiting");
});
modelBuilder.Entity("VOL.Entity.DomainModels.YiLu.YL_AppVersion", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1);
b.Property<string>("ApplyName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("CreateTime")
.HasColumnType("datetime2");
b.Property<int>("DeviceType")
.HasColumnType("int");
b.Property<string>("FileMd5")
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<long?>("FileSize")
.HasColumnType("bigint");
b.Property<int>("GrayPercent")
.HasColumnType("int");
b.Property<string>("HardwareType")
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("IsLatest")
.HasColumnType("int");
b.Property<string>("MinSupportVersion")
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("NeedForcedUpdating")
.HasColumnType("int");
b.Property<string>("OperatingSystem")
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("PublishStatus")
.HasColumnType("int");
b.Property<string>("Remark")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<string>("UpdateContent")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<DateTime?>("UpdateTime")
.HasColumnType("datetime2");
b.Property<string>("UpdateUrl")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<int>("VersionCode")
.HasColumnType("int");
b.Property<string>("VersionNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.HasKey("Id");
b.ToTable("YL_AppVersion");
});
modelBuilder.Entity("VOL.Entity.DomainModels.YiLu.YL_Device", b =>
{
b.Property<long>("Id")
@ -7360,6 +7656,60 @@ namespace VOL.Core.Migrations
b.ToTable("YL_Device");
});
modelBuilder.Entity("VOL.Entity.DomainModels.YiLu.YL_DeviceVideo", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1);
b.Property<DateTime>("CreateTime")
.HasColumnType("datetime2");
b.Property<string>("DeviceSerial")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<int>("DeviceType")
.HasColumnType("int");
b.Property<int?>("Duration")
.HasColumnType("int");
b.Property<string>("FileName")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<long?>("FileSize")
.HasColumnType("bigint");
b.Property<string>("Remark")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<long>("Timestamp")
.HasColumnType("bigint");
b.Property<string>("VideoSerial")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<string>("VideoUrl")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.HasKey("Id");
b.ToTable("YL_DeviceVideo");
});
modelBuilder.Entity("VOL.Entity.DomainModels.YiLu.YL_Train", b =>
{
b.Property<long>("Id")
@ -7696,6 +8046,17 @@ namespace VOL.Core.Migrations
.IsRequired();
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SunshineRunTrainDetail", b =>
{
b.HasOne("VOL.Entity.DomainModels.XinWei.XW_SunshineRunTrain", "SunshineRunTrain")
.WithMany("DetailInfo")
.HasForeignKey("SunshineRunTrainId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SunshineRunTrain");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_TrainStudents", b =>
{
b.HasOne("VOL.Entity.DomainModels.XinWei.XW_SportsTestData", "XW_SportsTestData")
@ -7816,6 +8177,11 @@ namespace VOL.Core.Migrations
b.Navigation("StudentList");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_SunshineRunTrain", b =>
{
b.Navigation("DetailInfo");
});
modelBuilder.Entity("VOL.Entity.DomainModels.XinWei.XW_TrainStudents", b =>
{
b.Navigation("TrainViolationsBO");

View File

@ -0,0 +1,72 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.XinWei
{
/// <summary>
/// 设备抓拍图片
/// </summary>
[Table("XW_DeviceImage")]
public class XW_DeviceImage : BaseEntity
{
/// <summary>
/// 编号
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Description = "主键Id")]
[Comment("编号")]
public int Id { get; set; }
/// <summary>
/// 图片地址路径
/// </summary>
[Display(Name = "Path")]
[Comment("图片地址路径")]
public string? Path { get; set; }
/// <summary>
/// 图片OSS地址
/// </summary>
[Display(Name = "ImageUrl")]
[Comment("图片OSS地址")]
public string? ImageUrl { get; set; }
/// <summary>
/// 上传设备序列号
/// </summary>
[Display(Name = "DeviceNum")]
[Comment("上传设备序列号")]
public string? DeviceNum { get; set; }
/// <summary>
/// 上传时间戳
/// </summary>
[Display(Name = "Timestamp")]
[Comment("上传时间戳")]
public string? Timestamp { get; set; }
/// <summary>
/// 学生ID
/// </summary>
[Display(Name = "StudentId")]
[Comment("学生ID")]
public string? StudentId { get; set; }
/// <summary>
/// 原始文件名
/// </summary>
[Display(Name = "FileName")]
[Comment("原始文件名")]
public string? FileName { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "CreateTime")]
[Comment("创建时间")]
public string? CreateTime { get; set; }
}
}

View File

@ -0,0 +1,93 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.XinWei
{
/// <summary>
/// 阳光跑经过点位信息
/// </summary>
[Table("XW_SunshinePoint")]
public class XW_SunshinePoint : BaseEntity
{
/// <summary>
/// 编号
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Description = "主键Id")]
[Comment("编号")]
public int Id { get; set; }
/// <summary>
/// 图片OSS地址
/// </summary>
[Display(Name = "ImageUrl")]
[Comment("图片OSS地址")]
public string? ImageUrl { get; set; }
/// <summary>
/// 原始文件名
/// </summary>
[Display(Name = "FileName")]
[Comment("原始文件名")]
public string? FileName { get; set; }
/// <summary>
/// 上传设备序列号
/// </summary>
[Display(Name = "DeviceNum")]
[Comment("上传设备序列号")]
public string? DeviceNum { get; set; }
/// <summary>
/// 上传时间戳
/// </summary>
[Display(Name = "Timestamp")]
[Comment("上传时间戳")]
public string? Timestamp { get; set; }
/// <summary>
/// 学号
/// </summary>
[Display(Name = "StudentNo")]
[Comment("学号")]
public string? StudentNo { get; set; }
/// <summary>
/// 点位名称
/// </summary>
[Display(Name = "PointName")]
[Comment("点位名称")]
public string? PointName { get; set; }
/// <summary>
/// 抓拍摄像机ip
/// </summary>
[Display(Name = "CameraIp")]
[Comment("抓拍摄像机ip")]
public string? CameraIp { get; set; }
/// <summary>
/// 有效里程
/// </summary>
[Display(Name = "EffectiveDistance")]
[Comment("有效里程")]
public string? EffectiveDistance { get; set; }
/// <summary>
/// 总里程
/// </summary>
[Display(Name = "SumDistance")]
[Comment("总里程")]
public string? SumDistance { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "CreateTime")]
[Comment("创建时间")]
public string? CreateTime { get; set; }
}
}

View File

@ -0,0 +1,120 @@
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.XinWei
{
/// <summary>
/// 阳光跑训练数据
/// </summary>
[Table("XW_SunshineRunTrain")]
public class XW_SunshineRunTrain : BaseEntity
{
/// <summary>
/// 编号
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Description = "主键Id")]
[Comment("编号")]
public int Id { get; set; }
/// <summary>
/// 学校id
/// </summary>
[Display(Name = "OrgId")]
[Comment("学校id")]
public string? OrgId { get; set; }
/// <summary>
/// 年级名称
/// </summary>
[Display(Name = "GradeName")]
[Comment("年级名称")]
public string? GradeName { get; set; }
/// <summary>
/// 年级ID
/// </summary>
[Display(Name = "GradeId")]
[Comment("年级ID")]
public string? GradeId { get; set; }
/// <summary>
/// 班级名称
/// </summary>
[Display(Name = "ClassName")]
[Comment("班级名称")]
public string? ClassName { get; set; }
/// <summary>
/// 班级Id
/// </summary>
[Display(Name = "ClassId")]
[Comment("班级Id")]
public string? ClassId { get; set; }
/// <summary>
/// 学生ID
/// </summary>
[Display(Name = "StudentId")]
[Comment("学生ID")]
public string? StudentId { get; set; }
/// <summary>
/// 学生名称
/// </summary>
[Display(Name = "StudentName")]
[Comment("学生名称")]
public string? StudentName { get; set; }
/// <summary>
/// 性别(1:男 2:女)
/// </summary>
[Display(Name = "Sex")]
[Comment("性别(1:男 2:女)")]
public string? Sex { get; set; }
/// <summary>
/// 有效里程(米)
/// </summary>
[Display(Name = "EffectiveDistance")]
[Comment("有效里程(米)")]
public int? EffectiveDistance { get; set; }
/// <summary>
/// 无效里程(米)
/// </summary>
[Display(Name = "InvalidDistance")]
[Comment("无效里程(米)")]
public int? InvalidDistance { get; set; }
/// <summary>
/// 用时(s)
/// </summary>
[Display(Name = "Times")]
[Comment("用时(s)")]
public int? Times { get; set; }
/// <summary>
/// 无效用时(s)
/// </summary>
[Display(Name = "InvalidTimes")]
[Comment("无效用时(s)")]
public int? InvalidTimes { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "CreateTime")]
[Comment("创建时间")]
public string? CreateTime { get; set; }
/// <summary>
/// 明细
/// </summary>
public List<XW_SunshineRunTrainDetail> DetailInfo { get; set; } = new List<XW_SunshineRunTrainDetail>();
}
}

View File

@ -0,0 +1,91 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.XinWei
{
/// <summary>
/// 阳光跑训练明细
/// </summary>
[Table("XW_SunshineRunTrainDetail")]
public class XW_SunshineRunTrainDetail : BaseEntity
{
/// <summary>
/// 编号
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Description = "主键Id")]
[Comment("编号")]
public int Id { get; set; }
/// <summary>
/// 阳光跑训练数据ID
/// </summary>
[Display(Name = "SunshineRunTrainId")]
[Comment("阳光跑训练数据ID")]
public int SunshineRunTrainId { get; set; }
/// <summary>
/// 点位号 1,2,3...
/// </summary>
[Display(Name = "Point")]
[Comment("点位号")]
public string? Point { get; set; }
/// <summary>
/// 距离上一个点位距离
/// </summary>
[Display(Name = "Distance")]
[Comment("距离上一个点位距离")]
public string? Distance { get; set; }
/// <summary>
/// 速度 每ms/m
/// </summary>
[Display(Name = "LapSpeed")]
[Comment("速度 每ms/m")]
public string? LapSpeed { get; set; }
/// <summary>
/// 摄像头名称
/// </summary>
[Display(Name = "CameraName")]
[Comment("摄像头名称")]
public string? CameraName { get; set; }
/// <summary>
/// 抓拍时间
/// </summary>
[Display(Name = "Trigger")]
[Comment("抓拍时间")]
public string? Trigger { get; set; }
/// <summary>
/// 抓拍图片路径
/// </summary>
[Display(Name = "SnapPath")]
[Comment("抓拍图片路径")]
public string? SnapPath { get; set; }
/// <summary>
/// 是否有效
/// </summary>
[Display(Name = "ValidFlag")]
[Comment("是否有效")]
public string? ValidFlag { get; set; }
/// <summary>
/// 备注
/// </summary>
[Display(Name = "Remark")]
[Comment("备注")]
public string? Remark { get; set; }
/// <summary>
/// 阳光跑训练数据
/// </summary>
public XW_SunshineRunTrain? SunshineRunTrain { get; set; }
}
}

View File

@ -0,0 +1,129 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.YiLu
{
/// <summary>
/// 应用版本表(设备升级控制)
/// </summary>
[Table("YL_AppVersion")]
[Entity(TableCnName = "AppVersion", TableName = "YL_AppVersion")]
public class YL_AppVersion : BaseEntity
{
/// <summary>
/// 主键ID
/// </summary>
[Key]
public long Id { get; set; }
/// <summary>
/// 应用名称(壹动站 / 壹体机等)
/// </summary>
[Required]
[MaxLength(50)]
public string ApplyName { get; set; }
/// <summary>
/// 设备类型
/// </summary>
public int DeviceType { get; set; }
/// <summary>
/// 硬件类型(如 LZ)
/// </summary>
[MaxLength(20)]
public string HardwareType { get; set; }
/// <summary>
/// 操作系统(android)
/// </summary>
[MaxLength(20)]
public string OperatingSystem { get; set; }
/// <summary>
/// 版本号(如 1.0.1)
/// </summary>
[Required]
[MaxLength(20)]
public string VersionNumber { get; set; }
/// <summary>
/// 版本Code(用于排序,安卓强烈建议使用)
/// </summary>
public int VersionCode { get; set; }
/// <summary>
/// 是否强制更新 0=否 1=是
/// </summary>
public int NeedForcedUpdating { get; set; }
/// <summary>
/// 更新包下载地址
/// </summary>
[Required]
[MaxLength(500)]
public string UpdateUrl { get; set; }
/// <summary>
/// 是否为最新版本 0=否 1=是
/// </summary>
public int IsLatest { get; set; }
/// <summary>
/// 发布状态 0=未发布 1=已发布
/// </summary>
public int PublishStatus { get; set; }
/// <summary>
/// 最小支持版本(低于该版本必须升级)
/// </summary>
[MaxLength(20)]
public string? MinSupportVersion { get; set; }
/// <summary>
/// 更新说明
/// </summary>
[MaxLength(500)]
public string? UpdateContent { get; set; }
/// <summary>
/// 下载包大小(KB)
/// </summary>
public long? FileSize { get; set; }
/// <summary>
/// 下载MD5(用于校验)
/// </summary>
[MaxLength(64)]
public string? FileMd5 { get; set; }
/// <summary>
/// 灰度发布比例(0-100)
/// </summary>
public int GrayPercent { get; set; }
/// <summary>
/// 状态 0=禁用 1=启用
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 备注
/// </summary>
[MaxLength(500)]
public string? Remark { get; set; }
}
}

View File

@ -0,0 +1,85 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using VOL.Entity.SystemModels;
namespace VOL.Entity.DomainModels.YiLu
{
/// <summary>
/// 视频回放表(训练视频上传)
/// </summary>
[Table("YL_DeviceVideo")]
[Entity(TableCnName = "DeviceVideo", TableName = "YL_DeviceVideo")]
public class YL_DeviceVideo : BaseEntity
{
/// <summary>
/// 主键ID
/// </summary>
[Key]
public long Id { get; set; }
/// <summary>
/// 设备序列号
/// </summary>
[Required]
[MaxLength(64)]
public string DeviceSerial { get; set; }
/// <summary>
/// 设备类型
/// </summary>
public int DeviceType { get; set; }
/// <summary>
/// 训练序列号(一次训练唯一标识)
/// </summary>
[Required]
[MaxLength(64)]
public string VideoSerial { get; set; }
/// <summary>
/// 视频访问地址(上传后返回)
/// </summary>
[Required]
[MaxLength(500)]
public string VideoUrl { get; set; }
/// <summary>
/// 文件名称
/// </summary>
[MaxLength(200)]
public string? FileName { get; set; }
/// <summary>
/// 文件大小(KB)
/// </summary>
public long? FileSize { get; set; }
/// <summary>
/// 视频时长(秒)
/// </summary>
public int? Duration { get; set; }
/// <summary>
/// 时间戳(客户端上传)
/// </summary>
public long Timestamp { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 状态 0=无效 1=有效
/// </summary>
public int Status { get; set; }
/// <summary>
/// 备注
/// </summary>
[MaxLength(500)]
public string? Remark { get; set; }
}
}

View File

@ -31,9 +31,9 @@ namespace VOL.Entity.Enum
XW = 3,
/// <summary>
/// AI
/// YL
/// </summary>
[Description("XW")]
Im = 4
[Description("YL")]
YL = 4
}
}