Browse Source

最大字节限制

master
DESKTOP-G961P6V\Zhh 1 year ago
parent
commit
93bea3cfe6
  1. 14
      src/Shentun.WebPeis.Application.Contracts/CheckTypeDto.cs
  2. 96
      src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageAsbitemDto.cs
  3. 62
      src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageDto.cs
  4. 11
      src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageIdInput.cs
  5. 59
      src/Shentun.WebPeis.Application/MedicalPackages/MedicalPackageAppservice.cs
  6. 3
      src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs
  7. 8
      src/Shentun.WebPeis.Domain/Models/MedicalPackageDetail.cs
  8. 6
      src/Shentun.WebPeis.HttpApi.Host/Controllers/WeChatController.cs
  9. 25
      src/Shentun.WebPeis.HttpApi.Host/WebPeisHttpApiHostModule.cs

14
src/Shentun.WebPeis.Application.Contracts/CheckTypeDto.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis
{
public class CheckTypeDto
{
public char CheckTypeFlag { get; set; }
public string CheckTypeFlagName { get; set; }
public int DisplayOrder { get; set; }
}
}

96
src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageAsbitemDto.cs

@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.MedicalPackages
{
public class MedicalPackageAsbitemDto
{
public List<CheckTypeDto> CheckTypes = new List<CheckTypeDto>();
public List<MedicalPackageAsbitem> Asbitems = new List<MedicalPackageAsbitem>();
}
public class MedicalPackageAsbitem
{
/// <summary>
/// 编号
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string AsbitemName { get; set; } = null!;
/// <summary>
/// 简称
/// </summary>
public string? ShortName { get; set; }
/// <summary>
/// 适用性别,M-男,F-女,A-全部
/// </summary>
public char ForSexId { get; set; }
/// <summary>
/// 项目类别
/// </summary>
public Guid ItemTypeId { get; set; }
/// <summary>
/// 价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 仪器类别
/// </summary>
public Guid? DeviceTypeId { get; set; }
/// <summary>
/// 餐前项目
/// </summary>
public char IsBeforeEat { get; set; }
/// <summary>
/// 临床意义
/// </summary>
public string? ClinicalMeaning { get; set; }
/// <summary>
/// 默认结果
/// </summary>
public string? DefaultResult { get; set; }
/// <summary>
/// 体检报告图片旋转90°
/// </summary>
public char IsPictureRotate { get; set; }
/// <summary>
/// 是检查项目
/// </summary>
public char IsCheck { get; set; }
/// <summary>
/// 是启用
/// </summary>
public char IsActive { get; set; }
public string? Warn { get; set; }
public Guid? DiseaseScreeningTypeId { get; set; }
public string? SimpleCode { get; set; }
public int DisplayOrder { get; set; }
public char? IsWebAppoint { get; set; }
}
}

62
src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageDto.cs

@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.MedicalPackages
{
public class MedicalPackageDto
{
/// <summary>
/// 套餐主档编号
/// </summary>
public Guid MedicalPackageId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string MedicalPackageName { get; set; } = null!;
/// <summary>
/// 价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 适用性别
/// </summary>
public char ForSexId { get; set; }
public string ForSexName { get; set; }
/// <summary>
/// 启用标志
/// </summary>
public char IsActive { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remark { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
public string? SimpleCode { get; set; }
public string? ConcurrencyStamp { get; set; }
public char? IsWebAppoint { get; set; }
/// <summary>
/// 适用婚姻状况
/// </summary>
public char MaritalStatusId { get; set; }
public string MaritalStatusName { get;set; }
}
}

11
src/Shentun.WebPeis.Application.Contracts/MedicalPackages/MedicalPackageIdInput.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.MedicalPackages
{
public class MedicalPackageIdInput
{
public Guid MedicalPackageId { get; set; }
}
}

59
src/Shentun.WebPeis.Application/MedicalPackages/MedicalPackageAppservice.cs

@ -0,0 +1,59 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.WebPeis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
namespace Shentun.WebPeis.MedicalPackages
{
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class MedicalPackageAppservice : ApplicationService
{
private readonly IRepository<MedicalPackage> _repository;
private readonly IRepository<Asbitem> _asbitemRepository;
private readonly IRepository<MedicalPackageDetail> _medicalPackageDetailRepository;
private readonly CacheService _cacheService;
public MedicalPackageAppservice(IRepository<MedicalPackage> repository,
CacheService cacheService,
IRepository<Asbitem> asbitemRepository,
IRepository<MedicalPackageDetail> medicalPackageDetailRepository
)
{
_repository = repository;
_cacheService = cacheService;
_asbitemRepository = asbitemRepository;
_medicalPackageDetailRepository = medicalPackageDetailRepository;
}
/// <summary>
/// 获取能预约的套餐信息
/// </summary>
/// <returns></returns>
[HttpPost("api/app/MedicalPackage/GetCanAppointList")]
public async Task<List<MedicalPackageDto>> GetCanAppointListAsync()
{
var list = (await _repository.GetListAsync(o=>o.IsActive == 'Y' && o.IsWebAppoint == 'Y'))
.OrderBy(o => o.DisplayOrder).ToList();
var returnList = ObjectMapper.Map<List<MedicalPackage>, List<MedicalPackageDto>>(list); ;
foreach (var item in returnList)
{
item.ForSexName = await _cacheService.GetForSexNameAsync(item.ForSexId);
item.MaritalStatusName = await _cacheService.GetForSexNameAsync(item.MaritalStatusId);
}
return returnList; ;
}
//public async Task<List<MedicalPackageDto>> GetAsbitemListByMedicalPackageIdAsync(MedicalPackageIdInput input)
//{
// from medicalPackage in await _medicalPackageDetailRepository.GetQueryableAsync()
//}
}
}

3
src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs

@ -2,6 +2,7 @@
using Shentun.Peis.MaritalStatuss; using Shentun.Peis.MaritalStatuss;
using Shentun.WebPeis.Kinships; using Shentun.WebPeis.Kinships;
using Shentun.WebPeis.MaritalStatuss; using Shentun.WebPeis.MaritalStatuss;
using Shentun.WebPeis.MedicalPackages;
using Shentun.WebPeis.Models; using Shentun.WebPeis.Models;
using Shentun.WebPeis.Nations; using Shentun.WebPeis.Nations;
using Shentun.WebPeis.OrganizationUnits; using Shentun.WebPeis.OrganizationUnits;
@ -49,6 +50,8 @@ public class WebPeisApplicationAutoMapperProfile : Profile
CreateMap<UpdateSexDto, Sex>(); CreateMap<UpdateSexDto, Sex>();
CreateMap<Sex, SexDto>(); CreateMap<Sex, SexDto>();
CreateMap<MedicalPackage, MedicalPackageDto>();
CreateMap<UpdateKinshipDto, Kinship>(); CreateMap<UpdateKinshipDto, Kinship>();
CreateMap<Kinship, KinshipDto>(); CreateMap<Kinship, KinshipDto>();

8
src/Shentun.WebPeis.Domain/Models/MedicalPackageDetail.cs

@ -1,12 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Volo.Abp.Domain.Entities;
namespace Shentun.WebPeis.Models; namespace Shentun.WebPeis.Models;
/// <summary> /// <summary>
/// 体检套餐包含的组合项目设置 /// 体检套餐包含的组合项目设置
/// </summary> /// </summary>
public partial class MedicalPackageDetail
public partial class MedicalPackageDetail:Entity
{ {
/// <summary> /// <summary>
/// 套餐编号 /// 套餐编号
@ -27,4 +28,9 @@ public partial class MedicalPackageDetail
public virtual Asbitem Asbitem { get; set; } = null!; public virtual Asbitem Asbitem { get; set; } = null!;
public virtual MedicalPackage MedicalPackage { get; set; } = null!; public virtual MedicalPackage MedicalPackage { get; set; } = null!;
public override object?[] GetKeys()
{
return [MedicalPackageId, AsbitemId];
}
} }

6
src/Shentun.WebPeis.HttpApi.Host/Controllers/WeChatController.cs

@ -121,7 +121,11 @@ namespace Shentun.WebPeis.Controllers
{ {
throw new Exception("用户不存在"); throw new Exception("用户不存在");
} }
if(!user.IsActive)
{
throw new Exception("用户已被禁用");
}
principal = await SignInManager.CreateUserPrincipalAsync(user); principal = await SignInManager.CreateUserPrincipalAsync(user);
if (principal == null) if (principal == null)
{ {

25
src/Shentun.WebPeis.HttpApi.Host/WebPeisHttpApiHostModule.cs

@ -51,6 +51,7 @@ using Microsoft.Extensions.Hosting.Internal;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace Shentun.WebPeis; namespace Shentun.WebPeis;
@ -145,6 +146,16 @@ public class WebPeisHttpApiHostModule : AbpModule
}); });
context.Services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = 52428800; // 设置为null表示无限制,慎用
});
context.Services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = 52428800; // 设置为null表示无限制,慎用
});
//Configure<JsonOptions>(x => //Configure<JsonOptions>(x =>
//{ //{
// //x.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All); // //x.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
@ -314,13 +325,13 @@ public class WebPeisHttpApiHostModule : AbpModule
//post大小限制 //post大小限制
app.UseWhen(ct => ct.Request.Method == HttpMethods.Post,
builder => builder.UseWhen(ct => true, appBuilder =>
appBuilder.Use((ct, next) =>
{
ct.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 50 * 1024 * 1024; // 10MB
return next();
})));
//app.UseWhen(ct => ct.Request.Method == HttpMethods.Post,
// builder => builder.UseWhen(ct => true, appBuilder =>
// appBuilder.Use((ct, next) =>
// {
// ct.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 50 * 1024 * 1024; // 10MB
// return next();
// })));
app.UseCorrelationId(); app.UseCorrelationId();

Loading…
Cancel
Save