manage : fix 知识库导入

dev_2.1.0
xueqingkun 1 year ago
parent 7bb84e32cc
commit f6b35ab1d5

@ -18,7 +18,6 @@ import com.supervision.manage.service.FileManageService;
import com.supervision.model.*; import com.supervision.model.*;
import com.supervision.service.AskTemplateQuestionLibraryService; import com.supervision.service.AskTemplateQuestionLibraryService;
import com.supervision.service.CommonDicService; import com.supervision.service.CommonDicService;
import com.supervision.util.RedisSequenceUtil;
import com.supervision.vo.manage.AskQuestionLibraryReqVo; import com.supervision.vo.manage.AskQuestionLibraryReqVo;
import com.supervision.vo.manage.AskQuestionLibraryResVo; import com.supervision.vo.manage.AskQuestionLibraryResVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -37,6 +36,7 @@ import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -82,36 +82,40 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
public String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) { public String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) {
assertSave(askTemplateQuestionLibrary); assertSave(askTemplateQuestionLibrary);
String nextCode = RedisSequenceUtil.getQuestionLibraryCode(() -> { CommonDic commonDic = commonDicService.lambdaQuery().eq(CommonDic::getId, askTemplateQuestionLibrary.getDictId()).one();
String maxCode = askTemplateQuestionLibraryService.getMaxCode(); Assert.notNull(commonDic,"字典信息不存在");
if (StrUtil.isNotEmpty(maxCode)) { // 不存在,则新增
return Long.parseLong(StrUtil.removePrefix(maxCode, "Q")); AskTemplateQuestionLibrary one = askTemplateQuestionLibraryService.lambdaQuery().eq(AskTemplateQuestionLibrary::getDictId, askTemplateQuestionLibrary.getDictId()).one();
if (Objects.nonNull(one)){
// 更新数据
List<String> question = one.getQuestion();
if (CollUtil.isEmpty(question)){
question = CollUtil.newArrayList(askTemplateQuestionLibrary.getDescription());
}else if (!question.contains(askTemplateQuestionLibrary.getDescription())){
question.add(askTemplateQuestionLibrary.getDescription());
} }
return null; one.setQuestion(question);
}); one.setDefaultAnswer(askTemplateQuestionLibrary.getDefaultAnswer());
askTemplateQuestionLibraryService.updateById(one);
String nextDefaultCode = RedisSequenceUtil.getQuestionLibraryDefaultAnswerCode(() -> { return one.getId();
String code = askTemplateQuestionLibraryService.getMaxDefaultAnswerCode(); }else {
if (StrUtil.isNotEmpty(code)) { // 新增数据
return Long.parseLong(StrUtil.removePrefix(code, "A")); askTemplateQuestionLibrary.setQuestion(CollUtil.newArrayList(askTemplateQuestionLibrary.getDescription()));
if (StrUtil.isBlank(commonDic.getDescription())){
askTemplateQuestionLibrary.setDescription(commonDic.getDescription());
askTemplateQuestionLibrary.getQuestion().add(commonDic.getDescription());
} }
return null; askTemplateQuestionLibraryService.updateById(askTemplateQuestionLibrary);
}); return askTemplateQuestionLibrary.getId();
}
askTemplateQuestionLibrary.setCode(nextCode);
askTemplateQuestionLibrary.setDefaultAnswerCode(nextDefaultCode);
askTemplateQuestionLibrary.setQuestion(CollUtil.newArrayList(askTemplateQuestionLibrary.getDescription()));
askTemplateQuestionLibraryService.save(askTemplateQuestionLibrary);
return askTemplateQuestionLibrary.getId();
} }
@Override @Override
public boolean updateQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) { public boolean updateQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) {
Assert.notEmpty(askTemplateQuestionLibrary.getId(),"id不能为空"); Assert.notEmpty(askTemplateQuestionLibrary.getId(),"id不能为空");
assertSave(askTemplateQuestionLibrary);
askTemplateQuestionLibrary.setQuestion(CollUtil.newArrayList(askTemplateQuestionLibrary.getDescription())); assertSave(askTemplateQuestionLibrary);
return askTemplateQuestionLibraryService.updateById(askTemplateQuestionLibrary); return true;
} }
@Override @Override
@ -134,7 +138,8 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
assertTitle(reader); assertTitle(reader);
List<UploadQuestionLibraryDTO> uploadQuestionLibraryDTOS = reader.readAll(UploadQuestionLibraryDTO.class); List<UploadQuestionLibraryDTO> uploadQuestionLibraryDTOS = reader.readAll(UploadQuestionLibraryDTO.class);
questionExcelDoAction(uploadQuestionLibraryDTOS);
questionExcelDoAction(uploadQuestionLibraryDTOS);
// 更新知识库 // 更新知识库
List<UploadQuestionLibraryDTO> currentDTOS = uploadQuestionLibraryDTOS.stream().filter(dto -> CollUtil.isEmpty(dto.getErrorCodeEnums())).collect(Collectors.toList()); List<UploadQuestionLibraryDTO> currentDTOS = uploadQuestionLibraryDTOS.stream().filter(dto -> CollUtil.isEmpty(dto.getErrorCodeEnums())).collect(Collectors.toList());
@ -178,7 +183,8 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
private void assertSave(AskTemplateQuestionLibrary askTemplateQuestionLibrary){ private void assertSave(AskTemplateQuestionLibrary askTemplateQuestionLibrary){
//Assert.notNull(askTemplateQuestionLibrary.getDictId(),"问题类目不能为空"); // 问题类目不能为空
Assert.notNull(askTemplateQuestionLibrary.getDictId(),"问题类目不能为空");
Assert.notEmpty(askTemplateQuestionLibrary.getDescription(),"问题不能为空"); Assert.notEmpty(askTemplateQuestionLibrary.getDescription(),"问题不能为空");
Assert.notEmpty(askTemplateQuestionLibrary.getDefaultAnswer(),"默认回答不能为空"); Assert.notEmpty(askTemplateQuestionLibrary.getDefaultAnswer(),"默认回答不能为空");
} }
@ -222,8 +228,8 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa
// 查询问题库问题 // 查询问题库问题
List<AskTemplateQuestionLibrary> questionLibraryList = askTemplateQuestionLibraryService.list(); List<AskTemplateQuestionLibrary> questionLibraryList = askTemplateQuestionLibraryService.list();
// 查询类目字段 // 查询类目字段
//List<CommonDic> questionTypeDicList = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").list(); List<CommonDic> questionTypeDicList = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").list();
uploadQuestionLibraryDTOS.forEach(dto->dto.doAction(questionLibraryList,CollUtil.newArrayList())); uploadQuestionLibraryDTOS.forEach(dto->dto.doAction(questionLibraryList,questionTypeDicList));
} }
/** /**

Loading…
Cancel
Save