Przeglądaj źródła

泰山运维系统云服务项目-工单系统开发

dylan 2 lat temu
rodzic
commit
e68a9340f2
27 zmienionych plików z 1158 dodań i 6 usunięć
  1. 4 4
      src/main/java/org/springblade/etl/controller/EtlController.java
  2. 59 0
      src/main/java/org/springblade/modules/business/rtu/RtuDataController.java
  3. 130 0
      src/main/java/org/springblade/modules/manage/advertisement/controller/AdvertisementManageController.java
  4. 31 0
      src/main/java/org/springblade/modules/manage/advertisement/dto/AdvertisementInfoDTO.java
  5. 63 0
      src/main/java/org/springblade/modules/manage/advertisement/entity/AdvertisementInfoEntity.java
  6. 29 0
      src/main/java/org/springblade/modules/manage/advertisement/mapper/AdvertisementInfoMapper.java
  7. 33 0
      src/main/java/org/springblade/modules/manage/advertisement/mapper/AdvertisementInfoMapper.xml
  8. 13 0
      src/main/java/org/springblade/modules/manage/advertisement/service/IAdvertisementManageService.java
  9. 38 0
      src/main/java/org/springblade/modules/manage/advertisement/service/impl/AdvertisementManageServiceImpl.java
  10. 30 0
      src/main/java/org/springblade/modules/manage/advertisement/vo/AdvertisementInfoVO.java
  11. 43 0
      src/main/java/org/springblade/modules/manage/advertisement/wrapper/AdvertisementInfoWrapper.java
  12. 70 0
      src/main/java/org/springblade/modules/map/region/controller/RegionMapController.java
  13. 26 0
      src/main/java/org/springblade/modules/map/region/dto/MapRegionDTO.java
  14. 88 0
      src/main/java/org/springblade/modules/map/region/entity/MapRegionEntity.java
  15. 52 0
      src/main/java/org/springblade/modules/map/region/entity/MapRegionPointEntity.java
  16. 31 0
      src/main/java/org/springblade/modules/map/region/mapper/MapRegionMapper.java
  17. 46 0
      src/main/java/org/springblade/modules/map/region/mapper/MapRegionMapper.xml
  18. 24 0
      src/main/java/org/springblade/modules/map/region/mapper/MapRegionPointMapper.java
  19. 15 0
      src/main/java/org/springblade/modules/map/region/mapper/MapRegionPointMapper.xml
  20. 23 0
      src/main/java/org/springblade/modules/map/region/service/IMapRegionPointService.java
  21. 26 0
      src/main/java/org/springblade/modules/map/region/service/IMapRegionService.java
  22. 27 0
      src/main/java/org/springblade/modules/map/region/service/impl/MapRegionPointServiceImpl.java
  23. 33 0
      src/main/java/org/springblade/modules/map/region/service/impl/MapRegionServiceImpl.java
  24. 33 0
      src/main/java/org/springblade/modules/map/region/vo/MapRegionVO.java
  25. 187 0
      src/main/java/org/springblade/test/TestController.java
  26. 3 1
      src/main/resources/application-dev.yml
  27. 1 1
      src/main/resources/application.yml

+ 4 - 4
src/main/java/org/springblade/etl/controller/TestController.java → src/main/java/org/springblade/etl/controller/EtlController.java

@@ -48,18 +48,18 @@ import java.util.*;
 
 /***
  * Date:2022/8/22
- * Title:行政区划管理
+ * Title:ETL数据抽取
  * Description:对本文件的详细描述,原则上不能少于30字
  * @author dylan
  * @version 1.0
  * Remark:认为有必要的其他信息
  */
 @RestController
-@RequestMapping("galaxy-test/test")
+@RequestMapping("galaxy-etl/etl")
 @AllArgsConstructor
-@Api(value = "业务字典", tags = "业务字典")
+@Api(value = "ETL数据抽取", tags = "ETL数据抽取")
 @Slf4j
-public class TestController extends BladeController {
+public class EtlController extends BladeController {
     private final IRtuBaseInfoService rtuBaseInfoService;
     private final IEtlRainDataService etlRainDataService;
 

+ 59 - 0
src/main/java/org/springblade/modules/business/rtu/RtuDataController.java

@@ -0,0 +1,59 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/3/14
+ */
+package org.springblade.modules.business.rtu;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.constant.DictBusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.enums.OrderStatusEnum;
+import org.springblade.modules.baseinfo.dict.entity.DictInfoEntity;
+import org.springblade.modules.business.check.order.entity.CheckOrderInfoEntity;
+import org.springblade.modules.business.check.process.entity.OrderProcessInfoEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/***
+ * Date:2024/3/14
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Slf4j
+@RestController
+@RequestMapping("galaxy-business/rtu/data")
+@RequiredArgsConstructor
+@Api(value = "RTU测站数据管理模块", tags = "RTU测站数据管理模块")
+public class RtuDataController extends BladeController {
+    @PostMapping("/sw/collect")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "上报", notes = "")
+    public R swSiteCollectUp(@RequestBody JSONObject data) {
+        log.info("sw {}", data.toJSONString());
+        return R.status(true);
+    }
+
+    @PostMapping("/szy/collect")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "上报", notes = "")
+    public R szySiteCollectUp(@RequestBody JSONObject data) {
+        log.info("szy {}", data.toJSONString());
+        return R.status(true);
+    }
+}

+ 130 - 0
src/main/java/org/springblade/modules/manage/advertisement/controller/AdvertisementManageController.java

@@ -0,0 +1,130 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/31
+ */
+package org.springblade.modules.manage.advertisement.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.log.annotation.ApiLog;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.oss.model.BladeFile;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.baseinfo.rtu.vo.RtuInfoVO;
+import org.springblade.modules.manage.advertisement.dto.AdvertisementInfoDTO;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+import org.springblade.modules.manage.advertisement.service.IAdvertisementManageService;
+import org.springblade.modules.manage.advertisement.vo.AdvertisementInfoVO;
+import org.springblade.modules.manage.advertisement.wrapper.AdvertisementInfoWrapper;
+import org.springblade.modules.resource.builder.oss.OssBuilder;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/***
+ * Date:2022/8/31
+ * Title:广告管理模块
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/ads/manage")
+@AllArgsConstructor
+@Api(value = "广告管理模块", tags = "广告管理模块")
+public class AdvertisementManageController extends BladeController {
+
+    final IAdvertisementManageService advertisementManageService;
+
+    @Resource
+    private OssBuilder ossBuilder;
+
+    @GetMapping("/page")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "分页")
+    public R<IPage<AdvertisementInfoVO>> page(Query query) {
+        IPage<AdvertisementInfoEntity> pages = advertisementManageService.selectPage(Condition.getPage(query));
+        return R.data(AdvertisementInfoWrapper.build().pageVO(pages));
+    }
+
+
+    @GetMapping("/show/list")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "查询前端显示广告")
+    public R<List<AdvertisementInfoEntity>> showList() {
+
+        return R.data(advertisementManageService.selectShowList());
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "详情", notes = "")
+    public R<AdvertisementInfoVO> detail(AdvertisementInfoEntity entity) {
+        AdvertisementInfoEntity detail = advertisementManageService.getOne(Condition.getQueryWrapper(entity));
+        return R.data(AdvertisementInfoWrapper.build().entityVO(detail));
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "")
+    public R save(@RequestBody AdvertisementInfoDTO dto) {
+        if (Func.notNull(dto.getPhotos())) {
+            Map<String, Object> p = dto.getPhotos().get(0);
+            dto.setUrl((String) p.get("url"));
+            dto.setFileName((String) p.get("name"));
+        }
+        return R.status(advertisementManageService.save(dto));
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改", notes = "")
+    public R update(@RequestBody AdvertisementInfoEntity entity) {
+        if (Func.isNull(entity.getId())) {
+            return R.fail("参数错误");
+        }
+        return R.status(advertisementManageService.updateById(entity));
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "逻辑删除", notes = "传入ID数组")
+    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+        boolean temp = advertisementManageService.deleteLogic(Func.toLongList(ids));
+        return R.status(temp);
+    }
+
+    @ApiLog("图片提交")
+    @PostMapping(value = "/putPhoto")
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "图片提交", notes = "")
+    public R putFile(MultipartFile file) {
+        BladeFile bladeFile = ossBuilder.template().putFile(file);
+        return R.data(bladeFile);
+    }
+}

+ 31 - 0
src/main/java/org/springblade/modules/manage/advertisement/dto/AdvertisementInfoDTO.java

@@ -0,0 +1,31 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/3/22
+ */
+package org.springblade.modules.manage.advertisement.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/***
+ * Date:2024/3/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AdvertisementInfoDTO extends AdvertisementInfoEntity {
+
+    @ApiModelProperty("广告图片")
+    private List<Map<String,Object>> photos;
+}

+ 63 - 0
src/main/java/org/springblade/modules/manage/advertisement/entity/AdvertisementInfoEntity.java

@@ -0,0 +1,63 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/3/22
+ */
+package org.springblade.modules.manage.advertisement.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2024/3/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("public_advertisement_setting_info")
+public class AdvertisementInfoEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 广告名称
+     */
+    @ApiModelProperty("广告名称")
+    private String advertisementName;
+
+    /**
+     * 显示顺序索引
+     */
+    @ApiModelProperty("显示顺序索引")
+    private Integer showIndex;
+
+    /**
+     * 文件名称
+     */
+    @ApiModelProperty("文件名称")
+    private String fileName;
+
+    /**
+     * 广告图片地址
+     */
+    @ApiModelProperty("广告图片地址")
+    private String url;
+
+    /**
+     * 广告是否生效,0 否, 1是
+     */
+    @ApiModelProperty("是否生效")
+    private Integer isValid;
+}

+ 29 - 0
src/main/java/org/springblade/modules/manage/advertisement/mapper/AdvertisementInfoMapper.java

@@ -0,0 +1,29 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.manage.advertisement.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+
+
+import java.util.List;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface AdvertisementInfoMapper extends BaseMapper<AdvertisementInfoEntity> {
+	List<AdvertisementInfoEntity> selectPage(IPage page);
+	List<AdvertisementInfoEntity> selectShowList();
+}

+ 33 - 0
src/main/java/org/springblade/modules/manage/advertisement/mapper/AdvertisementInfoMapper.xml

@@ -0,0 +1,33 @@
+<?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="org.springblade.modules.manage.advertisement.mapper.AdvertisementInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="advertisementResultMap" type="org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity">
+
+        <result column="advertisement_name" property="advertisementName"/>
+        <result column="show_index" property="showIndex"/>
+        <result column="file_name" property="fileName"/>
+        <result column="url" property="url"/>
+        <result column="is_valid" property="isValid"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="advertisementResultMap">
+        SELECT
+        a.*
+        FROM
+        public_advertisement_setting_info a
+        WHERE
+        a.is_deleted = 0
+    </select>
+
+    <select id="selectShowList" resultMap="advertisementResultMap">
+        SELECT
+        a.*
+        FROM
+        public_advertisement_setting_info a
+        WHERE
+        a.is_deleted = 0 and a.is_valid = 1
+    </select>
+</mapper>

+ 13 - 0
src/main/java/org/springblade/modules/manage/advertisement/service/IAdvertisementManageService.java

@@ -0,0 +1,13 @@
+package org.springblade.modules.manage.advertisement.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+
+import java.util.List;
+
+
+public interface IAdvertisementManageService extends BaseService<AdvertisementInfoEntity> {
+    IPage<AdvertisementInfoEntity> selectPage(IPage<AdvertisementInfoEntity> page);
+    List<AdvertisementInfoEntity> selectShowList();
+}

+ 38 - 0
src/main/java/org/springblade/modules/manage/advertisement/service/impl/AdvertisementManageServiceImpl.java

@@ -0,0 +1,38 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/3/22
+ */
+package org.springblade.modules.manage.advertisement.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+import org.springblade.modules.manage.advertisement.mapper.AdvertisementInfoMapper;
+import org.springblade.modules.manage.advertisement.service.IAdvertisementManageService;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/***
+ * Date:2024/3/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class AdvertisementManageServiceImpl  extends BaseServiceImpl<AdvertisementInfoMapper, AdvertisementInfoEntity> implements IAdvertisementManageService {
+    @Override
+    public IPage<AdvertisementInfoEntity> selectPage(IPage<AdvertisementInfoEntity> page) {
+        return page.setRecords(baseMapper.selectPage(page));
+    }
+
+    @Override
+    public List<AdvertisementInfoEntity> selectShowList() {
+        return baseMapper.selectShowList();
+    }
+}

+ 30 - 0
src/main/java/org/springblade/modules/manage/advertisement/vo/AdvertisementInfoVO.java

@@ -0,0 +1,30 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/3/22
+ */
+package org.springblade.modules.manage.advertisement.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/***
+ * Date:2024/3/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AdvertisementInfoVO extends AdvertisementInfoEntity {
+    @ApiModelProperty("广告图片")
+    private List<Map<String,Object>> photos;
+}

+ 43 - 0
src/main/java/org/springblade/modules/manage/advertisement/wrapper/AdvertisementInfoWrapper.java

@@ -0,0 +1,43 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.manage.advertisement.wrapper;
+
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.manage.advertisement.entity.AdvertisementInfoEntity;
+import org.springblade.modules.manage.advertisement.vo.AdvertisementInfoVO;
+
+import java.util.*;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class AdvertisementInfoWrapper extends BaseEntityWrapper<AdvertisementInfoEntity, AdvertisementInfoVO> {
+    public static AdvertisementInfoWrapper build() {
+        return new AdvertisementInfoWrapper();
+    }
+
+
+    @Override
+    public AdvertisementInfoVO entityVO(AdvertisementInfoEntity entity) {
+        AdvertisementInfoVO vo = Objects.requireNonNull(BeanUtil.copy(entity, AdvertisementInfoVO.class));
+        List<Map<String,Object>> photos = new ArrayList<>(1);
+        Map<String,Object> p = new HashMap<>();
+        p.put("url",entity.getUrl());
+        p.put("name",entity.getFileName());
+        photos.add(p);
+        vo.setPhotos(photos);
+        return vo;
+    }
+
+}

+ 70 - 0
src/main/java/org/springblade/modules/map/region/controller/RegionMapController.java

@@ -0,0 +1,70 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022-03-04
+ */
+package org.springblade.modules.map.region.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.builder.ExcelReaderBuilder;
+import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.excel.listener.DataListener;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.demo.entity.SiteDataEntity;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+import org.springblade.modules.map.region.entity.MapRegionPointEntity;
+import org.springblade.modules.map.region.service.IMapRegionPointService;
+import org.springblade.modules.map.region.service.IMapRegionService;
+import org.springblade.props.GalaxyProperties;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+/***
+ * Date:2022-03-04
+ * Title:行政区地理数据
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author Blade
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/galaxy-map/region")
+@Api(value = "行政区地图数据管理模块", tags = "行政区地理数据")
+public class RegionMapController {
+
+    private final IMapRegionService mapRegionService;
+
+    private final IMapRegionPointService mapRegionPointService;
+
+    /**
+     * 查询行政区多边形地理信息
+     *
+     * @param entity
+     * @return
+     */
+    @GetMapping("/polygon")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "列表")
+    public R<List<MapRegionPointEntity>> getPolygon(MapRegionEntity entity) {
+        LambdaQueryWrapper<MapRegionPointEntity> wrapper = Wrappers.<MapRegionPointEntity>query().lambda();
+        wrapper.eq(MapRegionPointEntity::getRegionId, entity.getId());
+        List<MapRegionPointEntity> points = mapRegionPointService.list(wrapper);
+        return R.data(points);
+    }
+
+
+}

+ 26 - 0
src/main/java/org/springblade/modules/map/region/dto/MapRegionDTO.java

@@ -0,0 +1,26 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MapRegionDTO extends MapRegionEntity {
+
+}

+ 88 - 0
src/main/java/org/springblade/modules/map/region/entity/MapRegionEntity.java

@@ -0,0 +1,88 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("map_region_info")
+public class MapRegionEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty(value = "行政区划编码")
+	private String adcd;
+
+	/**
+	 * 行政区划名称
+	 */
+	@ApiModelProperty(value = "行政区划名称")
+	private String adnm;
+
+	/**
+	 * 区县行政区划编码
+	 */
+	@ApiModelProperty(value = "区县行政区划编码")
+	private String districtAdcd;
+
+	/**
+	 * 区县行政区划名称
+	 */
+	@ApiModelProperty(value = "区县行政区划名称")
+	private String districtAdnm;
+
+	/**
+	 * 盟市行政区划编码
+	 */
+	@ApiModelProperty(value = "盟市行政区划编码")
+	private String cityAdcd;
+
+	/**
+	 * 盟市行政区划名称
+	 */
+	@ApiModelProperty(value = "盟市行政区划名称")
+	private String cityAdnm;
+
+	/**
+	 * 中心点纬度
+	 */
+	@ApiModelProperty(value = "纬度")
+	private Double centerPointLat;
+
+	/**
+	 * 中心点经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private Double centerPointLng;
+
+	/**
+	 * 父行政区划编码
+	 */
+	@ApiModelProperty(value = "父行政区划编码")
+	private String parentAdcd;
+
+}

+ 52 - 0
src/main/java/org/springblade/modules/map/region/entity/MapRegionPointEntity.java

@@ -0,0 +1,52 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("map_region_point")
+public class MapRegionPointEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 行政区ID
+	 */
+	@ApiModelProperty(value = "行政区ID")
+	private Long regionId;
+
+	/**
+	 * 纬度
+	 */
+	@ApiModelProperty(value = "纬度")
+	private Double pointLat;
+
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private Double pointLng;
+
+}

+ 31 - 0
src/main/java/org/springblade/modules/map/region/mapper/MapRegionMapper.java

@@ -0,0 +1,31 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.map.region.dto.MapRegionDTO;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+import org.springblade.modules.map.region.vo.MapRegionVO;
+
+import java.util.List;
+
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface MapRegionMapper extends BaseMapper<MapRegionEntity> {
+	List<MapRegionVO> selectPage(IPage page, @Param("dto") MapRegionDTO dto);
+}
+

+ 46 - 0
src/main/java/org/springblade/modules/map/region/mapper/MapRegionMapper.xml

@@ -0,0 +1,46 @@
+<?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="org.springblade.modules.map.region.mapper.MapRegionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="dangerAreaResultMap" type="org.springblade.modules.map.region.entity.MapRegionEntity">
+
+        <result column="adcd" property="adcd"/>
+        <result column="adnm" property="adnm"/>
+        <result column="district_adcd" property="districtAdcd"/>
+        <result column="district_adnm" property="districtAdnm"/>
+        <result column="city_adcd" property="cityAdcd"/>
+        <result column="city_adnm" property="cityAdnm"/>
+        <result column="center_point_lng" property="centerPointLng"/>
+        <result column="center_point_lat" property="centerPointLat"/>
+        <result column="parent_adcd" property="parentAdcd"/>
+
+    </resultMap>
+
+
+    <resultMap id="dangerAreaResultVOMap" type="org.springblade.modules.map.region.vo.MapRegionVO">
+
+        <result column="adcd" property="adcd"/>
+        <result column="adnm" property="adnm"/>
+        <result column="district_adcd" property="districtAdcd"/>
+        <result column="district_adnm" property="districtAdnm"/>
+        <result column="city_adcd" property="cityAdcd"/>
+        <result column="city_adnm" property="cityAdnm"/>
+        <result column="center_point_lng" property="centerPointLng"/>
+        <result column="center_point_lat" property="centerPointLat"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="dangerAreaResultVOMap">
+        SELECT
+        d.*
+        FROM
+        map_region_info d
+        WHERE
+        d.is_deleted = 0
+        <if test="dto.adnm!=null">
+            and d.adnm like concat(concat('%', #{dto.adnm}), '%')
+        </if>
+        order by d.adcd
+    </select>
+</mapper>

+ 24 - 0
src/main/java/org/springblade/modules/map/region/mapper/MapRegionPointMapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.modules.map.region.entity.MapRegionPointEntity;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface MapRegionPointMapper extends BaseMapper<MapRegionPointEntity> {
+
+}
+

+ 15 - 0
src/main/java/org/springblade/modules/map/region/mapper/MapRegionPointMapper.xml

@@ -0,0 +1,15 @@
+<?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="org.springblade.modules.map.region.mapper.MapRegionPointMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="dangerAreaPointResultMap" type="org.springblade.modules.map.region.entity.MapRegionPointEntity">
+
+        <result column="region_id" property="regionId"/>
+        <result column="point_lat" property="pointLat"/>
+        <result column="point_lng" property="pointLng"/>
+
+    </resultMap>
+
+
+</mapper>

+ 23 - 0
src/main/java/org/springblade/modules/map/region/service/IMapRegionPointService.java

@@ -0,0 +1,23 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.map.region.entity.MapRegionPointEntity;
+
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IMapRegionPointService extends BaseService<MapRegionPointEntity> {
+
+}

+ 26 - 0
src/main/java/org/springblade/modules/map/region/service/IMapRegionService.java

@@ -0,0 +1,26 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.map.region.dto.MapRegionDTO;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+import org.springblade.modules.map.region.vo.MapRegionVO;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IMapRegionService extends BaseService<MapRegionEntity> {
+	IPage<MapRegionVO> selectPage(IPage<MapRegionVO> page, MapRegionDTO dto);
+}

+ 27 - 0
src/main/java/org/springblade/modules/map/region/service/impl/MapRegionPointServiceImpl.java

@@ -0,0 +1,27 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.map.region.entity.MapRegionPointEntity;
+import org.springblade.modules.map.region.mapper.MapRegionPointMapper;
+import org.springblade.modules.map.region.service.IMapRegionPointService;
+
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class MapRegionPointServiceImpl extends BaseServiceImpl<MapRegionPointMapper, MapRegionPointEntity> implements IMapRegionPointService {
+
+}

+ 33 - 0
src/main/java/org/springblade/modules/map/region/service/impl/MapRegionServiceImpl.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.map.region.dto.MapRegionDTO;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+import org.springblade.modules.map.region.mapper.MapRegionMapper;
+import org.springblade.modules.map.region.service.IMapRegionService;
+import org.springblade.modules.map.region.vo.MapRegionVO;
+
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class MapRegionServiceImpl extends BaseServiceImpl<MapRegionMapper, MapRegionEntity> implements IMapRegionService {
+	@Override
+	public IPage<MapRegionVO> selectPage(IPage<MapRegionVO> page, MapRegionDTO dto) {
+		return page.setRecords(baseMapper.selectPage(page,dto));
+	}
+}

+ 33 - 0
src/main/java/org/springblade/modules/map/region/vo/MapRegionVO.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2023/9/13
+ */
+package org.springblade.modules.map.region.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.map.region.entity.MapRegionEntity;
+import org.springblade.modules.map.region.entity.MapRegionPointEntity;
+
+
+import java.util.List;
+
+
+/***
+ * Date:2023/9/13
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MapRegionVO extends MapRegionEntity {
+	@ApiModelProperty(value = "多边形")
+	private List<MapRegionPointEntity> points;
+
+}

+ 187 - 0
src/main/java/org/springblade/test/TestController.java

@@ -0,0 +1,187 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022-03-04
+ */
+package org.springblade.test;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.builder.ExcelReaderBuilder;
+import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.excel.listener.DataListener;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.demo.entity.SiteDataEntity;
+import org.springblade.props.GalaxyProperties;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/***
+ * Date:2022-03-04
+ * Title:参数配置
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author Blade
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/galaxy-test")
+@Api(value = "多数据源接口", tags = "多数据源")
+public class TestController {
+
+	private GalaxyProperties galaxyProperties;
+
+	/**
+	 * 1、获取配置项
+	 * http://localhost:8000/galaxy-server/demo/config/getConfig
+	 *
+	 * 2、
+	 *
+	 *
+	 */
+
+
+	/**
+	 * Function:获取配置项
+	 * Author: admin
+	 * Date:2022/3/4
+	  * @param
+	 * @return org.springblade.core.tool.api.R<java.lang.String>
+	 * @throws Exception
+	 */
+	@GetMapping("/getConfig")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "获取配置项", notes = "获取配置项")
+	public R<String> getConfig() {
+
+		return R.data(galaxyProperties.getName());
+	}
+
+
+	private String getLng(String lngText) {
+		ArrayList<String> textArr = new ArrayList<>();
+		textArr.add("");
+		for (int l = 0; l < lngText.length(); l++) {
+			String subtext = lngText.substring(l, l + 1);
+			if (Func.isNumeric(subtext)) {
+				String str = textArr.get(textArr.size() - 1);
+				str += subtext;
+				textArr.set(textArr.size() - 1, str);
+			} else {
+				textArr.add("");
+			}
+		}
+		ArrayList<String> tmp = new ArrayList<>();
+		for (String text : textArr) {
+			if (text.length() > 0) {
+				tmp.add(text);
+			}
+		}
+		if (tmp.size() >= 4) {
+			//度分秒,秒有小数点
+			String v = tmp.get(2) + "." + tmp.get(3);
+			double lat = Double.parseDouble(v);
+			lat = lat / 60.0;
+			v = tmp.get(1);
+			lat = (Double.parseDouble(v) + lat) / 60.0;
+			v = tmp.get(0);
+			lat = Double.parseDouble(v) + lat;
+			return String.format("%.06f", lat);
+		} else if (tmp.size() == 3) {
+			//度分秒
+			String v = tmp.get(2);
+			double lat = Double.parseDouble(v);
+			lat = lat / 60.0;
+			v = tmp.get(1);
+			lat = (Double.parseDouble(v) + lat) / 60.0;
+			v = tmp.get(0);
+			lat = Double.parseDouble(v) + lat;
+			return String.format("%.06f", lat);
+		} else if (tmp.size() == 2) {
+			//度
+			String v = tmp.get(0) + "." + tmp.get(1);
+			double lat = Double.parseDouble(v);
+			return String.format("%.06f", lat);
+		}
+		return null;
+	}
+
+	private String getLat(String latText) {
+		ArrayList<String> textArr = new ArrayList<>();
+		textArr.add("");
+		for (int l = 0; l < latText.length(); l++) {
+			String subtext = latText.substring(l, l + 1);
+			if (Func.isNumeric(subtext)) {
+				String str = textArr.get(textArr.size() - 1);
+				str += subtext;
+				textArr.set(textArr.size() - 1, str);
+			} else {
+				textArr.add("");
+			}
+		}
+		ArrayList<String> tmp = new ArrayList<>();
+		for (String text : textArr) {
+			if (text.length() > 0) {
+				tmp.add(text);
+			}
+		}
+		if (tmp.size() >= 4) {
+			//度分秒,秒有小数点
+			String v = tmp.get(2) + "." + tmp.get(3);
+			double lat = Double.parseDouble(v);
+			lat = lat / 60.0;
+			v = tmp.get(1);
+			lat = (Double.parseDouble(v) + lat) / 60.0;
+			v = tmp.get(0);
+			lat = Double.parseDouble(v) + lat;
+			return String.format("%.06f", lat);
+		} else if (tmp.size() == 3) {
+			//度分秒
+			String v = tmp.get(2);
+			double lat = Double.parseDouble(v);
+			lat = lat / 60.0;
+			v = tmp.get(1);
+			lat = (Double.parseDouble(v) + lat) / 60.0;
+			v = tmp.get(0);
+			lat = Double.parseDouble(v) + lat;
+			return String.format("%.06f", lat);
+		} else if (tmp.size() == 2) {
+			//度
+			String v = tmp.get(0) + "." + tmp.get(1);
+			double lat = Double.parseDouble(v);
+			return String.format("%.06f", lat);
+		}
+		return null;
+	}
+
+	@GetMapping("/getSiteMap")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "", notes = "")
+	public R<List<SiteDataEntity>> getSiteMap(@RequestParam(name = "sheet") Integer sheet) {
+		//Map<String, List<Map<String,String>>> data = new HashMap<>();
+		String filePath = "D:\\tmp\\bjsite.xls";
+		DataListener<SiteDataEntity> dataListener = new DataListener<>();
+		ExcelReaderBuilder builder = EasyExcel.read(filePath, SiteDataEntity.class, dataListener);
+		((ExcelReaderSheetBuilder) builder.sheet(sheet)).doRead();
+		List<SiteDataEntity> list = dataListener.getDataList();
+		for (SiteDataEntity entity:list){
+			entity.setLng(getLng(entity.getLng()));
+			entity.setLat(getLat(entity.getLat()));
+		}
+		return R.data(list);
+	}
+
+}

+ 3 - 1
src/main/resources/application-dev.yml

@@ -43,7 +43,7 @@ spring:
       key-serializer: org.apache.kafka.common.serialization.StringSerializer
       value-serializer: org.apache.kafka.common.serialization.StringSerializer
     consumer:
-      group-id: kafka-tsywxt-cloud
+      group-id: kafka-tsywxt-cloud-dev
       # 手动提交
       enable-auto-commit: false
       auto-offset-reset: latest
@@ -51,6 +51,8 @@ spring:
       value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
       properties:
         session.timeout.ms: 60000
+        allow.auto.create.topics: false
+
     listener:
       log-container-config: false
       concurrency: 5

+ 1 - 1
src/main/resources/application.yml

@@ -199,10 +199,10 @@ blade:
     #接口放行
     skip-url:
       - /galaxy-test/**
-      - /galaxy-demo/demo/**
       - /galaxy-business/open/user/reg
       - /galaxy-business/data/manage/video
       - /galaxy-business/rtu/data/**
+      - /galaxy-business/ads/manage/show/list
     #授权认证配置
     auth:
       - method: ALL