添加外部对接标准法规信息/文本接口

This commit is contained in:
梁琦涛
2024-10-15 15:56:32 +08:00
parent 2edadf4361
commit ff117e1f5f
4 changed files with 109 additions and 5 deletions
@@ -1,15 +1,33 @@
package com.jero.modules.docking.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.modules.docking.api.service.ILawsSysApiInfoService;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@Api(tags = "业务支持-关键零部件型号库")
@Api(tags = "外部对接-提供对外接口")
@RestController
@RequestMapping("/laws/LawsSysApiInfo")
@RequestMapping("/api")
@Slf4j
public class LawsSysApiInfoController {
@Resource
private ILawsSysApiInfoService lawsSysApiInfoService;
/**
* 获取token
* @return
*/
@PostMapping("/getStandardData")
public Result<IPage<Map<String,Object>>> getStandardData(@RequestBody Map<String,Object> parameterMap) {
return lawsSysApiInfoService.getStandardData(parameterMap);
}
}
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.laws.part.mapper.LawsPartTypeMapper">
<mapper namespace="com.jero.modules.docking.api.mapper.LawsSysApiInfoMapper">
<select id="pageList" resultType="com.jero.modules.docking.api.entity.LawsSysApiInfo">
select
@@ -1,8 +1,13 @@
package com.jero.modules.docking.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.modules.docking.api.entity.LawsSysApiInfo;
import java.util.Map;
public interface ILawsSysApiInfoService extends IService<LawsSysApiInfo> {
Result<IPage<Map<String,Object>>> getStandardData(Map<String,Object> parameterMap);
}
@@ -1,18 +1,99 @@
package com.jero.modules.docking.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.modules.docking.api.entity.LawsSysApiInfo;
import com.jero.modules.docking.api.mapper.LawsSysApiInfoMapper;
import com.jero.modules.docking.api.service.ILawsSysApiInfoService;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.home.common.LawsHomeSearchCommon;
import com.jero.modules.laws.home.mapper.LawsHomeSearchMapper;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.tag.enums.TableNameEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@Service
@Slf4j
public class LawsSysApiInfoServiceImpl extends ServiceImpl<LawsSysApiInfoMapper, LawsSysApiInfo>
implements ILawsSysApiInfoService {
@Resource
private ILawsCommonService lawsCommonService;
@Resource
private LawsHomeSearchMapper lawsHomeSearchMapper;
@Resource
private ISysDictService sysDictService;
@Override
public Result<IPage<Map<String, Object>>> getStandardData(Map<String, Object> parameterMap) {
// todo 未添加对接系统验证 未修改业务返回数据
Map<String, Object> parameterMapByDomestic = new HashMap<>(parameterMap);
Map<String, Object> parameterMapByEnterprise = new HashMap<>(parameterMap);
// 显示字段
String selectFieldByDomestic = "standard_number, standard_name, resource_type";
String selectFieldByEnterprise = "standard_number, standard_name, resource_type";
// 构建搜索条件
String orderBy = "order by create_time desc";
parameterMapByDomestic.put(FieldCommon.MODULE, TableNameEnum.DOMESTIC_REGULATIONS.getValue());
parameterMapByEnterprise.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
// 关联部门字段不一致 特殊处理
if (parameterMap.containsKey("associate_dept")){
parameterMapByEnterprise.put("related_department", parameterMap.get("associate_dept"));
}
String queryConditionByDomestic =
lawsCommonService.buildQueryCondition(parameterMapByDomestic).replace(orderBy, "");
String queryConditionByEnterprise =
lawsCommonService.buildQueryCondition(parameterMapByEnterprise).replace(orderBy, "");
// 分页参数
long pageNo = Long.parseLong(String.valueOf(parameterMap.get("pageNo")));
long pageSize = Long.parseLong(String.valueOf(parameterMap.get("pageSize")));
IPage<Object> page = new Page<>(pageNo, pageSize);
// 查询数据
IPage<Map<String, Object>> advancedSearchAll =
lawsHomeSearchMapper.getAdvancedSearchAll(page, selectFieldByDomestic, selectFieldByEnterprise,
queryConditionByDomestic, queryConditionByEnterprise);
// 标准状态翻译
for (Map<String, Object> data : advancedSearchAll.getRecords()) {
String resourceType = String.valueOf(data.get("resource_type"));
String standardState = String.valueOf(data.get("standard_state"));
String code = LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD.equals(resourceType)
? "standard_state" : "enterprise_standard_state";
String dictText = sysDictService.queryDictTextByKey(code, standardState);
data.put("standard_state_dictText", dictText);
if (!Objects.isNull(data.get("release_date"))){
Date releaseDate = (Date) data.get("release_date");
data.put("release_date", new SimpleDateFormat("yyyy-MM-dd").format(releaseDate));
}
if (!Objects.isNull(data.get("implementation_date"))){
try{
Date implementationDate = (Date) data.get("implementation_date");
data.put("implementation_date", new SimpleDateFormat("yyyy-MM-dd").format(implementationDate));
}catch (Exception e){
String implementationDate = data.get("implementation_date").toString();
data.put("implementation_date", implementationDate);
}
}
}
return Result.OK(advancedSearchAll);
}
}