添加srms接口

This commit is contained in:
梁琦涛
2024-01-19 18:50:50 +08:00
parent bf6d7fe86a
commit 4387eed5a2
8 changed files with 257 additions and 121 deletions
@@ -150,6 +150,13 @@ public class ShiroConfig {
//拆分标准查看图片
filterChainDefinitionMap.put("/sys/split/file/getImage", "anon");
// 获取token
filterChainDefinitionMap.put("/srms/getByToken", "anon");
// 标准法规文档查询
filterChainDefinitionMap.put("/srms/getByLawsFileList", "anon");
// 设计导航-产品设计条款查询
filterChainDefinitionMap.put("/srms/getByLawsProductDesign", "anon");
// 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<>(1);
//如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.docking.srms.dto.ProductDesign;
import com.jero.modules.docking.srms.service.SrmsApiService;
import com.jero.modules.docking.srms.vo.ByFileRows;
import com.jero.modules.docking.utils.ResponsesUtil;
@@ -68,21 +69,21 @@ public class SrmsApiController {
}
}
// @ApiOperation("设计导航-产品设计条款查询")
// @PostMapping("/getByLawsDesignNavigation")
// public JSONObject getByLawsDesignNavigation(@RequestBody JSONObject json, HttpServletRequest req){
// try {
// Result<JSONArray> re = srmsApiService.getByLawsFileList(json,req);
// if(!re.isSuccess()){
// return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage()));
// }
// JSONArray jsonArray = re.getResult();
// JSONObject jsonResponses = ResponsesUtil.getJsonOk();
// jsonResponses.put("Rows",jsonArray);
// return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
// }catch (Exception e){
// log.error("获取token异常:",e);
// return ResponsesUtil.getJsonResult(json.get("MessageHeader"),ResponsesUtil.getJsonErr("操作失败"));
// }
// }
@ApiOperation("设计导航-产品设计条款查询")
@PostMapping("/getByLawsProductDesign")
public JSONObject getByLawsProductDesign(@RequestBody JSONObject json, HttpServletRequest req){
try {
Result<List<ProductDesign>> re = srmsApiService.getByLawsProductDesign(json,req);
if(!re.isSuccess()){
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage()));
}
List<ProductDesign> list = re.getResult();
JSONObject jsonResponses = ResponsesUtil.getJsonOk();
jsonResponses.put("Rows",list);
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
}catch (Exception e){
log.error("获取token异常:",e);
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败"));
}
}
}
@@ -0,0 +1,30 @@
package com.jero.modules.docking.srms.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author lqt
* @version 1.0
* @date 2024/1/19 17:48
*/
@Data
public class ProductDesign implements Serializable {
/**
* 设计导航唯一值
*/
private String id;
/**
* 标准编号
*/
private String standardNumber;
/**
* 条款标签
*/
private String queryLabels;
/**
* 条款内容
*/
private String itemContent;
}
@@ -1,6 +1,6 @@
package com.jero.modules.docking.srms.mapper;
import com.jero.modules.docking.srms.dto.StandardVO;
import com.jero.modules.docking.srms.vo.StandardVO;
import com.jero.modules.docking.srms.vo.ByFileRows;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,4 +25,15 @@ public interface LawsStandardMapper{
*/
List<ByFileRows> getStandard(@Param("standard") StandardVO standard);
/**
*
* @author LQT
* @date 2024/1/19 15:43
* @param standardNumber
* @param queryLabels
* @return java.util.List<com.jero.modules.docking.srms.vo.ByFileRows>
*/
String getStandardByProductDesign(@Param("standardNumber") String standardNumber,
@Param("queryLabels") String queryLabels);
}
@@ -13,10 +13,10 @@
from laws_domestic_standard
where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0
<if test="standard.standardNumber != '' and standard.standardNumber != null">
and standard_number = #{standard.standardNumber}
and standard_number like concat(concat('%',#{standard.standardNumber}),'%')
</if>
<if test="standard.standardName != '' and standard.standardName != null">
and standard_name = #{standard.standardName}
and standard_name like concat(concat('%',#{standard.standardName}),'%')
</if>
<if test="standard.standardState != '' and standard.standardState != null">
and standard_state = #{standard.standardState}
@@ -28,10 +28,10 @@
from laws_overseas_standard
where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0
<if test="standard.standardNumber != '' and standard.standardNumber != null">
and standard_number = #{standard.standardNumber}
and standard_number like concat(concat('%',#{standard.standardNumber}),'%')
</if>
<if test="standard.standardName != '' and standard.standardName != null">
and standard_name = #{standard.standardName}
and standard_name like concat(concat('%',#{standard.standardName}),'%')
</if>
<if test="standard.standardState != '' and standard.standardState != null">
and standard_state = #{standard.standardState}
@@ -43,10 +43,10 @@
from laws_enterprise_standard
where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0
<if test="standard.standardNumber != '' and standard.standardNumber != null">
and standard_number = #{standard.standardNumber}
and standard_number like concat(concat('%',#{standard.standardNumber}),'%')
</if>
<if test="standard.standardName != '' and standard.standardName != null">
and standard_name = #{standardVO.standardName}
and standard_name like concat(concat('%',#{standard.standardName}),'%')
</if>
<if test="standard.standardState != '' and standard.standardState != null">
and standard_state = #{standard.standardState}
@@ -66,4 +66,35 @@
</if>
</where>
</select>
<select id="getStandardByProductDesign" resultType="java.lang.String">
select l.item_content
from (
select id from laws_domestic_standard where del_flag = 0 and standard_state = 6
<if test="standardNumber != null and standardNumber != ''">
and standard_number = #{standardNumber}
</if>
<if test="queryLabels != null and queryLabels != ''">
and standard_number = #{queryLabels}
</if>
union all
select id from laws_overseas_standard where del_flag = 0 and standard_state = 6
<if test="standardNumber != null and standardNumber != ''">
and standard_number = #{standardNumber}
</if>
<if test="queryLabels != null and queryLabels != ''">
and standard_number = #{queryLabels}
</if>
union all
select id from laws_enterprise_standard where del_flag = 0 and standard_state = 6
<if test="standardNumber != null and standardNumber != ''">
and standard_number = #{standardNumber}
</if>
<if test="queryLabels != null and queryLabels != ''">
and standard_number = #{queryLabels}
</if>
) law
left join sar_file_split_info s on s.standard_id = law.id and s.del_flag = 0
left join laws_document_split l on s.id = l.info_id and l.del_flag = 0
where l.item_content is not null and l.item_content != '' limit 1
</select>
</mapper>
@@ -2,6 +2,7 @@ package com.jero.modules.docking.srms.service;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.docking.srms.dto.ProductDesign;
import com.jero.modules.docking.srms.vo.ByFileRows;
import javax.servlet.http.HttpServletRequest;
@@ -32,4 +33,14 @@ public interface SrmsApiService {
* @return com.alibaba.fastjson.JSONObject
*/
Result<List<ByFileRows>> getByLawsFileList(JSONObject json, HttpServletRequest req);
/**
* 设计导航-产品设计条款查询
* @author LQT
* @date 2024/1/19 17:32
* @param json
* @param req
* @return com.jero.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
*/
Result<List<ProductDesign>> getByLawsProductDesign(JSONObject json, HttpServletRequest req);
}
@@ -1,6 +1,7 @@
package com.jero.modules.docking.srms.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
@@ -9,7 +10,8 @@ import com.jero.common.system.util.JwtUtil;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.TokenUtils;
import com.jero.modules.docking.srms.dto.ByTokenRequests;
import com.jero.modules.docking.srms.dto.StandardVO;
import com.jero.modules.docking.srms.dto.ProductDesign;
import com.jero.modules.docking.srms.vo.StandardVO;
import com.jero.modules.docking.srms.mapper.LawsStandardMapper;
import com.jero.modules.docking.srms.service.SrmsApiService;
import com.jero.modules.docking.srms.vo.ByFileRows;
@@ -18,9 +20,6 @@ import com.jero.modules.docking.srms.vo.SarFileSplitMenu;
import com.jero.modules.docking.srms.vo.SplitResult;
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
@@ -32,12 +31,12 @@ import com.jero.modules.system.service.ILoginService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -58,12 +57,6 @@ public class SrmsApiServiceImpl implements SrmsApiService {
@Resource
private RedisUtil redisUtil;
@Resource
private ILawsDomesticStandardService lawsDomesticStandardService;
@Resource
private ILawsOverseasStandardService lawsOverseasStandardService;
@Resource
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
@Resource
private ISarFileSplitMenuEOService sarFileSplitMenuEOService;
@Resource
private ISarFileSplitInfoService sarFileSplitInfoService;
@@ -83,12 +76,15 @@ public class SrmsApiServiceImpl implements SrmsApiService {
private String secret;
private static final String SRMS_TOKEN = "srms_token_";
private static final String REQUESTS = "Requests";
private static final String SYS_ERR = "系统验证失败";
@Override
public Result<JSONObject> getByToken(JSONObject json) {
try {
ByTokenRequests byTokenRequests = JSON.parseObject(JSON.toJSONString(json.get("Requests")),ByTokenRequests.class);
ByTokenRequests byTokenRequests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)),ByTokenRequests.class);
// 验证数据必填项
if(StringUtils.isAllBlank(byTokenRequests.getUsername())
|| StringUtils.isBlank(byTokenRequests.getAppkey())
@@ -96,7 +92,7 @@ public class SrmsApiServiceImpl implements SrmsApiService {
return Result.error("必填项不能为空");
}
if(!Objects.equals(appKey,byTokenRequests.getAppkey()) || !Objects.equals(secret,byTokenRequests.getSecret())){
return Result.error("系统验证失败");
return Result.error(SYS_ERR);
}
Result<JSONObject> re = Result.OK();
String tokenKey = SRMS_TOKEN + byTokenRequests.getUsername();
@@ -119,19 +115,19 @@ public class SrmsApiServiceImpl implements SrmsApiService {
@Override
public Result<List<ByFileRows>> getByLawsFileList(JSONObject json, HttpServletRequest req) {
// 验证token
String token = req.getHeader("X-Access-Token");
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
Result.error(SYS_ERR);
}
JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)));
// 零部件-分类内部码(精准查询)
String partCategoryNum = getStr(requests, "partCategoryNum");
if(StringUtils.isBlank(partCategoryNum)){
Result.error("零部件-分类内部码不能为空");
}
try {
// 验证token
String token = req.getHeader("X-Access-Token");
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
Result.error("系统验证失败");
}
JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get("Requests")));
StandardVO standardVO = new StandardVO();
// 零部件-分类内部码(精准查询)
String partCategoryNum = getStr(requests, "partCategoryNum");
if(StringUtils.isBlank(partCategoryNum)){
Result.error("零部件-分类内部码不能为空");
}
standardVO.setPartCategoryNum(partCategoryNum);
// 零部件-分类名称
String partCategoryName = getStr(requests, "partCategoryName");
@@ -146,14 +142,7 @@ public class SrmsApiServiceImpl implements SrmsApiService {
String standardState = getStr(requests, "standardState");
standardVO.setStandardState(standardState);
// 是否存在拆分信息,默认false; true-是,false-否
if(!Objects.isNull(requests.get("hasSplit"))){
Boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString());
if(hasSplit){
standardVO.setHasSplit("1");
}else{
standardVO.setHasSplit("2");
}
}
setHasSplit(requests, standardVO);
// 备用字段1
String remark1 = getStr(requests, "Remark1");
// 备用字段2
@@ -162,70 +151,7 @@ public class SrmsApiServiceImpl implements SrmsApiService {
String remark3 = getStr(requests, "Remark3");
// 备用字段4
String remark4 = getStr(requests, "Remark4");
List<ByFileRows> listByFileRows = lawsStandardMapper.getStandard(standardVO);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(!CollectionUtils.isEmpty(listByFileRows)){
List<String> listFileId = listByFileRows.stream().map(ByFileRows::getId).collect(Collectors.toList());
LambdaQueryWrapper<OSSFile> queryOssFile = new LambdaQueryWrapper<>();
queryOssFile.in(OSSFile::getStandardId,listFileId);
queryOssFile.eq(OSSFile::getStandardFileType,"publish_of_original");
queryOssFile.orderByDesc(OSSFile::getCreateTime);
List<OSSFile> listOssFile = ossFileService.list(queryOssFile);
for (ByFileRows byFileRows : listByFileRows) {
byFileRows.setPartCategoryNum(partCategoryNum);
byFileRows.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", byFileRows.getStandardState()));
if(!CollectionUtils.isEmpty(listOssFile)){
List<OSSFile> listFile = listOssFile.stream().filter(o->Objects.equals(o.getStandardId(),byFileRows.getId())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listFile)){
listFile = listFile.stream().sorted(Comparator.comparing(OSSFile::getCreateTime).reversed()).collect(Collectors.toList());
byFileRows.setStandardUrl(listFile.get(0).getUrl());
}
}
LambdaQueryWrapper<SarFileSplitInfoEO> querySarFileSplitInfoEo = new LambdaQueryWrapper<>();
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getStandardId,byFileRows.getId());
querySarFileSplitInfoEo.isNull(SarFileSplitInfoEO::getPublishBeforeId);
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getFileType,"publish_of_original");
SarFileSplitInfoEO sarFileSplitInfoEo = sarFileSplitInfoService.getOne(querySarFileSplitInfoEo,false);
if(!Objects.isNull(sarFileSplitInfoEo)){
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
page.setValidFlag("0");
page.setOrderBy("display_seq asc");
page.setInfoId(sarFileSplitInfoEo.getId());
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByApiList(page);
if(!CollectionUtils.isEmpty(getList)){
List<SarFileSplitMenu> listSarFileSplitMenu = new ArrayList<>();
for (SarFileSplitMenuEO sarFileSplitMenuEo : getList) {
SarFileSplitMenu sarFileSplitMenu = new SarFileSplitMenu();
sarFileSplitMenu.setId(sarFileSplitMenuEo.getId());
sarFileSplitMenu.setPid(sarFileSplitMenuEo.getPId());
sarFileSplitMenu.setItemName(sarFileSplitMenuEo.getItemName());
sarFileSplitMenu.setName(sarFileSplitMenuEo.getName());
listSarFileSplitMenu.add(sarFileSplitMenu);
}
SplitResult splitResult = new SplitResult();
if(!CollectionUtils.isEmpty(listSarFileSplitMenu)){
List<String> listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList());
LambdaQueryWrapper<LawsDocumentSplit> queryLawsDocumentSplit = new LambdaQueryWrapper<>();
queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds);
queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0");
List<LawsDocumentSplit> listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit);
if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){
List<DocumentSplitDetail> listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class);
splitResult.setDocumentSplitDetail(listDocumentSplitDetail);
}
List<SarFileSplitMenu> finalResult = listSarFileSplitMenu;
listSarFileSplitMenu = listSarFileSplitMenu.stream().filter(v -> StringUtils.isBlank(v.getPid()))
.peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList());
splitResult.setSarFileSplitMenuEO(JSON.toJSONString(listSarFileSplitMenu));
}
byFileRows.setSplitResult(splitResult);
}
}
}
}
List<ByFileRows> listByFileRows = getByFileRows(partCategoryNum, standardVO);
return Result.OK(listByFileRows);
}catch (Exception e){
log.error("标准法规文档查询异常:",e);
@@ -233,6 +159,85 @@ public class SrmsApiServiceImpl implements SrmsApiService {
}
}
@Nullable
private List<ByFileRows> getByFileRows(String partCategoryNum, StandardVO standardVO) {
List<ByFileRows> listByFileRows = lawsStandardMapper.getStandard(standardVO);
if(CollectionUtils.isEmpty(listByFileRows)) {
return listByFileRows;
}
List<String> listFileId = listByFileRows.stream().map(ByFileRows::getId).collect(Collectors.toList());
LambdaQueryWrapper<OSSFile> queryOssFile = new LambdaQueryWrapper<>();
queryOssFile.in(OSSFile::getStandardId,listFileId);
queryOssFile.eq(OSSFile::getStandardFileType,"publish_of_original");
queryOssFile.orderByDesc(OSSFile::getCreateTime);
List<OSSFile> listOssFile = ossFileService.list(queryOssFile);
for (ByFileRows byFileRows : listByFileRows) {
byFileRows.setPartCategoryNum(partCategoryNum);
byFileRows.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", byFileRows.getStandardState()));
if(!CollectionUtils.isEmpty(listOssFile)){
List<OSSFile> listFile = listOssFile.stream().filter(o-> Objects.equals(o.getStandardId(),byFileRows.getId())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listFile)){
listFile = listFile.stream().sorted(Comparator.comparing(OSSFile::getCreateTime).reversed()).collect(Collectors.toList());
byFileRows.setStandardUrl(listFile.get(0).getUrl());
}
}
LambdaQueryWrapper<SarFileSplitInfoEO> querySarFileSplitInfoEo = new LambdaQueryWrapper<>();
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getStandardId,byFileRows.getId());
querySarFileSplitInfoEo.isNull(SarFileSplitInfoEO::getPublishBeforeId);
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getFileType,"publish_of_original");
SarFileSplitInfoEO sarFileSplitInfoEo = sarFileSplitInfoService.getOne(querySarFileSplitInfoEo,false);
if(!Objects.isNull(sarFileSplitInfoEo)){
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
page.setValidFlag("0");
page.setOrderBy("display_seq asc");
page.setInfoId(sarFileSplitInfoEo.getId());
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByApiList(page);
if(!CollectionUtils.isEmpty(getList)){
List<SarFileSplitMenu> listSarFileSplitMenu = new ArrayList<>();
for (SarFileSplitMenuEO sarFileSplitMenuEo : getList) {
SarFileSplitMenu sarFileSplitMenu = new SarFileSplitMenu();
sarFileSplitMenu.setId(sarFileSplitMenuEo.getId());
sarFileSplitMenu.setPid(sarFileSplitMenuEo.getPId());
sarFileSplitMenu.setItemName(sarFileSplitMenuEo.getItemName());
sarFileSplitMenu.setName(sarFileSplitMenuEo.getName());
listSarFileSplitMenu.add(sarFileSplitMenu);
}
SplitResult splitResult = new SplitResult();
if(!CollectionUtils.isEmpty(listSarFileSplitMenu)){
List<String> listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList());
LambdaQueryWrapper<LawsDocumentSplit> queryLawsDocumentSplit = new LambdaQueryWrapper<>();
queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds);
queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0");
List<LawsDocumentSplit> listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit);
if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){
List<DocumentSplitDetail> listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class);
splitResult.setDocumentSplitDetail(listDocumentSplitDetail);
}
List<SarFileSplitMenu> finalResult = listSarFileSplitMenu;
listSarFileSplitMenu = listSarFileSplitMenu.stream().filter(v -> StringUtils.isBlank(v.getPid()))
.peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList());
splitResult.setSarFileSplitMenuEO(JSON.toJSONString(listSarFileSplitMenu));
}
byFileRows.setSplitResult(splitResult);
}
}
}
return listByFileRows;
}
private void setHasSplit(JSONObject requests, StandardVO standardVO) {
if(!Objects.isNull(requests.get("hasSplit"))){
Boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString());
if(hasSplit){
standardVO.setHasSplit("1");
}else{
standardVO.setHasSplit("2");
}
}
}
private String getStr(JSONObject requests, String partCategoryNum) {
return requests.containsKey(partCategoryNum) ? requests.get(partCategoryNum).toString() : "";
}
@@ -242,4 +247,44 @@ public class SrmsApiServiceImpl implements SrmsApiService {
.peek(v -> v.setChildren(createChildList(v, treeList)))
.collect(Collectors.toList());
}
@Override
public Result<List<ProductDesign>> getByLawsProductDesign(JSONObject json, HttpServletRequest req) {
// 验证token
String token = req.getHeader("X-Access-Token");
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
Result.error(SYS_ERR);
}
JSONArray requests = JSON.parseArray(JSON.toJSONString(json.get(REQUESTS)));
if(CollectionUtils.isEmpty(requests)){
Result.error("必填项不能为空");
}
List<ProductDesign> listProductDesign = new ArrayList<>();
for (Object request : requests) {
JSONObject js = JSON.parseObject(JSON.toJSONString(request));
// todo || !js.containsKey("queryLabels")
if(!js.containsKey("ID") || !js.containsKey("standardNumber") ){
Result.error("必填项不能为空");
}
// todo || Objects.isNull(js.get("queryLabels"))
if(Objects.isNull(js.get("ID")) || Objects.isNull(js.get("standardNumber"))){
Result.error("必填项不能为空");
}
ProductDesign productDesign = new ProductDesign();
productDesign.setId(js.get("ID").toString());
productDesign.setStandardNumber(js.get("standardNumber").toString());
productDesign.setQueryLabels(js.get("queryLabels").toString());
listProductDesign.add(productDesign);
}
try {
for (ProductDesign productDesign : listProductDesign) {
String str = lawsStandardMapper.getStandardByProductDesign(productDesign.getStandardNumber(),productDesign.getQueryLabels());
productDesign.setItemContent(str);
}
return Result.OK(listProductDesign);
}catch (Exception e){
log.error("标准法规文档查询异常:",e);
return Result.error("操作失败" + e.getMessage());
}
}
}
@@ -1,4 +1,4 @@
package com.jero.modules.docking.srms.dto;
package com.jero.modules.docking.srms.vo;
import lombok.Data;