You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.3 KiB
Java
82 lines
3.3 KiB
Java
package com.supervision.pdfqaserver.service.impl;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.supervision.pdfqaserver.domain.TruncationEntityExtraction;
|
|
import com.supervision.pdfqaserver.domain.TruncationErAttribute;
|
|
import com.supervision.pdfqaserver.dto.TruncationERAttributeDTO;
|
|
import com.supervision.pdfqaserver.dto.EntityExtractionDTO;
|
|
import com.supervision.pdfqaserver.service.TruncationEntityExtractionService;
|
|
import com.supervision.pdfqaserver.mapper.TruncationEntityExtractionMapper;
|
|
import com.supervision.pdfqaserver.service.TruncationErAttributeService;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author Administrator
|
|
* @description 针对表【truncation_entity_extraction(片段实体抽取)】的数据库操作Service实现
|
|
* @createDate 2025-04-27 11:45:24
|
|
*/
|
|
@Slf4j
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class TruncationEntityExtractionServiceImpl extends ServiceImpl<TruncationEntityExtractionMapper, TruncationEntityExtraction>
|
|
implements TruncationEntityExtractionService{
|
|
|
|
private final TruncationErAttributeService truncationErAttributeService;
|
|
@Override
|
|
public void saveERE(List<EntityExtractionDTO> entities) {
|
|
if (CollUtil.isEmpty(entities)){
|
|
return;
|
|
}
|
|
for (EntityExtractionDTO entity : entities) {
|
|
TruncationEntityExtraction tee = new TruncationEntityExtraction();
|
|
tee.setTruncationId(entity.getTruncationId());
|
|
tee.setEntity(entity.getEntity());
|
|
tee.setName(entity.getName());
|
|
this.save(tee);
|
|
List<TruncationERAttributeDTO> attributes = entity.getAttributes();
|
|
if (CollUtil.isEmpty(attributes)){
|
|
continue;
|
|
}
|
|
for (TruncationERAttributeDTO attribute : attributes) {
|
|
attribute.setTerId(tee.getId());
|
|
TruncationErAttribute era = attribute.toTruncationErAttribute();
|
|
era.setAssociationType("0"); // 0: 实体
|
|
truncationErAttributeService.save(era);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void deleteByTruncationId(String truncationId) {
|
|
if (StrUtil.isEmpty(truncationId)){
|
|
return;
|
|
}
|
|
List<TruncationEntityExtraction> truncationEntityExtractions = this.lambdaQuery()
|
|
.eq(TruncationEntityExtraction::getTruncationId, truncationId)
|
|
.list();
|
|
if (CollUtil.isNotEmpty(truncationEntityExtractions)){
|
|
List<String> terIds = truncationEntityExtractions.stream().map(TruncationEntityExtraction::getId).toList();
|
|
truncationErAttributeService.deleteByTerIds(terIds);
|
|
this.lambdaUpdate().eq(TruncationEntityExtraction::getTruncationId, truncationId).remove();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public List<TruncationEntityExtraction> queryByTruncationIds(List<String> truncationIds) {
|
|
if (CollUtil.isEmpty(truncationIds)){
|
|
return new ArrayList<>();
|
|
}
|
|
return this.lambdaQuery().in(TruncationEntityExtraction::getTruncationId, truncationIds).list();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|