Commit 1468297d authored by R10's avatar R10

智写-立案调查

parent 7d179e72
...@@ -2,10 +2,10 @@ package cn.com.poc.law.entity.LegislativeDocument; ...@@ -2,10 +2,10 @@ package cn.com.poc.law.entity.LegislativeDocument;
/** /**
* @Author:Roger Wu * @Author:Roger Wu
* @name:LegislativeDocumentEntity * @name:LegislativeDocumentResult
* @Date:2025-08-12 18:22 * @Date:2025-08-12 18:22
*/ */
public class LegislativeDocumentEntity { public class LegislativeDocumentResult {
CaseInfo caseInfo; CaseInfo caseInfo;
......
package cn.com.poc.law.rest; package cn.com.poc.law.rest;
import cn.com.poc.law.dto.AiLawDialoguesDto; import cn.com.poc.law.dto.AiLawDialoguesDto;
import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentEntity; import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentResult;
import cn.com.yict.framemax.core.rest.BaseRest; import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access; import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission; import cn.com.yict.framemax.web.permission.Permission;
...@@ -16,6 +16,13 @@ public interface BizAiLegislativeDocumentWritingRest extends BaseRest { ...@@ -16,6 +16,13 @@ public interface BizAiLegislativeDocumentWritingRest extends BaseRest {
* @param dto * @param dto
* @return * @return
*/ */
LegislativeDocumentEntity legislativeApply(@RequestBody AiLawDialoguesDto dto) throws Exception; LegislativeDocumentResult legislativeApply(@RequestBody AiLawDialoguesDto dto) throws Exception;
/**
* 获取立案调查详情
* @param dialoguesId
* @return
* @throws Exception
*/
LegislativeDocumentResult getLegislativeApplyDetail(String dialoguesId) throws Exception;
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ package cn.com.poc.law.rest.impl; ...@@ -2,7 +2,7 @@ package cn.com.poc.law.rest.impl;
import cn.com.poc.common.utils.BlContext; import cn.com.poc.common.utils.BlContext;
import cn.com.poc.law.dto.AiLawDialoguesDto; import cn.com.poc.law.dto.AiLawDialoguesDto;
import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentEntity; import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentResult;
import cn.com.poc.law.rest.BizAiLegislativeDocumentWritingRest; import cn.com.poc.law.rest.BizAiLegislativeDocumentWritingRest;
import cn.com.poc.law.service.BizAiLegislativeDocumentWritingService; import cn.com.poc.law.service.BizAiLegislativeDocumentWritingService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity; import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
...@@ -13,22 +13,37 @@ import javax.annotation.Resource; ...@@ -13,22 +13,37 @@ import javax.annotation.Resource;
@Component @Component
public class BizAiLegislativeDocumentWritingRestImpl implements BizAiLegislativeDocumentWritingRest { public class BizAiLegislativeDocumentWritingRestImpl implements BizAiLegislativeDocumentWritingRest {
@Resource @Resource
private BizAiLegislativeDocumentWritingService service; private BizAiLegislativeDocumentWritingService service;
/** /**
* 立案调查保存 * 立案调查保存
* *
* @param dto * @param dto
* @return * @return
*/ */
@Override @Override
public LegislativeDocumentEntity legislativeApply(AiLawDialoguesDto dto) throws Exception { public LegislativeDocumentResult legislativeApply(AiLawDialoguesDto dto) throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException(); UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) { if (userBaseEntity == null) {
throw new BusinessException("用户未登录"); throw new BusinessException("用户未登录");
} }
return service.call(dto.getDialoguesId(), dto.getInput(), dto.getFileUrl(), userBaseEntity.getUserId()); return service.call(dto.getDialoguesId(), dto.getInput(), dto.getFileUrl(), userBaseEntity.getUserId());
} }
/**
* 获取立案调查详情
*
* @param dialoguesId
* @return
*/
@Override
public LegislativeDocumentResult getLegislativeApplyDetail(String dialoguesId) throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new BusinessException("用户未登录");
}
return service.getlegislativeApplyDetail(dialoguesId, userBaseEntity.getUserId());
}
} }
\ No newline at end of file
package cn.com.poc.law.service; package cn.com.poc.law.service;
import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentEntity; import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentResult;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.law.entity.BizAiLegislativeDocumentWritingEntity; import cn.com.poc.law.entity.BizAiLegislativeDocumentWritingEntity;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
...@@ -19,5 +19,7 @@ public interface BizAiLegislativeDocumentWritingService extends BaseService { ...@@ -19,5 +19,7 @@ public interface BizAiLegislativeDocumentWritingService extends BaseService {
void deletedById(java.lang.Integer id) throws Exception; void deletedById(java.lang.Integer id) throws Exception;
LegislativeDocumentEntity call(String dialoguesId, String input, String fileUrl, Long userId) throws Exception; LegislativeDocumentResult call(String dialoguesId, String input, String fileUrl, Long userId) throws Exception;
LegislativeDocumentResult getlegislativeApplyDetail(String dialoguesId, Long userId) throws Exception;
} }
\ No newline at end of file
...@@ -15,6 +15,7 @@ import cn.com.poc.common.utils.JsonUtils; ...@@ -15,6 +15,7 @@ import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.common.utils.SSEUtil; import cn.com.poc.common.utils.SSEUtil;
import cn.com.poc.law.dto.TemplateDataDetailDto; import cn.com.poc.law.dto.TemplateDataDetailDto;
import cn.com.poc.law.entity.BizAiLawyerWritingTemplateDataEntity; import cn.com.poc.law.entity.BizAiLawyerWritingTemplateDataEntity;
import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentResult;
import cn.com.poc.law.extractEntityStrategy.ExtractEntityStrategy; import cn.com.poc.law.extractEntityStrategy.ExtractEntityStrategy;
import cn.com.poc.law.extractEntityStrategy.LawyerExtractTypeConstants; import cn.com.poc.law.extractEntityStrategy.LawyerExtractTypeConstants;
import cn.com.poc.law.extractEntityStrategy.LawyerTemplateExtractServiceBuilder; import cn.com.poc.law.extractEntityStrategy.LawyerTemplateExtractServiceBuilder;
...@@ -238,8 +239,10 @@ public class AiLawServiceImpl implements AiLawService { ...@@ -238,8 +239,10 @@ public class AiLawServiceImpl implements AiLawService {
if (!ifCover) { if (!ifCover) {
TemplateDataDetailDto templateDataDetail = bizAiLawyerWritingTemplateDataService.getTemplateDataDetail(dialoguesId, userId); TemplateDataDetailDto templateDataDetail = bizAiLawyerWritingTemplateDataService.getTemplateDataDetail(dialoguesId, userId);
LegalTemplateDto oldLegalTemplateDto = templateDataDetail.getLegalTemplateDto(); LegalTemplateDto oldLegalTemplateDto = templateDataDetail.getLegalTemplateDto();
JsonUtils.deepMerge(new JSONObject().getJSONObject(JsonUtils.serialize(legalTemplateDto)),new JSONObject().getJSONObject(JsonUtils.serialize(oldLegalTemplateDto))); JSONObject legalTemplateDtoJsonObject = JSONObject.parseObject(JsonUtils.serialize(legalTemplateDto));
returnLegalTemplateDto = oldLegalTemplateDto; JSONObject oldLegalTemplateDtoJsonObject = JSONObject.parseObject(JsonUtils.serialize(oldLegalTemplateDto));
JsonUtils.deepMerge(legalTemplateDtoJsonObject, oldLegalTemplateDtoJsonObject);
returnLegalTemplateDto = oldLegalTemplateDtoJsonObject.toJavaObject(LegalTemplateDto.class);
} }
long inputTimestamp = System.currentTimeMillis(); long inputTimestamp = System.currentTimeMillis();
......
...@@ -9,7 +9,7 @@ import cn.com.poc.ai_dialogues.service.BizAiDialoguesService; ...@@ -9,7 +9,7 @@ import cn.com.poc.ai_dialogues.service.BizAiDialoguesService;
import cn.com.poc.common.constant.CommonConstant; import cn.com.poc.common.constant.CommonConstant;
import cn.com.poc.common.utils.DocumentLoad; import cn.com.poc.common.utils.DocumentLoad;
import cn.com.poc.common.utils.JsonUtils; import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentEntity; import cn.com.poc.law.entity.LegislativeDocument.LegislativeDocumentResult;
import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum; import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message; import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult; import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult;
...@@ -24,6 +24,7 @@ import cn.com.poc.law.convert.BizAiLegislativeDocumentWritingConvert; ...@@ -24,6 +24,7 @@ import cn.com.poc.law.convert.BizAiLegislativeDocumentWritingConvert;
import cn.com.poc.law.repository.BizAiLegislativeDocumentWritingRepository; import cn.com.poc.law.repository.BizAiLegislativeDocumentWritingRepository;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -40,8 +41,7 @@ import javax.annotation.Resource; ...@@ -40,8 +41,7 @@ import javax.annotation.Resource;
import org.springframework.util.Assert; import org.springframework.util.Assert;
@Service @Service
public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl implements BizAiLegislativeDocumentWritingService {
implements BizAiLegislativeDocumentWritingService {
@Resource @Resource
private BizAiLegislativeDocumentWritingRepository repository; private BizAiLegislativeDocumentWritingRepository repository;
...@@ -140,7 +140,7 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl ...@@ -140,7 +140,7 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl
} }
@Override @Override
public LegislativeDocumentEntity call(String dialoguesId, String input, String fileUrl, Long userId) throws Exception { public LegislativeDocumentResult call(String dialoguesId, String input, String fileUrl, Long userId) throws Exception {
BizAiDialoguesEntity bizAiDialoguesEntity = new BizAiDialoguesEntity(); BizAiDialoguesEntity bizAiDialoguesEntity = new BizAiDialoguesEntity();
bizAiDialoguesEntity.setDialoguesId(dialoguesId); bizAiDialoguesEntity.setDialoguesId(dialoguesId);
bizAiDialoguesEntity.setMemberId(userId); bizAiDialoguesEntity.setMemberId(userId);
...@@ -165,13 +165,13 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl ...@@ -165,13 +165,13 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl
largeModelResponse.setMessages(messages.toArray(new Message[0])); largeModelResponse.setMessages(messages.toArray(new Message[0]));
largeModelResponse.setStream(false); largeModelResponse.setStream(false);
LargeModelDemandResult chat = llmService.chat(largeModelResponse); LargeModelDemandResult chat = llmService.chat(largeModelResponse);
LegislativeDocumentEntity legislativeDocumentEntity = new LegislativeDocumentEntity(); LegislativeDocumentResult legislativeDocumentResult = new LegislativeDocumentResult();
if (ObjectUtil.isEmpty(chat) || !chat.getCode().equals("0")) { if (ObjectUtil.isEmpty(chat) || !chat.getCode().equals("0")) {
throw new BusinessException("获取失败"); throw new BusinessException("获取失败");
} }
String message = chat.getMessage().replaceAll("```json", StringUtils.EMPTY).replaceAll("```", StringUtils.EMPTY); String message = chat.getMessage().replaceAll("```json", StringUtils.EMPTY).replaceAll("```", StringUtils.EMPTY);
legislativeDocumentEntity = JsonUtils.deSerialize(message, LegislativeDocumentEntity.class); legislativeDocumentResult = JsonUtils.deSerialize(message, LegislativeDocumentResult.class);
if (ObjectUtil.isEmpty(legislativeDocumentEntity)) { if (ObjectUtil.isEmpty(legislativeDocumentResult)) {
throw new BusinessException("提取失败"); throw new BusinessException("提取失败");
} }
...@@ -195,11 +195,45 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl ...@@ -195,11 +195,45 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl
bizAgentApplicationDialoguesRecordService.save(inputRecord); bizAgentApplicationDialoguesRecordService.save(inputRecord);
bizAgentApplicationDialoguesRecordService.save(assistantRecord); bizAgentApplicationDialoguesRecordService.save(assistantRecord);
//找出原有的,做替换
BizAiLegislativeDocumentWritingEntity example = new BizAiLegislativeDocumentWritingEntity();
example.setLegislativeDocumentWritingDialoguesId(dialoguesId);
example.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAiLegislativeDocumentWritingEntity> bizAiLegislativeDocumentWritingEntities = findByExample(example, null);
BizAiLegislativeDocumentWritingEntity bizAiLegislativeDocumentWritingEntity = new BizAiLegislativeDocumentWritingEntity(); BizAiLegislativeDocumentWritingEntity bizAiLegislativeDocumentWritingEntity = new BizAiLegislativeDocumentWritingEntity();
bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingDialoguesId(dialoguesId); bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingDialoguesId(dialoguesId);
bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingDialoguesData(JsonUtils.serialize(legislativeDocumentEntity));
bizAiLegislativeDocumentWritingService.save(bizAiLegislativeDocumentWritingEntity); if (CollectionUtils.isNotEmpty(bizAiLegislativeDocumentWritingEntities)) {
return legislativeDocumentEntity; BizAiLegislativeDocumentWritingEntity aiLegislativeDocumentWritingEntity = bizAiLegislativeDocumentWritingEntities.get(0);
LegislativeDocumentResult oldLegislativeDocumentResult = JsonUtils.deSerialize(aiLegislativeDocumentWritingEntity.getLegislativeDocumentWritingDialoguesData(), LegislativeDocumentResult.class);
JSONObject legislativeDocumentResultJsonObject = JSONObject.parseObject(JsonUtils.serialize(legislativeDocumentResult));
JSONObject oldLegislativeDocumentResultJsonObject = JSONObject.parseObject(JsonUtils.serialize(oldLegislativeDocumentResult));
JsonUtils.deepMerge(legislativeDocumentResultJsonObject, oldLegislativeDocumentResultJsonObject);
legislativeDocumentResult = oldLegislativeDocumentResultJsonObject.toJavaObject(LegislativeDocumentResult.class);
bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingId(aiLegislativeDocumentWritingEntity.getLegislativeDocumentWritingId());
bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingDialoguesData(JsonUtils.serialize(legislativeDocumentResult));
bizAiLegislativeDocumentWritingService.update(bizAiLegislativeDocumentWritingEntity);
} else {
bizAiLegislativeDocumentWritingEntity.setLegislativeDocumentWritingDialoguesData(JsonUtils.serialize(legislativeDocumentResult));
bizAiLegislativeDocumentWritingService.save(bizAiLegislativeDocumentWritingEntity);
}
return legislativeDocumentResult;
}
@Override
public LegislativeDocumentResult getlegislativeApplyDetail(String dialoguesId, Long userId) throws Exception {
BizAiLegislativeDocumentWritingEntity example = new BizAiLegislativeDocumentWritingEntity();
example.setLegislativeDocumentWritingDialoguesId(dialoguesId);
example.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAiLegislativeDocumentWritingEntity> bizAiLegislativeDocumentWritingEntityList = findByExample(example, null);
if (CollectionUtils.isEmpty(bizAiLegislativeDocumentWritingEntityList)) {
return null;
}
return JsonUtils.deSerialize(bizAiLegislativeDocumentWritingEntityList.get(0).getLegislativeDocumentWritingDialoguesData(), LegislativeDocumentResult.class);
} }
private List<Message> buildMessages(String dialogsId, Long userId, String input, String fileUrl) throws Exception { private List<Message> buildMessages(String dialogsId, Long userId, String input, String fileUrl) throws Exception {
...@@ -261,4 +295,5 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl ...@@ -261,4 +295,5 @@ public class BizAiLegislativeDocumentWritingServiceImpl extends BaseServiceImpl
return messages; return messages;
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment