|
@@ -29,6 +29,8 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IRepository<QualityItem> _qualiteyItem;
|
|
|
private readonly IRepository<QualityTemplate> _qualityTemplate;
|
|
|
private readonly IRepository<QualityTemplateDetail> _qualiteyTemplateDetail;
|
|
|
+ private readonly IRepository<QualityProhibited> _qualiteyProhibited;
|
|
|
+ private readonly ISystemDomainService _systemDomainService;
|
|
|
|
|
|
public QualityController(
|
|
|
ISessionContext sessionContext,
|
|
@@ -37,7 +39,9 @@ namespace Hotline.Api.Controllers
|
|
|
IRepository<Quality.QualityDetail> qualiteyDetail,
|
|
|
IRepository<QualityItem> qualiteyItem,
|
|
|
IRepository<QualityTemplate> qualityTemplate,
|
|
|
- IRepository<QualityTemplateDetail> qualiteyTemplateDetail
|
|
|
+ IRepository<QualityTemplateDetail> qualiteyTemplateDetail,
|
|
|
+ IRepository<QualityProhibited> qualiteyProhibited,
|
|
|
+ ISystemDomainService systemDomainService
|
|
|
)
|
|
|
{
|
|
|
_sessionContext = sessionContext;
|
|
@@ -47,6 +51,8 @@ namespace Hotline.Api.Controllers
|
|
|
_qualiteyItem = qualiteyItem;
|
|
|
_qualityTemplate = qualityTemplate;
|
|
|
_qualiteyTemplateDetail = qualiteyTemplateDetail;
|
|
|
+ _qualiteyProhibited = qualiteyProhibited;
|
|
|
+ _systemDomainService = systemDomainService;
|
|
|
}
|
|
|
#region 质检管理
|
|
|
/// <summary>
|
|
@@ -298,6 +304,78 @@ namespace Hotline.Api.Controllers
|
|
|
}
|
|
|
#endregion
|
|
|
#region 质检词库管理
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 新增违禁词
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dtos"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.AddQualityProhibited)]
|
|
|
+ [HttpPost("prohibited")]
|
|
|
+ public async Task Add([FromBody] ProhibitedAddDto dto)
|
|
|
+ {
|
|
|
+ var model = _mapper.Map<QualityProhibited>(dto);
|
|
|
+ await _qualiteyProhibited.AddAsync(model, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 删除违禁词
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.DeleteQualityProhibited)]
|
|
|
+ [HttpDelete("prohibited")]
|
|
|
+ public async Task Delete([FromBody] ProhibitedDeleteDto dto)
|
|
|
+ {
|
|
|
+ await _qualiteyProhibited.RemoveAsync(x => x.Id == dto.Id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 更新违禁词
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.UpdateQualityProhibited)]
|
|
|
+ [HttpPut("prohibited")]
|
|
|
+ public async Task Update([FromBody] ProhibitedUpdateDto dto)
|
|
|
+ {
|
|
|
+ var template = await _qualiteyProhibited.GetAsync(dto.Id, HttpContext.RequestAborted);
|
|
|
+ if (template is null)
|
|
|
+ throw UserFriendlyException.SameMessage("无效质检模版");
|
|
|
+ _mapper.Map(dto, template);
|
|
|
+ await _qualiteyProhibited.UpdateAsync(template, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ /// 获取违禁词列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.QualityProhibitedList)]
|
|
|
+ [HttpGet("prohibited/list")]
|
|
|
+ public async Task<PagedDto<QualityProhibitedDto>> List([FromQuery] ProhibitedListDto dto)
|
|
|
+ {
|
|
|
+ var (total, items) = await _qualiteyProhibited.Queryable()
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Name), d => d.Name.Contains(dto.Name!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Classify), d => d.Classify.Contains(dto.Classify!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Type), d => d.Type.Contains(dto.Type!))
|
|
|
+ .OrderByDescending(x => x.CreationTime)
|
|
|
+ .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+ return new PagedDto<QualityProhibitedDto>(total, _mapper.Map<IReadOnlyList<QualityProhibitedDto>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取违禁词实体
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="id"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.QualityTemplateEntity)]
|
|
|
+ [HttpGet("prohibited/{id}")]
|
|
|
+ public async Task<QualityProhibited> ProhibitedEntity(string id)
|
|
|
+ {
|
|
|
+ return await _qualiteyProhibited.Queryable()
|
|
|
+ .FirstAsync(x => x.Id == id);
|
|
|
+ }
|
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
@@ -313,6 +391,23 @@ namespace Hotline.Api.Controllers
|
|
|
QualityItem = EnumExts.GetDescriptions<EQualityItem>(),
|
|
|
QualityItemGrouping = await _qualiteyItem.Queryable().Where(x => x.Type == EQualityItem.Grouping).ToListAsync(),
|
|
|
TemplateGrouping = EnumExts.GetDescriptions<ETemplateGrouping>(),
|
|
|
+ ProhibitedClassify = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.ProhibitedClassify),
|
|
|
+ ProhibitedType = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.ProhibitedType),
|
|
|
+ };
|
|
|
+ return Task.FromResult<object>(rsp);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取违禁词基本信息
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("prohibited_base")]
|
|
|
+ public async Task<object> ProhibitedBase()
|
|
|
+ {
|
|
|
+ var rsp = new
|
|
|
+ {
|
|
|
+ ProhibitedClassify = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.ProhibitedClassify),
|
|
|
+ ProhibitedType = await _systemDomainService.GetSysDicDataByCodeAsync(SysDicTypeConsts.ProhibitedType),
|
|
|
};
|
|
|
return Task.FromResult<object>(rsp);
|
|
|
}
|