8 changed files with 297 additions and 0 deletions
-
20src/Shentun.WebPeis.Application.Contracts/AsbitemRecommendLevels/AsbitemRecommendLevelDto.cs
-
16src/Shentun.WebPeis.Application.Contracts/AsbitemRecommendLevels/UpdateAsbitemRecommendLevelDto.cs
-
113src/Shentun.WebPeis.Application/AsbitemRecommendLevels/AsbitemRecommendLevelAppService.cs
-
5src/Shentun.WebPeis.Application/WebPeisApplicationAutoMapperProfile.cs
-
96src/Shentun.WebPeis.Domain/AsbitemRecommendLevels/AsbitemRecommendLevelManager.cs
-
20src/Shentun.WebPeis.Domain/AsbitemRecommendLevels/UpdateAsbitemRecommendLevelSortDragDto.cs
-
18src/Shentun.WebPeis.Domain/AsbitemRecommendLevels/UpdateAsbitemRecommendLevelSortTopOrBottomInputDto.cs
-
9src/Shentun.WebPeis.Domain/Models/AsbitemRecommendLevel.cs
@ -0,0 +1,20 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.WebPeis.AsbitemRecommendLevels |
|||
{ |
|||
public class AsbitemRecommendLevelDto : AuditedEntityDtoName |
|||
{ |
|||
/// <summary>
|
|||
/// 主键
|
|||
/// </summary>
|
|||
public short AsbitemRecommendLevelId { get; set; } |
|||
|
|||
public string AsbitemRecommendLevelName { get; set; } |
|||
|
|||
public string SimpleCode { get; set; } |
|||
|
|||
public int DisplayOrder { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.WebPeis.AsbitemRecommendLevels |
|||
{ |
|||
public class UpdateAsbitemRecommendLevelDto |
|||
{ |
|||
/// <summary>
|
|||
/// 主键
|
|||
/// </summary>
|
|||
public short AsbitemRecommendLevelId { get; set; } |
|||
|
|||
public string AsbitemRecommendLevelName { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,113 @@ |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Shentun.WebPeis.Models; |
|||
using Shentun.WebPeis.QuestionTypes; |
|||
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.AsbitemRecommendLevels |
|||
{ |
|||
/// <summary>
|
|||
/// 组合项目推荐级别
|
|||
/// </summary>
|
|||
[ApiExplorerSettings(GroupName = "Work")] |
|||
[Authorize] |
|||
public class AsbitemRecommendLevelAppService : ApplicationService |
|||
{ |
|||
|
|||
private readonly IRepository<AsbitemRecommendLevel> _asbitemRecommendLevelRepository; |
|||
private readonly AsbitemRecommendLevelManager _asbitemRecommendLevelManager; |
|||
private readonly CacheService _cacheService; |
|||
|
|||
public AsbitemRecommendLevelAppService( |
|||
CacheService cacheService, |
|||
IRepository<AsbitemRecommendLevel> asbitemRecommendLevelRepository, |
|||
AsbitemRecommendLevelManager asbitemRecommendLevelManager |
|||
) |
|||
{ |
|||
_cacheService = cacheService; |
|||
_asbitemRecommendLevelRepository = asbitemRecommendLevelRepository; |
|||
_asbitemRecommendLevelManager = asbitemRecommendLevelManager; |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 获取列表
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/AsbitemRecommendLevel/GetList")] |
|||
public async Task<List<AsbitemRecommendLevelDto>> GetListAsync() |
|||
{ |
|||
var entlist = await _asbitemRecommendLevelRepository.GetQueryableAsync(); |
|||
|
|||
var entdto = entlist.Select(s => new AsbitemRecommendLevelDto |
|||
{ |
|||
CreationTime = s.CreationTime, |
|||
CreatorId = s.CreatorId, |
|||
DisplayOrder = s.DisplayOrder, |
|||
LastModificationTime = s.LastModificationTime, |
|||
LastModifierId = s.LastModifierId, |
|||
SimpleCode = s.SimpleCode, |
|||
AsbitemRecommendLevelId = s.AsbitemRecommendLevelId, |
|||
AsbitemRecommendLevelName = s.AsbitemRecommendLevelName, |
|||
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result, |
|||
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result |
|||
}).OrderBy(o => o.DisplayOrder).ToList(); |
|||
|
|||
return entdto; |
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 更新
|
|||
/// </summary>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/AsbitemRecommendLevel/Update")] |
|||
public async Task<AsbitemRecommendLevelDto> UpdateAsync(UpdateAsbitemRecommendLevelDto input) |
|||
{ |
|||
var entity = await _asbitemRecommendLevelRepository.GetAsync(f => f.AsbitemRecommendLevelId == input.AsbitemRecommendLevelId); |
|||
var sourceEntity = new AsbitemRecommendLevel |
|||
{ |
|||
AsbitemRecommendLevelName = input.AsbitemRecommendLevelName |
|||
}; |
|||
await _asbitemRecommendLevelManager.UpdateAsync(sourceEntity, entity); |
|||
entity = await _asbitemRecommendLevelRepository.UpdateAsync(entity); |
|||
var dto = ObjectMapper.Map<AsbitemRecommendLevel, AsbitemRecommendLevelDto>(entity); |
|||
dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId); |
|||
dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId); |
|||
return dto; |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 修改排序 置顶,置底
|
|||
/// </summary>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/AsbitemRecommendLevel/UpdateSortTopOrBottom")] |
|||
public async Task UpdateSortTopOrBottomAsync(UpdateAsbitemRecommendLevelSortTopOrBottomInputDto input) |
|||
{ |
|||
await _asbitemRecommendLevelManager.UpdateSortTopOrBottomAsync(input.AsbitemRecommendLevelId, input.SortType); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 修改排序 拖拽
|
|||
/// </summary>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/AsbitemRecommendLevel/UpdateSortDragAsync")] |
|||
public async Task UpdateSortDragAsync(UpdateAsbitemRecommendLevelSortDragDto input) |
|||
{ |
|||
await _asbitemRecommendLevelManager.UpdateSortDragAsync(input); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,96 @@ |
|||
using Shentun.Utilities; |
|||
using Shentun.WebPeis.Models; |
|||
using Shentun.WebPeis.QuestionTypes; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Domain.Repositories; |
|||
using Volo.Abp.Domain.Services; |
|||
|
|||
namespace Shentun.WebPeis.AsbitemRecommendLevels |
|||
{ |
|||
|
|||
|
|||
|
|||
public class AsbitemRecommendLevelManager : DomainService |
|||
{ |
|||
|
|||
private readonly IRepository<AsbitemRecommendLevel> _asbitemRecommendLevelRepository; |
|||
|
|||
public AsbitemRecommendLevelManager(IRepository<AsbitemRecommendLevel> asbitemRecommendLevelRepository) |
|||
{ |
|||
_asbitemRecommendLevelRepository = asbitemRecommendLevelRepository; |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 更新
|
|||
/// </summary>
|
|||
/// <param name="sourceEntity"></param>
|
|||
/// <param name="targetEntity"></param>
|
|||
/// <returns></returns>
|
|||
public async Task UpdateAsync( |
|||
AsbitemRecommendLevel sourceEntity, |
|||
AsbitemRecommendLevel targetEntity |
|||
) |
|||
{ |
|||
DataHelper.CheckEntityIsNull(sourceEntity); |
|||
DataHelper.CheckEntityIsNull(targetEntity); |
|||
DataHelper.CheckStringIsNull(sourceEntity.AsbitemRecommendLevelName, "名称"); |
|||
if (sourceEntity.AsbitemRecommendLevelName != targetEntity.AsbitemRecommendLevelName) |
|||
{ |
|||
var isQuestionType = await _asbitemRecommendLevelRepository.FirstOrDefaultAsync(f => f.AsbitemRecommendLevelId != sourceEntity.AsbitemRecommendLevelId |
|||
&& f.AsbitemRecommendLevelName == sourceEntity.AsbitemRecommendLevelName); |
|||
if (isQuestionType != null) |
|||
throw new UserFriendlyException($"组合项目推荐级别名称{sourceEntity.AsbitemRecommendLevelName}已存在"); |
|||
targetEntity.AsbitemRecommendLevelName = sourceEntity.AsbitemRecommendLevelName; |
|||
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.AsbitemRecommendLevelName); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 修改排序 置顶,置底
|
|||
/// </summary>
|
|||
/// <param name="id">需要修改的ID</param>
|
|||
/// <param name="SortType">修改方式:1 置顶 2 置底</param>
|
|||
/// <returns></returns>
|
|||
public async Task UpdateSortTopOrBottomAsync(short AsbitemRecommendLevelId, int SortType) |
|||
{ |
|||
var entity = await _asbitemRecommendLevelRepository.GetAsync(f => f.AsbitemRecommendLevelId == AsbitemRecommendLevelId); |
|||
await EntityHelper.UpdateSortTopOrBottomAsync(_asbitemRecommendLevelRepository, entity, SortType); |
|||
} |
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 修改排序 拖拽
|
|||
/// </summary>
|
|||
/// <typeparam name="TEntity"></typeparam>
|
|||
/// <param name="repository"></param>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
public async Task UpdateSortDragAsync(UpdateAsbitemRecommendLevelSortDragDto input) |
|||
{ |
|||
var entitylist = await _asbitemRecommendLevelRepository.GetListAsync(o => input.ItemList.Select(s => s.AsbitemRecommendLevelId).Contains(o.AsbitemRecommendLevelId)); |
|||
|
|||
foreach (var entity in entitylist) |
|||
{ |
|||
foreach (var item in input.ItemList) |
|||
{ |
|||
if (item.AsbitemRecommendLevelId == entity.AsbitemRecommendLevelId) |
|||
entity.DisplayOrder = item.DisplayOrder; |
|||
} |
|||
} |
|||
|
|||
await _asbitemRecommendLevelRepository.UpdateManyAsync(entitylist); |
|||
} |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace Shentun.WebPeis.AsbitemRecommendLevels |
|||
{ |
|||
|
|||
public class UpdateAsbitemRecommendLevelSortDragDto |
|||
{ |
|||
public List<UpdateAsbitemRecommendLevelSortDragDetail> ItemList { get; set; } |
|||
} |
|||
|
|||
public class UpdateAsbitemRecommendLevelSortDragDetail |
|||
{ |
|||
public short AsbitemRecommendLevelId { get; set; } |
|||
public int DisplayOrder { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace Shentun.WebPeis.AsbitemRecommendLevels |
|||
{ |
|||
public class UpdateAsbitemRecommendLevelSortTopOrBottomInputDto |
|||
{ |
|||
public short AsbitemRecommendLevelId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 修改方式:1 置顶 2 置底
|
|||
/// </summary>
|
|||
public int SortType { get; set; } |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue