update 远程调用

This commit is contained in:
liao
2023-10-20 18:05:47 +08:00
parent 9c7dd6d297
commit cf5a67954a
2 changed files with 104 additions and 73 deletions
@@ -24,7 +24,7 @@ public class RestTemplateConfig {
*/ */
// 解决https请求证书问题 // 解决https请求证书问题
SSL factory = new SSL(); SSL factory = new SSL();
factory.setReadTimeout(5000);//ms factory.setReadTimeout(20000);//ms
factory.setConnectTimeout(15000);//ms factory.setConnectTimeout(15000);//ms
return factory; return factory;
} }
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -154,12 +155,12 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
if (StringUtils.isNotBlank(lawsAsmsOpenApi.getQueryParamJson())) { if (StringUtils.isNotBlank(lawsAsmsOpenApi.getQueryParamJson())) {
map = (Map<String, String>) JSON.parse(lawsAsmsOpenApi.getQueryParamJson()); map = (Map<String, String>) JSON.parse(lawsAsmsOpenApi.getQueryParamJson());
} }
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
if ("1".equals(lawsAsmsOpenApi.getApiType()) if ("1".equals(lawsAsmsOpenApi.getApiType()) && StringUtils.isNotBlank(lawsAsmsOpenApi.getDictId())) {
&& StringUtils.isNotBlank(lawsAsmsOpenApi.getDictId()) && CollectionUtils.isNotEmpty(mapList)) {
// 如果是下拉字典(普通)、字典id不为空、返回的数据不为空,则进行数据字典同步操作 // 如果是下拉字典(普通)、字典id不为空、返回的数据不为空,则进行数据字典同步操作
// 查询该字典全部数据项 // 查询该字典全部数据项
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
if (CollectionUtils.isNotEmpty(mapList)) {
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictItem::getDictId, lawsAsmsOpenApi.getDictId()); queryWrapper.eq(SysDictItem::getDictId, lawsAsmsOpenApi.getDictId());
List<SysDictItem> dictItemList = sysDictItemService.list(queryWrapper); List<SysDictItem> dictItemList = sysDictItemService.list(queryWrapper);
@@ -227,11 +228,15 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
} }
// 状态设置为已同步 // 状态设置为已同步
lawsAsmsOpenApi.setStatus("1"); lawsAsmsOpenApi.setStatus("1");
} else if ("2".equals(lawsAsmsOpenApi.getApiType()) && !Objects.isNull(mapList)) { }
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), mapList.size());
} else if ("2".equals(lawsAsmsOpenApi.getApiType())) {
// 如果是分标委 // 如果是分标委
} else if ("3".equals(lawsAsmsOpenApi.getApiType()) List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
&& "xiaobodata/openApi/domesticLaws/list".equals(lawsAsmsOpenApi.getApiUrl())) { } else if ("3".equals(lawsAsmsOpenApi.getApiType()) && "xiaobodata/openApi/domesticLaws/list".equals(lawsAsmsOpenApi.getApiUrl())) {
// 如果是国内法规,并且url为国内法规标准检索列表 // 如果是国内法规,并且url为国内法规标准检索列表
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map);
Integer pageNo; Integer pageNo;
Integer pageSize; Integer pageSize;
if (CollectionUtils.isNotEmpty(mapList)) { if (CollectionUtils.isNotEmpty(mapList)) {
@@ -243,6 +248,7 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
lawsAsmsDomestic.setId(lawsAsmsDomestic.getCode()); lawsAsmsDomestic.setId(lawsAsmsDomestic.getCode());
lawsAsmsDomestic.setCreateTimeString(eMap.get("createTime")); lawsAsmsDomestic.setCreateTimeString(eMap.get("createTime"));
lawsAsmsDomestic.setUpdateTimeString(eMap.get("updateTime")); lawsAsmsDomestic.setUpdateTimeString(eMap.get("updateTime"));
lawsAsmsDomestic.setFocalPointName(eMap.get("focalPoint"));
lawsAsmsDomestic.setSyncFlag("A"); lawsAsmsDomestic.setSyncFlag("A");
lawsAsmsDomesticList.add(lawsAsmsDomestic); lawsAsmsDomesticList.add(lawsAsmsDomestic);
}); });
@@ -256,9 +262,34 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
map.put("pageNo", pageNo.toString()); map.put("pageNo", pageNo.toString());
String jsonString = JSON.toJSONString(map); String jsonString = JSON.toJSONString(map);
lawsAsmsOpenApi.setQueryParamJson(jsonString); lawsAsmsOpenApi.setQueryParamJson(jsonString);
}
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), mapList.size()); log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), mapList.size());
} else if ("3".equals(lawsAsmsOpenApi.getApiType()) && "xiaobodata/openApi/domesticLaws/getInfo".equals(lawsAsmsOpenApi.getApiUrl())) {
// 如果是国内法规,并且url为国内法规标准基本信息
LambdaQueryWrapper<LawsAsmsDomestic> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(LawsAsmsDomestic::getCode);
queryWrapper.eq(LawsAsmsDomestic::getSyncFlag, "A");
List<LawsAsmsDomestic> lawsAsmsDomesticList = lawsAsmsDomesticService.list(queryWrapper);
if (CollectionUtils.isEmpty(lawsAsmsDomesticList)) {
lawsAsmsOpenApi.setStatus("1");
}
List<LawsAsmsDomestic> updateList = new ArrayList();
if (CollectionUtils.isNotEmpty(lawsAsmsDomesticList)) {
Map<String, String> paramMap = new HashMap<>();
lawsAsmsDomesticList.forEach(lawsAsmsDomestic -> {
String code = lawsAsmsDomestic.getCode();
paramMap.put("lawCode", code);
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), paramMap);
LawsAsmsDomestic parseObject = JSONObject.parseObject(JSONObject.toJSONString(mapList.get(0)), LawsAsmsDomestic.class);
log.info(parseObject.toString());
parseObject.setSyncFlag("B");
parseObject.setId(code);
updateList.add(parseObject);
});
lawsAsmsDomesticService.updateBatchById(updateList);
log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), lawsAsmsDomesticList.size());
}
}
}); });
// 同步接口的状态 // 同步接口的状态
updateBatchById(lawsAsmsOpenApiList); updateBatchById(lawsAsmsOpenApiList);