add ASMS对接,国内法规
This commit is contained in:
@@ -270,4 +270,38 @@ CREATE TABLE `laws_asms_open_api`
|
||||
alter table laws_asms_open_api
|
||||
comment '汽车标准数字化平台ASMS开放API接口管理';
|
||||
|
||||
DROP TABLE IF EXISTS `laws_asms_domestic`;
|
||||
CREATE TABLE `laws_asms_domestic`
|
||||
(
|
||||
`id` varchar(100) NOT NULL PRIMARY KEY COMMENT '主键ID',
|
||||
`code` varchar(100) COMMENT '标准法规编号/标准号',
|
||||
`name` varchar(100) COMMENT '标准法规名称/标准名称',
|
||||
`english_name` varchar(100) COMMENT '法规英文名称',
|
||||
`type` varchar(100) COMMENT '标准法规类别/标准类别',
|
||||
`applicable_certification_list_string` varchar(100) COMMENT '适用认证',
|
||||
`applicable_models_list_string` varchar(100) COMMENT '适用车型拼接名称',
|
||||
`degree_adoption` varchar(100) COMMENT '采标程度',
|
||||
`drafting_people` varchar(500) COMMENT '起草人',
|
||||
`drafting_unit` varchar(500) COMMENT '起草单位',
|
||||
`focal_point_name` varchar(100) COMMENT '标准领域名称',
|
||||
`implementation_date` varchar(100) COMMENT '实施日期',
|
||||
`international_standard` varchar(100) COMMENT '采用国际标准号',
|
||||
`new_car_implementation_date` varchar(100) COMMENT '新车实施日期',
|
||||
`new_register_car_implementation_date` varchar(100) COMMENT '新注册车实施日期',
|
||||
`power_type_list_string` varchar(100) COMMENT '动力类型',
|
||||
`production_car_implementation_date` varchar(100) COMMENT '在产车实施日期',
|
||||
`proposing_department` varchar(100) COMMENT '提出部门',
|
||||
`publish_date` varchar(100) COMMENT '发布日期',
|
||||
`replace_code` varchar(100) COMMENT '代替标准号',
|
||||
`scope_application` varchar(100) COMMENT '适用范围',
|
||||
`standard_nature` varchar(100) COMMENT '标准性质',
|
||||
`standard_status` varchar(100) COMMENT '标准状态',
|
||||
`subcommittee` varchar(100) COMMENT '分标委',
|
||||
`create_time` varchar(100) COMMENT '创建时间',
|
||||
`update_time` varchar(100) COMMENT '更新时间',
|
||||
`is_sync` varchar(5) COMMENT '是否同步(0未同步,1已同步)'
|
||||
) COMMENT = 'ASMS国内法规';
|
||||
alter table laws_asms_domestic
|
||||
comment 'ASMS国内法规';
|
||||
|
||||
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package com.jero.modules.docking.asms.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/10/17 17:36
|
||||
* @Description:
|
||||
*/
|
||||
@Api(tags="国内法规标准")
|
||||
@RestController
|
||||
@RequestMapping("/asms")
|
||||
public class AsmsController {
|
||||
@Autowired
|
||||
private AsmsPostUtil asmsPostUtil;
|
||||
@GetMapping(value = "/getInfo")
|
||||
public Result<Object> getInfo(String uri, Map<String, String> map) {
|
||||
List<Map<String, String>> mapList = asmsPostUtil.sendGetReq(uri, map);
|
||||
return Result.OK(mapList);
|
||||
}
|
||||
}
|
||||
+3
-6
@@ -1,16 +1,14 @@
|
||||
package com.jero.modules.docking.asms.api.controller;
|
||||
package com.jero.modules.docking.asms.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.api.service.ILawsAsmsOpenApiService;
|
||||
import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.service.ILawsAsmsOpenApiService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -18,7 +16,6 @@ import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.jero.modules.docking.asms.api.entity;
|
||||
package com.jero.modules.docking.asms.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.jero.modules.docking.asms.api.mapper;
|
||||
package com.jero.modules.docking.asms.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.docking.asms.api.mapper.LawsAsmsOpenApiMapper">
|
||||
<resultMap id="LawsAsmsOpenApiResultMap" type="com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi">
|
||||
<mapper namespace="com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper">
|
||||
<resultMap id="LawsAsmsOpenApiResultMap" type="com.jero.modules.docking.asms.entity.LawsAsmsOpenApi">
|
||||
<id column="id" property="id" />
|
||||
<result column="api_name" property="apiName" />
|
||||
<result column="api_url" property="apiUrl" />
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.docking.asms.api.service;
|
||||
package com.jero.modules.docking.asms.service;
|
||||
|
||||
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
+4
-7
@@ -1,13 +1,11 @@
|
||||
package com.jero.modules.docking.asms.api.service.impl;
|
||||
package com.jero.modules.docking.asms.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.docking.asms.api.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.api.mapper.LawsAsmsOpenApiMapper;
|
||||
import com.jero.modules.docking.asms.api.service.ILawsAsmsOpenApiService;
|
||||
import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi;
|
||||
import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper;
|
||||
import com.jero.modules.docking.asms.service.ILawsAsmsOpenApiService;
|
||||
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
@@ -20,7 +18,6 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
+27
-12
@@ -3,6 +3,8 @@ package com.jero.modules.docking.asms.util;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.RedisUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -13,10 +15,7 @@ import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
@@ -24,6 +23,7 @@ import java.util.Objects;
|
||||
* @Description: 远程调用
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class AsmsPostUtil {
|
||||
|
||||
@Autowired
|
||||
@@ -62,6 +62,7 @@ public class AsmsPostUtil {
|
||||
token = resultMap.get("token");
|
||||
// 将新获取的token存入redis
|
||||
redisUtil.set(ASMS_SYSTEM_AUTH_TOKEN, token, expire * 60 * 60);
|
||||
log.info("new token is creating: {}", token);
|
||||
}
|
||||
return token;
|
||||
}
|
||||
@@ -75,9 +76,10 @@ public class AsmsPostUtil {
|
||||
**/
|
||||
public List<Map<String, String>> sendGetReq(String uri, Map<String, String> map) {
|
||||
// 准备请求头
|
||||
String token = getToken();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("Content-Type", "application/x-www-form-urlencoded");
|
||||
headers.set("X-Access-Token", getToken());
|
||||
headers.set("X-Access-Token", token);
|
||||
|
||||
if (StringUtils.isBlank(uri)) {
|
||||
throw new JeroBootException("url不能为空");
|
||||
@@ -91,19 +93,32 @@ public class AsmsPostUtil {
|
||||
url += "?" + s.substring(1);
|
||||
}
|
||||
|
||||
ResponseEntity<Result> responseEntity = restTemplate.exchange(url.toString(),
|
||||
HttpMethod.GET, new HttpEntity<>(null, headers), Result.class);
|
||||
ResponseEntity<Result> responseEntity;
|
||||
try {
|
||||
log.info("request url : {}", url);
|
||||
responseEntity = restTemplate.exchange(url.toString(),
|
||||
HttpMethod.GET, new HttpEntity<>(null, headers), Result.class);
|
||||
} catch (Exception e) {
|
||||
log.info("old token is deleting: {}", token);
|
||||
redisUtil.del(ASMS_SYSTEM_AUTH_TOKEN);
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException("操作失败,请稍后重试");
|
||||
}
|
||||
|
||||
if (!responseEntity.getBody().isSuccess()) {
|
||||
throw new JeroBootException("汽车标准数字化平台:请求发送失败");
|
||||
}
|
||||
Map<String, Object> resultMap = (Map<String, Object>) responseEntity.getBody().getResult();
|
||||
if (Objects.isNull(resultMap)) {
|
||||
throw new JeroBootException("返回数据为空");
|
||||
}
|
||||
List<Map<String, String>> mapList = (List<Map<String, String>>) resultMap.get("records");
|
||||
mapList.forEach(eMap -> {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
eMap.forEach((k, v) -> sb.append(k + ":" + v + ","));
|
||||
System.out.println(sb);
|
||||
});
|
||||
if (CollectionUtils.isEmpty(mapList)) {
|
||||
mapList = new ArrayList<>();
|
||||
Map<String, String> result = (Map<String, String>) responseEntity.getBody().getResult();
|
||||
mapList.add(result);
|
||||
}
|
||||
log.info("返回{}条数据", mapList.size());
|
||||
return mapList;
|
||||
}
|
||||
|
||||
|
||||
@@ -115,4 +115,17 @@ public class FieldCommon {
|
||||
// 稽查内容
|
||||
public static final String CHECK_LIST = "checkList";
|
||||
|
||||
// 发布稿(原文)
|
||||
public static final String FILE_PUBLISH_OF_ORIGINAL = "publish_of_original";
|
||||
// 修改单
|
||||
public static final String FILE_MODIFICATION_LIST = "modification_list";
|
||||
// 报批稿
|
||||
public static final String FILE_DRAFT_FOR_REVIEW = "draft_for_review";
|
||||
// 送审稿
|
||||
public static final String FILE_DRAFT_FOR_APPROVAL = "draft_for_approval";
|
||||
// 征求意见稿
|
||||
public static final String FILE_DRAFT_FOR_COMMENT = "draft_for_comment";
|
||||
// 草案
|
||||
public static final String FILE_DRAFT = "draft";
|
||||
|
||||
}
|
||||
|
||||
+47
@@ -34,6 +34,8 @@ import com.jero.modules.personal.entity.LawsBrowsingHistory;
|
||||
import com.jero.modules.personal.entity.LawsStandardCollection;
|
||||
import com.jero.modules.personal.service.ILawsBrowsingHistoryService;
|
||||
import com.jero.modules.personal.service.ILawsStandardCollectionService;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -123,6 +125,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
private EnterpriseStandardAuthUserService esAuthUserService;
|
||||
@Resource
|
||||
private WaterMarkUtil waterMarkUtil;
|
||||
@Autowired
|
||||
private ISarFileSplitInfoService sarFileSplitInfoService;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
@@ -165,11 +169,54 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
}
|
||||
// 是否收藏判断标识
|
||||
collectionFlag(infoPage.getRecords());
|
||||
// 标准拆分标识
|
||||
splitFlag(infoPage.getRecords());
|
||||
|
||||
// 待处理
|
||||
return infoPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/10/19 15:36
|
||||
* @Description: 标准拆分标识
|
||||
**/
|
||||
private void splitFlag(List<Map<String, Object>> records) {
|
||||
// 获取全部id集合
|
||||
List<String> ids = records.stream().map(kv ->
|
||||
String.valueOf(kv.get("id"))).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(ids)) return;
|
||||
|
||||
// 查询标准拆分表
|
||||
LambdaQueryWrapper<SarFileSplitInfoEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SarFileSplitInfoEO::getStandardId, ids);
|
||||
queryWrapper.isNotNull(SarFileSplitInfoEO::getPublishBeforeId);
|
||||
queryWrapper.isNotNull(SarFileSplitInfoEO::getFileType);
|
||||
List<SarFileSplitInfoEO> sarFileSplitInfoEOList = sarFileSplitInfoService.list(queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(sarFileSplitInfoEOList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String, String> flagMap = new HashMap<>();
|
||||
sarFileSplitInfoEOList.forEach(e -> flagMap.put(e.getStandardId() + "," + e.getFileType(), e.getId()));
|
||||
records.forEach(map -> {
|
||||
String id = (String) map.get("id");
|
||||
map.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_PUBLISH_OF_ORIGINAL));
|
||||
map.put(FieldCommon.FILE_MODIFICATION_LIST + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_MODIFICATION_LIST));
|
||||
map.put(FieldCommon.FILE_DRAFT_FOR_REVIEW + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_DRAFT_FOR_REVIEW));
|
||||
map.put(FieldCommon.FILE_DRAFT_FOR_APPROVAL + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_DRAFT_FOR_APPROVAL));
|
||||
map.put(FieldCommon.FILE_DRAFT_FOR_COMMENT + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_DRAFT_FOR_COMMENT));
|
||||
map.put(FieldCommon.FILE_DRAFT + FieldCommon._STANDARD_SPLIT,
|
||||
flagMap.get(id + "," + FieldCommon.FILE_DRAFT));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<Map<String, Object>> getExportData(Map<String, Object> parameterMap, List<LawsTag> fieldList) {
|
||||
// 获取操作模块
|
||||
|
||||
Reference in New Issue
Block a user