diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
new file mode 100644
index 0000000..40a1867
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
@@ -0,0 +1,124 @@
+package com.casic.missiles.controller.system.download;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.dto.system.SignListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.system.DownloadCenter;
+import com.casic.missiles.model.system.SystemSign;
+import com.casic.missiles.service.system.IDownloadCenterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@RestController
+@RequestMapping("/download/center")
+@AllArgsConstructor
+public class DownloadCenterController extends ExportController {
+
+ private final IDownloadCenterService downloadCenterService;
+
+
+ @ApiOperation("下载文件分页")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> downloadFileListPage(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(downloadCenterService.listPage(page, request)));
+ }
+
+ @ResponseBody
+ @ApiOperation("更新下载文件")
+ @PostMapping("/update")
+ public ReturnDTO updateDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.updateDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/add")
+ public ReturnDTO addDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.addDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("下载文件详情")
+ @PostMapping("/detail")
+ public ReturnDTO downloadFileDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(downloadCenterService.downloadFileDetail(idDTO.getId()));
+ }
+
+ @ResponseBody
+ @ApiOperation("删除下载文件")
+ @PostMapping("/delete")
+ public ReturnDTO deleteDownloadFile(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return downloadCenterService.deleteDownloadFile(idDTO.getId());
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/downloadFile")
+ public ReturnDTO downloadFile(@RequestBody @Valid DownloadFileRequest downloadFileRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.downloadFile(downloadFileRequest);
+
+ }
+
+
+ @ApiOperation("文件导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult, HttpServletResponse response) throws IOException {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ downloadCenterService.downloadFileExport(request,response);
+ }
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
new file mode 100644
index 0000000..40a1867
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
@@ -0,0 +1,124 @@
+package com.casic.missiles.controller.system.download;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.dto.system.SignListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.system.DownloadCenter;
+import com.casic.missiles.model.system.SystemSign;
+import com.casic.missiles.service.system.IDownloadCenterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@RestController
+@RequestMapping("/download/center")
+@AllArgsConstructor
+public class DownloadCenterController extends ExportController {
+
+ private final IDownloadCenterService downloadCenterService;
+
+
+ @ApiOperation("下载文件分页")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> downloadFileListPage(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(downloadCenterService.listPage(page, request)));
+ }
+
+ @ResponseBody
+ @ApiOperation("更新下载文件")
+ @PostMapping("/update")
+ public ReturnDTO updateDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.updateDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/add")
+ public ReturnDTO addDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.addDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("下载文件详情")
+ @PostMapping("/detail")
+ public ReturnDTO downloadFileDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(downloadCenterService.downloadFileDetail(idDTO.getId()));
+ }
+
+ @ResponseBody
+ @ApiOperation("删除下载文件")
+ @PostMapping("/delete")
+ public ReturnDTO deleteDownloadFile(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return downloadCenterService.deleteDownloadFile(idDTO.getId());
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/downloadFile")
+ public ReturnDTO downloadFile(@RequestBody @Valid DownloadFileRequest downloadFileRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.downloadFile(downloadFileRequest);
+
+ }
+
+
+ @ApiOperation("文件导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult, HttpServletResponse response) throws IOException {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ downloadCenterService.downloadFileExport(request,response);
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
new file mode 100644
index 0000000..4a75170
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
@@ -0,0 +1,22 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.model.system.DownloadCenter;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+public interface DownloadCenterMapper extends BaseMapper {
+
+ Long selectMaxCOrderNo();
+ String getFileNameByBusiness(@Param("request") DownloadFileRequest downloadFileRequest);
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
new file mode 100644
index 0000000..40a1867
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
@@ -0,0 +1,124 @@
+package com.casic.missiles.controller.system.download;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.dto.system.SignListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.system.DownloadCenter;
+import com.casic.missiles.model.system.SystemSign;
+import com.casic.missiles.service.system.IDownloadCenterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@RestController
+@RequestMapping("/download/center")
+@AllArgsConstructor
+public class DownloadCenterController extends ExportController {
+
+ private final IDownloadCenterService downloadCenterService;
+
+
+ @ApiOperation("下载文件分页")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> downloadFileListPage(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(downloadCenterService.listPage(page, request)));
+ }
+
+ @ResponseBody
+ @ApiOperation("更新下载文件")
+ @PostMapping("/update")
+ public ReturnDTO updateDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.updateDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/add")
+ public ReturnDTO addDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.addDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("下载文件详情")
+ @PostMapping("/detail")
+ public ReturnDTO downloadFileDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(downloadCenterService.downloadFileDetail(idDTO.getId()));
+ }
+
+ @ResponseBody
+ @ApiOperation("删除下载文件")
+ @PostMapping("/delete")
+ public ReturnDTO deleteDownloadFile(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return downloadCenterService.deleteDownloadFile(idDTO.getId());
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/downloadFile")
+ public ReturnDTO downloadFile(@RequestBody @Valid DownloadFileRequest downloadFileRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.downloadFile(downloadFileRequest);
+
+ }
+
+
+ @ApiOperation("文件导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult, HttpServletResponse response) throws IOException {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ downloadCenterService.downloadFileExport(request,response);
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
new file mode 100644
index 0000000..4a75170
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
@@ -0,0 +1,22 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.model.system.DownloadCenter;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+public interface DownloadCenterMapper extends BaseMapper {
+
+ Long selectMaxCOrderNo();
+ String getFileNameByBusiness(@Param("request") DownloadFileRequest downloadFileRequest);
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
new file mode 100644
index 0000000..1063077
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id
+ , download_no, business_module_name, business_download_type, minio_file_name, file_name, desc, create_user, update_user, is_del, create_time, update_time
+
+
+
+
+
+
+
+
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
new file mode 100644
index 0000000..40a1867
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
@@ -0,0 +1,124 @@
+package com.casic.missiles.controller.system.download;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.dto.system.SignListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.system.DownloadCenter;
+import com.casic.missiles.model.system.SystemSign;
+import com.casic.missiles.service.system.IDownloadCenterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@RestController
+@RequestMapping("/download/center")
+@AllArgsConstructor
+public class DownloadCenterController extends ExportController {
+
+ private final IDownloadCenterService downloadCenterService;
+
+
+ @ApiOperation("下载文件分页")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> downloadFileListPage(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(downloadCenterService.listPage(page, request)));
+ }
+
+ @ResponseBody
+ @ApiOperation("更新下载文件")
+ @PostMapping("/update")
+ public ReturnDTO updateDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.updateDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/add")
+ public ReturnDTO addDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.addDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("下载文件详情")
+ @PostMapping("/detail")
+ public ReturnDTO downloadFileDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(downloadCenterService.downloadFileDetail(idDTO.getId()));
+ }
+
+ @ResponseBody
+ @ApiOperation("删除下载文件")
+ @PostMapping("/delete")
+ public ReturnDTO deleteDownloadFile(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return downloadCenterService.deleteDownloadFile(idDTO.getId());
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/downloadFile")
+ public ReturnDTO downloadFile(@RequestBody @Valid DownloadFileRequest downloadFileRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.downloadFile(downloadFileRequest);
+
+ }
+
+
+ @ApiOperation("文件导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult, HttpServletResponse response) throws IOException {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ downloadCenterService.downloadFileExport(request,response);
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
new file mode 100644
index 0000000..4a75170
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
@@ -0,0 +1,22 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.model.system.DownloadCenter;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+public interface DownloadCenterMapper extends BaseMapper {
+
+ Long selectMaxCOrderNo();
+ String getFileNameByBusiness(@Param("request") DownloadFileRequest downloadFileRequest);
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
new file mode 100644
index 0000000..1063077
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id
+ , download_no, business_module_name, business_download_type, minio_file_name, file_name, desc, create_user, update_user, is_del, create_time, update_time
+
+
+
+
+
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java
new file mode 100644
index 0000000..cb60f73
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ *
+ *
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@Getter
+@Setter
+@TableName("system_download_center")
+public class DownloadCenter implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ @ApiModelProperty("下载编号")
+ @TableField("download_no")
+ private String downloadNo;
+
+ @NotNull
+ @ApiModelProperty("业务模块名称")
+ @TableField("module_name")
+ private String moduleName;
+
+ @NotNull
+ @ApiModelProperty("业务类型(字典)")
+ @TableField("business_download_type")
+ private String businessDownloadType;
+
+ @ApiModelProperty("minio存储文件名")
+ @TableField("minio_file_name")
+ private String minioFileName;
+
+ @TableField("file_name")
+ @ApiModelProperty("文件名称")
+ private String fileName;
+
+ @ApiModelProperty("文件类型")
+ @TableField("file_type")
+ private String fileType;
+
+ @ApiModelProperty("描述备注")
+ @TableField("desc")
+ private String desc;
+
+ /**
+ * 创建人id
+ */
+ @TableField("create_user")
+ private Long createUser;
+
+ /**
+ * 更新人id
+ */
+ @TableField("update_user")
+ private Long updateUser;
+
+ /**
+ * 删除标记
+ */
+ @TableField("is_del")
+ private Boolean isDel;
+
+ /**
+ * 创建时间
+ */
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
new file mode 100644
index 0000000..40a1867
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/download/DownloadCenterController.java
@@ -0,0 +1,124 @@
+package com.casic.missiles.controller.system.download;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.dto.system.SignListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.system.DownloadCenter;
+import com.casic.missiles.model.system.SystemSign;
+import com.casic.missiles.service.system.IDownloadCenterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@RestController
+@RequestMapping("/download/center")
+@AllArgsConstructor
+public class DownloadCenterController extends ExportController {
+
+ private final IDownloadCenterService downloadCenterService;
+
+
+ @ApiOperation("下载文件分页")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> downloadFileListPage(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(downloadCenterService.listPage(page, request)));
+ }
+
+ @ResponseBody
+ @ApiOperation("更新下载文件")
+ @PostMapping("/update")
+ public ReturnDTO updateDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.updateDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/add")
+ public ReturnDTO addDownloadFile(@RequestBody @Valid DownloadCenter downloadCenter, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.addDownloadFile(downloadCenter);
+ }
+
+ @ResponseBody
+ @ApiOperation("下载文件详情")
+ @PostMapping("/detail")
+ public ReturnDTO downloadFileDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(downloadCenterService.downloadFileDetail(idDTO.getId()));
+ }
+
+ @ResponseBody
+ @ApiOperation("删除下载文件")
+ @PostMapping("/delete")
+ public ReturnDTO deleteDownloadFile(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return downloadCenterService.deleteDownloadFile(idDTO.getId());
+ }
+
+ @ResponseBody
+ @ApiOperation("新增下载文件")
+ @PostMapping("/downloadFile")
+ public ReturnDTO downloadFile(@RequestBody @Valid DownloadFileRequest downloadFileRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return downloadCenterService.downloadFile(downloadFileRequest);
+
+ }
+
+
+ @ApiOperation("文件导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid DownloadListRequest request, BindingResult bindingResult, HttpServletResponse response) throws IOException {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ downloadCenterService.downloadFileExport(request,response);
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
new file mode 100644
index 0000000..4a75170
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/DownloadCenterMapper.java
@@ -0,0 +1,22 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.model.system.DownloadCenter;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+public interface DownloadCenterMapper extends BaseMapper {
+
+ Long selectMaxCOrderNo();
+ String getFileNameByBusiness(@Param("request") DownloadFileRequest downloadFileRequest);
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
new file mode 100644
index 0000000..1063077
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/DownloadCenterMapper.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id
+ , download_no, business_module_name, business_download_type, minio_file_name, file_name, desc, create_user, update_user, is_del, create_time, update_time
+
+
+
+
+
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java
new file mode 100644
index 0000000..cb60f73
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/DownloadCenter.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ *
+ *
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+@Getter
+@Setter
+@TableName("system_download_center")
+public class DownloadCenter implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ @ApiModelProperty("下载编号")
+ @TableField("download_no")
+ private String downloadNo;
+
+ @NotNull
+ @ApiModelProperty("业务模块名称")
+ @TableField("module_name")
+ private String moduleName;
+
+ @NotNull
+ @ApiModelProperty("业务类型(字典)")
+ @TableField("business_download_type")
+ private String businessDownloadType;
+
+ @ApiModelProperty("minio存储文件名")
+ @TableField("minio_file_name")
+ private String minioFileName;
+
+ @TableField("file_name")
+ @ApiModelProperty("文件名称")
+ private String fileName;
+
+ @ApiModelProperty("文件类型")
+ @TableField("file_type")
+ private String fileType;
+
+ @ApiModelProperty("描述备注")
+ @TableField("desc")
+ private String desc;
+
+ /**
+ * 创建人id
+ */
+ @TableField("create_user")
+ private Long createUser;
+
+ /**
+ * 更新人id
+ */
+ @TableField("update_user")
+ private Long updateUser;
+
+ /**
+ * 删除标记
+ */
+ @TableField("is_del")
+ private Boolean isDel;
+
+ /**
+ * 创建时间
+ */
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/IDownloadCenterService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/IDownloadCenterService.java
new file mode 100644
index 0000000..dacc27a
--- /dev/null
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/IDownloadCenterService.java
@@ -0,0 +1,37 @@
+package com.casic.missiles.service.system;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.system.DownloadFileRequest;
+import com.casic.missiles.dto.system.DownloadListRequest;
+import com.casic.missiles.dto.system.DownloadListResponse;
+import com.casic.missiles.model.system.DownloadCenter;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author cz
+ * @since 2023-04-03
+ */
+public interface IDownloadCenterService extends IService {
+
+ Page listPage(Page page, DownloadListRequest request);
+
+ void downloadFileExport(DownloadListRequest request, HttpServletResponse response) throws IOException;
+
+ ReturnDTO addDownloadFile(DownloadCenter downloadCenter);
+
+ ReturnDTO updateDownloadFile(DownloadCenter downloadCenter);
+
+ DownloadCenter downloadFileDetail(Long id);
+
+ ReturnDTO deleteDownloadFile(Long id);
+
+ ReturnDTO downloadFile(DownloadFileRequest downloadFileRequest);
+}