s
This commit is contained in:
parent
0117f475d3
commit
7f5f5c5c33
19
VOL.Ai/IRepositories/IAiAppVersionRepository.cs
Normal file
19
VOL.Ai/IRepositories/IAiAppVersionRepository.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Core.BaseProvider;
|
||||
using VOL.Core.Extensions.AutofacManager;
|
||||
using VOL.Entity.DomainModels;
|
||||
|
||||
namespace VOL.Ai.IRepositories
|
||||
{
|
||||
/// <summary>
|
||||
/// App版本信息
|
||||
/// </summary>
|
||||
public interface IAiAppVersionRepository : IDependency, IRepository<Ai_AppVersion>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -218,6 +218,13 @@ namespace VOL.Ai.IServices
|
||||
/// <returns></returns>
|
||||
Task<bool> LogOut(LoginOutDto paramDto);
|
||||
|
||||
/// <summary>
|
||||
/// 获取版本号
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<Ai_AppVersionDto> AiAppVersion(Ai_AppVersionRequest paramDto);
|
||||
|
||||
/// <summary>
|
||||
/// 获取课堂记录列表
|
||||
/// </summary>
|
||||
|
30
VOL.Ai/Repositories/AiAppVersionRepository.cs
Normal file
30
VOL.Ai/Repositories/AiAppVersionRepository.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Ai.IRepositories;
|
||||
using VOL.Core.BaseProvider;
|
||||
using VOL.Core.EFDbContext;
|
||||
using VOL.Core.Extensions.AutofacManager;
|
||||
using VOL.Entity.DomainModels;
|
||||
|
||||
namespace VOL.Ai.Repositories
|
||||
{
|
||||
/// <summary>
|
||||
/// App版本信息
|
||||
/// </summary>
|
||||
public class AiAppVersionRepository : RepositoryBase<Ai_AppVersion>, IAiAppVersionRepository
|
||||
{
|
||||
public AiAppVersionRepository(VOLContext dbContext)
|
||||
: base(dbContext)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static IAiAppVersionRepository Instance
|
||||
{
|
||||
get { return AutofacContainerModule.GetService<IAiAppVersionRepository>(); }
|
||||
}
|
||||
}
|
||||
}
|
@ -36,6 +36,7 @@ namespace VOL.Ai.Services
|
||||
private readonly IN_SportsTestCategoryRepository _sportsTestCategoryRepository;
|
||||
private readonly IN_HealthStandardsRepository _healthStandardsRepository;
|
||||
private readonly IScanCodeLoginRepository _scanCodeLoginRepository;
|
||||
private readonly IAiAppVersionRepository _aiAppVersionRepository;
|
||||
private readonly IN_SportsTrainingCategoryRepository _sportsTrainingCategoryRepository;
|
||||
private readonly IClassRoomRecordRepository _classRoomRecordRepository;
|
||||
private readonly IHeartRateDataRepository _heartRateDataRepository;
|
||||
@ -67,7 +68,8 @@ namespace VOL.Ai.Services
|
||||
IFastJumpRopeDataRepository fastJumpRopeDataRepository,
|
||||
ISys_UserRepository userRepository,
|
||||
IClassroomStageRepository classroomStageRepository,
|
||||
IClassroomSettingRepository classroomSettingRepository
|
||||
IClassroomSettingRepository classroomSettingRepository,
|
||||
IAiAppVersionRepository aiAppVersionRepository
|
||||
)
|
||||
{
|
||||
_mapper = mapper;
|
||||
@ -88,6 +90,7 @@ namespace VOL.Ai.Services
|
||||
_userRepository = userRepository;
|
||||
_classroomStageRepository = classroomStageRepository;
|
||||
_classroomSettingRepository = classroomSettingRepository;
|
||||
_aiAppVersionRepository = aiAppVersionRepository;
|
||||
}
|
||||
|
||||
#region New
|
||||
@ -1006,6 +1009,7 @@ namespace VOL.Ai.Services
|
||||
{
|
||||
GroupId = x.GroupId,
|
||||
ModeType = x.ModeType,
|
||||
//ModelName = x.ModeType.GetDescription(),
|
||||
ModelName = x.ModelName,
|
||||
MotionDuration = x.MotionDuration,
|
||||
ScoreTime = x.ScoreTime,
|
||||
@ -1252,7 +1256,7 @@ namespace VOL.Ai.Services
|
||||
if (loginInfo == null)
|
||||
return new Ai_TeacherFaceInfo();
|
||||
|
||||
var res = await _teacherRepository.FindAsIQueryable(x => x.SchoolCode == paramDto.SchoolCode && x.TeacherStatus != TeacherStatus.Depart && x.TeacherPhoneNo == loginInfo.TeacherPhoneNo && x.Id == loginInfo.TeacherId)
|
||||
var res = await _teacherRepository.FindAsIQueryable(x => x.SchoolCode == paramDto.SchoolCode && x.TeacherStatus != TeacherStatus.Depart && x.TeacherPhoneNo == loginInfo.TeacherPhoneNo)
|
||||
.Select(x =>
|
||||
new Ai_TeacherFaceInfo()
|
||||
{
|
||||
@ -1281,6 +1285,9 @@ namespace VOL.Ai.Services
|
||||
|
||||
res.GradeAndClassList = grades;
|
||||
|
||||
_scanCodeLoginRepository.Delete(loginInfo);
|
||||
await _scanCodeLoginRepository.SaveChangesAsync();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -1343,6 +1350,28 @@ namespace VOL.Ai.Services
|
||||
return await _teacherRepository.SaveChangesAsync() > 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取版本号
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Ai_AppVersionDto> AiAppVersion(Ai_AppVersionRequest paramDto)
|
||||
{
|
||||
var res = await _aiAppVersionRepository.FindAsIQueryable(x => x.AppType == paramDto.AppType)
|
||||
.Select(x => new Ai_AppVersionDto()
|
||||
{
|
||||
Id = x.Id,
|
||||
AppType = x.AppType,
|
||||
Remarks = x.Remarks,
|
||||
Version = x.Version,
|
||||
Url = x.Url,
|
||||
CreateDate = x.CreateDate
|
||||
}).OrderByDescending(x => x.CreateDate)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
return res ?? new Ai_AppVersionDto();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取课堂记录列表
|
||||
/// </summary>
|
||||
@ -1364,8 +1393,9 @@ namespace VOL.Ai.Services
|
||||
.Take(paramDto.PageSize)
|
||||
.Select(x => new Ai_ClassRoomRecordPageListDto
|
||||
{
|
||||
ClassRoomRecordId = x.Id,
|
||||
GradeAndClassName = $"{x.GradeName}-{x.ClassName}",
|
||||
StartEndTime = $"{x.StartTime.ToString("yyyy-MM-dd HH:mm")}-{x.EndTime.ToString("yyyy-MM-dd HH:mm")}",
|
||||
StartEndTime = x.EndTime == null || x.EndTime == DateTime.MinValue ? $"{x.StartTime:yyyy-MM-dd HH:mm}" : $"{x.StartTime:yyyy-MM-dd HH:mm} 至 {x.EndTime:yyyy-MM-dd HH:mm}",
|
||||
TeacherName = x.TeacherName
|
||||
}).ToListAsync();
|
||||
|
||||
|
7528
VOL.Core/Migrations/20250804030454_20250804v1.Designer.cs
generated
Normal file
7528
VOL.Core/Migrations/20250804030454_20250804v1.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
56
VOL.Core/Migrations/20250804030454_20250804v1.cs
Normal file
56
VOL.Core/Migrations/20250804030454_20250804v1.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace VOL.Core.Migrations
|
||||
{
|
||||
public partial class _20250804v1 : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "Rank",
|
||||
table: "Ai_FastJumpRopeData",
|
||||
type: "int",
|
||||
nullable: true,
|
||||
comment: "等级",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "nvarchar(100)",
|
||||
oldNullable: true,
|
||||
oldComment: "等级");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Ai_AppVersion",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false, comment: "Id")
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
AppType = table.Column<int>(type: "int", nullable: false, comment: "AppType"),
|
||||
Remarks = table.Column<string>(type: "nvarchar(2000)", nullable: true, comment: "备注"),
|
||||
Version = table.Column<string>(type: "nvarchar(200)", nullable: true, comment: "版本号"),
|
||||
Url = table.Column<string>(type: "nvarchar(2000)", nullable: true, comment: "下载地址")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Ai_AppVersion", x => x.Id);
|
||||
});
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Ai_AppVersion");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Rank",
|
||||
table: "Ai_FastJumpRopeData",
|
||||
type: "nvarchar(100)",
|
||||
nullable: true,
|
||||
comment: "等级",
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int",
|
||||
oldNullable: true,
|
||||
oldComment: "等级");
|
||||
}
|
||||
}
|
||||
}
|
7532
VOL.Core/Migrations/20250804031401_20250804v2.Designer.cs
generated
Normal file
7532
VOL.Core/Migrations/20250804031401_20250804v2.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
28
VOL.Core/Migrations/20250804031401_20250804v2.cs
Normal file
28
VOL.Core/Migrations/20250804031401_20250804v2.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace VOL.Core.Migrations
|
||||
{
|
||||
public partial class _20250804v2 : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "CreateDate",
|
||||
table: "Ai_AppVersion",
|
||||
type: "datetime",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
comment: "创建时间");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "CreateDate",
|
||||
table: "Ai_AppVersion");
|
||||
}
|
||||
}
|
||||
}
|
@ -184,6 +184,40 @@ namespace VOL.Core.Migrations
|
||||
b.ToTable("Ai_ActivitiestData");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("VOL.Entity.DomainModels.Ai_AppVersion", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasComment("Id");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
|
||||
|
||||
b.Property<int>("AppType")
|
||||
.HasColumnType("int")
|
||||
.HasComment("AppType");
|
||||
|
||||
b.Property<DateTime>("CreateDate")
|
||||
.HasColumnType("datetime")
|
||||
.HasComment("创建时间");
|
||||
|
||||
b.Property<string>("Remarks")
|
||||
.HasColumnType("nvarchar(2000)")
|
||||
.HasComment("备注");
|
||||
|
||||
b.Property<string>("Url")
|
||||
.HasColumnType("nvarchar(2000)")
|
||||
.HasComment("下载地址");
|
||||
|
||||
b.Property<string>("Version")
|
||||
.HasColumnType("nvarchar(200)")
|
||||
.HasComment("版本号");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Ai_AppVersion");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("VOL.Entity.DomainModels.Ai_ClassRoomRecord", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
@ -539,8 +573,8 @@ namespace VOL.Core.Migrations
|
||||
.HasColumnType("int")
|
||||
.HasComment("运动时长/秒");
|
||||
|
||||
b.Property<string>("Rank")
|
||||
.HasColumnType("nvarchar(100)")
|
||||
b.Property<int?>("Rank")
|
||||
.HasColumnType("int")
|
||||
.HasComment("等级");
|
||||
|
||||
b.Property<int>("RankEnum")
|
||||
|
65
VOL.Entity/DomainModels/Ai/Ai_AppVersion.cs
Normal file
65
VOL.Entity/DomainModels/Ai/Ai_AppVersion.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Entity.Enum;
|
||||
using VOL.Entity.SystemModels;
|
||||
|
||||
namespace VOL.Entity.DomainModels
|
||||
{
|
||||
[Table("Ai_AppVersion")]
|
||||
[Entity(TableCnName = "AiApp版本号", TableName = "Ai_AppVersion")]
|
||||
public class Ai_AppVersion : BaseEntity
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Display(Description = "主键Id")]
|
||||
[Comment("Id")]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///AppType
|
||||
/// </summary>
|
||||
[Display(Name = "AppType")]
|
||||
[Comment("AppType")]
|
||||
[Column(TypeName = "int")]
|
||||
public int AppType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///备注
|
||||
/// </summary>
|
||||
[Display(Name = "备注")]
|
||||
[Comment("备注")]
|
||||
[Column(TypeName = "nvarchar(2000)")]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 版本号
|
||||
/// </summary>
|
||||
[Display(Name = "版本号")]
|
||||
[Comment("版本号")]
|
||||
[Column(TypeName = "nvarchar(200)")]
|
||||
public string Version { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下载地址
|
||||
/// </summary>
|
||||
[Display(Name = "下载地址")]
|
||||
[Comment("下载地址")]
|
||||
[Column(TypeName = "nvarchar(2000)")]
|
||||
public string Url { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///创建时间
|
||||
/// </summary>
|
||||
[Display(Name = "创建时间")]
|
||||
[Comment("创建时间")]
|
||||
[Column(TypeName = "datetime")]
|
||||
[Editable(true)]
|
||||
public DateTime CreateDate { get; set; }
|
||||
}
|
||||
}
|
@ -13,15 +13,15 @@ namespace VOL.Entity.Enum
|
||||
public enum Ai_FastJumpRopeModeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 随堂模式
|
||||
/// 集体跳
|
||||
/// </summary>
|
||||
[Description("随堂模式")]
|
||||
[Description("集体跳")]
|
||||
FollowMode = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 标准模式
|
||||
/// 分组跳
|
||||
/// </summary>
|
||||
[Description("标准模式")]
|
||||
[Description("分组跳")]
|
||||
StandardMode = 2
|
||||
}
|
||||
}
|
||||
|
19
VOL.Model/Ai/Request/Ai_AppVersionRequest.cs
Normal file
19
VOL.Model/Ai/Request/Ai_AppVersionRequest.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace VOL.Model.Ai.Request
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取APP版本信息
|
||||
/// </summary>
|
||||
public class Ai_AppVersionRequest : Ai_Request
|
||||
{
|
||||
/// <summary>
|
||||
/// app类型
|
||||
/// </summary>
|
||||
public int AppType { get; set; }
|
||||
}
|
||||
}
|
@ -76,7 +76,7 @@ namespace VOL.Model.Ai.Request
|
||||
/// <summary>
|
||||
/// 课堂设置列表
|
||||
/// </summary>
|
||||
public List<ClassroomSettingDto> ClassroomSettingList { get; set; }
|
||||
public List<ClassroomSettingDto> ClassroomSettingList { get; set; } = new List<ClassroomSettingDto>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
44
VOL.Model/Ai/Response/Ai_AppVersionDto.cs
Normal file
44
VOL.Model/Ai/Response/Ai_AppVersionDto.cs
Normal file
@ -0,0 +1,44 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace VOL.Model.Ai.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// app版本信息
|
||||
/// </summary>
|
||||
public class Ai_AppVersionDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///AppType
|
||||
/// </summary>
|
||||
public int AppType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///备注
|
||||
/// </summary>
|
||||
public string Remarks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 版本号
|
||||
/// </summary>
|
||||
public string Version { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下载地址
|
||||
/// </summary>
|
||||
public string Url { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateDate { get; set; }
|
||||
}
|
||||
}
|
@ -11,6 +11,11 @@ namespace VOL.Model.Ai.Response
|
||||
/// </summary>
|
||||
public class Ai_ClassRoomRecordPageListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 课堂记录Id
|
||||
/// </summary>
|
||||
public int ClassRoomRecordId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 年级班级名称
|
||||
/// </summary>
|
||||
|
@ -479,6 +479,17 @@ namespace VOL.WebApi.Controllers
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取版本号
|
||||
/// </summary>
|
||||
[HttpGet(nameof(AiAppVersion))]
|
||||
[ServiceFilter(typeof(ValidateDeviceFilter))]
|
||||
public async Task<Ai_AppVersionDto> AiAppVersion([FromQuery] Ai_AppVersionRequest paramDto)
|
||||
{
|
||||
var result = await _aiAppService.AiAppVersion(paramDto);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取课堂记录列表
|
||||
/// </summary>
|
||||
|
@ -318,18 +318,18 @@ namespace VOL.WebApi
|
||||
//配置HttpContext
|
||||
app.UseStaticHttpContext();
|
||||
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI(c =>
|
||||
{
|
||||
//2个下拉框选项 选择对应的文档
|
||||
//c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api");
|
||||
//c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api");
|
||||
//c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api");
|
||||
//c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api");
|
||||
//c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api");
|
||||
c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api");
|
||||
c.RoutePrefix = "";
|
||||
});
|
||||
//app.UseSwagger();
|
||||
//app.UseSwaggerUI(c =>
|
||||
//{
|
||||
// //2个下拉框选项 选择对应的文档
|
||||
// //c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api");
|
||||
// //c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api");
|
||||
// //c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api");
|
||||
// //c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api");
|
||||
// //c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api");
|
||||
// c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api");
|
||||
// c.RoutePrefix = "";
|
||||
//});
|
||||
|
||||
app.UseRouting();
|
||||
app.UseCors();
|
||||
|
Loading…
x
Reference in New Issue
Block a user