This commit is contained in:
tanglong 2025-06-18 16:27:14 +08:00
commit 82dbb29298
12 changed files with 7761 additions and 24 deletions

View File

@ -72,5 +72,19 @@ namespace VOL.Business.IServices.School
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
Task<List<SchoolNatureListModel>> GetSchoolNatureList(); Task<List<SchoolNatureListModel>> GetSchoolNatureList();
/// <summary>
/// 学校账号预约列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<SchoolAccountApplicationModel>> GetSchoolAccountApplicationPageList(SchoolAccountApplicationParam paramDto);
/// <summary>
/// 更新预约状态
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task UpdateSchoolAccountApplicationStatus(UpdateSchoolAccountApplicationStatus paramDto);
} }
} }

View File

@ -14,11 +14,13 @@ using VOL.Core.ManageUser;
using VOL.Core.Utilities; using VOL.Core.Utilities;
using VOL.Entity.DomainModels; using VOL.Entity.DomainModels;
using VOL.Entity.DomainModels.Business.People; using VOL.Entity.DomainModels.Business.People;
using VOL.Entity.DomainModels.YD;
using VOL.Entity.Enum; using VOL.Entity.Enum;
using VOL.Model; using VOL.Model;
using VOL.Model.Norm.Response; using VOL.Model.Norm.Response;
using VOL.Model.School.Request; using VOL.Model.School.Request;
using VOL.Model.School.Response; using VOL.Model.School.Response;
using VOL.Model.Stadium;
using VOL.System.IRepositories; using VOL.System.IRepositories;
using VOL.System.Repositories; using VOL.System.Repositories;
using static Dapper.SqlMapper; using static Dapper.SqlMapper;
@ -360,5 +362,64 @@ namespace VOL.Business.Services.School
return res; return res;
} }
/// <summary>
/// 学校账号预约列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
public async Task<PageDataDto<SchoolAccountApplicationModel>> GetSchoolAccountApplicationPageList(SchoolAccountApplicationParam paramDto)
{
var res = new PageDataDto<SchoolAccountApplicationModel>();
var query = from s in _schoolRepository.DbContext.Set<Y_SchoolAccountApplication>()
select new SchoolAccountApplicationModel()
{
Id = s.Id,
PhoneNo = s.PhoneNo,
Remarks = s.Remarks,
SchoolAddress = s.SchoolAddress,
SchoolName = s.SchoolName,
Status = s.Status,
UserName = s.UserName,
VisitingTime = s.VisitingTime
};
if (paramDto.Status > 0)
{
query = query.Where(x => x.Status == paramDto.Status);
}
res.Total = await query.CountAsync();
var list = await query
.Skip((paramDto.PageIndex - 1) * paramDto.PageSize)
.Take(paramDto.PageSize)
.OrderBy(x => x.Id)
.ToListAsync();
res.Datas = list;
return res;
}
/// <summary>
/// 更新预约状态
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
public async Task UpdateSchoolAccountApplicationStatus(UpdateSchoolAccountApplicationStatus paramDto)
{
var model = await _schoolRepository.DbContext.Set<Y_SchoolAccountApplication>().Where(x => x.Id == paramDto.Id).FirstOrDefaultAsync();
if (model == null)
throw new Exception("未找到要更新的数据!");
model.Status= paramDto.Status;
_schoolRepository.DbContext.Set<Y_SchoolAccountApplication>().Update(model);
await _schoolRepository.SaveChangesAsync();
}
} }
} }

View File

@ -8,13 +8,6 @@ namespace VOL.Core.Migrations
{ {
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.AddColumn<int>(
name: "UnitType",
table: "Y_Stadium",
type: "int",
nullable: false,
defaultValue: 0,
comment: "单位类型");
} }
protected override void Down(MigrationBuilder migrationBuilder) protected override void Down(MigrationBuilder migrationBuilder)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,70 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace VOL.Core.Migrations
{
public partial class _20250617v1 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Y_SchoolAccountApplication",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false, comment: "Id")
.Annotation("SqlServer:Identity", "1, 1"),
SchoolName = table.Column<string>(type: "nvarchar(100)", nullable: true, comment: "学校名称"),
SchoolAddress = table.Column<string>(type: "nvarchar(1000)", nullable: true, comment: "学校地址"),
UserName = table.Column<string>(type: "nvarchar(2000)", nullable: true, comment: "用户姓名"),
PhoneNo = table.Column<string>(type: "nvarchar(11)", nullable: true, comment: "联系电话"),
Status = table.Column<int>(type: "int", nullable: false, comment: "状态"),
VisitingTime = table.Column<DateTime>(type: "datetime", nullable: true, comment: "来访时间"),
UpdateTime = table.Column<DateTime>(type: "datetime", nullable: true, comment: "最后修改时间"),
Remarks = table.Column<string>(type: "text", nullable: true, comment: "备注")
},
constraints: table =>
{
table.PrimaryKey("PK_Y_SchoolAccountApplication", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Y_StadiumResource_Y_Stadium_StadiumId",
table: "Y_StadiumResource");
migrationBuilder.DropTable(
name: "Y_SchoolAccountApplication");
migrationBuilder.AlterColumn<string>(
name: "PhoneNo",
table: "Y_StadiumVisiting",
type: "nvarchar(2000)",
nullable: true,
comment: "联系电话",
oldClrType: typeof(string),
oldType: "nvarchar(11)",
oldNullable: true,
oldComment: "联系电话");
migrationBuilder.AlterColumn<int>(
name: "StadiumId",
table: "Y_StadiumResource",
type: "int",
nullable: true,
oldClrType: typeof(int),
oldType: "int",
oldComment: "场馆Id");
migrationBuilder.AddForeignKey(
name: "FK_Y_StadiumResource_Y_Stadium_StadiumId",
table: "Y_StadiumResource",
column: "StadiumId",
principalTable: "Y_Stadium",
principalColumn: "Id");
}
}
}

View File

@ -6780,6 +6780,52 @@ namespace VOL.Core.Migrations
b.ToTable("Y_PopularCurricular"); b.ToTable("Y_PopularCurricular");
}); });
modelBuilder.Entity("VOL.Entity.DomainModels.YD.Y_SchoolAccountApplication", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasComment("Id");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("PhoneNo")
.HasColumnType("nvarchar(11)")
.HasComment("联系电话");
b.Property<string>("Remarks")
.HasColumnType("text")
.HasComment("备注");
b.Property<string>("SchoolAddress")
.HasColumnType("nvarchar(1000)")
.HasComment("学校地址");
b.Property<string>("SchoolName")
.HasColumnType("nvarchar(100)")
.HasComment("学校名称");
b.Property<int>("Status")
.HasColumnType("int)")
.HasComment("状态");
b.Property<DateTime?>("UpdateTime")
.HasColumnType("datetime")
.HasComment("最后修改时间");
b.Property<string>("UserName")
.HasColumnType("nvarchar(2000)")
.HasComment("用户姓名");
b.Property<DateTime?>("VisitingTime")
.HasColumnType("datetime")
.HasComment("来访时间");
b.HasKey("Id");
b.ToTable("Y_SchoolAccountApplication");
});
modelBuilder.Entity("VOL.Entity.DomainModels.YD.Y_Stadium", b => modelBuilder.Entity("VOL.Entity.DomainModels.YD.Y_Stadium", b =>
{ {
b.Property<int>("Id") b.Property<int>("Id")
@ -6875,8 +6921,9 @@ namespace VOL.Core.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<int?>("StadiumId") b.Property<int>("StadiumId")
.HasColumnType("int"); .HasColumnType("int")
.HasComment("场馆Id");
b.Property<int>("Type") b.Property<int>("Type")
.HasColumnType("int") .HasColumnType("int")
@ -6903,7 +6950,7 @@ namespace VOL.Core.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
b.Property<string>("PhoneNo") b.Property<string>("PhoneNo")
.HasColumnType("nvarchar(2000)") .HasColumnType("nvarchar(11)")
.HasComment("联系电话"); .HasComment("联系电话");
b.Property<string>("Remarks") b.Property<string>("Remarks")
@ -7197,7 +7244,9 @@ namespace VOL.Core.Migrations
{ {
b.HasOne("VOL.Entity.DomainModels.YD.Y_Stadium", "Stadium") b.HasOne("VOL.Entity.DomainModels.YD.Y_Stadium", "Stadium")
.WithMany("StadiumResourceList") .WithMany("StadiumResourceList")
.HasForeignKey("StadiumId"); .HasForeignKey("StadiumId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Stadium"); b.Navigation("Stadium");
}); });

View File

@ -0,0 +1,87 @@
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.SystemModels;
namespace VOL.Entity.DomainModels.YD
{
[Table("Y_SchoolAccountApplication")]
[Entity(TableCnName = "学校账号预约表", TableName = "Y_SchoolAccountApplication")]
public class Y_SchoolAccountApplication : BaseEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Description = "主键Id")]
[Comment("Id")]
public int Id { get; set; }
/// <summary>
///学校名称
/// </summary>
[Display(Name = "学校名称")]
[Comment("学校名称")]
[Column(TypeName = "nvarchar(100)")]
public string SchoolName { get; set; }
/// <summary>
///学校地址
/// </summary>
[Display(Name = "学校地址")]
[Comment("学校地址")]
[Column(TypeName = "nvarchar(1000)")]
public string SchoolAddress { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
[Display(Name = "用户姓名")]
[Comment("用户姓名")]
[Column(TypeName = "nvarchar(2000)")]
public string UserName { get; set; }
/// <summary>
/// 联系电话
/// </summary>
[Display(Name = "联系电话")]
[Comment("联系电话")]
[Column(TypeName = "nvarchar(11)")]
public string PhoneNo { get; set; }
/// <summary>
/// 状态[1:未处理/2:已处理]
/// </summary>
[Display(Name = "状态")]
[Comment("状态")]
[Column(TypeName = "int)")]
public int Status { get; set; }
/// <summary>
///来访时间
/// </summary>
[Display(Name = "来访时间")]
[Comment("来访时间")]
[Column(TypeName = "datetime")]
public DateTime? VisitingTime { get; set; }
/// <summary>
///最后修改时间
/// </summary>
[Display(Name = "最后修改时间")]
[Comment("最后修改时间")]
[Column(TypeName = "datetime")]
public DateTime? UpdateTime { get; set; }
/// <summary>
///备注
/// </summary>
[Display(Name = "备注")]
[Comment("备注")]
[Column(TypeName = "text")]
public string Remarks { get; set; }
}
}

View File

@ -30,7 +30,7 @@ namespace VOL.Entity.DomainModels.YD
/// </summary> /// </summary>
[Display(Name = "联系电话")] [Display(Name = "联系电话")]
[Comment("联系电话")] [Comment("联系电话")]
[Column(TypeName = "nvarchar(2000)")] [Column(TypeName = "nvarchar(11)")]
public string PhoneNo { get; set; } public string PhoneNo { get; set; }
/// <summary> /// <summary>

View File

@ -0,0 +1,35 @@
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.School.Request
{
/// <summary>
/// 学校账号预约
/// </summary>
public class SchoolAccountApplicationParam : PageDto
{
/// <summary>
/// 状态[1:未处理/2:已处理]
/// </summary>
public int Status { get; set; }
}
/// <summary>
/// 更新学校账号预约状态
/// </summary>
public class UpdateSchoolAccountApplicationStatus
{
public int Id { get; set; }
/// <summary>
/// 状态[1:未处理/2:已处理]
/// </summary>
public int Status { get; set; }
}
}

View File

@ -0,0 +1,54 @@
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.School.Response
{
/// <summary>
/// 学校账号预约
/// </summary>
public class SchoolAccountApplicationModel
{
public int Id { get; set; }
/// <summary>
///学校名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
///学校地址
/// </summary>
public string SchoolAddress { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string PhoneNo { get; set; }
/// <summary>
/// 状态[1:未处理/2:已处理]
/// </summary>
public int Status { get; set; }
/// <summary>
///来访时间
/// </summary>
public DateTime? VisitingTime { get; set; }
/// <summary>
///备注
/// </summary>
public string Remarks { get; set; }
}
}

View File

@ -135,5 +135,27 @@ namespace VOL.WebApi.Controllers.Business
{ {
return await _schoolService.DeviceCodeIsExists(code); return await _schoolService.DeviceCodeIsExists(code);
} }
/// <summary>
/// 学校账号预约列表
/// </summary>
/// <returns></returns>
[HttpGet(nameof(GetSchoolAccountApplicationPageList))]
public async Task<PageDataDto<SchoolAccountApplicationModel>> GetSchoolAccountApplicationPageList(SchoolAccountApplicationParam paramDto)
{
return await _schoolService.GetSchoolAccountApplicationPageList(paramDto);
}
/// <summary>
/// 更新预约状态
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpPost(nameof(UpdateSchoolAccountApplicationStatus))]
public async Task<ActionResult> UpdateSchoolAccountApplicationStatus([FromBody] UpdateSchoolAccountApplicationStatus paramDto)
{
await _schoolService.UpdateSchoolAccountApplicationStatus(paramDto);
return Ok("更新成功");
}
} }
} }

View File

@ -318,18 +318,18 @@ namespace VOL.WebApi
//配置HttpContext //配置HttpContext
app.UseStaticHttpContext(); app.UseStaticHttpContext();
//app.UseSwagger(); app.UseSwagger();
//app.UseSwaggerUI(c => app.UseSwaggerUI(c =>
//{ {
// //2个下拉框选项 选择对应的文档 //2个下拉框选项 选择对应的文档
// c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api"); c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api");
// c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api"); c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api");
// c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api"); c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api");
// c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api"); c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api");
// c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api"); c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api");
// c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api"); c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api");
// c.RoutePrefix = ""; c.RoutePrefix = "";
//}); });
app.UseRouting(); app.UseRouting();
app.UseCors(); app.UseCors();