You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.3 KiB
113 lines
4.3 KiB
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);
|
|
}
|
|
}
|
|
}
|