Quellcode durchsuchen

通用第三方接口同步

wanxing vor 2 Monaten
Ursprung
Commit
c125ad37e0
83 geänderte Dateien mit 1405 neuen und 70 gelöschten Zeilen
  1. 0 4
      src/main/java/com/cqut/stack/bn/controller/GovernmentServiceController.java
  2. 71 0
      src/main/java/com/cqut/stack/bn/controller/HotlineController.java
  3. 8 0
      src/main/java/com/cqut/stack/bn/controller/MetadataController.java
  4. 30 4
      src/main/java/com/cqut/stack/bn/controller/ResourceTradeController.java
  5. 2 0
      src/main/java/com/cqut/stack/bn/dao/AreaTransactionMapper.java
  6. 1 6
      src/main/java/com/cqut/stack/bn/dao/DistrictHandleMapper.java
  7. 1 8
      src/main/java/com/cqut/stack/bn/dao/HotlineAcceptanceMapper.java
  8. 2 0
      src/main/java/com/cqut/stack/bn/dao/HotlineDailyAcceptanceMapper.java
  9. 2 2
      src/main/java/com/cqut/stack/bn/dao/HotlineDeptAcceptanceMapper.java
  10. 2 0
      src/main/java/com/cqut/stack/bn/dao/HotlineDistrictAcceptanceMapper.java
  11. 2 0
      src/main/java/com/cqut/stack/bn/dao/MetadataMapper.java
  12. 1 8
      src/main/java/com/cqut/stack/bn/dao/ResourceTransactionMapper.java
  13. 1 8
      src/main/java/com/cqut/stack/bn/dao/TodayAcceptanceMapper.java
  14. 1 0
      src/main/java/com/cqut/stack/bn/dao/WordOrderDetailMapper.java
  15. 1 0
      src/main/java/com/cqut/stack/bn/dao/WorkOrderCirculationMapper.java
  16. 1 8
      src/main/java/com/cqut/stack/bn/dao/WorkOrderMapper.java
  17. 35 0
      src/main/java/com/cqut/stack/bn/pojo/dto/areaTransaction/AreaTransactionImportDTO.java
  18. 16 0
      src/main/java/com/cqut/stack/bn/pojo/dto/base/ExcelImportDTO.java
  19. 19 0
      src/main/java/com/cqut/stack/bn/pojo/dto/districtHandle/DistrictHandleImportDTO.java
  20. 21 0
      src/main/java/com/cqut/stack/bn/pojo/dto/hotlineAcceptance/HotlineAcceptanceImportDTO.java
  21. 18 0
      src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDailyAcceptance/HotlineDailyAcceptanceImportDTO.java
  22. 26 0
      src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDeptAcceptance/HotlineDeptAcceptanceImportDTO.java
  23. 20 0
      src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDistrictAcceptance/HotlineDistrictAcceptanceImportDTO.java
  24. 15 0
      src/main/java/com/cqut/stack/bn/pojo/dto/metadata/SynchronizeDataDTO.java
  25. 30 0
      src/main/java/com/cqut/stack/bn/pojo/dto/resourceTrade/ResourceTransactionImportDTO.java
  26. 32 0
      src/main/java/com/cqut/stack/bn/pojo/dto/todayAcceptance/TodayAcceptanceImportDTO.java
  27. 124 0
      src/main/java/com/cqut/stack/bn/pojo/dto/wordOrderDetail/WordOrderDetailImportDTO.java
  28. 33 0
      src/main/java/com/cqut/stack/bn/pojo/dto/workOrder/WorkOrderImportDTO.java
  29. 38 0
      src/main/java/com/cqut/stack/bn/pojo/dto/workOrderCirculation/WorkOrderCirculationImportDTO.java
  30. 4 0
      src/main/java/com/cqut/stack/bn/pojo/entity/DatabaseField.java
  31. 8 0
      src/main/java/com/cqut/stack/bn/pojo/entity/DatabaseTable.java
  32. 0 4
      src/main/java/com/cqut/stack/bn/pojo/entity/DistrictHandle.java
  33. 30 0
      src/main/java/com/cqut/stack/bn/pojo/listener/AreaTransactionListener.java
  34. 30 0
      src/main/java/com/cqut/stack/bn/pojo/listener/DistrictHandleListener.java
  35. 31 0
      src/main/java/com/cqut/stack/bn/pojo/listener/HotlineAcceptanceListener.java
  36. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDailyAcceptanceListener.java
  37. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDeptAcceptanceListener.java
  38. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDistrictAcceptanceListener.java
  39. 33 0
      src/main/java/com/cqut/stack/bn/pojo/listener/ResourceTransactionListener.java
  40. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/TodayAcceptanceListener.java
  41. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/WordOrderDetailListener.java
  42. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/WorkOrderCirculationListener.java
  43. 32 0
      src/main/java/com/cqut/stack/bn/pojo/listener/WorkOrderListener.java
  44. 3 0
      src/main/java/com/cqut/stack/bn/service/AreaTransactionService.java
  45. 0 8
      src/main/java/com/cqut/stack/bn/service/DatabaseFieldService.java
  46. 3 0
      src/main/java/com/cqut/stack/bn/service/DistrictHandleService.java
  47. 3 0
      src/main/java/com/cqut/stack/bn/service/HotlineAcceptanceService.java
  48. 3 0
      src/main/java/com/cqut/stack/bn/service/HotlineDailyAcceptanceService.java
  49. 3 0
      src/main/java/com/cqut/stack/bn/service/HotlineDeptAcceptanceService.java
  50. 3 0
      src/main/java/com/cqut/stack/bn/service/HotlineDistrictAcceptanceService.java
  51. 3 0
      src/main/java/com/cqut/stack/bn/service/MetadataService.java
  52. 3 0
      src/main/java/com/cqut/stack/bn/service/ResourceTransactionService.java
  53. 3 0
      src/main/java/com/cqut/stack/bn/service/TodayAcceptanceService.java
  54. 3 0
      src/main/java/com/cqut/stack/bn/service/WordOrderDetailService.java
  55. 3 0
      src/main/java/com/cqut/stack/bn/service/WorkOrderCirculationService.java
  56. 3 0
      src/main/java/com/cqut/stack/bn/service/WorkOrderService.java
  57. 21 0
      src/main/java/com/cqut/stack/bn/service/impl/AreaTransactionServiceImpl.java
  58. 25 5
      src/main/java/com/cqut/stack/bn/service/impl/DistrictHandleServiceImpl.java
  59. 25 0
      src/main/java/com/cqut/stack/bn/service/impl/HotlineAcceptanceServiceImpl.java
  60. 21 0
      src/main/java/com/cqut/stack/bn/service/impl/HotlineDailyAcceptanceServiceImpl.java
  61. 21 0
      src/main/java/com/cqut/stack/bn/service/impl/HotlineDeptAcceptanceServiceImpl.java
  62. 21 0
      src/main/java/com/cqut/stack/bn/service/impl/HotlineDistrictAcceptanceServiceImpl.java
  63. 82 2
      src/main/java/com/cqut/stack/bn/service/impl/MetadataServiceImpl.java
  64. 25 0
      src/main/java/com/cqut/stack/bn/service/impl/ResourceTransactionServiceImpl.java
  65. 24 0
      src/main/java/com/cqut/stack/bn/service/impl/TodayAcceptanceServiceImpl.java
  66. 25 0
      src/main/java/com/cqut/stack/bn/service/impl/WordOrderDetailServiceImpl.java
  67. 25 0
      src/main/java/com/cqut/stack/bn/service/impl/WorkOrderCirculationServiceImpl.java
  68. 25 0
      src/main/java/com/cqut/stack/bn/service/impl/WorkOrderServiceImpl.java
  69. 77 0
      src/main/java/com/cqut/stack/bn/timeTask/SynchronizeDataTask.java
  70. 2 2
      src/main/java/com/cqut/stack/bn/util/MybatisPlusAutoGenerator.java
  71. 1 1
      src/main/resources/application-test.yml
  72. 3 0
      src/main/resources/mapper/AreaTransactionMapper.xml
  73. 3 0
      src/main/resources/mapper/DistrictHandleMapper.xml
  74. 3 0
      src/main/resources/mapper/HotlineAcceptanceMapper.xml
  75. 3 0
      src/main/resources/mapper/HotlineDailyAcceptanceMapper.xml
  76. 3 0
      src/main/resources/mapper/HotlineDeptAcceptanceMapper.xml
  77. 3 0
      src/main/resources/mapper/HotlineDistrictAcceptanceMapper.xml
  78. 3 0
      src/main/resources/mapper/MetaDataMapper.xml
  79. 3 0
      src/main/resources/mapper/ResourceTransactionMapper.xml
  80. 3 0
      src/main/resources/mapper/TodayAcceptanceMapper.xml
  81. 3 0
      src/main/resources/mapper/WordOrderDetailMapper.xml
  82. 3 0
      src/main/resources/mapper/WorkOrderCirculationMapper.xml
  83. 3 0
      src/main/resources/mapper/WorkOrderMapper.xml

+ 0 - 4
src/main/java/com/cqut/stack/bn/controller/GovernmentServiceController.java

@@ -197,8 +197,4 @@ public class GovernmentServiceController {
     }
 
     //****************************************** Excel数据同步结束 *******************************************
-
-    //****************************************** 接口数据同步开始 *******************************************
-
-    //****************************************** 接口数据同步结束 *******************************************
 }

+ 71 - 0
src/main/java/com/cqut/stack/bn/controller/HotlineController.java

@@ -1,6 +1,7 @@
 package com.cqut.stack.bn.controller;
 
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.GetCurrentAreaHotlineAcceptanceDTO;
@@ -62,6 +63,7 @@ public class HotlineController {
     @Resource
     private DistrictHandleService districtHandleService;
 
+    //****************************************** 可视化大屏开始*******************************************
     @ApiOperation(value = "获取历史接件量")
     @PostMapping("/getHistoryAcceptCount")
     public Result<GetHistoryAcceptCountVO> getHistoryAcceptCount(){
@@ -123,6 +125,9 @@ public class HotlineController {
         return Result.buildSuccessResult(CodeMessage.S_SUCCESS, hotlineAcceptanceService.getCurrentAreaHotlineAcceptance(dto));
     }
 
+    //****************************************** 可视化大屏结束*******************************************
+
+    //****************************************** 后台系统开始*******************************************
     @ApiOperation(value = "12345便民热线每日办件分页查询")
     @PostMapping("/getHotlineDailyAcceptance")
     public Result<List<HotlineDailyAcceptance>> getHotlineDailyAcceptance(@RequestBody DateDTO dateDTO) {
@@ -177,7 +182,73 @@ public class HotlineController {
         return Result.buildSuccessResult(CodeMessage.S_SUCCESS, workOrderCirculationService.getWorkOrderCirculationList(dateDTO));
     }
 
+    //****************************************** 后台系统结束*******************************************
+
+
+    //****************************************** Excel数据同步开始 *******************************************
+    @ApiOperation(value = "导入12345便民热线每日办件")
+    @PostMapping("/importHotlineDailyAcceptance")
+    public Result<?> importHotlineDailyAcceptance(@RequestBody @Validated ExcelImportDTO dto) {
+        hotlineDailyAcceptanceService.importHotlineDailyAcceptance(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入12345便民热线部门办件")
+    @PostMapping("/importHotlineDeptAcceptance")
+    public Result<?> importHotlineDeptAcceptance(@RequestBody @Validated ExcelImportDTO dto) {
+        hotlineDeptAcceptanceService.importHotlineDeptAcceptance(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入12345便民热线区县办件")
+    @PostMapping("/importHotlineDistrictAcceptance")
+    public Result<?> importHotlineDistrictAcceptance(@RequestBody @Validated ExcelImportDTO dto) {
+        hotlineDistrictAcceptanceService.importHotlineDistrictAcceptance(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入区县热线交办情况")
+    @PostMapping("/importHotlineAcceptance")
+    public Result<?> importHotlineAcceptance(@RequestBody @Validated ExcelImportDTO dto) {
+        hotlineAcceptanceService.importHotlineAcceptance(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
 
+    @ApiOperation(value = "导入区县受理、交办量")
+    @PostMapping("/importDistrictHandle")
+    public Result<?> importDistrictHandle(@RequestBody @Validated ExcelImportDTO dto) {
+        districtHandleService.importDistrictHandle(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入今日话务情况")
+    @PostMapping("/importTodayAcceptance")
+    public Result<?> importTodayAcceptance(@RequestBody @Validated ExcelImportDTO dto) {
+        todayAcceptanceService.importTodayAcceptance(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入工作受理列表")
+    @PostMapping("/importWorkOrder")
+    public Result<?> importWorkOrder(@RequestBody @Validated ExcelImportDTO dto) {
+        workOrderService.importWorkOrder(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入工作受理详情")
+    @PostMapping("/importWordOrderDetail")
+    public Result<?> importWordOrderDetail(@RequestBody @Validated ExcelImportDTO dto) {
+        wordOrderDetailService.importWordOrderDetail(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入工作流转明细")
+    @PostMapping("/importWorkOrderCirculationList")
+    public Result<?> importWorkOrderCirculationList(@RequestBody @Validated ExcelImportDTO dto) {
+        workOrderCirculationService.importWorkOrderCirculationList(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+    //****************************************** Excel数据同步结束 *******************************************
 
 
 }

+ 8 - 0
src/main/java/com/cqut/stack/bn/controller/MetadataController.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.controller;
 
+import com.cqut.stack.bn.pojo.dto.metadata.SynchronizeDataDTO;
 import com.cqut.stack.bn.util.jsonResult.CodeMessage;
 import com.cqut.stack.bn.util.jsonResult.Result;
 import com.cqut.stack.bn.pojo.dto.metadata.QueryMetaDataListDTO;
@@ -34,4 +35,11 @@ public class MetadataController {
     public String generateTable(@RequestBody Integer tableId) {
         return metadataService.generateTable(tableId);
     }
+
+    @ApiOperation("通用第三方接口数据同步")
+    @PostMapping("/synchronizeData")
+    public Result<?> synchronizeData(@RequestBody @Validated SynchronizeDataDTO dto) {
+        metadataService.synchronizeData(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
 }

+ 30 - 4
src/main/java/com/cqut/stack/bn/controller/ResourceTradeController.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.controller;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.resourceTrade.*;
 import com.cqut.stack.bn.pojo.entity.AreaTransaction;
 import com.cqut.stack.bn.pojo.entity.ResourceTransaction;
@@ -13,6 +14,7 @@ import com.cqut.stack.bn.util.jsonResult.CodeMessage;
 import com.cqut.stack.bn.util.jsonResult.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -32,6 +34,7 @@ public class ResourceTradeController {
     @Resource
     private ResourceTransactionService resourceTransactionService;
 
+    //****************************************** 可视化大屏开始*******************************************
     @ApiOperation(value = "获取历史交易情况")
     @PostMapping("/getHistoryTradeInfo")
     public Result<GetHistoryTradeInfoVO> getHistoryTradeInfo(@RequestBody GetHistoryTradeInfoDTO dto){
@@ -62,6 +65,16 @@ public class ResourceTradeController {
         return Result.buildSuccessResult(CodeMessage.S_SUCCESS, resourceTransactionService.getResourceTransactionList());
     }
 
+    @ApiOperation(value = "获取当前区县交易情况情况")
+    @PostMapping("/getCurrentAreaTradeInfo")
+    public Result<AreaTransaction> getCurrentAreaTradeInfo(@RequestBody GetCurrentAreaTradeInfoDTO dto) {
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS, areaTransactionService.getCurrentAreaTradeInfo(dto));
+    }
+
+    //****************************************** 可视化大屏结束*******************************************
+
+
+    //****************************************** 后台系统开始*******************************************
     @ApiOperation(value = "区域交易情况")
     @PostMapping("/getAreaTransactionList")
     public Result<List<AreaTransaction>> getAreaTransactionList(@RequestBody GetAreaTransactionDTO dto) {
@@ -74,9 +87,22 @@ public class ResourceTradeController {
         return Result.buildSuccessResult(CodeMessage.S_SUCCESS, resourceTransactionService.getResourceTransactionsList(dto));
     }
 
-    @ApiOperation(value = "获取当前区县交易情况情况")
-    @PostMapping("/getCurrentAreaTradeInfo")
-    public Result<AreaTransaction> getCurrentAreaTradeInfo(@RequestBody GetCurrentAreaTradeInfoDTO dto) {
-        return Result.buildSuccessResult(CodeMessage.S_SUCCESS, areaTransactionService.getCurrentAreaTradeInfo(dto));
+    //****************************************** 后台系统开始*******************************************
+
+
+    //****************************************** Excel数据同步开始 *******************************************
+    @ApiOperation(value = "导入公共资源交易详情")
+    @PostMapping("/importResourceTransactionDetail")
+    public Result<?> importResourceTransactionDetail(@RequestBody @Validated ExcelImportDTO dto) {
+        resourceTransactionService.importResourceTransactionDetail(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
+    }
+
+    @ApiOperation(value = "导入公共资源交易信息")
+    @PostMapping("/importResourceTransactionInfo")
+    public Result<?> importResourceTransactionInfo(@RequestBody @Validated ExcelImportDTO dto) {
+        areaTransactionService.importResourceTransactionInfo(dto);
+        return Result.buildSuccessResult(CodeMessage.S_SUCCESS);
     }
+    //****************************************** Excel数据同步结束 *******************************************
 }

+ 2 - 0
src/main/java/com/cqut/stack/bn/dao/AreaTransactionMapper.java

@@ -20,4 +20,6 @@ public interface AreaTransactionMapper extends BaseMapper<AreaTransaction> {
     List<GetCategoryTradeInfoVO> getCategoryTradeInfo(@Param("dto") GetCategoryTradeInfoDTO dto);
 
     List<GetRecentlyCategoryTradeTrendBO> getRecentlyCategoryTradeTrend(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
+
+    void deleteAll();
 }

+ 1 - 6
src/main/java/com/cqut/stack/bn/dao/DistrictHandleMapper.java

@@ -4,15 +4,10 @@ import com.cqut.stack.bn.pojo.entity.DistrictHandle;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
-/**
-* @author thinkpad
-* @description 针对表【district_handle(区县受理量、交办量)】的数据库操作Mapper
-* @createDate 2024-11-24 15:53:46
-* @Entity com.cqut.stack.bn.pojo.entity.DistrictHandle
-*/
 @Mapper
 public interface DistrictHandleMapper extends BaseMapper<DistrictHandle> {
 
+    void deleteAll();
 }
 
 

+ 1 - 8
src/main/java/com/cqut/stack/bn/dao/HotlineAcceptanceMapper.java

@@ -3,14 +3,7 @@ package com.cqut.stack.bn.dao;
 import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author ${author}
- * @since 2024-11-24
- */
 public interface HotlineAcceptanceMapper extends BaseMapper<HotlineAcceptance> {
 
+    void deleteAll();
 }

+ 2 - 0
src/main/java/com/cqut/stack/bn/dao/HotlineDailyAcceptanceMapper.java

@@ -13,4 +13,6 @@ public interface HotlineDailyAcceptanceMapper extends BaseMapper<HotlineDailyAcc
     Integer getHistoryAcceptCount(@Param("year") String year, @Param("month") String month);
 
     List<GetRecentlyAcceptCountTrendBO> getRecentlyAcceptCountTrend(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
+
+    void deleteAll();
 }

+ 2 - 2
src/main/java/com/cqut/stack/bn/dao/HotlineDeptAcceptanceMapper.java

@@ -10,8 +10,8 @@ import java.util.List;
 public interface HotlineDeptAcceptanceMapper extends BaseMapper<HotlineDeptAcceptance> {
 
     List<HotlineDeptAcceptance> getMunicipalDeptAcceptInfo(@Param("dto") GetMunicipalDeptAcceptInfoDTO dto);
-    List<HotlineDeptAcceptance> getMunicipalDeptAcceptInfo2(@Param("dto") GetMunicipalDeptAcceptInfoDTO dto);
-
 
+    List<HotlineDeptAcceptance> getMunicipalDeptAcceptInfo2(@Param("dto") GetMunicipalDeptAcceptInfoDTO dto);
 
+    void deleteAll();
 }

+ 2 - 0
src/main/java/com/cqut/stack/bn/dao/HotlineDistrictAcceptanceMapper.java

@@ -10,4 +10,6 @@ import java.util.List;
 public interface HotlineDistrictAcceptanceMapper extends BaseMapper<HotlineDistrictAcceptance> {
 
     List<HotlineDistrictAcceptance> getHotlineDistrictAcceptInfo(@Param("dto") GetHotlineDistrictAcceptInfoDTO dto);
+
+    void deleteAll();
 }

+ 2 - 0
src/main/java/com/cqut/stack/bn/dao/MetadataMapper.java

@@ -12,4 +12,6 @@ import java.util.List;
 @Transactional
 public interface MetadataMapper {
     List<TableInfo> queryMetaDataList(@Param("param") QueryMetaDataListDTO dto);
+
+    void synchronizeData(@Param("filedKey") String filedKey,@Param("fieldValue") String fieldValue);
 }

+ 1 - 8
src/main/java/com/cqut/stack/bn/dao/ResourceTransactionMapper.java

@@ -3,14 +3,7 @@ package com.cqut.stack.bn.dao;
 import com.cqut.stack.bn.pojo.entity.ResourceTransaction;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-/**
- * <p>
- * 公共资源交易 Mapper 接口
- * </p>
- *
- * @author ${author}
- * @since 2024-11-22
- */
 public interface ResourceTransactionMapper extends BaseMapper<ResourceTransaction> {
 
+    void deleteAll();
 }

+ 1 - 8
src/main/java/com/cqut/stack/bn/dao/TodayAcceptanceMapper.java

@@ -3,14 +3,7 @@ package com.cqut.stack.bn.dao;
 import com.cqut.stack.bn.pojo.entity.TodayAcceptance;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-/**
- * <p>
- * 今日话务情况 Mapper 接口
- * </p>
- *
- * @author ${author}
- * @since 2024-11-22
- */
 public interface TodayAcceptanceMapper extends BaseMapper<TodayAcceptance> {
 
+    void deleteAll();
 }

+ 1 - 0
src/main/java/com/cqut/stack/bn/dao/WordOrderDetailMapper.java

@@ -5,4 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 public interface WordOrderDetailMapper extends BaseMapper<WordOrderDetail> {
 
+    void deleteAll();
 }

+ 1 - 0
src/main/java/com/cqut/stack/bn/dao/WorkOrderCirculationMapper.java

@@ -5,4 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 public interface WorkOrderCirculationMapper extends BaseMapper<WorkOrderCirculation> {
 
+    void deleteAll();
 }

+ 1 - 8
src/main/java/com/cqut/stack/bn/dao/WorkOrderMapper.java

@@ -3,14 +3,7 @@ package com.cqut.stack.bn.dao;
 import com.cqut.stack.bn.pojo.entity.WorkOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-/**
- * <p>
- * 工单受理列表 Mapper 接口
- * </p>
- *
- * @author ${author}
- * @since 2024-11-22
- */
 public interface WorkOrderMapper extends BaseMapper<WorkOrder> {
 
+    void deleteAll();
 }

+ 35 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/areaTransaction/AreaTransactionImportDTO.java

@@ -0,0 +1,35 @@
+package com.cqut.stack.bn.pojo.dto.areaTransaction;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("公共资源交易详情导入模板对象")
+public class AreaTransactionImportDTO {
+
+    @ApiModelProperty(value = "地区")
+    @ExcelProperty(value = "地区",index = 0)
+    private String areaName;
+
+    @ApiModelProperty(value = "交易金额")
+    @ExcelProperty(value = "马上办数量",index = 1)
+    private String transactionAmount;
+
+    @ApiModelProperty(value = "节约金额")
+    @ExcelProperty(value = "马上办占比",index = 2)
+    private String saveAmount;
+
+    @ApiModelProperty(value = "交易宗数")
+    @ExcelProperty(value = "马上办占比",index = 3)
+    private String transactionCount;
+
+    @ApiModelProperty(value = "交易类别(0:工程建设,1:政府采购,2:土地矿权,3:资源财产,4:其它交易)")
+    @ExcelProperty(value = "马上办占比",index = 4)
+    private String transactionType;
+
+    @ApiModelProperty(value = "预算金额")
+    @ExcelProperty(value = "马上办占比",index = 5)
+    private String budgetAmount;
+}

+ 16 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/base/ExcelImportDTO.java

@@ -0,0 +1,16 @@
+package com.cqut.stack.bn.pojo.dto.base;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel("Excel导入通用入参")
+public class ExcelImportDTO {
+    @NotNull(message = "请选择需要导入的文件")
+    @ApiModelProperty("导入文件")
+    private MultipartFile multipartFile;
+}

+ 19 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/districtHandle/DistrictHandleImportDTO.java

@@ -0,0 +1,19 @@
+package com.cqut.stack.bn.pojo.dto.districtHandle;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class DistrictHandleImportDTO {
+    @ExcelProperty(value = "地区",index = 0)
+    private String districtName;
+
+    @ExcelProperty(value = "受理量",index = 1)
+    private String acceptCount;
+
+    @ExcelProperty(value = "交办量",index = 2)
+    private String handleCount;
+
+    @ExcelProperty(value = "办结率",index = 3)
+    private String handlePercent;
+}

+ 21 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/hotlineAcceptance/HotlineAcceptanceImportDTO.java

@@ -0,0 +1,21 @@
+package com.cqut.stack.bn.pojo.dto.hotlineAcceptance;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class HotlineAcceptanceImportDTO {
+    @ApiModelProperty(value = "地区")
+    @ExcelProperty(value = "地区",index = 0)
+    private String districtName;
+
+    @ApiModelProperty(value = "受理量")
+    @ExcelProperty(value = "受理量",index = 1)
+    private Integer acceptCount;
+
+    @ApiModelProperty(value = "交办量")
+    @ExcelProperty(value = "交办量",index = 2)
+    private Integer processCount;
+
+}

+ 18 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDailyAcceptance/HotlineDailyAcceptanceImportDTO.java

@@ -0,0 +1,18 @@
+package com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class HotlineDailyAcceptanceImportDTO {
+
+    @ApiModelProperty(value = "当天接件数量")
+    @ExcelProperty(value = "当天接件数量",index = 0)
+    private String acceptCount;
+
+    @ApiModelProperty(value = "日期")
+    @ExcelProperty(value = "呼出总量",index = 1)
+    private String acceptDate;
+
+}

+ 26 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDeptAcceptance/HotlineDeptAcceptanceImportDTO.java

@@ -0,0 +1,26 @@
+package com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+public class HotlineDeptAcceptanceImportDTO {
+    @ApiModelProperty(value = "部门名称")
+    @ExcelProperty(value = "部门名称",index = 0)
+    private String deptName;
+
+    @ApiModelProperty(value = "已完成数量")
+    @ExcelProperty(value = "已完成数量",index = 1)
+    private Integer completeCount;
+
+
+    @ApiModelProperty(value = "待处理数量")
+    @ExcelProperty(value = "待处理数量",index = 2)
+    private Integer pendingCount;
+
+    @ApiModelProperty(value = "超期数量")
+    @ExcelProperty(value = "超期数量",index = 3)
+    private Integer overdueCount;
+}

+ 20 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/hotlineDistrictAcceptance/HotlineDistrictAcceptanceImportDTO.java

@@ -0,0 +1,20 @@
+package com.cqut.stack.bn.pojo.dto.hotlineDistrictAcceptance;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class HotlineDistrictAcceptanceImportDTO {
+    @ApiModelProperty(value = "区县名称(0:南江县,1:通江县,2;巴州区,3:恩阳区,4:平昌县)区县名称")
+    @ExcelProperty(value = "区县名称",index = 0)
+    private Integer districtName;
+
+    @ApiModelProperty(value = "接件状态(0:已办,1:代办,2:超期)")
+    @ExcelProperty(value = "接件状态",index = 1)
+    private Integer acceptStatus;
+
+    @ApiModelProperty(value = "数量")
+    @ExcelProperty(value = "数量",index = 2)
+    private Integer acceptCount;
+}

+ 15 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/metadata/SynchronizeDataDTO.java

@@ -0,0 +1,15 @@
+package com.cqut.stack.bn.pojo.dto.metadata;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel("通用第三方接口数据同步")
+public class SynchronizeDataDTO {
+    @NotNull(message = "表id不能为空")
+    @ApiModelProperty(value = "表id")
+    private Integer tableId;
+}

+ 30 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/resourceTrade/ResourceTransactionImportDTO.java

@@ -0,0 +1,30 @@
+package com.cqut.stack.bn.pojo.dto.resourceTrade;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("公共资源交易信息导入模板对象")
+public class ResourceTransactionImportDTO {
+    @ApiModelProperty(value = "交易项目名称")
+    @ExcelProperty(value = "交易项目名称",index = 0)
+    private String itemName;
+
+    @ApiModelProperty(value = "业主单位")
+    @ExcelProperty(value = "业主单位",index = 1)
+    private String ownerUnit;
+
+    @ApiModelProperty(value = "交易日期")
+    @ExcelProperty(value = "交易日期",index = 2)
+    private String transactionDate;
+
+    @ApiModelProperty(value = "预算金额")
+    @ExcelProperty(value = "预算金额",index = 3)
+    private String budgetAmount;
+
+    @ApiModelProperty(value = "成交金额")
+    @ExcelProperty(value = "成交金额",index = 4)
+    private String transactionAmount;
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/todayAcceptance/TodayAcceptanceImportDTO.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.dto.todayAcceptance;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TodayAcceptanceImportDTO {
+    @ApiModelProperty(value = "呼出总量")
+    @ExcelProperty(value = "呼出总量",index = 0)
+    private String outputCount;
+
+    @ApiModelProperty(value = "呼入总量")
+    @ExcelProperty(value = "呼入总量",index = 1)
+    private String inputCount;
+
+    @ApiModelProperty(value = "呼入接通量")
+    @ExcelProperty(value = "呼入接通量",index = 2)
+    private String inputAcceptCount;
+
+    @ApiModelProperty(value = "呼出接通量")
+    @ExcelProperty(value = "呼出接通量",index = 3)
+    private String outputAcceptCount;
+
+    @ApiModelProperty(value = "呼出平均时长(m)")
+    @ExcelProperty(value = "呼出平均时长(m)",index = 4)
+    private String outputAverageTime;
+
+    @ApiModelProperty(value = "呼入平均时长(m)")
+    @ExcelProperty(value = "呼入平均时长(m)",index = 5)
+    private String inputAverageTime;
+}

+ 124 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/wordOrderDetail/WordOrderDetailImportDTO.java

@@ -0,0 +1,124 @@
+package com.cqut.stack.bn.pojo.dto.wordOrderDetail;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WordOrderDetailImportDTO {
+    @ApiModelProperty(value = "来源方式")
+    @TableField("source_type")
+    @ExcelProperty(value = "工单类型",index = 0)
+    private String sourceType;
+
+    @ApiModelProperty(value = "受理类型")
+    @TableField("accept_type")
+    @ExcelProperty(value = "工单类型",index = 1)
+    private String acceptType;
+
+    @ApiModelProperty(value = "受理时间")
+    @TableField("accept_date")
+    @ExcelProperty(value = "工单类型",index = 2)
+    private String acceptDate;
+
+    @ApiModelProperty(value = "转接来源")
+    @TableField("transfer_source")
+    @ExcelProperty(value = "工单类型",index = 3)
+    private String transferSource;
+
+    @ApiModelProperty(value = "所在区域")
+    @TableField("order_area")
+    @ExcelProperty(value = "工单类型",index = 4)
+    private String orderArea;
+
+    @ApiModelProperty(value = "热点分类")
+    @TableField("hot_type")
+    @ExcelProperty(value = "工单类型",index = 5)
+    private String hotType;
+
+    @ApiModelProperty(value = "来电人")
+    @TableField("caller_name")
+    @ExcelProperty(value = "工单类型",index = 6)
+    private String callerName;
+
+    @ApiModelProperty(value = "性别")
+    @TableField("sex")
+    @ExcelProperty(value = "工单类型",index = 7)
+    private String sex;
+
+    @ApiModelProperty(value = "联系电话")
+    @TableField("caller_phone")
+    @ExcelProperty(value = "工单类型",index = 8)
+    private String callerPhone;
+
+    @ApiModelProperty(value = "联系地址")
+    @TableField("caller_adress")
+    @ExcelProperty(value = "工单类型",index = 9)
+    private String callerAdress;
+
+    @ApiModelProperty(value = "交办时间")
+    @TableField("delivery_time")
+    @ExcelProperty(value = "工单类型",index = 10)
+    private String deliveryTime;
+
+    @ApiModelProperty(value = "办理时间")
+    @TableField("process_time")
+    @ExcelProperty(value = "工单类型",index = 11)
+    private String processTime;
+
+    @ApiModelProperty(value = "归档时间")
+    @TableField("archive_time")
+    @ExcelProperty(value = "工单类型",index = 12)
+    private String archiveTime;
+
+    @ApiModelProperty(value = "期满时间")
+    @TableField("expiration_time")
+    @ExcelProperty(value = "工单类型",index = 13)
+    private String expirationTime;
+
+    @ApiModelProperty(value = "交办部门")
+    @TableField("assigned_dept")
+    @ExcelProperty(value = "工单类型",index = 14)
+    private String assignedDept;
+
+    @ApiModelProperty(value = "办理部门")
+    @TableField("process_dept")
+    @ExcelProperty(value = "工单类型",index = 15)
+    private String processDept;
+
+    @ApiModelProperty(value = "归档部门")
+    @TableField("archive_dept")
+    @ExcelProperty(value = "工单类型",index = 16)
+    private String archiveDept;
+
+    @ApiModelProperty(value = "办理时限")
+    @TableField("process_time_limit")
+    @ExcelProperty(value = "工单类型",index = 17)
+    private String processTimeLimit;
+
+    @ApiModelProperty(value = "受理标题")
+    @TableField("acceptance_title")
+    @ExcelProperty(value = "工单类型",index = 18)
+    private String acceptanceTitle;
+
+    @ApiModelProperty(value = "受理内容")
+    @TableField("acceptance_content")
+    @ExcelProperty(value = "工单类型",index = 19)
+    private String acceptanceContent;
+
+    @ApiModelProperty(value = "中心意见")
+    @TableField("central_opinion")
+    @ExcelProperty(value = "工单类型",index = 20)
+    private String centralOpinion;
+
+    @ApiModelProperty(value = "承办意见")
+    @TableField("undertak_opinions")
+    @ExcelProperty(value = "工单类型",index = 21)
+    private String undertakOpinions;
+
+    @ApiModelProperty(value = "退回意见")
+    @TableField("return_opinion")
+    @ExcelProperty(value = "工单类型",index = 22)
+    private String returnOpinion;
+}

+ 33 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/workOrder/WorkOrderImportDTO.java

@@ -0,0 +1,33 @@
+package com.cqut.stack.bn.pojo.dto.workOrder;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WorkOrderImportDTO {
+    @ApiModelProperty(value = "工单类型")
+    @ExcelProperty(value = "工单类型",index = 0)
+    private String orderType;
+
+    @ApiModelProperty(value = "来源类型")
+    @ExcelProperty(value = "来源类型",index = 1)
+    private String resourceType;
+
+    @ApiModelProperty(value = "来电时间")
+    @ExcelProperty(value = "来电时间",index = 2)
+    private String orderTime;
+
+    @ApiModelProperty(value = "来电人")
+    @ExcelProperty(value = "来电人",index = 3)
+    private String orderPerson;
+
+    @ApiModelProperty(value = "来电标题")
+    @ExcelProperty(value = "来电标题",index = 4)
+    private String orderTitle;
+
+    @ApiModelProperty(value = "来电区域")
+    @ExcelProperty(value = "来电区域",index = 5)
+    private String orderArea;
+
+}

+ 38 - 0
src/main/java/com/cqut/stack/bn/pojo/dto/workOrderCirculation/WorkOrderCirculationImportDTO.java

@@ -0,0 +1,38 @@
+package com.cqut.stack.bn.pojo.dto.workOrderCirculation;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WorkOrderCirculationImportDTO {
+    @ApiModelProperty(value = "建立时间")
+    @ExcelProperty(value = "建立时间",index = 0)
+    private Date setTime;
+
+    @ApiModelProperty(value = "当前节点")
+    @ExcelProperty(value = "当前节点",index = 1)
+    private String currentNode;
+
+    @ApiModelProperty(value = "接班部门")
+    @ExcelProperty(value = "接班部门",index = 2)
+    private String handoverDept;
+
+    @ApiModelProperty(value = "办理人")
+    @ExcelProperty(value = "办理人",index = 3)
+    private String transactors;
+
+    @ApiModelProperty(value = "办理时间")
+    @ExcelProperty(value = "办理时间",index = 4)
+    private Date processTime;
+
+    @ApiModelProperty(value = "办理时限")
+    @ExcelProperty(value = "办理时限",index = 5)
+    private String timeLimit;
+
+    @ApiModelProperty(value = "流转状态")
+    @ExcelProperty(value = "流转状态",index = 6)
+    private String flowStatus;
+}

+ 4 - 0
src/main/java/com/cqut/stack/bn/pojo/entity/DatabaseField.java

@@ -59,5 +59,9 @@ public class DatabaseField implements Serializable {
     @TableField("create_time")
     private Date createTime;
 
+    @ApiModelProperty(value = "远程字段类型")
+    @TableField("remote_field_name")
+    private String remoteFieldName;
+
 
 }

+ 8 - 0
src/main/java/com/cqut/stack/bn/pojo/entity/DatabaseTable.java

@@ -39,5 +39,13 @@ public class DatabaseTable implements Serializable {
     @TableField("create_time")
     private Date createTime;
 
+    @ApiModelProperty(value = "第三方接口地址")
+    @TableField("url")
+    private String url;
+
+    @ApiModelProperty(value = "同步接口请求方式")
+    @TableField("request_method")
+    private String requestMethod;
+
 
 }

+ 0 - 4
src/main/java/com/cqut/stack/bn/pojo/entity/DistrictHandle.java

@@ -6,10 +6,6 @@ import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
-/**
- * 区县受理量、交办量
- * @TableName district_handle
- */
 @Data
 public class DistrictHandle implements Serializable {
     /**

+ 30 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/AreaTransactionListener.java

@@ -0,0 +1,30 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.areaTransaction.AreaTransactionImportDTO;
+import com.cqut.stack.bn.pojo.entity.AreaTransaction;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class AreaTransactionListener implements ReadListener<AreaTransactionImportDTO> {
+    private final List<AreaTransaction> areaTransactionList = new ArrayList<>();
+
+    @Override
+    public void invoke(AreaTransactionImportDTO areaTransactionImportDTO, AnalysisContext analysisContext) {
+        AreaTransaction areaTransaction = new AreaTransaction();
+        BeanUtil.copyProperties(areaTransactionImportDTO,areaTransaction);
+        areaTransactionList.add(areaTransaction);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 30 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/DistrictHandleListener.java

@@ -0,0 +1,30 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
+import com.cqut.stack.bn.pojo.entity.DistrictHandle;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class DistrictHandleListener implements ReadListener<DistrictHandleImportDTO> {
+    private final List<DistrictHandle> districtHandleList = new ArrayList<>();
+
+    @Override
+    public void invoke(DistrictHandleImportDTO districtHandleImportDTO, AnalysisContext analysisContext) {
+        DistrictHandle districtHandle = new DistrictHandle();
+        BeanUtil.copyProperties(districtHandleImportDTO,districtHandle);
+        districtHandleList.add(districtHandle);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 31 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/HotlineAcceptanceListener.java

@@ -0,0 +1,31 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class HotlineAcceptanceListener implements ReadListener<HotlineAcceptanceImportDTO> {
+    private final List<HotlineAcceptance> hotlineAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(HotlineAcceptanceImportDTO hotlineAcceptanceImportDTO, AnalysisContext analysisContext) {
+        HotlineAcceptance hotlineAcceptance = new HotlineAcceptance();
+        BeanUtil.copyProperties(hotlineAcceptanceImportDTO,hotlineAcceptance);
+        hotlineAcceptanceList.add(hotlineAcceptance);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDailyAcceptanceListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.HotlineDailyAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.HotlineDailyAcceptance;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class HotlineDailyAcceptanceListener implements ReadListener<HotlineDailyAcceptanceImportDTO> {
+    private final List<HotlineDailyAcceptance> hotlineDailyAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(HotlineDailyAcceptanceImportDTO hotlineAcceptanceImportDTO, AnalysisContext analysisContext) {
+        HotlineDailyAcceptance hotlineDailyAcceptance = new HotlineDailyAcceptance();
+        BeanUtil.copyProperties(hotlineAcceptanceImportDTO,hotlineDailyAcceptance);
+        hotlineDailyAcceptanceList.add(hotlineDailyAcceptance);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDeptAcceptanceListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.HotlineDeptAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.HotlineDeptAcceptance;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class HotlineDeptAcceptanceListener implements ReadListener<HotlineDeptAcceptanceImportDTO> {
+    private final List<HotlineDeptAcceptance> hotlineDeptAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(HotlineDeptAcceptanceImportDTO hotlineDeptAcceptanceImportDTO, AnalysisContext analysisContext) {
+        HotlineDeptAcceptance hotlineAcceptance = new HotlineDeptAcceptance();
+        BeanUtil.copyProperties(hotlineDeptAcceptanceImportDTO,hotlineAcceptance);
+        hotlineDeptAcceptanceList.add(hotlineAcceptance);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/HotlineDistrictAcceptanceListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDistrictAcceptance.HotlineDistrictAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.HotlineDistrictAcceptance;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class HotlineDistrictAcceptanceListener implements ReadListener<HotlineDistrictAcceptanceImportDTO> {
+    private final List<HotlineDistrictAcceptance> hotlineDistrictAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(HotlineDistrictAcceptanceImportDTO hotlineDistrictAcceptanceImportDTO, AnalysisContext analysisContext) {
+        HotlineDistrictAcceptance hotlineDistrictAcceptance = new HotlineDistrictAcceptance();
+        BeanUtil.copyProperties(hotlineDistrictAcceptanceImportDTO,hotlineDistrictAcceptance);
+        hotlineDistrictAcceptanceList.add(hotlineDistrictAcceptance);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 33 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/ResourceTransactionListener.java

@@ -0,0 +1,33 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.areaTransaction.AreaTransactionImportDTO;
+import com.cqut.stack.bn.pojo.dto.resourceTrade.ResourceTransactionImportDTO;
+import com.cqut.stack.bn.pojo.entity.AreaTransaction;
+import com.cqut.stack.bn.pojo.entity.ResourceTransaction;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Slf4j
+@Getter
+public class ResourceTransactionListener implements ReadListener<ResourceTransactionImportDTO> {
+    private final List<ResourceTransaction> resourceTransactionList = new ArrayList<>();
+
+    @Override
+    public void invoke(ResourceTransactionImportDTO resourceTransactionImportDTO, AnalysisContext analysisContext) {
+        ResourceTransaction resourceTransaction = new ResourceTransaction();
+        BeanUtil.copyProperties(resourceTransactionImportDTO,resourceTransaction);
+        resourceTransactionList.add(resourceTransaction);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/TodayAcceptanceListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.todayAcceptance.TodayAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.TodayAcceptance;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class TodayAcceptanceListener implements ReadListener<TodayAcceptanceImportDTO> {
+    private final List<TodayAcceptance> todayAcceptancList = new ArrayList<>();
+
+    @Override
+    public void invoke(TodayAcceptanceImportDTO todayAcceptancImportDTO, AnalysisContext analysisContext) {
+        TodayAcceptance todayAcceptance = new TodayAcceptance();
+        BeanUtil.copyProperties(todayAcceptancImportDTO,todayAcceptance);
+        todayAcceptancList.add(todayAcceptance);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/WordOrderDetailListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.wordOrderDetail.WordOrderDetailImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.WordOrderDetail;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class WordOrderDetailListener implements ReadListener<WordOrderDetailImportDTO> {
+    private final List<WordOrderDetail> hotlineAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(WordOrderDetailImportDTO wordOrderDetailImportDTO, AnalysisContext analysisContext) {
+        WordOrderDetail wordOrderDetail = new WordOrderDetail();
+        BeanUtil.copyProperties(wordOrderDetailImportDTO,wordOrderDetail);
+        hotlineAcceptanceList.add(wordOrderDetail);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/WorkOrderCirculationListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.workOrderCirculation.WorkOrderCirculationImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.WorkOrderCirculation;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class WorkOrderCirculationListener implements ReadListener<WorkOrderCirculationImportDTO> {
+    private final List<WorkOrderCirculation> hotlineAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(WorkOrderCirculationImportDTO workOrderCirculationImportDTO, AnalysisContext analysisContext) {
+        WorkOrderCirculation workOrderCirculation = new WorkOrderCirculation();
+        BeanUtil.copyProperties(workOrderCirculationImportDTO,workOrderCirculation);
+        hotlineAcceptanceList.add(workOrderCirculation);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 32 - 0
src/main/java/com/cqut/stack/bn/pojo/listener/WorkOrderListener.java

@@ -0,0 +1,32 @@
+package com.cqut.stack.bn.pojo.listener;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
+import com.cqut.stack.bn.pojo.dto.workOrder.WorkOrderImportDTO;
+import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
+import com.cqut.stack.bn.pojo.entity.WorkOrder;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+public class WorkOrderListener implements ReadListener<WorkOrderImportDTO> {
+    private final List<WorkOrder> hotlineAcceptanceList = new ArrayList<>();
+
+    @Override
+    public void invoke(WorkOrderImportDTO workOrderImportDTO, AnalysisContext analysisContext) {
+        WorkOrder workOrder = new WorkOrder();
+        BeanUtil.copyProperties(workOrderImportDTO,workOrder);
+        hotlineAcceptanceList.add(workOrder);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("excel读取完毕");
+    }
+}

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/AreaTransactionService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.resourceTrade.*;
 import com.cqut.stack.bn.pojo.entity.AreaTransaction;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -24,4 +25,6 @@ public interface AreaTransactionService extends IService<AreaTransaction> {
     AreaTransaction getCurrentAreaTradeInfo(GetCurrentAreaTradeInfoDTO dto);
 
     List<AreaTransaction> getAreaTransactionList(GetAreaTransactionDTO dto);
+
+    void importResourceTransactionInfo(ExcelImportDTO dto);
 }

+ 0 - 8
src/main/java/com/cqut/stack/bn/service/DatabaseFieldService.java

@@ -3,14 +3,6 @@ package com.cqut.stack.bn.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.cqut.stack.bn.pojo.entity.DatabaseField;
 
-/**
- * <p>
- * 可视化系统数据字典 服务类
- * </p>
- *
- * @author 宇
- * @since 2024-11-17
- */
 public interface DatabaseFieldService extends IService<DatabaseField> {
 
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/DistrictHandleService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.entity.DistrictHandle;
@@ -15,4 +16,6 @@ import java.util.List;
 public interface DistrictHandleService extends IService<DistrictHandle> {
 
     List<DistrictHandle> getDistrictHandle(DateDTO dateDTO);
+
+    void importDistrictHandle(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/HotlineAcceptanceService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.GetCurrentAreaHotlineAcceptanceDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
@@ -12,4 +13,6 @@ public interface HotlineAcceptanceService extends IService<HotlineAcceptance> {
     List<HotlineAcceptance> getCurrentAreaHotlineAcceptance(GetCurrentAreaHotlineAcceptanceDTO dto);
 
     List<HotlineAcceptance> getHotlineAcceptance(GetHotlineDeptAcceptanceDTO getHotlineDeptAcceptanceDTO);
+
+    void importHotlineAcceptance(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/HotlineDailyAcceptanceService.java

@@ -1,6 +1,7 @@
 package com.cqut.stack.bn.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDailyAcceptance;
 import com.cqut.stack.bn.pojo.vo.hotlineDailyAcceptance.GetRecentlyAcceptCountTrendVO;
@@ -15,4 +16,6 @@ public interface HotlineDailyAcceptanceService extends IService<HotlineDailyAcce
     GetRecentlyAcceptCountTrendVO getRecentlyAcceptCountTrend();
 
     List<HotlineDailyAcceptance> getHotlineDailyAcceptance(DateDTO dateDTO);
+
+    void importHotlineDailyAcceptance(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/HotlineDeptAcceptanceService.java

@@ -1,6 +1,7 @@
 package com.cqut.stack.bn.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetMunicipalDeptAcceptInfoDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDeptAcceptance;
@@ -13,4 +14,6 @@ public interface HotlineDeptAcceptanceService extends IService<HotlineDeptAccept
     GetMunicipalDeptAcceptInfoVO getMunicipalDeptAcceptInfo(GetMunicipalDeptAcceptInfoDTO dto);
 
     List<HotlineDeptAcceptance> getHotlineDeptAcceptance(GetHotlineDeptAcceptanceDTO getHotlineDeptAcceptanceDTO);
+
+    void importHotlineDeptAcceptance(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/HotlineDistrictAcceptanceService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDistrictAcceptance.GetHotlineDistrictAcceptInfoDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDistrictAcceptance;
@@ -13,4 +14,6 @@ public interface HotlineDistrictAcceptanceService extends IService<HotlineDistri
     GetHotlineDistrictAcceptInfoVO getHotlineDistrictAcceptInfo(GetHotlineDistrictAcceptInfoDTO dto);
 
     List<HotlineDistrictAcceptance> getHotlineDistrictAcceptance(GetHotlineDeptAcceptanceDTO getHotlineDeptAcceptanceDTO);
+
+    void importHotlineDistrictAcceptance(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/MetadataService.java

@@ -1,6 +1,7 @@
 package com.cqut.stack.bn.service;
 
 import com.cqut.stack.bn.pojo.dto.metadata.QueryMetaDataListDTO;
+import com.cqut.stack.bn.pojo.dto.metadata.SynchronizeDataDTO;
 import com.cqut.stack.bn.pojo.vo.matadata.QueryMetaDataListVO;
 
 import java.util.List;
@@ -10,4 +11,6 @@ public interface MetadataService {
     QueryMetaDataListVO queryMetaDataList(QueryMetaDataListDTO dto);
 
     String generateTable(Integer tableId);
+
+    void synchronizeData(Integer tableId);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/ResourceTransactionService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.resourceTrade.GetResourceTransactionsDTO;
 import com.cqut.stack.bn.pojo.entity.ResourceTransaction;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -11,4 +12,6 @@ public interface ResourceTransactionService extends IService<ResourceTransaction
     List<ResourceTransaction> getResourceTransactionList();
 
     List<ResourceTransaction> getResourceTransactionsList(GetResourceTransactionsDTO dto);
+
+    void importResourceTransactionDetail(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/TodayAcceptanceService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.entity.TodayAcceptance;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -12,4 +13,6 @@ public interface TodayAcceptanceService extends IService<TodayAcceptance> {
     GetTodayAcceptanceInfoVO getTodayAcceptanceInfo();
 
     List<TodayAcceptance> getTodayAcceptance(DateDTO dateDTO);
+
+    void importTodayAcceptance(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/WordOrderDetailService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.workOrder.GetWorkOrderDetailDTO;
 import com.cqut.stack.bn.pojo.entity.WordOrderDetail;
@@ -12,4 +13,6 @@ public interface WordOrderDetailService extends IService<WordOrderDetail> {
     WordOrderDetail getWorkOrderDetail(GetWorkOrderDetailDTO dto);
 
     List<WordOrderDetail> getWordOrderDetail(DateDTO dateDTO);
+
+    void importWordOrderDetail(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/WorkOrderCirculationService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.workOrderCirculation.GetWorkOrderCirculationDTO;
 import com.cqut.stack.bn.pojo.entity.WorkOrderCirculation;
@@ -12,4 +13,6 @@ public interface WorkOrderCirculationService extends IService<WorkOrderCirculati
     WorkOrderCirculation getWorkOrderCirculation(GetWorkOrderCirculationDTO dto);
 
     List<WorkOrderCirculation> getWorkOrderCirculationList(DateDTO dateDTO);
+
+    void importWorkOrderCirculationList(ExcelImportDTO dto);
 }

+ 3 - 0
src/main/java/com/cqut/stack/bn/service/WorkOrderService.java

@@ -1,5 +1,6 @@
 package com.cqut.stack.bn.service;
 
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.workOrder.GetWorkOrderResourceTypeDTO;
 import com.cqut.stack.bn.pojo.entity.WorkOrder;
@@ -15,4 +16,6 @@ public interface WorkOrderService extends IService<WorkOrder> {
     GetWorkOrderResourceTypVO getWorkOrderResourceType(GetWorkOrderResourceTypeDTO dto);
 
     List<WorkOrder> getWorkOrder(DateDTO dateDTO);
+
+    void importWorkOrder(ExcelImportDTO dto);
 }

+ 21 - 0
src/main/java/com/cqut/stack/bn/service/impl/AreaTransactionServiceImpl.java

@@ -1,15 +1,21 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.cqut.stack.bn.pojo.bo.areaTransaction.GetRecentlyCategoryTradeTrendBO;
+import com.cqut.stack.bn.pojo.dto.areaTransaction.AreaTransactionImportDTO;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.fourOfficeInfo.FourOfficeImportDTO;
 import com.cqut.stack.bn.pojo.dto.resourceTrade.*;
 import com.cqut.stack.bn.pojo.entity.AreaTransaction;
 import com.cqut.stack.bn.dao.AreaTransactionMapper;
 import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
 import com.cqut.stack.bn.pojo.enums.ResourceTradeEnum;
+import com.cqut.stack.bn.pojo.listener.AreaTransactionListener;
+import com.cqut.stack.bn.pojo.listener.FourOfficeListener;
 import com.cqut.stack.bn.pojo.vo.resourceTrade.GetCategoryTradeInfoVO;
 import com.cqut.stack.bn.pojo.vo.resourceTrade.GetCategoryTradeProportionVO;
 import com.cqut.stack.bn.pojo.vo.resourceTrade.GetHistoryTradeInfoVO;
@@ -20,6 +26,7 @@ import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -111,6 +118,20 @@ public class AreaTransactionServiceImpl extends ServiceImpl<AreaTransactionMappe
         return this.list(qw);
     }
 
+    @Override
+    public void importResourceTransactionInfo(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        areaTransactionMapper.deleteAll();
+        AreaTransactionListener areaTransactionListener = new AreaTransactionListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), AreaTransactionImportDTO.class, areaTransactionListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(areaTransactionListener.getAreaTransactionList());
+    }
+
     @Override
     public AreaTransaction getCurrentAreaTradeInfo(GetCurrentAreaTradeInfoDTO dto) {
         LambdaQueryWrapper<AreaTransaction> queryWrapper = Wrappers.lambdaQuery();

+ 25 - 5
src/main/java/com/cqut/stack/bn/service/impl/DistrictHandleServiceImpl.java

@@ -1,26 +1,32 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cqut.stack.bn.pojo.dto.areaTransaction.AreaTransactionImportDTO;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.entity.DistrictHandle;
+import com.cqut.stack.bn.pojo.listener.AreaTransactionListener;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
 import com.cqut.stack.bn.service.DistrictHandleService;
 import com.cqut.stack.bn.dao.DistrictHandleMapper;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.List;
 
-/**
-* @author thinkpad
-* @description 针对表【district_handle(区县受理量、交办量)】的数据库操作Service实现
-* @createDate 2024-11-24 15:53:46
-*/
 @Service
 public class DistrictHandleServiceImpl extends ServiceImpl<DistrictHandleMapper, DistrictHandle>
     implements DistrictHandleService{
 
+    @Resource
+    private DistrictHandleMapper districtHandleMapper;
+
     @Override
     public List<DistrictHandle> getDistrictHandle(DateDTO dateDTO) {
         LambdaQueryWrapper<DistrictHandle> queryWrapper = new LambdaQueryWrapper<>();
@@ -31,6 +37,20 @@ public class DistrictHandleServiceImpl extends ServiceImpl<DistrictHandleMapper,
         PageHelper.startPage(dateDTO.getPageNum(),dateDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importDistrictHandle(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        districtHandleMapper.deleteAll();
+        DistrictHandleListener districtHandleListener = new DistrictHandleListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), DistrictHandleImportDTO.class, districtHandleListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(districtHandleListener.getDistrictHandleList());
+    }
 }
 
 

+ 25 - 0
src/main/java/com/cqut/stack/bn/service/impl/HotlineAcceptanceServiceImpl.java

@@ -2,22 +2,33 @@ package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.GetCurrentAreaHotlineAcceptanceDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineAcceptance.HotlineAcceptanceImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineAcceptance;
 import com.cqut.stack.bn.dao.HotlineAcceptanceMapper;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.HotlineAcceptanceListener;
 import com.cqut.stack.bn.service.HotlineAcceptanceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.List;
 
 @Service
 public class HotlineAcceptanceServiceImpl extends ServiceImpl<HotlineAcceptanceMapper, HotlineAcceptance> implements HotlineAcceptanceService {
 
+    @Resource
+    private HotlineAcceptanceMapper hotlineAcceptanceMapper;
+
     @Override
     public List<HotlineAcceptance> getCurrentAreaHotlineAcceptance(GetCurrentAreaHotlineAcceptanceDTO dto) {
         LambdaQueryWrapper<HotlineAcceptance> queryWrapper = Wrappers.lambdaQuery();
@@ -36,4 +47,18 @@ public class HotlineAcceptanceServiceImpl extends ServiceImpl<HotlineAcceptanceM
         PageHelper.startPage(getHotlineDeptAcceptanceDTO.getPageNum(),getHotlineDeptAcceptanceDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importHotlineAcceptance(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        hotlineAcceptanceMapper.deleteAll();
+        HotlineAcceptanceListener hotlineAcceptanceListener = new HotlineAcceptanceListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), HotlineAcceptanceImportDTO.class, hotlineAcceptanceListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(hotlineAcceptanceListener.getHotlineAcceptanceList());
+    }
 }

+ 21 - 0
src/main/java/com/cqut/stack/bn/service/impl/HotlineDailyAcceptanceServiceImpl.java

@@ -1,11 +1,17 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cqut.stack.bn.dao.HotlineDailyAcceptanceMapper;
 import com.cqut.stack.bn.pojo.bo.hotlineDailyAcceptance.GetRecentlyAcceptCountTrendBO;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.HotlineDailyAcceptanceImportDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDailyAcceptance;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.HotlineDailyAcceptanceListener;
 import com.cqut.stack.bn.pojo.vo.hotlineDailyAcceptance.GetRecentlyAcceptCountTrendVO;
 import com.cqut.stack.bn.pojo.vo.hotlineDailyAcceptance.GetHistoryAcceptCountVO;
 import com.cqut.stack.bn.service.HotlineDailyAcceptanceService;
@@ -13,6 +19,7 @@ import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -76,4 +83,18 @@ public class HotlineDailyAcceptanceServiceImpl extends ServiceImpl<HotlineDailyA
         PageHelper.startPage(dateDTO.getPageNum(),dateDTO.getPageSize());
         return hotlineDailyAcceptanceMapper.selectList(queryWrapper);
     }
+
+    @Override
+    public void importHotlineDailyAcceptance(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        hotlineDailyAcceptanceMapper.deleteAll();
+        HotlineDailyAcceptanceListener hotlineDailyAcceptanceListener = new HotlineDailyAcceptanceListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), HotlineDailyAcceptanceImportDTO.class, hotlineDailyAcceptanceListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(hotlineDailyAcceptanceListener.getHotlineDailyAcceptanceList());
+    }
 }

+ 21 - 0
src/main/java/com/cqut/stack/bn/service/impl/HotlineDeptAcceptanceServiceImpl.java

@@ -1,18 +1,25 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cqut.stack.bn.dao.HotlineDeptAcceptanceMapper;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.HotlineDeptAcceptanceImportDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDeptAcceptance;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetMunicipalDeptAcceptInfoDTO;
 import com.cqut.stack.bn.pojo.enums.Hotline12345Enum;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.HotlineDeptAcceptanceListener;
 import com.cqut.stack.bn.pojo.vo.hotlineDeptAcceptance.GetMunicipalDeptAcceptInfoVO;
 import com.cqut.stack.bn.service.HotlineDeptAcceptanceService;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -53,4 +60,18 @@ public class HotlineDeptAcceptanceServiceImpl extends ServiceImpl<HotlineDeptAcc
         PageHelper.startPage(getHotlineDeptAcceptanceDTO.getPageNum(),getHotlineDeptAcceptanceDTO.getPageSize());
         return hotlineDeptAcceptanceMapper.selectList(queryWrapper);
     }
+
+    @Override
+    public void importHotlineDeptAcceptance(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        hotlineDeptAcceptanceMapper.deleteAll();
+        HotlineDeptAcceptanceListener hotlineDeptAcceptanceListener = new HotlineDeptAcceptanceListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), HotlineDeptAcceptanceImportDTO.class, hotlineDeptAcceptanceListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(hotlineDeptAcceptanceListener.getHotlineDeptAcceptanceList());
+    }
 }

+ 21 - 0
src/main/java/com/cqut/stack/bn/service/impl/HotlineDistrictAcceptanceServiceImpl.java

@@ -1,11 +1,17 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDeptAcceptance.GetHotlineDeptAcceptanceDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDistrictAcceptance.GetHotlineDistrictAcceptInfoDTO;
+import com.cqut.stack.bn.pojo.dto.hotlineDistrictAcceptance.HotlineDistrictAcceptanceImportDTO;
 import com.cqut.stack.bn.pojo.entity.HotlineDistrictAcceptance;
 import com.cqut.stack.bn.dao.HotlineDistrictAcceptanceMapper;
 import com.cqut.stack.bn.pojo.enums.Hotline12345Enum;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.HotlineDistrictAcceptanceListener;
 import com.cqut.stack.bn.pojo.vo.hotlineDistrictAcceptance.GetHotlineDistrictAcceptInfoVO;
 import com.cqut.stack.bn.service.HotlineDistrictAcceptanceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -13,6 +19,7 @@ import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -52,4 +59,18 @@ public class HotlineDistrictAcceptanceServiceImpl extends ServiceImpl<HotlineDis
         PageHelper.startPage(getHotlineDeptAcceptanceDTO.getPageNum(),getHotlineDeptAcceptanceDTO.getPageSize());
         return hotlineDistrictAcceptanceMapper.selectList(queryWrapper);
     }
+
+    @Override
+    public void importHotlineDistrictAcceptance(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        hotlineDistrictAcceptanceMapper.deleteAll();
+        HotlineDistrictAcceptanceListener hotlineDistrictAcceptanceListener = new HotlineDistrictAcceptanceListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), HotlineDistrictAcceptanceImportDTO.class, hotlineDistrictAcceptanceListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(hotlineDistrictAcceptanceListener.getHotlineDistrictAcceptanceList());
+    }
 }

+ 82 - 2
src/main/java/com/cqut/stack/bn/service/impl/MetadataServiceImpl.java

@@ -2,10 +2,15 @@ package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cqut.stack.bn.dao.MetadataMapper;
+import com.cqut.stack.bn.exception.ToolsBusinessWarn;
 import com.cqut.stack.bn.pojo.dto.metadata.QueryMetaDataListDTO;
+import com.cqut.stack.bn.pojo.dto.metadata.SynchronizeDataDTO;
 import com.cqut.stack.bn.pojo.dto.metadata.TableDTO;
 import com.cqut.stack.bn.pojo.entity.DatabaseField;
 import com.cqut.stack.bn.pojo.entity.DatabaseTable;
@@ -17,11 +22,17 @@ import com.cqut.stack.bn.service.MetadataService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import org.apache.commons.lang3.StringUtils;
+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.web.client.RestTemplate;
 
 import javax.annotation.Resource;
-import java.util.Collections;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -72,7 +83,76 @@ public class MetadataServiceImpl implements MetadataService {
         return createSQL(table);
     }
 
-        private String createSQL(TableDTO table){
+    @Override
+    public void synchronizeData(Integer tableId) {
+        // 1、根据id查询同步表字段信息
+        LambdaQueryWrapper<DatabaseField> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DatabaseField::getTableId, tableId);
+        List<DatabaseField> databaseFieldList = databaseFieldService.list(queryWrapper);
+        Map<String,String> exchangeFieldMap = databaseFieldList.stream().collect(Collectors.toMap(DatabaseField::getRemoteFieldName,DatabaseField::getFieldName));
+
+        // 2、调用第三方接口获取同步数据
+        // 查询第三方接口地址
+        DatabaseTable databaseTable = databaseTableService.getById(tableId);
+        // 请求地址
+        String url = databaseTable.getUrl();
+
+        // 请求头
+        HttpHeaders httpHeaders = new HttpHeaders();
+        //httpHeaders.set("Authorization", "Bearer " + request.getHeader("Access-Token"));
+        HttpEntity httpEntity = new HttpEntity(httpHeaders);
+
+        RestTemplate restTemplate = new RestTemplate();
+        ResponseEntity<String> response = restTemplate.exchange(
+                url,
+                HttpMethod.GET,
+                httpEntity,
+                String.class,
+                1
+        );
+
+        JSONObject resultJsonObject = JSONUtil.parseObj(response.getBody());
+        // 验证请求状态
+        Integer code = resultJsonObject.getInt("code");
+        if (code != 20000) {
+            throw new ToolsBusinessWarn("发送请求失败:" + resultJsonObject.getStr("message"));
+        }
+        // 解析返回信息
+        Map<String, Object> resultMap = JSON.parseObject(resultJsonObject.getStr("data"), Map.class);
+
+        List<String> filedValueList = new ArrayList<>();
+        StringBuilder fieldStr = null;
+
+        for(Map.Entry<String, Object> map : resultMap.entrySet()){
+            StringBuilder fieldValue = new StringBuilder("(");
+            fieldStr = new StringBuilder(" (");
+            Map<String,String> currentValue = (Map<String,String>)map.getValue();
+            for(Map.Entry<String, String> filedMap : currentValue.entrySet()){
+                // 将远程字段名与本地数据库字段名进行转换
+                fieldStr.append(exchangeFieldMap.get(filedMap.getKey()));
+                fieldStr.append(",");
+                fieldValue.append(filedMap.getValue());
+                fieldValue.append(",");
+            }
+            fieldStr.deleteCharAt(fieldStr.length() - 1);
+            fieldValue.deleteCharAt(fieldStr.length() - 1);
+            fieldStr.append("), ");
+            filedValueList.add(fieldStr.toString());
+        }
+        // 循环拼接sql字符串,每次批量插入10条数据
+        StringBuilder filedValues = new StringBuilder();
+        for (int i = 0; i < filedValueList.size(); i++) {
+            if(i/10 == 0 && i == filedValueList.size()){
+                // 删除最后一个逗号
+                filedValues.setLength(filedValues.length() - 1);
+                metadataMapper.synchronizeData(fieldStr.toString(),filedValues.toString());
+                filedValues = new StringBuilder();
+            }
+            filedValues.append(filedValueList.get(i));
+        }
+    }
+
+    private String createSQL(TableDTO table){
         StringBuilder sb = new StringBuilder();
         sb.append("create table ");
         sb.append(table.getTableName());

+ 25 - 0
src/main/java/com/cqut/stack/bn/service/impl/ResourceTransactionServiceImpl.java

@@ -1,22 +1,33 @@
 package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.fourOfficeInfo.FourOfficeImportDTO;
 import com.cqut.stack.bn.pojo.dto.resourceTrade.GetResourceTransactionsDTO;
+import com.cqut.stack.bn.pojo.dto.resourceTrade.ResourceTransactionImportDTO;
 import com.cqut.stack.bn.pojo.entity.ResourceTransaction;
 import com.cqut.stack.bn.dao.ResourceTransactionMapper;
+import com.cqut.stack.bn.pojo.listener.FourOfficeListener;
+import com.cqut.stack.bn.pojo.listener.ResourceTransactionListener;
 import com.cqut.stack.bn.service.ResourceTransactionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.List;
 
 @Service
 public class ResourceTransactionServiceImpl extends ServiceImpl<ResourceTransactionMapper, ResourceTransaction> implements ResourceTransactionService {
 
+    @Resource
+    private ResourceTransactionMapper resourceTransactionMapper;
+
     @Override
     public List<ResourceTransaction> getResourceTransactionList() {
         LambdaQueryWrapper<ResourceTransaction> queryWrapper = Wrappers.lambdaQuery();
@@ -33,4 +44,18 @@ public class ResourceTransactionServiceImpl extends ServiceImpl<ResourceTransact
         PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
         return this.list(qw);
     }
+
+    @Override
+    public void importResourceTransactionDetail(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        resourceTransactionMapper.deleteAll();
+        ResourceTransactionListener resourceTransactionListener = new ResourceTransactionListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), ResourceTransactionImportDTO.class, resourceTransactionListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(resourceTransactionListener.getResourceTransactionList());
+    }
 }

+ 24 - 0
src/main/java/com/cqut/stack/bn/service/impl/TodayAcceptanceServiceImpl.java

@@ -2,24 +2,34 @@ package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.entity.TodayAcceptance;
 import com.cqut.stack.bn.dao.TodayAcceptanceMapper;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.TodayAcceptanceListener;
 import com.cqut.stack.bn.pojo.vo.todayAcceptance.GetTodayAcceptanceInfoVO;
 import com.cqut.stack.bn.service.TodayAcceptanceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.List;
 
 @Service
 public class TodayAcceptanceServiceImpl extends ServiceImpl<TodayAcceptanceMapper, TodayAcceptance> implements TodayAcceptanceService {
 
+    @Resource
+    private TodayAcceptanceMapper acceptanceMapper;
+
     @Override
     public GetTodayAcceptanceInfoVO getTodayAcceptanceInfo() {
         LambdaQueryWrapper<TodayAcceptance> queryWrapper = Wrappers.lambdaQuery();
@@ -42,4 +52,18 @@ public class TodayAcceptanceServiceImpl extends ServiceImpl<TodayAcceptanceMappe
         PageHelper.startPage(dateDTO.getPageNum(),dateDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importTodayAcceptance(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        acceptanceMapper.deleteAll();
+        TodayAcceptanceListener todayAcceptanceListener = new TodayAcceptanceListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), DistrictHandleImportDTO.class, todayAcceptanceListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(todayAcceptanceListener.getTodayAcceptancList());
+    }
 }

+ 25 - 0
src/main/java/com/cqut/stack/bn/service/impl/WordOrderDetailServiceImpl.java

@@ -1,23 +1,34 @@
 package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
+import com.cqut.stack.bn.pojo.dto.wordOrderDetail.WordOrderDetailImportDTO;
 import com.cqut.stack.bn.pojo.dto.workOrder.GetWorkOrderDetailDTO;
 import com.cqut.stack.bn.pojo.entity.WordOrderDetail;
 import com.cqut.stack.bn.dao.WordOrderDetailMapper;
 import com.cqut.stack.bn.pojo.entity.WorkOrderCirculation;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.WordOrderDetailListener;
 import com.cqut.stack.bn.service.WordOrderDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.List;
 
 @Service
 public class WordOrderDetailServiceImpl extends ServiceImpl<WordOrderDetailMapper, WordOrderDetail> implements WordOrderDetailService {
 
+    @Resource
+    private WordOrderDetailMapper wordOrderDetailMapper;
+
     @Override
     public WordOrderDetail getWorkOrderDetail(GetWorkOrderDetailDTO dto) {
         LambdaQueryWrapper<WordOrderDetail> queryWrapper = Wrappers.lambdaQuery();
@@ -38,4 +49,18 @@ public class WordOrderDetailServiceImpl extends ServiceImpl<WordOrderDetailMappe
         PageHelper.startPage(dateDTO.getPageNum(), dateDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importWordOrderDetail(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        wordOrderDetailMapper.deleteAll();
+        WordOrderDetailListener wordOrderDetailListener = new WordOrderDetailListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), WordOrderDetailImportDTO.class, wordOrderDetailListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(wordOrderDetailListener.getHotlineAcceptanceList());
+    }
 }

+ 25 - 0
src/main/java/com/cqut/stack/bn/service/impl/WorkOrderCirculationServiceImpl.java

@@ -1,23 +1,34 @@
 package com.cqut.stack.bn.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.workOrderCirculation.GetWorkOrderCirculationDTO;
+import com.cqut.stack.bn.pojo.dto.workOrderCirculation.WorkOrderCirculationImportDTO;
 import com.cqut.stack.bn.pojo.entity.WorkOrderCirculation;
 import com.cqut.stack.bn.dao.WorkOrderCirculationMapper;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.WorkOrderCirculationListener;
 import com.cqut.stack.bn.service.WorkOrderCirculationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.List;
 import java.util.Objects;
 
 @Service
 public class WorkOrderCirculationServiceImpl extends ServiceImpl<WorkOrderCirculationMapper, WorkOrderCirculation> implements WorkOrderCirculationService {
 
+    @Resource
+    private WorkOrderCirculationMapper workOrderCirculationMapper;
+
     @Override
     public WorkOrderCirculation getWorkOrderCirculation(GetWorkOrderCirculationDTO dto) {
         LambdaQueryWrapper<WorkOrderCirculation> queryWrapper = Wrappers.lambdaQuery();
@@ -36,4 +47,18 @@ public class WorkOrderCirculationServiceImpl extends ServiceImpl<WorkOrderCircul
         PageHelper.startPage(dateDTO.getPageNum(),dateDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importWorkOrderCirculationList(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        workOrderCirculationMapper.deleteAll();
+        WorkOrderCirculationListener workOrderCirculationListener = new WorkOrderCirculationListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), WorkOrderCirculationImportDTO.class, workOrderCirculationListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(workOrderCirculationListener.getHotlineAcceptanceList());
+    }
 }

+ 25 - 0
src/main/java/com/cqut/stack/bn/service/impl/WorkOrderServiceImpl.java

@@ -1,17 +1,25 @@
 package com.cqut.stack.bn.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.dto.base.ExcelImportDTO;
+import com.cqut.stack.bn.pojo.dto.districtHandle.DistrictHandleImportDTO;
 import com.cqut.stack.bn.pojo.dto.hotlineDailyAcceptance.DateDTO;
 import com.cqut.stack.bn.pojo.dto.workOrder.GetWorkOrderResourceTypeDTO;
+import com.cqut.stack.bn.pojo.dto.workOrder.WorkOrderImportDTO;
 import com.cqut.stack.bn.pojo.entity.WorkOrder;
 import com.cqut.stack.bn.dao.WorkOrderMapper;
+import com.cqut.stack.bn.pojo.listener.DistrictHandleListener;
+import com.cqut.stack.bn.pojo.listener.WorkOrderListener;
 import com.cqut.stack.bn.pojo.vo.workOrder.GetWorkOrderResourceTypVO;
 import com.cqut.stack.bn.service.WorkOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.HashMap;
 import java.util.List;
@@ -21,6 +29,9 @@ import java.util.stream.Collectors;
 @Service
 public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
 
+    @Resource
+    private WorkOrderMapper workOrderMapper;
+
     @Override
     public List<WorkOrder> getWorkOrderList() {
         LambdaQueryWrapper<WorkOrder> queryWrapper = Wrappers.lambdaQuery();
@@ -54,4 +65,18 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         PageHelper.startPage(dateDTO.getPageNum(),dateDTO.getPageSize());
         return this.list(queryWrapper);
     }
+
+    @Override
+    public void importWorkOrder(ExcelImportDTO dto) {
+        // 删除所有旧数据
+        workOrderMapper.deleteAll();
+        WorkOrderListener workOrderListener = new WorkOrderListener();
+        try {
+            EasyExcel.read(dto.getMultipartFile().getInputStream(), WorkOrderImportDTO.class, workOrderListener)
+                    .headRowNumber(1).sheet().doRead();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        this.saveBatch(workOrderListener.getHotlineAcceptanceList());
+    }
 }

+ 77 - 0
src/main/java/com/cqut/stack/bn/timeTask/SynchronizeDataTask.java

@@ -0,0 +1,77 @@
+package com.cqut.stack.bn.timeTask;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cqut.stack.bn.pojo.entity.DatabaseTable;
+import com.cqut.stack.bn.service.DatabaseTableService;
+import com.cqut.stack.bn.service.MetadataService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Slf4j
+@Component
+@EnableScheduling
+public class SynchronizeDataTask {
+
+    @Resource
+    private DatabaseTableService databaseTableService;
+
+    @Resource
+    private MetadataService metadataService;
+
+    /**
+     * 每天晚上一点执行一次
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+    public void SynchronizeHotline(){
+        System.err.println("*********   开始同步12345数据   **************");
+        // 1、查询12345所有数据表
+        LambdaQueryWrapper<DatabaseTable> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DatabaseTable::getOwnerType,0);
+        List<DatabaseTable> databaseTableList = databaseTableService.list(queryWrapper);
+        // 2、循环同步数据
+        for (DatabaseTable databaseTable : databaseTableList) {
+            metadataService.synchronizeData(databaseTable.getId());
+        }
+        System.err.println("*********   同步12345数据完成   **************");
+    }
+
+    /**
+     * 每天晚上一点执行一次
+     */
+    @Scheduled(cron = "0 0 2 * * ?")
+    public void SynchronizeResourceTrade(){
+        System.err.println("*********   开始同步12345数据   **************");
+        // 1、查询12345所有数据表
+        LambdaQueryWrapper<DatabaseTable> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DatabaseTable::getOwnerType,1);
+        List<DatabaseTable> databaseTableList = databaseTableService.list(queryWrapper);
+        // 2、循环同步数据
+        for (DatabaseTable databaseTable : databaseTableList) {
+            metadataService.synchronizeData(databaseTable.getId());
+        }
+        System.err.println("*********   同步12345数据完成   **************");
+    }
+
+    /**
+     * 每天晚上一点执行一次
+     */
+    @Scheduled(cron = "0 0 3 * * ?")
+    public void SynchronizeGovernmentService(){
+        System.err.println("*********   开始同步12345数据   **************");
+        // 1、查询12345所有数据表
+        LambdaQueryWrapper<DatabaseTable> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DatabaseTable::getOwnerType,2);
+        List<DatabaseTable> databaseTableList = databaseTableService.list(queryWrapper);
+        // 2、循环同步数据
+        for (DatabaseTable databaseTable : databaseTableList) {
+            metadataService.synchronizeData(databaseTable.getId());
+        }
+        System.err.println("*********   同步12345数据完成   **************");
+    }
+}

+ 2 - 2
src/main/java/com/cqut/stack/bn/util/MybatisPlusAutoGenerator.java

@@ -62,7 +62,7 @@ public class MybatisPlusAutoGenerator {
          * 数据源配置
          */
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://120.79.182.152:3230/bazhong-new");
+        dsc.setUrl("jdbc:mysql://47.109.199.163:3306/bazhong-new");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("Su28092015__");
@@ -107,7 +107,7 @@ public class MybatisPlusAutoGenerator {
         /**
          * 指定生成的bean的数据库表名
          */
-        strategy.setInclude("area_handle");
+        strategy.setInclude("remote_interface_info");
         // 表映射到实体类的命名策略:下划线转驼峰
         strategy.setNaming(NamingStrategy.underline_to_camel);
         // 列名命名策略:下划线转驼峰

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

@@ -2,7 +2,7 @@ spring:
   datasource:
     url: jdbc:mysql://47.109.199.163:3306/bazhong-new?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
     username: root
-    password: 123456
+    password: Su28092015__
     driver-class-name: com.mysql.cj.jdbc.Driver
     hikari:
       minimum-idle: 3

+ 3 - 0
src/main/resources/mapper/AreaTransactionMapper.xml

@@ -18,6 +18,9 @@
     <sql id="Base_Column_List">
         id, area_name, transaction_amount, save_amount, transaction_count, transaction_type, stat_date, budget_amount
     </sql>
+    <delete id="deleteAll">
+        TRUNCATE TABLE area_transaction;
+    </delete>
 
     <select id="getHistoryTradeInfo"
             resultType="com.cqut.stack.bn.pojo.vo.resourceTrade.GetHistoryTradeInfoVO">

+ 3 - 0
src/main/resources/mapper/DistrictHandleMapper.xml

@@ -17,4 +17,7 @@
         id,district_name,accept_count,
         handle_count,handle_percent,stat_date
     </sql>
+    <delete id="deleteAll">
+        truncate table district_handle;
+    </delete>
 </mapper>

+ 3 - 0
src/main/resources/mapper/HotlineAcceptanceMapper.xml

@@ -16,4 +16,7 @@
         id,district_name,accept_count,
         process_count,stat_date
     </sql>
+    <delete id="deleteAll">
+        truncate table hotline_acceptance;
+    </delete>
 </mapper>

+ 3 - 0
src/main/resources/mapper/HotlineDailyAcceptanceMapper.xml

@@ -13,6 +13,9 @@
     <sql id="Base_Column_List">
         id, accept_count, accept_date
     </sql>
+    <delete id="deleteAll">
+        truncate table hotline_daily_acceptance;
+    </delete>
 
     <select id="getHistoryAcceptCount" resultType="java.lang.Integer">
         select sum(accept_count)

+ 3 - 0
src/main/resources/mapper/HotlineDeptAcceptanceMapper.xml

@@ -16,6 +16,9 @@
     <sql id="Base_Column_List">
         id, dept_name, complete_count, stat_date, pending_count, overdue_count
     </sql>
+    <delete id="deleteAll">
+        truncate table hotline_dept_acceptance;
+    </delete>
     <select id="getMunicipalDeptAcceptInfo"
             resultType="com.cqut.stack.bn.pojo.entity.HotlineDeptAcceptance">
         SELECT

+ 3 - 0
src/main/resources/mapper/HotlineDistrictAcceptanceMapper.xml

@@ -15,6 +15,9 @@
     <sql id="Base_Column_List">
         id, district_name, accept_status, accept_count, stat_date
     </sql>
+    <delete id="deleteAll">
+        truncate table hotline_district_acceptance;
+    </delete>
     <select id="getHotlineDistrictAcceptInfo"
             resultType="com.cqut.stack.bn.pojo.entity.HotlineDistrictAcceptance">
         SELECT

+ 3 - 0
src/main/resources/mapper/MetaDataMapper.xml

@@ -14,6 +14,9 @@
             <result column="fieldRemark" property="fieldRemark" />
         </collection>
     </resultMap>
+    <insert id="synchronizeData">
+        insert into #{filedKey} values #{fieldValue};
+    </insert>
 
     <select id="queryMetaDataList" resultMap="MetaDataInfo">
         SELECT

+ 3 - 0
src/main/resources/mapper/ResourceTransactionMapper.xml

@@ -16,5 +16,8 @@
     <sql id="Base_Column_List">
         id, item_name, owner_unit, transaction_date, budget_amount, transaction_amount
     </sql>
+    <delete id="deleteAll">
+        TRUNCATE TABLE resource_transaction;
+    </delete>
 
 </mapper>

+ 3 - 0
src/main/resources/mapper/TodayAcceptanceMapper.xml

@@ -20,4 +20,7 @@
         input_accept_count,output_accept_count,output_average_time,
         input_average_time,stat_date
     </sql>
+    <delete id="deleteAll">
+        truncate table today_acceptance;
+    </delete>
 </mapper>

+ 3 - 0
src/main/resources/mapper/WordOrderDetailMapper.xml

@@ -44,4 +44,7 @@
         acceptance_title,acceptance_content,central_opinion,
         undertak_opinions,return_opinion
     </sql>
+    <delete id="deleteAll">
+        truncate table word_order_detail;
+    </delete>
 </mapper>

+ 3 - 0
src/main/resources/mapper/WorkOrderCirculationMapper.xml

@@ -21,4 +21,7 @@
         current_node,handover_dept,transactors,
         process_time,time_limit,flow_status
     </sql>
+    <delete id="deleteAll">
+        truncate table work_order_circulation;
+    </delete>
 </mapper>

+ 3 - 0
src/main/resources/mapper/WorkOrderMapper.xml

@@ -17,5 +17,8 @@
     <sql id="Base_Column_List">
         id, order_type, resource_type, order_time, order_person, order_title, order_area
     </sql>
+    <delete id="deleteAll">
+        truncate table work_order;
+    </delete>
 
 </mapper>