Compare commits
5 Commits
e452d1dce8
...
68664b8884
Author | SHA1 | Date | |
---|---|---|---|
68664b8884 | |||
a78947ea00 | |||
5e3d8b2f62 | |||
0849a3eb2b | |||
c743659687 |
18
VOL.Ai/IRepositories/IClassroomSettingRepository.cs
Normal file
18
VOL.Ai/IRepositories/IClassroomSettingRepository.cs
Normal file
@ -0,0 +1,18 @@
|
||||
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>
|
||||
/// Ai课堂设置
|
||||
/// </summary>
|
||||
public interface IClassroomSettingRepository : IDependency, IRepository<Ai_ClassroomSetting>
|
||||
{
|
||||
}
|
||||
}
|
18
VOL.Ai/IRepositories/IClassroomStageRepository.cs
Normal file
18
VOL.Ai/IRepositories/IClassroomStageRepository.cs
Normal file
@ -0,0 +1,18 @@
|
||||
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>
|
||||
/// Ai课堂阶段
|
||||
/// </summary>
|
||||
public interface IClassroomStageRepository : IDependency, IRepository<Ai_ClassroomStage>
|
||||
{
|
||||
}
|
||||
}
|
19
VOL.Ai/IRepositories/IScanCodeLoginRepository.cs
Normal file
19
VOL.Ai/IRepositories/IScanCodeLoginRepository.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>
|
||||
/// Ai扫码登陆
|
||||
/// </summary>
|
||||
public interface IScanCodeLoginRepository : IDependency, IRepository<Ai_ScanCodeLogin>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -191,6 +191,21 @@ namespace VOL.Ai.IServices
|
||||
/// <returns></returns>
|
||||
Task<IsActivityInListDto> IsActivityInList(IsActivityInListRequest paramDto);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Ai一体机扫描那登录轮询
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<Ai_TeacherFaceInfo> ScanCodeLogin(Ai_Request paramDto);
|
||||
|
||||
/// <summary>
|
||||
/// 退出登录
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> LogOut(LoginOutDto paramDto);
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
31
VOL.Ai/Repositories/ClassroomSettingRepository.cs
Normal file
31
VOL.Ai/Repositories/ClassroomSettingRepository.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Ai.IRepositories;
|
||||
using VOL.Business.IRepositories;
|
||||
using VOL.Core.BaseProvider;
|
||||
using VOL.Core.EFDbContext;
|
||||
using VOL.Core.Extensions.AutofacManager;
|
||||
using VOL.Entity.DomainModels;
|
||||
|
||||
namespace VOL.Ai.Repositories
|
||||
{
|
||||
/// <summary>
|
||||
/// Ai课堂设置
|
||||
/// </summary>
|
||||
public partial class ClassroomSettingRepository : RepositoryBase<Ai_ClassroomSetting>, IClassroomSettingRepository
|
||||
{
|
||||
public ClassroomSettingRepository(VOLContext dbContext)
|
||||
: base(dbContext)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static IClassroomSettingRepository Instance
|
||||
{
|
||||
get { return AutofacContainerModule.GetService<IClassroomSettingRepository>(); }
|
||||
}
|
||||
}
|
||||
}
|
31
VOL.Ai/Repositories/ClassroomStageRepository.cs
Normal file
31
VOL.Ai/Repositories/ClassroomStageRepository.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Ai.IRepositories;
|
||||
using VOL.Business.IRepositories;
|
||||
using VOL.Core.BaseProvider;
|
||||
using VOL.Core.EFDbContext;
|
||||
using VOL.Core.Extensions.AutofacManager;
|
||||
using VOL.Entity.DomainModels;
|
||||
|
||||
namespace VOL.Ai.Repositories
|
||||
{
|
||||
/// <summary>
|
||||
/// Ai课堂阶段
|
||||
/// </summary>
|
||||
public partial class ClassroomStageRepository : RepositoryBase<Ai_ClassroomStage>, IClassroomStageRepository
|
||||
{
|
||||
public ClassroomStageRepository(VOLContext dbContext)
|
||||
: base(dbContext)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static IClassroomStageRepository Instance
|
||||
{
|
||||
get { return AutofacContainerModule.GetService<IClassroomStageRepository>(); }
|
||||
}
|
||||
}
|
||||
}
|
31
VOL.Ai/Repositories/ScanCodeLoginRepository.cs
Normal file
31
VOL.Ai/Repositories/ScanCodeLoginRepository.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using VOL.Ai.IRepositories;
|
||||
using VOL.Business.IRepositories;
|
||||
using VOL.Core.BaseProvider;
|
||||
using VOL.Core.EFDbContext;
|
||||
using VOL.Core.Extensions.AutofacManager;
|
||||
using VOL.Entity.DomainModels;
|
||||
|
||||
namespace VOL.Ai.Repositories
|
||||
{
|
||||
/// <summary>
|
||||
/// Ai扫码登陆
|
||||
/// </summary>
|
||||
public partial class ScanCodeLoginRepository : RepositoryBase<Ai_ScanCodeLogin>, IScanCodeLoginRepository
|
||||
{
|
||||
public ScanCodeLoginRepository(VOLContext dbContext)
|
||||
: base(dbContext)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static IScanCodeLoginRepository Instance
|
||||
{
|
||||
get { return AutofacContainerModule.GetService<IScanCodeLoginRepository>(); }
|
||||
}
|
||||
}
|
||||
}
|
@ -33,7 +33,7 @@ namespace VOL.Ai.Services
|
||||
private readonly IS_ClassRepository _classRepository;
|
||||
private readonly IN_SportsTestCategoryRepository _sportsTestCategoryRepository;
|
||||
private readonly IN_HealthStandardsRepository _healthStandardsRepository;
|
||||
private readonly IN_SportsTestResultRepository _sportsTestResultRepository;
|
||||
private readonly IScanCodeLoginRepository _scanCodeLoginRepository;
|
||||
private readonly IN_SportsTrainingCategoryRepository _sportsTrainingCategoryRepository;
|
||||
private readonly IClassRoomRecordRepository _classRoomRecordRepository;
|
||||
private readonly IHeartRateDataRepository _heartRateDataRepository;
|
||||
@ -50,7 +50,7 @@ namespace VOL.Ai.Services
|
||||
IS_ClassRepository classRepository,
|
||||
IN_SportsTestCategoryRepository sportsTestCategoryRepository,
|
||||
IN_HealthStandardsRepository healthStandardsRepository,
|
||||
IN_SportsTestResultRepository sportsTestResultRepository,
|
||||
IScanCodeLoginRepository scanCodeLoginRepository,
|
||||
IN_SportsTrainingCategoryRepository sportsTrainingCategoryRepository,
|
||||
IClassRoomRecordRepository classRoomRecordRepository,
|
||||
IHeartRateDataRepository heartRateDataRepository,
|
||||
@ -65,7 +65,7 @@ namespace VOL.Ai.Services
|
||||
_studentRepository = studentRepository;
|
||||
_sportsTestCategoryRepository = sportsTestCategoryRepository;
|
||||
_healthStandardsRepository = healthStandardsRepository;
|
||||
_sportsTestResultRepository = sportsTestResultRepository;
|
||||
_scanCodeLoginRepository = scanCodeLoginRepository;
|
||||
_teacherRepository = teacherRepository;
|
||||
_sportsTrainingCategoryRepository = sportsTrainingCategoryRepository;
|
||||
_classRoomRecordRepository = classRoomRecordRepository;
|
||||
@ -842,7 +842,7 @@ namespace VOL.Ai.Services
|
||||
entity.Year = semesterDto.Year;
|
||||
entity.Semester = semesterDto.Semester;
|
||||
var student = await (from s in _studentRepository.FindAsIQueryable(x => x.SchoolCode == paramDto.SchoolCode && x.StudentNo == paramDto.StudentNo)
|
||||
join c in _studentRepository.DbContext.Set<S_Class>() on s.ClassId equals c.Id
|
||||
join c in _classRepository.DbContext.Set<S_Class>() on s.ClassId equals c.Id
|
||||
select new
|
||||
{
|
||||
s.ClassId,
|
||||
@ -1199,5 +1199,65 @@ namespace VOL.Ai.Services
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ai一体机扫描那登录轮询
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Ai_TeacherFaceInfo> ScanCodeLogin(Ai_Request paramDto)
|
||||
{
|
||||
var loginInfo = await _scanCodeLoginRepository.FindAsIQueryable(x => x.Code == paramDto.Code && x.SchoolCode == paramDto.SchoolCode).FirstOrDefaultAsync();
|
||||
|
||||
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)
|
||||
.Select(x =>
|
||||
new Ai_TeacherFaceInfo()
|
||||
{
|
||||
Id = x.Id,
|
||||
Age = x.Age,
|
||||
//SchoolCode = x.SchoolCode,
|
||||
Sex = x.Sex,
|
||||
Phone = x.TeacherPhoneNo,
|
||||
TeacherName = x.TeacherName,
|
||||
Photo = x.TeacherPhoto,
|
||||
}).FirstOrDefaultAsync();
|
||||
|
||||
if (res == null)
|
||||
throw new Exception("未查询到登陆信息");
|
||||
|
||||
|
||||
var grades = await (
|
||||
from t in _studentRepository.DbContext.Set<S_ClassAssocTeacher>()
|
||||
join c in _studentRepository.DbContext.Set<S_Class>() on t.ClassId equals c.Id into classGroup
|
||||
from c in classGroup.DefaultIfEmpty()
|
||||
where t.TeacherId == res.Id && c != null
|
||||
select new Classes()
|
||||
{
|
||||
Id = c.Id,
|
||||
Name = $"{c.GradeName}-{c.ClassName}",
|
||||
}).ToListAsync();
|
||||
|
||||
res.GradeAndClassList = grades;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退出登录
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> LogOut(LoginOutDto paramDto)
|
||||
{
|
||||
var teacher = await _scanCodeLoginRepository.FindAsIQueryable(x => x.Code == paramDto.Code && x.SchoolCode == paramDto.SchoolCode).FirstOrDefaultAsync();
|
||||
|
||||
if (teacher == null) return true;
|
||||
|
||||
_scanCodeLoginRepository.Delete(teacher);
|
||||
return await _teacherRepository.SaveChangesAsync() > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
7498
VOL.Core/Migrations/20250709031331_20250709v1.Designer.cs
generated
Normal file
7498
VOL.Core/Migrations/20250709031331_20250709v1.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
62
VOL.Core/Migrations/20250709031331_20250709v1.cs
Normal file
62
VOL.Core/Migrations/20250709031331_20250709v1.cs
Normal file
@ -0,0 +1,62 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace VOL.Core.Migrations
|
||||
{
|
||||
public partial class _20250709v1 : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "ClassroomStageId",
|
||||
table: "Ai_ClassRoomRecord",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0,
|
||||
comment: "阶段Id");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Ai_ClassroomSetting",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false, comment: "Id")
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ClassRoomRecordId = table.Column<int>(type: "int", nullable: false, comment: "课堂记录Id"),
|
||||
ClassroomStageId = table.Column<int>(type: "int", nullable: false, comment: "阶段Id"),
|
||||
Duration = table.Column<int>(type: "int", nullable: false, comment: "时长"),
|
||||
Density = table.Column<int>(type: "int", nullable: false, comment: "密度")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Ai_ClassroomSetting", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Ai_ClassroomStage",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false, comment: "Id")
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Name = table.Column<string>(type: "nvarchar(200)", nullable: true, comment: "名称")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Ai_ClassroomStage", x => x.Id);
|
||||
});
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Ai_ClassroomSetting");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Ai_ClassroomStage");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ClassroomStageId",
|
||||
table: "Ai_ClassRoomRecord");
|
||||
}
|
||||
}
|
||||
}
|
@ -205,6 +205,10 @@ namespace VOL.Core.Migrations
|
||||
.HasColumnType("nvarchar(100)")
|
||||
.HasComment("班级名称");
|
||||
|
||||
b.Property<int>("ClassroomStageId")
|
||||
.HasColumnType("int")
|
||||
.HasComment("阶段Id");
|
||||
|
||||
b.Property<string>("Code")
|
||||
.HasColumnType("nvarchar(100)")
|
||||
.HasComment("AI设备的唯一编码");
|
||||
@ -278,6 +282,54 @@ namespace VOL.Core.Migrations
|
||||
b.ToTable("Ai_ClassRoomRecord");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("VOL.Entity.DomainModels.Ai_ClassroomSetting", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasComment("Id");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
|
||||
|
||||
b.Property<int>("ClassRoomRecordId")
|
||||
.HasColumnType("int")
|
||||
.HasComment("课堂记录Id");
|
||||
|
||||
b.Property<int>("ClassroomStageId")
|
||||
.HasColumnType("int")
|
||||
.HasComment("阶段Id");
|
||||
|
||||
b.Property<int>("Density")
|
||||
.HasColumnType("int")
|
||||
.HasComment("密度");
|
||||
|
||||
b.Property<int>("Duration")
|
||||
.HasColumnType("int")
|
||||
.HasComment("时长");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Ai_ClassroomSetting");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("VOL.Entity.DomainModels.Ai_ClassroomStage", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasComment("Id");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(200)")
|
||||
.HasComment("名称");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Ai_ClassroomStage");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("VOL.Entity.DomainModels.Ai_ClassroomStudentRecord", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
|
@ -45,6 +45,14 @@ namespace VOL.Entity.DomainModels
|
||||
[Column(TypeName = "nvarchar(200)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阶段Id
|
||||
/// </summary>
|
||||
[Display(Name = "阶段Id")]
|
||||
[Comment("阶段Id")]
|
||||
[Column(TypeName = "int")]
|
||||
public int ClassroomStageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 年级编号
|
||||
/// </summary>
|
||||
|
57
VOL.Entity/DomainModels/Ai/Ai_ClassroomSetting.cs
Normal file
57
VOL.Entity/DomainModels/Ai/Ai_ClassroomSetting.cs
Normal file
@ -0,0 +1,57 @@
|
||||
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_ClassroomSetting")]
|
||||
[Entity(TableCnName = "Ai课堂设置表", TableName = "Ai_ClassroomSetting")]
|
||||
public class Ai_ClassroomSetting : BaseEntity
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Display(Description = "主键Id")]
|
||||
[Comment("Id")]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 课堂记录Id
|
||||
/// </summary>
|
||||
[Display(Name = "课堂记录Id")]
|
||||
[Comment("课堂记录Id")]
|
||||
[Column(TypeName = "int")]
|
||||
public int ClassRoomRecordId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阶段Id
|
||||
/// </summary>
|
||||
[Display(Name = "阶段Id")]
|
||||
[Comment("阶段Id")]
|
||||
[Column(TypeName = "int")]
|
||||
public int ClassroomStageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 时长
|
||||
/// </summary>
|
||||
[Display(Name = "时长")]
|
||||
[Comment("时长")]
|
||||
[Column(TypeName = "int")]
|
||||
public int Duration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密度
|
||||
/// </summary>
|
||||
[Display(Name = "密度")]
|
||||
[Comment("密度")]
|
||||
[Column(TypeName = "int")]
|
||||
public int Density { get; set; }
|
||||
|
||||
}
|
||||
}
|
32
VOL.Entity/DomainModels/Ai/Ai_ClassroomStage.cs
Normal file
32
VOL.Entity/DomainModels/Ai/Ai_ClassroomStage.cs
Normal file
@ -0,0 +1,32 @@
|
||||
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_ClassroomStage")]
|
||||
[Entity(TableCnName = "Ai课堂阶段表", TableName = "Ai_ClassroomStage")]
|
||||
public class Ai_ClassroomStage : BaseEntity
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Display(Description = "主键Id")]
|
||||
[Comment("Id")]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[Display(Name = "名称")]
|
||||
[Comment("名称")]
|
||||
[Column(TypeName = "nvarchar(200)")]
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
@ -77,4 +77,17 @@ namespace VOL.Model.Ai
|
||||
/// </summary>
|
||||
//public string StudentNo { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退出登录
|
||||
/// </summary>
|
||||
public class LoginOutDto : Ai_Request
|
||||
{
|
||||
/// <summary>
|
||||
/// 教师Id
|
||||
/// </summary>
|
||||
public int TeacherId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -436,5 +436,31 @@ namespace VOL.WebApi.Controllers
|
||||
var result = await _aiAppService.FastJumpRopeRanking(paramDto);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ai一体机扫描那登录轮询
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost(nameof(ScanCodeLogin))]
|
||||
public async Task<Ai_TeacherFaceInfo> ScanCodeLogin([FromBody] Ai_Request paramDto)
|
||||
{
|
||||
var result = await _aiAppService.ScanCodeLogin(paramDto);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退出登录
|
||||
/// </summary>
|
||||
/// <param name="paramDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost(nameof(LogOut))]
|
||||
public async Task<bool> LogOut([FromBody] LoginOutDto paramDto)
|
||||
{
|
||||
var result = await _aiAppService.LogOut(paramDto);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user