fix 优化细节

This commit is contained in:
2024-03-06 22:51:39 +08:00
parent 04f20e7cf2
commit 83aa9cb954
3 changed files with 19 additions and 17 deletions

View File

@@ -89,29 +89,32 @@ public class GainfoGroupService : IGainfoGroupService
public async Task AssignGainfosAsync(GainfoAssignRequest request)
{
var pGrp = await _dbContext.Queryable<GainfoGroupEntity>().Where(x => x.Code == request.GroupCode).FirstAsync();
pGrp?.Editable.ThrowIfFalse("不可分配人员到当前分组");
if (request.UserNos.IsPresent())
{
var pGrp = await _dbContext.Queryable<GainfoGroupEntity>().Where(x => x.Code == request.GroupCode).FirstAsync();
pGrp?.Editable.ThrowIfFalse("不可分配人员到当前分组");
}
var existsNextGroup = await _dbContext.Queryable<GainfoGroupEntity>().Where(x => x.PCode == request.GroupCode).AnyAsync();
existsNextGroup.ThrowIfTrue("存在下级分组,无法分配人员");
await _devicePermissionService.GenerateDeviceTasksAsync(async () =>
{
var relations = await _dbContext.Queryable<GainfoGroupRelationshipEntity>().Where(x => x.GroupCode == request.GroupCode).ToListAsync();
await _dbContext.DeleteReallyAsync(relations);
var relations = await _dbContext.Queryable<GainfoGroupRelationshipEntity>().Where(x => x.GroupCode == request.GroupCode).ToListAsync();
await _dbContext.DeleteReallyAsync(relations);
request.UserNos = await _dbContext.Queryable<GainfoEntity>().Where(x => request.UserNos.Contains(x.No)).Select(x => x.No).ToListAsync();
var entities = request.UserNos.Select(x => new GainfoGroupRelationshipEntity
{
GroupCode = request.GroupCode,
UserNo = x,
request.UserNos = await _dbContext.Queryable<GainfoEntity>().Where(x => request.UserNos.Contains(x.No)).Select(x => x.No).ToListAsync();
var entities = request.UserNos.Select(x => new GainfoGroupRelationshipEntity
{
GroupCode = request.GroupCode,
UserNo = x,
}).ToList();
await _dbContext.InsertAsync(entities);
}).ToList();
}, null);
await _dbContext.InsertAsync(entities);
}, null);
}
//******************************************************* help methods ***********************************************************