add 文档拆分对接

This commit is contained in:
liao
2023-10-24 16:38:09 +08:00
parent ce84d144fe
commit 18e77f1d86
2 changed files with 93 additions and 0 deletions
@@ -11,6 +11,8 @@ import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper;
import com.jero.modules.docking.asms.service.ILawsAsmsDomesticService;
import com.jero.modules.docking.asms.service.ILawsAsmsOpenApiService;
import com.jero.modules.docking.asms.util.AsmsPostUtil;
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
import com.jero.modules.laws.standard.service.ILawsReplacedStandardService;
@@ -18,6 +20,8 @@ import com.jero.modules.laws.standardization.entity.LawsStandardization;
import com.jero.modules.laws.standardization.service.ILawsStandardizationService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.ISysDictItemService;
import com.spire.ms.System.Collections.ArrayList;
@@ -73,6 +77,10 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
@Autowired
private ILawsDomesticStandardService lawsDomesticStandardService;
@Autowired
private ISarFileSplitInfoService sarFileSplitInfoService;
@Autowired
private LawsDocumentSplitMapper lawsDocumentSplitMapper;
@Autowired
private ILawsReplacedStandardService lawsReplacedStandardService;
@Autowired
private IOSSFileService ossFileService;
@@ -498,6 +506,88 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
// 状态设置为已同步
lawsAsmsOpenApi.setStatus("1");
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), lawsAsmsDomesticList.size());
} else if ("3".equals(lawsAsmsOpenApi.getApiType()) && "xiaobodata/openApi/article/search".equals(lawsAsmsOpenApi.getApiUrl())) {
// 如果是国内法规,并且url为法规条文检索国内法规列表
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
mapList.forEach(eMap -> {
String code = eMap.get("code");
LambdaQueryWrapper<LawsDomesticStandard> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LawsDomesticStandard::getStandardNumber, code);
LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getOne(queryWrapper);
LambdaQueryWrapper<OSSFile> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(OSSFile::getStandardId, lawsDomesticStandard.getId());
queryWrapper1.eq(OSSFile::getStandardFileType, "publish_of_original");
queryWrapper1.like(OSSFile::getFileName, ".docx");
OSSFile ossFile = ossFileService.getOne(queryWrapper1);
SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO();
sarFileSplitInfoEO.setStandardId(lawsDomesticStandard.getId());
sarFileSplitInfoEO.setSerialNumber(lawsDomesticStandard.getStandardNumber());
sarFileSplitInfoEO.setTitle(lawsDomesticStandard.getStandardName());
sarFileSplitInfoEO.setFileType("publish_of_original");
sarFileSplitInfoEO.setFileId(ossFile.getId());
sarFileSplitInfoEO.setFileName(ossFile.getFileName());
sarFileSplitInfoEO.setSplitStatus("1");
sarFileSplitInfoEO.setCreateTime(getSimpleDate2(eMap.get("createTime")));
sarFileSplitInfoEO.setUpdateTime(getSimpleDate2(eMap.get("updateTime")));
sarFileSplitInfoEO.setIsAsmsImport("1");
sarFileSplitInfoService.save(sarFileSplitInfoEO);
});
// 状态设置为已同步
lawsAsmsOpenApi.setStatus("1");
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), mapList.size());
} else if ("3".equals(lawsAsmsOpenApi.getApiType()) && "xiaobodata/openApi/article/details".equals(lawsAsmsOpenApi.getApiUrl())) {
// 单个法规的条文列表
LambdaQueryWrapper<SarFileSplitInfoEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SarFileSplitInfoEO::getIsAsmsImport, "1");
List<SarFileSplitInfoEO> sarFileSplitInfoEOList = sarFileSplitInfoService.list(queryWrapper);
Map<String, String> paramMap = new HashMap<>();
Map<String, String> paramMap2 = new HashMap<>();
Map<String, String> paramMap3 = new HashMap<>();
sarFileSplitInfoEOList.forEach(sarFileSplitInfoEO -> {
paramMap.put("standardCode", sarFileSplitInfoEO.getSerialNumber());
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), paramMap);
mapList.forEach(eMap -> {
// 单个法规的条文解读详情
paramMap2.put("standardCode", sarFileSplitInfoEO.getSerialNumber());
paramMap2.put("termsCode", eMap.get("termsNum"));
Map<String, Object> objectMap = asmsPostUtil.sendGetReq2("xiaobodata/openApi/article/interpretation/details", paramMap2);
// 单个法规的条文标签详情
paramMap3.put("standardCode", sarFileSplitInfoEO.getSerialNumber());
paramMap3.put("termsCode", eMap.get("termsNum"));
Map<String, Object> objectMap2 = asmsPostUtil.sendGetReq2("xiaobodata/openApi/article/label/details", paramMap3);
LawsDocumentSplit lawsDocumentSplit = new LawsDocumentSplit();
lawsDocumentSplit.setInfoId(sarFileSplitInfoEO.getId());
lawsDocumentSplit.setItemNum(eMap.get("termsNum"));
lawsDocumentSplit.setItemTitle(eMap.get("termsName"));
lawsDocumentSplit.setItemContent(eMap.get("articleContent"));
lawsDocumentSplit.setCreateTime(getSimpleDate2(eMap.get("createTime")));
lawsDocumentSplit.setUpdateTime(getSimpleDate2(eMap.get("updateTime")));
lawsDocumentSplit.setInterpretationArticles((String) objectMap.get("termsInterpretation"));
lawsDocumentSplit.setFunctionClassification((String) objectMap2.get("functionClassification"));
lawsDocumentSplit.setFunctionProfessional((String) objectMap2.get("functionProfession"));
lawsDocumentSplit.setFunctionGroupName((String) objectMap2.get("groupingName"));
lawsDocumentSplit.setFunctionGroupName((String) objectMap2.get("groupingNum"));
lawsDocumentSplit.setCerImplementDate((String) objectMap2.get("implementDateCertified"));
lawsDocumentSplit.setNewCerImplementDate((String) objectMap2.get("implementDateNewCer"));
lawsDocumentSplit.setNewRegisterImplementDate((String) objectMap2.get("implementDateNewRegister"));
lawsDocumentSplit.setLawsRequireType((String) objectMap2.get("lawsRequireType"));
lawsDocumentSplit.setApplications((String) objectMap2.get("modelsType"));
lawsDocumentSplit.setDynamicType((String) objectMap2.get("powerType"));
lawsDocumentSplitMapper.insert(lawsDocumentSplit);
});
});
// 状态设置为已同步
lawsAsmsOpenApi.setStatus("1");
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), sarFileSplitInfoEOList.size());
}
});
// 同步接口的状态
@@ -122,6 +122,9 @@ public class SarFileSplitInfoEO implements Serializable {
@ApiModelProperty(value = "发布前id")
private String publishBeforeId;
/**是否asms导入(1是)*/
private String isAsmsImport;
@TableField(exist = false)
private String flag;