zhongrj
2023-11-13 7eee9e04b31e1d8fdcbce8bc48bc839aa975441f
水库信息同步视频站修改
9 files modified
1 files added
172 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkService.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkServiceImpl.java 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java 48 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
@@ -140,6 +140,11 @@
     */
    public static final String batchAddURLs = "/api/resource/v1/region/batch/add";
    /**
     * 查询区域列表v2
     */
    public static final String regionNodesByParamsURLs = "/api/irds/v2/region/nodesByParams";
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java
@@ -5,8 +5,11 @@
import cn.gistack.sm.hk.service.HkService;
import cn.gistack.sm.hk.vo.HkVO;
import cn.gistack.sm.hk.vo.VideoVO;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.vo.AttResAdVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.protobuf.ServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -34,6 +37,8 @@
public class HkController {
    private final HkService hkService;
    private final IAttResBaseService attResBaseService;
    /**
     * 分页列表查询
@@ -322,6 +327,13 @@
    @ApiOperation(value = "海康设备-同步水库设备信息", notes = "海康设备-同步水库设备信息")
    @PostMapping(value = "/syncVideo")
    public R syncVideo(@RequestBody HkVO hk) {
        // 通过水库编号获取区域(区县)名称
        AttResAdVO info = attResBaseService.getWaterRegionInfoByResGuid(hk.getRegionIndexCode());
        hk.setRegionName(info.getCountyName());
        // 通过区域名称查询对应的区域编号
        String rootRegionId = hkService.regionNodesByParams(hk);
        if (null!= rootRegionId && !rootRegionId.equals("")){
            // 更新
        /**
         * 组装请求参数
         */
@@ -329,7 +341,7 @@
        VideoVO video = new VideoVO();
        video.setRegionName(hk.getRegionName());
        video.setRegionIndexCode(hk.getRegionIndexCode());
        video.setParentIndexCode("root000000");
            video.setParentIndexCode(rootRegionId);
        video.setRegionType(10);
        list.add(video);
        String body = JSON.toJSONString(list);
@@ -338,7 +350,13 @@
         * 调用接口并返回数据
         * post请求application/json类型参数;
         */
        return R.data(JSONObject.parseObject(common(null==hk.getType()?2:hk.getType(),HkConstant.batchAddURLs, body)));
            JSONObject jsonObject = JSONObject.parseObject(common(null == hk.getType() ? 2 : hk.getType(), HkConstant.batchAddURLs, body));
            // 返回
            return R.data(200,jsonObject,null);
        }else {
            // 当前水库行政区域不匹配
            return R.data(400,null,"当前水库行政区域不匹配");
        }
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkService.java
@@ -27,4 +27,11 @@
     * @return
     */
    Map<String, Object> getHkStatisticData(HkVO hk, Query query);
    /**
     * 查询区域列表v2
     * @param hk
     * @return
     */
    String regionNodesByParams(HkVO hk);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkServiceImpl.java
@@ -179,11 +179,11 @@
     * 获取根节点区域信息
     * @param hk
     */
    private String getRootRegionId(HkVO hk) {
    public String getRootRegionId(HkVO hk) {
        // 组装请求参数
        JSONObject jsonBody = new JSONObject();
        String body = jsonBody.toJSONString();
        String result = GetCameraUtils.common(hk.getType(),regionsRootUrls, body);
        String result = GetCameraUtils.common(null==hk.getType()?1:hk.getType(),regionsRootUrls, body);
        // 数据处理
        JSONObject jsonObject = JSONObject.parseObject(result);
        JSONObject data = (JSONObject) jsonObject.get("data");
@@ -191,4 +191,30 @@
        // 返回
        return indexCode;
    }
    /**
     * 查询区域列表v2
     * @param hk
     */
    public String regionNodesByParams(HkVO hk) {
        String indexCode = "";
        // 组装请求参数
        JSONObject jsonBody = new JSONObject();
        jsonBody.put("resourceType", "region");
        jsonBody.put("regionName", hk.getRegionName());
        jsonBody.put("pageNo", 1);
        jsonBody.put("pageSize", 10);
        String body = jsonBody.toJSONString();
        String result = GetCameraUtils.common(null==hk.getType()?1:hk.getType(),regionNodesByParamsURLs, body);
        // 数据处理
        JSONObject jsonObject = JSONObject.parseObject(result);
        JSONObject data = jsonObject.getJSONObject("data");
        JSONArray list = data.getJSONArray("list");
        if (list.size()>0){
            indexCode = list.getJSONObject(0).getString("indexCode");
        }
        // 返回
        return indexCode;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java
@@ -91,4 +91,14 @@
        return R.data(attResBaseService.updateResBaseByGuid(attResBase));
    }
    /**
     * 根据水库编码获取行政区数据
     * @param guid
     * @return
     */
    @GetMapping(value = "/getWaterRegionInfoByResGuid")
    public R getWaterRegionInfoByResGuid(String guid) {
        return R.data(attResBaseService.getWaterRegionInfoByResGuid(guid));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.vo.AttResAdVO;
import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
import cn.gistack.sm.sjztmd.vo.ManagePersonVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -51,4 +52,11 @@
     * @return
     */
    AttResBaseVO getCityCountyCodeByResGuid(@Param("guid") String res_cd);
    /**
     * 根据水库编码获取行政区数据
     * @param guid
     * @return
     */
    AttResAdVO getWaterRegionInfoByResGuid(@Param("guid") String guid);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -159,4 +159,27 @@
        where a."guid" = #{guid}
    </select>
    <!--查询当前水库对应的市级编号和县区编号-->
    <select id="getWaterRegionInfoByResGuid" resultType="cn.gistack.sm.sjztmd.vo.AttResAdVO">
        SELECT
            a."guid" as resGuid,
            case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS townCode,
            case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS townName,
            case when b."ad_grad" = 3 THEN b."ad_code"
                 when c."ad_grad" = 3 THEN c."ad_code" END AS countyCode,
            case when b."ad_grad" = 3 THEN b."ad_name"
                 when c."ad_grad" = 3 THEN C."ad_name" END AS countyName,
            case when b."ad_grad" = 2 THEN b."ad_code"
                 when c."ad_grad" = 2 THEN c."ad_code"
                 ELSE d."ad_code" END AS cityCode,
            case when b."ad_grad" = 2 THEN b."ad_name"
                 when c."ad_grad" = 2 THEN c."ad_name"
                 ELSE d."ad_name" END AS cityName
        FROM sjzt_md."att_res_base" a
        LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
        LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
        LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
        where a."guid" = #{guid}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
@@ -4,6 +4,7 @@
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import cn.gistack.sm.sjztmd.vo.AttResAdVO;
import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -42,4 +43,11 @@
     * @return
     */
    AttResBaseVO getCityCountyCodeByResGuid(String res_cd);
    /**
     * 根据水库编码获取行政区数据
     * @param guid
     * @return
     */
    AttResAdVO getWaterRegionInfoByResGuid(String guid);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
@@ -5,6 +5,7 @@
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.mapper.AttResBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.vo.AttResAdVO;
import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
import cn.gistack.sm.sjztmd.vo.ManagePersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
@@ -82,4 +83,14 @@
    public AttResBaseVO getCityCountyCodeByResGuid(String res_cd) {
        return baseMapper.getCityCountyCodeByResGuid(res_cd);
    }
    /**
     * 根据水库编码获取行政区数据
     * @param guid
     * @return
     */
    @Override
    public AttResAdVO getWaterRegionInfoByResGuid(String guid) {
        return baseMapper.getWaterRegionInfoByResGuid(guid);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java
New file
@@ -0,0 +1,48 @@
package cn.gistack.sm.sjztmd.vo;
import lombok.Data;
import java.io.Serializable;
/**
 * 水库及行政区数据
 *
 * @author Chill
 */
@Data
public class AttResAdVO implements Serializable {
    /**
     * 水库编号
     */
    private String resGuid;
    /**
     * 市州编号
     */
    private String cityCode;
    /**
     * 市州名称
     */
    private String cityName;
    /**
     * 区县编号
     */
    private String countyCode;
    /**
     * 区县名称
     */
    private String countyName;
    /**
     * 乡镇编号
     */
    private String townCode;
    /**
     * 乡镇名称
     */
    private String townName;
}