Browse Source

用户对应项目类别

bjmzak
wxd 2 years ago
parent
commit
ddd09b07d3
  1. 84
      src/Shentun.Peis.Application/UserItemTypes/UserItemTypeAppService.cs

84
src/Shentun.Peis.Application/UserItemTypes/UserItemTypeAppService.cs

@ -0,0 +1,84 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp;
namespace Shentun.Peis.UserItemTypes
{
/// <summary>
/// 用户对应项目类别
/// </summary>
[ApiExplorerSettings(GroupName = "Work")]
[Authorize]
public class UserItemTypeAppService
{
private readonly IRepository<UserItemType> _userItemTypeRepository;
public UserItemTypeAppService(
IRepository<UserItemType> userItemTypeRepository
)
{
_userItemTypeRepository = userItemTypeRepository;
}
/// <summary>
/// 设置用户对应的项目类别 先删除,后创建
/// </summary>
/// <param name="UserId">用户ID</param>
/// <param name="ItemTypeIds">对应的项目类别ID集合</param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/UserItemType/CreateMany")]
public async Task CreateManyAsync(Guid UserId, List<Guid> ItemTypeIds)
{
if (UserId == Guid.Empty)
{
throw new UserFriendlyException($"用户ID不能为空");
}
await _userItemTypeRepository.DeleteAsync(d => d.UserId == UserId, true);
if (ItemTypeIds.Any())
{
List<UserItemType> entlist = new List<UserItemType>();
foreach (var itemTypeId in ItemTypeIds)
{
var ent = new UserItemType
{
UserId = UserId,
ItemTypeId = itemTypeId
};
entlist.Add(ent);
}
await _userItemTypeRepository.InsertManyAsync(entlist);
}
}
/// <summary>
/// 获取当前用户对应的项目类别
/// </summary>
/// <param name="UserId">用户ID</param>
/// <returns></returns>
[HttpPost("api/app/UserItemType/GetUserItemType")]
public async Task<List<Guid>> GetUserItemTypeAsync(Guid UserId)
{
List<Guid> guids = new List<Guid>();
var entlist = await _userItemTypeRepository.GetListAsync(m => m.UserId == UserId);
if (entlist.Any())
{
guids = entlist.Select(s => s.ItemTypeId).ToList();
}
return guids;
}
}
}
Loading…
Cancel
Save