62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
| using AutoMapper;
 | |
| using AutoMapper.QueryableExtensions;
 | |
| using IRaCIS.Core.Infrastructure.ExpressionExtend;
 | |
| using IRaCIS.Application.Interfaces;
 | |
| using IRaCIS.Core.Domain.Share;
 | |
| using IRaCIS.Core.Infra.EFCore;
 | |
| using IRaCIS.Core.Domain.Models;
 | |
| using IRaCIS.Core.Infrastructure.Extention;
 | |
| using Microsoft.AspNetCore.Mvc;
 | |
| using Panda.DynamicWebApi.Attributes;
 | |
| 
 | |
| namespace IRaCIS.Application.Services
 | |
| {
 | |
|     [ ApiExplorerSettings(GroupName = "Financial")]
 | |
|     public class VolumeRewardService : BaseService, IVolumeRewardService
 | |
|     {
 | |
|         private readonly IRepository<VolumeReward> _volumeRewardRepository;
 | |
|         
 | |
| 
 | |
|         public VolumeRewardService(IRepository<VolumeReward> volumeRewardRepository,IMapper mapper)
 | |
|         {
 | |
|             _volumeRewardRepository = volumeRewardRepository;
 | |
|             
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 批量添加或更新奖励费用单价
 | |
|         /// </summary>
 | |
|         [NonDynamicMethod]
 | |
|         public async Task<IResponseOutput> AddOrUpdateVolumeRewardPriceList(IEnumerable<AwardPriceCommand> addOrUpdateModel)
 | |
|         {
 | |
|             await  _volumeRewardRepository.DeleteFromQueryAsync(t => t.Id != Guid.Empty);
 | |
|             var temp = _mapper.Map<List<VolumeReward>>(addOrUpdateModel);
 | |
|            
 | |
|             await _volumeRewardRepository.AddRangeAsync(temp);
 | |
|             var success = await _volumeRewardRepository.SaveChangesAsync();
 | |
| 
 | |
|             return ResponseOutput.Result(success);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取所有奖励单价列表-用于计算时,一次性获取所有
 | |
|         /// </summary>
 | |
|         [NonDynamicMethod]
 | |
|         public async Task<List<AwardPriceCalculateDTO>> GetVolumeRewardPriceList()
 | |
|         {
 | |
|             return await _volumeRewardRepository.ProjectTo<AwardPriceCalculateDTO>(_mapper.ConfigurationProvider).OrderBy(t => t.Min).ToListAsync();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 分页获取奖励单价列表
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public async Task<PageOutput<AwardPriceDTO>> GetVolumeRewardPriceList(AwardPriceQueryDTO queryParam)
 | |
|         {
 | |
|             var awardPriceQueryable = _volumeRewardRepository.ProjectTo<AwardPriceDTO>(_mapper.ConfigurationProvider);
 | |
| 
 | |
|             return await awardPriceQueryable.ToPagedListAsync(queryParam.PageIndex, queryParam.PageSize, "Min");
 | |
|           
 | |
|         }
 | |
|     }
 | |
| } |