YD_SmartSports.Api/VOL.Model/School/Response/StudentPageListModel.cs
ltx e049955f9c feat: 完善学生数据管理及作业批量导出
- 完善学生Excel导入的文件、行数据和重复学号校验,并返回实际导入数量
- 调整学生导出字段名称与排列顺序,移除学籍号字段
- 规范单张及ZIP批量人脸导入校验,限制格式、大小、数量和解压总量
- 批量人脸导入返回总数、成功数、失败数及详细失败原因
- 新增作业按作业、班级、完成状态等条件批量导出,每名学生一条记录
2026-07-31 14:21:04 +08:00

187 lines
4.7 KiB
C#

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;
using VOL.Entity.Enum;
namespace VOL.Model
{
/// <summary>
/// 学生分页列表
/// </summary>
public class StudentPageListModel
{
/// <summary>
/// Id
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public int Id { get; set; }
/// <summary>
///年级
/// </summary>
[Display(Name = "年级")]
public string GradeName { get; set; }
/// <summary>
///年级Id
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public int GradeId { get; set; }
/// <summary>
///班级Id
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public int ClassId { get; set; }
/// <summary>
///班级
/// </summary>
[Display(Name = "班级")]
public string ClassName { get; set; }
/// <summary>
///学号
/// </summary>
[Display(Name = "学号")]
public string StudentNo { get; set; }
/// <summary>
///姓名
/// </summary>
[Display(Name = "姓名")]
public string StudentName { get; set; }
/// <summary>
///学籍号
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public string SchoolRollNo { get; set; }
/// <summary>
/// 心率设备正面编号
/// </summary>
[Display(Name = "心率设备正面编号")]
public string HeartRateFrontNo { get; set; }
/// <summary>
/// 心率设备ID
/// </summary>
[Display(Name = "心率设备ID")]
public string HeartRateId { get; set; }
/// <summary>
/// 跳绳编号
/// </summary>
[Display(Name = "跳绳编号")]
public string RopeSkipQRCode { get; set; }
/// <summary>
///学生照片
/// </summary>
[Display(Name = "学生照片")]
public string Photo { get; set; }
/// <summary>
///年龄
/// </summary>
[Display(Name = "年龄")]
public int Age { get; set; }
/// <summary>
///性别
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public SexType Sex { get; set; }
/// <summary>
///状态
/// </summary>
[Display(Name = "IgnoreColumnAttribute")]
public StudentStatus StudentStatus { get; set; }
/// <summary>
///排序
/// </summary>
[Display(Name = "排序号")]
public int? OrderNo { get; set; }
[Display(Name = "性别")]
public string SexString
{
get
{
switch (Sex)
{
case SexType.Male:
return SexType.Male.Description();
case SexType.Female:
return SexType.Female.Description();
default:
return string.Empty;
}
}
}
/// <summary>
///状态
/// </summary>
[Display(Name = "状态")]
public string StudentStatusString
{
get
{
switch (StudentStatus)
{
case StudentStatus.Normal:
return StudentStatus.Normal.Description();
case StudentStatus.Suspension:
return StudentStatus.Suspension.Description();
case StudentStatus.Grad:
return StudentStatus.Grad.Description();
default:
return string.Empty;
}
}
}
}
/// <summary>
/// 学生名单分页
/// </summary>
public class StudentNamePageListModel
{
/// <summary>
///学籍号
/// </summary>
[Display(Name = "学籍号")]
public string StudentNo { get; set; }
/// <summary>
///学生名称
/// </summary>
[Display(Name = "学生名称")]
public string StudentName { get; set; }
/// <summary>
///学生照片
/// </summary>
[Display(Name = "学生照片")]
public string Photo { get; set; }
/// <summary>
///等级
/// </summary>
[Display(Name = "等级")]
public string Rank { get; set; }
}
}