zhongrj
2023-10-20 bb7971ee1b8dbfaa0e1ceb0d60daee974da77671
新增从中台读取数据(按水库和按行政区)
11 files modified
2 files added
416 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/constant/ZtApiUrlConstant.java 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/constant/ZtConfigConstant.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/SkxsQkTjController.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/SkxsQkTjMapper.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/SkxsQkTjMapper.xml 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml 14 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java 133 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java 144 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/constant/ZtApiUrlConstant.java
New file
@@ -0,0 +1,35 @@
package cn.gistack.sm.sjztods.constant;
/**
 * 中台接口请求信息常量
 * @author zhongrj
 * @since 2023-04-21
 */
public class ZtApiUrlConstant {
    /**
     * 请求头url 前缀(dev)
     */
    public static final String url_prefix_dev = "http://10.10.2.192";
    /**
     * 请求头url 前缀(prod)
     */
    public static final String url_prefix_prod = "http://10.42.6.192";
    /**
     * 请求头url 前缀(prod)
     */
    public static final String url_prefix_test = "http://10.42.6.192";
    /**
     *  水库库容统计情况
     */
    public static final String cap_water_detail = "/services/1234567890ABCDEFGHIJKLMN/cap_water_detail";
    /**
     * 库容按行政区统计情况
     */
    public static final String cap_tot_status = "/services/1234567890ABCDEFGHIJKLMN/cap_tot_status";
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/constant/ZtConfigConstant.java
New file
@@ -0,0 +1,20 @@
package cn.gistack.sm.sjztods.constant;
/**
 * 中台接口请求信息常量
 * @author zhongrj
 * @since 2023-04-21
 */
public class ZtConfigConstant {
    /**
     * 请求头 key
     */
    public static final String header_key = "apiKey";
    /**
     * 请求头 value
     */
    public static final String header_value = "F1DBECD719108635189480CF60E6553ADB3109616426BD537F25A430DFC613B491A025C4A51E77FD08C6E5B7CBE05917A461286E7B6D69F1AB1B14F946149D2065B0C675F8FEDF4B9B05C1496881BC5A";
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/SkxsQkTjController.java
@@ -96,4 +96,13 @@
        ExcelUtil.export(response, "水库统计数据" + DateUtil.time(), "水库统计数据表", list, SkxsQkTjExcel.class);
    }
    /**
     * 中台接口数据调用,数据入库
     * @param skxsQkTj
     */
    @GetMapping("/saveOrUpdateData")
    public void saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
        skxsQkTjService.saveOrUpdateData(skxsQkTj);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java
@@ -91,4 +91,14 @@
        ExcelUtil.export(response, "水库统计数据" + DateUtil.time(), "水库统计数据表", list, XsfsQktjExcel.class);
    }
    /**
     * 中台接口数据调用,数据入库
     * @param xsfsQktj
     */
    @GetMapping("/saveOrUpdateData")
    public void saveOrUpdateData(XsfsQktjVO xsfsQktj) {
        xsfsQktjService.saveOrUpdateData(xsfsQktj);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/SkxsQkTjMapper.java
@@ -57,4 +57,14 @@
     * @return
     */
    SkxsQkTj selectSkxsQkTj(@Param("skxsQkTjExcel") SkxsQkTjExcel skxsQkTjExcel);
    /**
     * 查询详情数据
     * @param res_cd
     * @param queryTime
     * @return
     */
    SkxsQkTj selectSkxsQkTjBy(@Param("resCd") String res_cd,
                              @Param("resNm") String res_nm,
                              @Param("queryTime")  String queryTime);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/SkxsQkTjMapper.xml
@@ -147,5 +147,15 @@
        where 1=1
        and date_format("statistic_time",'%Y-%m-%d') = #{skxsQkTjExcel.statisticTime}
        and "res_code" = #{skxsQkTjExcel.resCode}
        and "res_name" = #{skxsQkTjExcel.resName}
    </select>
    <!--查询详情数据-->
    <select id="selectSkxsQkTjBy" resultType="cn.gistack.sm.sjztods.entity.SkxsQkTj">
        select * from SJZT_ODS."skxs_qk_tj"
        where 1=1
        and date_format("statistic_time",'%Y-%m-%d') = #{queryTime}
        and "res_code" = #{resCd}
        and "res_name" = #{resNm}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java
@@ -1,5 +1,6 @@
package cn.gistack.sm.sjztods.mapper;
import cn.gistack.sm.sjztods.entity.SkxsQkTj;
import cn.gistack.sm.sjztods.entity.XsfsQktj;
import cn.gistack.sm.sjztods.excel.XsfsQktjExcel;
import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
@@ -48,4 +49,12 @@
     * @return
     */
    XsfsQktj selectXsfsQktj(@Param("xsfsQktjExcel") XsfsQktjExcel xsfsQktjExcel);
    /**
     * 查询详情信息
     * @param ad_nm 区域名称
     * @param queryTime
     * @return
     */
    XsfsQktj selectXsfsQktjBy(@Param("adName") String ad_nm,@Param("queryTime") String queryTime);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml
@@ -61,8 +61,8 @@
        <if test="xsfsQktj.statisticTime!=null">
            and date_format(xq."statistic_time",'%Y-%m-%d') = #{xsfsQktj.statisticTime}
        </if>
        <if test="xsfsQktj.adCode!=null and xsfsQktj.adCode!=''">
            and xq."ad_code" = #{xsfsQktj.adCode}
        <if test="xsfsQktj.adName!=null and xsfsQktj.adName!=''">
            and xq."ad_name" = #{xsfsQktj.adName}
        </if>
    </select>
@@ -71,6 +71,14 @@
        select * from SJZT_ODS."skxs_qk_tj"
        where 1=1
        and date_format("statistic_time",'%Y-%m-%d') = #{xsfsQktjExcel.statisticTime}
        and "ad_code" = #{xsfsQktjExcel.adCode}
        and "ad_name" = #{xsfsQktjExcel.adName}
    </select>
    <!--查询详情数据-->
    <select id="selectXsfsQktjBy" resultType="cn.gistack.sm.sjztods.entity.XsfsQktj">
        select * from SJZT_ODS."skxs_qk_tj"
        where 1=1
        and date_format("statistic_time",'%Y-%m-%d') = #{statisticTime}
        and "ad_name" = #{adName}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java
@@ -49,4 +49,10 @@
     * @return
     */
    List<SkxsQkTjExcel> exportSkxsQkTjList(SkxsQkTjVO skxsQkTj);
    /**
     * 中台接口数据调用,数据入库
     * @param skxsQkTj
     */
    void saveOrUpdateData(SkxsQkTjVO skxsQkTj);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java
@@ -49,4 +49,10 @@
     * @return
     */
    List<XsfsQktjExcel> exportXsfsQktjList(XsfsQktjVO xsfsQktj);
    /**
     * 中台接口数据调用,数据入库
     * @param xsfsQktj
     */
    void saveOrUpdateData(XsfsQktjVO xsfsQktj);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java
@@ -1,24 +1,34 @@
package cn.gistack.sm.sjztods.service.impl;
import cn.gistack.common.utils.SpringContextUtil;
import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
import cn.gistack.sm.sjztods.entity.SkxsQkTj;
import cn.gistack.sm.sjztods.excel.SkxsQkTjExcel;
import cn.gistack.sm.sjztods.mapper.SkxsQkTjMapper;
import cn.gistack.sm.sjztods.service.ISkxsQkTjService;
import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
import cn.gistack.system.user.entity.User;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
 * @ClassName SkxsQkTjServiceImpl
@@ -28,6 +38,9 @@
@Service
@DS("ztznwh")
public class SkxsQkTjServiceImpl extends ServiceImpl<SkxsQkTjMapper, SkxsQkTj> implements ISkxsQkTjService {
    @Autowired
    private RestTemplate restTemplate;
    /**
     * 上报
@@ -134,5 +147,115 @@
    public List<SkxsQkTjExcel> exportSkxsQkTjList(SkxsQkTjVO skxsQkTj) {
        return baseMapper.exportSkxsQkTjList(skxsQkTj);
    }
    /**
     * 中台接口数据调用,数据入库
     * @param skxsQkTj
     */
    @Override
    public void saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
        // 参数拼接
        StringBuilder builder = new StringBuilder("?");
        builder.append("pageNo=1").append("&pageSize=1000");
        // 拼接日期,必传
        builder.append("&dt=").append(skxsQkTj.getQueryTime());
        String params = builder.toString();
        // 查询
        JSONObject jsonObject = getZtData(params, ZtApiUrlConstant.cap_water_detail);
        // 保留 null值
        JSONObject jsonData = jsonObject.getJSONObject("data");
        JSONArray jsonArray = jsonData.getJSONArray("data");
        List<SkxsQkTj> list = new ArrayList<>();
        // 遍历,写入数据
        for (int i = 0; i < jsonArray.size(); i++) {
            String res_cd = jsonArray.getJSONObject(i).getString("res_cd");
            // 查询库里是否已存在数据
            SkxsQkTj skxs = baseMapper.selectSkxsQkTjBy(res_cd,jsonArray.getJSONObject(i).getString("res_nm"),skxsQkTj.getQueryTime());
            if (null!=skxs){
                // 跳出本次循环
                continue;
            }
            SkxsQkTj qkTj = new SkxsQkTj();
            // 设置各项值
            setSkxsQkTjInfo(qkTj,jsonArray,i,skxsQkTj.getQueryTime());
            // 加入集合
            list.add(qkTj);
        }
        // 批量插入
        saveBatch(list);
    }
    /**
     * 设置水库库容统计值
     * @param skxs
     * @param jsonArray
     * @param i 第几个
     * @param time 统计日期
     */
    private void setSkxsQkTjInfo(SkxsQkTj skxs,JSONArray jsonArray,int i,String time) {
        try {
            skxs.setStatisticTime(new SimpleDateFormat("yyyy-MM-dd").parse(time));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        skxs.setCreateUser(AuthUtil.getUserId());
        skxs.setUpdateUser(AuthUtil.getUserId());
        skxs.setCreateTime(new Date());
        skxs.setUpdateTime(new Date());
        skxs.setSysResource("zt");
        skxs.setDeadCap(jsonArray.getJSONObject(i).getDouble("dead_cap"));
        skxs.setResCode(jsonArray.getJSONObject(i).getString("res_cd"));
        skxs.setResName(jsonArray.getJSONObject(i).getString("res_nm"));
        skxs.setTotalCap(jsonArray.getJSONObject(i).getDouble("tot_cap"));
        skxs.setRz(jsonArray.getJSONObject(i).getDouble("rz"));
        skxs.setWs(jsonArray.getJSONObject(i).getDouble("now_cap"));
        skxs.setBenResCap(jsonArray.getJSONObject(i).getDouble("ben_res_cap"));
        skxs.setLastYearWs(jsonArray.getJSONObject(i).getDouble("last_year_cap"));
        skxs.setHisWs(jsonArray.getJSONObject(i).getDouble("avg_cap"));
        skxs.setUpMonthWs(jsonArray.getJSONObject(i).getDouble("last_month_cap"));
        skxs.setTotalWsDif(jsonArray.getJSONObject(i).getString("diff_his"));
    }
    /**
     * 调用中台接口查询数据
     *
     * @param params
     * @param url
     * @return
     */
    public JSONObject getZtData(String params, String url) {
        // 获取环境
        String activeProfile = SpringContextUtil.getActiveProfile();
        if (activeProfile.equals("dev")){
            url = ZtApiUrlConstant.url_prefix_dev + url;
        }
        if (activeProfile.equals("prod")){
            url = ZtApiUrlConstant.url_prefix_prod + url;
        }
        if (activeProfile.equals("test")){
            url = ZtApiUrlConstant.url_prefix_test + url;
        }
        //设置请求头
        HttpHeaders headers = new HttpHeaders();
        headers.add(ZtConfigConstant.header_key, ZtConfigConstant.header_value);
        //封装请求头
        HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
        try {
            //有请求头,有参数请求
            ResponseEntity<String> responseEntity =
                restTemplate.exchange(url + params,
                    HttpMethod.GET,
                    formEntity,
                    String.class);
            // Feature.IgnoreNotMatch 保留null值的属性
            JSONObject jsonObject = JSON.parseObject(responseEntity.getBody(),Feature.IgnoreNotMatch);
            // 返回
            return jsonObject;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java
@@ -1,20 +1,36 @@
package cn.gistack.sm.sjztods.service.impl;
import cn.gistack.common.utils.SpringContextUtil;
import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
import cn.gistack.sm.sjztods.entity.SkxsQkTj;
import cn.gistack.sm.sjztods.entity.XsfsQktj;
import cn.gistack.sm.sjztods.excel.XsfsQktjExcel;
import cn.gistack.sm.sjztods.mapper.XsfsQktjMapper;
import cn.gistack.sm.sjztods.service.IXsfsQktjService;
import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -27,6 +43,9 @@
@Service
@DS("ztznwh")
public class XsfsQktjServiceImpl extends ServiceImpl<XsfsQktjMapper, XsfsQktj> implements IXsfsQktjService {
    @Autowired
    private RestTemplate restTemplate;
    /**
     * 上报
@@ -128,5 +147,130 @@
    public List<XsfsQktjExcel> exportXsfsQktjList(XsfsQktjVO xsfsQktj) {
        return baseMapper.exportXsfsQktjList(xsfsQktj);
    }
    /**
     * 中台接口数据调用,数据入库
     * @param xsfsQktj
     */
    @Override
    public void saveOrUpdateData(XsfsQktjVO xsfsQktj) {
        // 参数拼接
        StringBuilder builder = new StringBuilder("?");
        // 拼接日期,必传
        builder.append("?dt=").append(xsfsQktj.getQueryTime());
        if (null!=xsfsQktj.getType() && !xsfsQktj.getType().equals("")) {
            builder.append("&").append(xsfsQktj.getType()).append("=").append(xsfsQktj.getTypeValue());
        }
        String params = builder.toString();
        // 查询
        JSONObject jsonObject = getZtData(params, ZtApiUrlConstant.cap_tot_status);
        // 解析数据
        JSONArray jsonArray = jsonObject.getJSONArray("data");
        List<XsfsQktj> list = new ArrayList<>();
        // 遍历,写入数据
        for (int i = 0; i < jsonArray.size(); i++) {
            String ad_nm = "";
            if (xsfsQktj.getType().equals("city_cd")){
                ad_nm = jsonArray.getJSONObject(i).getString("county_nm");
            }else if (xsfsQktj.getType().equals("county_cd")){
                ad_nm = jsonArray.getJSONObject(i).getString("town_nm");
            }else {
                ad_nm = jsonArray.getJSONObject(i).getString("city_nm");
            }
            // 查询库里是否已存在数据
            XsfsQktj xsfsQktjBy = baseMapper.selectXsfsQktjBy(ad_nm,xsfsQktj.getQueryTime());
            if (null!=xsfsQktjBy){
                // 跳出本次循环
                continue;
            }
            XsfsQktj qkTj = new XsfsQktj();
            qkTj.setAdName(ad_nm);
            // 设置各项值
            setXsfsQktjInfo(qkTj,jsonArray,i,xsfsQktj.getQueryTime());
            // 加入集合
            list.add(qkTj);
        }
        // 批量插入
        saveBatch(list);
    }
    /**
     * 设置水库库容统计值
     * @param skxs
     * @param jsonArray
     * @param i 第几个
     * @param time 统计日期
     */
    private void setXsfsQktjInfo(XsfsQktj skxs,JSONArray jsonArray,int i,String time) {
        try {
            skxs.setStatisticTime(new SimpleDateFormat("yyyy-MM-dd").parse(time));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        skxs.setCreateUser(AuthUtil.getUserId());
        skxs.setUpdateUser(AuthUtil.getUserId());
        skxs.setCreateTime(new Date());
        skxs.setUpdateTime(new Date());
        skxs.setSysResource("zt");
        // 总
        skxs.setZxsTotal(jsonArray.getJSONObject(i).getDouble("tot_cap"));
        skxs.setZxsSc(jsonArray.getJSONObject(i).getString("diff_last_day"));
        skxs.setZxsLastYearTq(jsonArray.getJSONObject(i).getString("rate_last_year_cap"));
        skxs.setZxsLastYearTqzj(jsonArray.getJSONObject(i).getString("diff_last_year"));
        skxs.setZxsHisTq(jsonArray.getJSONObject(i).getString("diff_his_cap"));
        skxs.setZxsHisTqzj(jsonArray.getJSONObject(i).getString("rate_avg_cap"));
        // 大型
        skxs.setDxskXsTotal(jsonArray.getJSONObject(i).getDouble("big_tot_cap"));
        skxs.setDxskXsHis(jsonArray.getJSONObject(i).getString("big_diff_his"));
        skxs.setDxskXsLastYear(jsonArray.getJSONObject(i).getString("big_diff_last_year"));
        // 中型
        skxs.setZxskXsTotal(jsonArray.getJSONObject(i).getDouble("mid_tot_cap"));
        skxs.setZxskXsHis(jsonArray.getJSONObject(i).getString("mid_diff_his"));
        skxs.setZxskXsLastYear(jsonArray.getJSONObject(i).getString("mid_diff_last_year"));
        // 小型
        skxs.setXxskXsTotal(jsonArray.getJSONObject(i).getDouble("small_tot_cap"));
    }
    /**
     * 调用中台接口查询数据
     *
     * @param params
     * @param url
     * @return
     */
    public JSONObject getZtData(String params, String url) {
        // 获取环境
        String activeProfile = SpringContextUtil.getActiveProfile();
        if (activeProfile.equals("dev")){
            url = ZtApiUrlConstant.url_prefix_dev + url;
        }
        if (activeProfile.equals("prod")){
            url = ZtApiUrlConstant.url_prefix_prod + url;
        }
        if (activeProfile.equals("test")){
            url = ZtApiUrlConstant.url_prefix_test + url;
        }
        //设置请求头
        HttpHeaders headers = new HttpHeaders();
        headers.add(ZtConfigConstant.header_key, ZtConfigConstant.header_value);
        //封装请求头
        HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
        try {
            //有请求头,有参数请求
            ResponseEntity<String> responseEntity =
                restTemplate.exchange(url + params,
                    HttpMethod.GET,
                    formEntity,
                    String.class);
            // Feature.IgnoreNotMatch 保留null值的属性
            JSONObject jsonObject = JSON.parseObject(responseEntity.getBody(), Feature.IgnoreNotMatch);
            // 返回
            return jsonObject;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
@@ -15,4 +15,14 @@
     * 查询时间
     */
    private String queryTime;
    /**
     * 行政区类型 如 cityCode
     */
    private String type;
    /**
     * 行政区名称 值如 420100000000
     */
    private String typeValue;
}