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