diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs
new file mode 100644
index 0000000..1f65354
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/CreateDiseaseRiskLevelDto.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class CreateDiseaseRiskLevelDto
+ {
+ ///
+ /// 风险级别名称
+ ///
+ public string DiseaseRiskLevelName { get; set; }
+ ///
+ /// 风险级别ID
+ ///
+ public Guid DiseaseRiskId { get; set; }
+
+
+ ///
+ /// 解释
+ ///
+ public string? Explain { get; set; }
+ ///
+ /// 建议
+ ///
+ public string? Suggestion { get; set; }
+
+ ///
+ /// 函数
+ ///
+ public string DiagnosisFunction { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs
new file mode 100644
index 0000000..80ff1b6
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelDto.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class DiseaseRiskLevelDto:AuditedEntityDtoName
+ {
+ ///
+ /// 风险级别ID
+ ///
+ public Guid DiseaseRiskLevelId { get; set; }
+ ///
+ /// 风险级别名称
+ ///
+ public string DiseaseRiskLevelName { get; set; }
+ ///
+ /// 风险级别ID
+ ///
+ public Guid DiseaseRiskId { get; set; }
+
+
+ ///
+ /// 解释
+ ///
+ public string? Explain { get; set; }
+ ///
+ /// 建议
+ ///
+ public string? Suggestion { get; set; }
+
+ ///
+ /// 函数
+ ///
+ public string DiagnosisFunction { get; set; }
+
+ public string SimpleCode { get; set; }
+
+ public int DisplayOrder { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs
new file mode 100644
index 0000000..24dc804
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/DiseaseRiskLevelIdInputDto.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class DiseaseRiskLevelIdInputDto
+ {
+ public Guid DiseaseRiskLevelId { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs
new file mode 100644
index 0000000..684efc6
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/DiseaseRiskLevels/UpdateDiseaseRiskLevelDto.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class UpdateDiseaseRiskLevelDto
+ {
+ ///
+ /// 风险级别ID
+ ///
+ public Guid DiseaseRiskLevelId { get; set; }
+ ///
+ /// 风险级别名称
+ ///
+ public string DiseaseRiskLevelName { get; set; }
+ ///
+ /// 风险级别ID
+ ///
+ public Guid DiseaseRiskId { get; set; }
+
+
+ ///
+ /// 解释
+ ///
+ public string? Explain { get; set; }
+ ///
+ /// 建议
+ ///
+ public string? Suggestion { get; set; }
+
+ ///
+ /// 函数
+ ///
+ public string DiagnosisFunction { get; set; }
+
+
+ }
+}
diff --git a/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs b/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
new file mode 100644
index 0000000..4ce6720
--- /dev/null
+++ b/src/Shentun.WebPeis.Application/DiseaseRiskLevels/DiseaseRiskLevelAppService.cs
@@ -0,0 +1,106 @@
+using AutoMapper.Internal.Mappers;
+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.DiseaseRiskLevels
+{
+ ///
+ /// 疾病风险级别
+ ///
+ [ApiExplorerSettings(GroupName = "Work")]
+ [Authorize]
+ public class DiseaseRiskLevelAppService:ApplicationService
+ {
+
+ private readonly IRepository _diseaseRiskLevelRepository;
+ private readonly DiseaseRiskLevelManager _diseaseRiskLevelManager;
+ private readonly CacheService _cacheService;
+
+ public DiseaseRiskLevelAppService(
+ IRepository diseaseRiskLevelRepository,
+ DiseaseRiskLevelManager diseaseRiskLevelManager,
+ CacheService cacheService)
+ {
+ _diseaseRiskLevelRepository = diseaseRiskLevelRepository;
+ _diseaseRiskLevelManager = diseaseRiskLevelManager;
+ _cacheService = cacheService;
+ }
+
+
+ ///
+ /// 创建
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/Create")]
+ public async Task CreateAsync(CreateDiseaseRiskLevelDto input)
+ {
+ var createEntity = ObjectMapper.Map(input);
+ createEntity.DiseaseRiskId = GuidGenerator.Create();
+ var entity = await _diseaseRiskLevelManager.CreateAsync(createEntity);
+ entity = await _diseaseRiskLevelRepository.InsertAsync(entity);
+ var dto = ObjectMapper.Map(entity);
+ dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId);
+ dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId);
+ return dto;
+ }
+
+ ///
+ /// 更新
+ ///
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/Update")]
+ public async Task UpdateAsync(UpdateDiseaseRiskLevelDto input)
+ {
+ var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == input.DiseaseRiskLevelId);
+ var sourceEntity = ObjectMapper.Map(input);
+ _diseaseRiskLevelManager.UpdateAsync(sourceEntity, entity);
+ entity = await _diseaseRiskLevelRepository.UpdateAsync(entity);
+ var dto = ObjectMapper.Map(entity);
+ dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId);
+ dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId);
+ return dto;
+ }
+
+ ///
+ /// 删除
+ ///
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/Delete")]
+ public async Task DeleteAsync(DiseaseRiskLevelIdInputDto input)
+ {
+ await _diseaseRiskLevelManager.CheckAndDeleteAsync(input.DiseaseRiskLevelId);
+ }
+
+ ///
+ /// 修改排序 置顶,置底
+ ///
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/UpdateSortTopOrBottom")]
+ public async Task UpdateSortTopOrBottomAsync(UpdateDiseaseRiskLevelSortTopOrBottomInputDto input)
+ {
+ await _diseaseRiskLevelManager.UpdateSortTopOrBottomAsync(input.DiseaseRiskLevelId, input.SortType);
+ }
+
+ ///
+ /// 修改排序 拖拽
+ ///
+ ///
+ ///
+ [HttpPost("api/app/DiseaseRiskLevel/UpdateSortDragAsync")]
+ public async Task UpdateSortDragAsync(UpdateDiseaseRiskLevelSortDragDto input)
+ {
+ await _diseaseRiskLevelManager.UpdateSortDragAsync(input);
+ }
+ }
+}
diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs
new file mode 100644
index 0000000..d869e4f
--- /dev/null
+++ b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/DiseaseRiskLevelManager.cs
@@ -0,0 +1,133 @@
+using Shentun.Utilities;
+using Shentun.WebPeis.DiseaseRisks;
+using Shentun.WebPeis.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Domain.Services;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class DiseaseRiskLevelManager : DomainService
+ {
+
+ private readonly IRepository _diseaseRiskLevelRepository;
+
+ public DiseaseRiskLevelManager(
+ IRepository diseaseRiskLevelRepository
+ )
+ {
+ _diseaseRiskLevelRepository = diseaseRiskLevelRepository;
+ }
+
+ ///
+ /// 创建
+ ///
+ ///
+ public async Task CreateAsync(DiseaseRiskLevel entity)
+ {
+ DataHelper.CheckEntityIsNull(entity);
+ //DataHelper.CheckStringIsNull(entity.QuestionTypeName, "名称");
+
+ return new DiseaseRiskLevel
+ {
+ DiseaseRiskId = entity.DiseaseRiskId,
+ DiagnosisFunction = entity.DiagnosisFunction,
+ DiseaseRiskLevelId = entity.DiseaseRiskLevelId,
+ DiseaseRiskLevelName = entity.DiseaseRiskLevelName,
+ Explain = entity.Explain,
+ Suggestion = entity.Suggestion,
+ SimpleCode = LanguageConverter.GetPYSimpleCode(entity.DiseaseRiskLevelName),
+ DisplayOrder = await EntityHelper.CreateMaxDisplayOrder(_diseaseRiskLevelRepository)
+ };
+ }
+
+
+ ///
+ /// 更新
+ ///
+ ///
+ ///
+ ///
+ public void UpdateAsync(
+ DiseaseRiskLevel sourceEntity,
+ DiseaseRiskLevel targetEntity
+ )
+ {
+ DataHelper.CheckEntityIsNull(sourceEntity);
+ DataHelper.CheckEntityIsNull(targetEntity);
+ //DataHelper.CheckStringIsNull(sourceEntity.QuestionTypeName, "名称");
+
+ targetEntity.DiseaseRiskId = sourceEntity.DiseaseRiskId;
+ targetEntity.DiagnosisFunction = sourceEntity.DiagnosisFunction;
+ targetEntity.DiseaseRiskLevelId = sourceEntity.DiseaseRiskLevelId;
+ targetEntity.DiseaseRiskLevelName = sourceEntity.DiseaseRiskLevelName;
+ targetEntity.Explain = sourceEntity.Explain;
+ targetEntity.Suggestion = sourceEntity.Suggestion;
+ targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(sourceEntity.DiseaseRiskLevelName);
+ }
+
+
+
+ ///
+ /// 删除
+ ///
+ ///
+ ///
+ ///
+ public async Task CheckAndDeleteAsync(Guid DiseaseRiskLevelId)
+ {
+
+ //var questionEnt = await _questionRepository.FirstOrDefaultAsync(m => m.QuestionTypeId == QuestionTypeId);
+ //if (questionEnt != null)
+ //{
+ // throw new UserFriendlyException($"问卷类别已被使用,不能删除");
+ //}
+
+ await _diseaseRiskLevelRepository.DeleteAsync(d => d.DiseaseRiskLevelId == DiseaseRiskLevelId);
+
+ }
+
+
+ ///
+ /// 修改排序 置顶,置底
+ ///
+ /// 需要修改的ID
+ /// 修改方式:1 置顶 2 置底
+ ///
+ public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskLevelId, int SortType)
+ {
+ var entity = await _diseaseRiskLevelRepository.GetAsync(f => f.DiseaseRiskLevelId == DiseaseRiskLevelId);
+ await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskLevelRepository, entity, SortType);
+ }
+
+
+
+ ///
+ /// 修改排序 拖拽
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task UpdateSortDragAsync(UpdateDiseaseRiskLevelSortDragDto input)
+ {
+ var entitylist = await _diseaseRiskLevelRepository.GetListAsync(o => input.ItemList.Select(s => s.DiseaseRiskLevelId).Contains(o.DiseaseRiskLevelId));
+
+ foreach (var entity in entitylist)
+ {
+ foreach (var item in input.ItemList)
+ {
+ if (item.DiseaseRiskLevelId == entity.DiseaseRiskLevelId)
+ entity.DisplayOrder = item.DisplayOrder;
+ }
+ }
+
+ await _diseaseRiskLevelRepository.UpdateManyAsync(entitylist);
+ }
+ }
+}
diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs
new file mode 100644
index 0000000..289ea19
--- /dev/null
+++ b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortDragDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+
+ public class UpdateDiseaseRiskLevelSortDragDto
+ {
+ public List ItemList { get; set; }
+ }
+
+
+ public class UpdateDiseaseRiskLevelSortDragDetail
+ {
+ public Guid DiseaseRiskLevelId { get; set; }
+ public int DisplayOrder { get; set; }
+ }
+}
diff --git a/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs
new file mode 100644
index 0000000..25dcb86
--- /dev/null
+++ b/src/Shentun.WebPeis.Domain/DiseaseRiskLevels/UpdateDiseaseRiskLevelSortTopOrBottomInputDto.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Shentun.WebPeis.DiseaseRiskLevels
+{
+ public class UpdateDiseaseRiskLevelSortTopOrBottomInputDto
+ {
+ public Guid DiseaseRiskLevelId { get; set; }
+
+ ///
+ /// 修改方式:1 置顶 2 置底
+ ///
+ public int SortType { get; set; }
+ }
+}