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); +}