恢复控制器 controller

This commit is contained in:
yuejiajun 2025-09-30 10:57:54 +08:00
parent 63230dd677
commit e82e2ef66f
4 changed files with 598 additions and 680 deletions

View File

@ -1,241 +1,259 @@
//package com.example.demo.parser.controller; package com.example.demo.parser.controller;
//
//import com.example.demo.common.wrapper.WrapMapper; import cn.zhxu.bs.SearchResult;
//import com.example.demo.common.wrapper.Wrapper; import com.example.demo.common.wrapper.WrapMapper;
//import com.example.demo.common.exception.BusinessException; import com.example.demo.common.wrapper.Wrapper;
//import com.example.demo.common.utils.FileUtil; import com.example.demo.common.exception.BusinessException;
//import com.example.demo.common.utils.XmlParserUtil; import com.example.demo.common.utils.FileUtil;
//import com.example.demo.parser.model.dto.FileRecordDTO; import com.example.demo.common.utils.XmlParserUtil;
//import com.example.demo.parser.model.vo.FileRecordVO; import com.example.demo.parser.entity.FileRecordEntity;
//import com.example.demo.parser.service.FileRecordService; import com.example.demo.parser.model.dto.FileRecordDTO;
//import com.mybatisflex.core.paginate.Page; import com.example.demo.parser.model.dto.FileRecordQueryDTO;
//import io.swagger.v3.oas.annotations.Operation; import com.example.demo.parser.model.vo.FileRecordVO;
//import io.swagger.v3.oas.annotations.Parameter; import com.example.demo.parser.service.FileRecordService;
//import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation;
//import lombok.RequiredArgsConstructor; import io.swagger.v3.oas.annotations.Parameter;
//import lombok.extern.slf4j.Slf4j; import io.swagger.v3.oas.annotations.tags.Tag;
//import org.springframework.beans.factory.annotation.Value; import lombok.RequiredArgsConstructor;
//import org.springframework.web.bind.annotation.*; import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.multipart.MultipartFile; import org.springframework.beans.factory.annotation.Value;
// import org.springframework.web.bind.annotation.*;
//import java.io.File; import org.springframework.web.multipart.MultipartFile;
//import java.nio.file.Path;
//import java.nio.file.Paths; import java.io.File;
//import java.util.List; import java.nio.file.Path;
// import java.nio.file.Paths;
///** import java.util.Date;
// * 文件解析控制器 import java.util.List;
// * 提供XML文件上传解析和转换的RESTful API接口
// * /**
// * @author 岳佳君 (2025年09月25日 16:30:00) * 文件解析控制器
// * @version 1.0.0 * 提供XML文件上传解析和转换的RESTful API接口
// */ *
//@Slf4j * @author 岳佳君 (2025年09月25日 16:30:00)
//@RestController * @version 1.0.0
//@RequestMapping("/parser/files") */
//@RequiredArgsConstructor @Slf4j
//@Tag(name = "文件解析管理", description = "提供XML文件上传、解析和转换的接口") @RestController
//public class FileParserController { @RequestMapping("/parser/files")
// @RequiredArgsConstructor
// private final FileRecordService fileRecordService; @Tag(name = "文件解析管理", description = "提供XML文件上传、解析和转换的接口")
// public class FileParserController {
// @Value("${xml-parser.file.upload-dir:./upload}")
// private String uploadDir; private final FileRecordService fileRecordService;
//
// @Value("${xml-parser.file.temp-dir:./temp}") @Value("${xml-parser.file.upload-dir:./upload}")
// private String tempDir; private String uploadDir;
//
// /** @Value("${xml-parser.file.temp-dir:./temp}")
// * 上传XML文件 private String tempDir;
// *
// * @param file 上传的XML文件 /**
// * @return 操作结果包装对象 * 上传XML文件
// */ *
// @PostMapping("/upload") * @param file 上传的XML文件
// @Operation(summary = "上传XML文件", description = "上传XML文件并进行解析准备") * @return 操作结果包装对象
// public Wrapper<FileRecordVO> uploadFile( */
// @Parameter(description = "XML文件", required = true) @PostMapping("/upload")
// @RequestParam("file") MultipartFile file) { @Operation(summary = "上传XML文件", description = "上传XML文件并进行解析准备")
// try { public Wrapper<FileRecordVO> uploadFile(
// // 验证文件类型 @Parameter(description = "XML文件", required = true)
// if (!isValidXmlFile(file)) { @RequestParam("file") MultipartFile file) {
// return WrapMapper.fail("请上传有效的XML文件"); try {
// } // 验证文件类型
// if (!isValidXmlFile(file)) {
// // 创建上传目录 return WrapMapper.fail("请上传有效的XML文件");
// FileUtil.createDirectory(uploadDir); }
//
// // 生成唯一文件名 // 创建上传目录
// String originalFilename = file.getOriginalFilename(); FileUtil.createDirectory(uploadDir);
// String uniqueFilename = FileUtil.generateUniqueFileName(originalFilename);
// String filePath = Paths.get(uploadDir, uniqueFilename).toString(); // 生成唯一文件名
// String originalFilename = file.getOriginalFilename();
// // 保存文件 String uniqueFilename = FileUtil.generateUniqueFileName(originalFilename);
// file.transferTo(new File(filePath)); String filePath = Paths.get(uploadDir, uniqueFilename).toString();
//
// // 创建文件记录 // 保存文件
// FileRecordDTO record = new FileRecordDTO(); file.transferTo(new File(filePath));
// record.setFileName(originalFilename);
// record.setFilePath(filePath); // 创建文件记录
// record.setFileSize(file.getSize()); FileRecordDTO record = new FileRecordDTO();
// record.setStatus("UPLOADED"); record.setFileName(originalFilename);
// record.setProcessLog("文件上传成功"); record.setFilePath(filePath);
// record.setStatus("UPLOADED");
// String recordId = fileRecordService.create(record);
// FileRecordVO result = fileRecordService.getById(recordId); FileRecordVO result = fileRecordService.create(record);
//
// return WrapMapper.ok(result, "文件上传成功"); return WrapMapper.ok(result, "文件上传成功");
// } catch (BusinessException e) { } catch (BusinessException e) {
// log.error("文件上传失败: {}", e.getMessage(), e); log.error("文件上传失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail(e.getMessage());
// } catch (Exception e) { } catch (Exception e) {
// log.error("文件上传异常: {}", e.getMessage(), e); log.error("文件上传异常: {}", e.getMessage(), e);
// return WrapMapper.fail("文件上传失败"); return WrapMapper.fail("文件上传失败");
// } }
// } }
//
// /** /**
// * 解析XML文件 * 解析XML文件
// * *
// * @param recordId 文件记录ID * @param recordId 文件记录ID
// * @return 操作结果包装对象 * @return 操作结果包装对象
// */ */
// @PostMapping("/parse/{recordId}") @PostMapping("/parse/{recordId}")
// @Operation(summary = "解析XML文件", description = "解析已上传的XML文件") @Operation(summary = "解析XML文件", description = "解析已上传的XML文件")
// public Wrapper<FileRecordVO> parseFile( public Wrapper<FileRecordVO> parseFile(
// @Parameter(description = "文件记录ID", required = true) @Parameter(description = "文件记录ID", required = true)
// @PathVariable String recordId) { @PathVariable String recordId) {
// try { try {
// FileRecordVO record = fileRecordService.getById(recordId); FileRecordVO record = fileRecordService.detail(recordId);
// if (record == null) { if (record == null) {
// return WrapMapper.fail("文件记录不存在"); return WrapMapper.fail("文件记录不存在");
// } }
//
// // 更新状态为解析中 // 更新状态为解析中 - 使用builder模式构建实体后调用updateById
// fileRecordService.updateStatus(recordId, "PARSING", "开始解析XML文件"); FileRecordEntity parsingEntity = FileRecordEntity.builder()
// .id(recordId)
// // 解析XML文件 .status("PARSING")
// String xmlFilePath = record.getFilePath(); .processLog("开始解析XML文件")
// String txtFilePath = generateTxtFilePath(xmlFilePath); .processTime(new Date())
// .build();
// try { fileRecordService.updateById(parsingEntity);
// XmlParserUtil.parseXmlToTxt(xmlFilePath, txtFilePath);
// // 解析XML文件
// // 更新状态为解析成功 String xmlFilePath = record.getFilePath();
// fileRecordService.updateStatus(recordId, "PARSED", "XML文件解析成功"); String txtFilePath = generateTxtFilePath(xmlFilePath);
//
// FileRecordVO result = fileRecordService.getById(recordId); try {
// return WrapMapper.ok(result, "XML文件解析成功"); XmlParserUtil.parseXmlToTxt(xmlFilePath, txtFilePath);
//
// } catch (Exception e) { // 更新状态为解析成功 - 使用builder模式构建实体后调用updateById
// // 更新状态为解析失败 FileRecordEntity parsedEntity = FileRecordEntity.builder()
// fileRecordService.updateStatus(recordId, "PARSE_FAILED", "XML文件解析失败: " + e.getMessage()); .id(recordId)
// throw new BusinessException("XML文件解析失败: " + e.getMessage()); .status("PARSED")
// } .processLog("XML文件解析成功")
// .processTime(new Date())
// } catch (BusinessException e) { .build();
// log.error("文件解析失败: {}", e.getMessage(), e); fileRecordService.updateById(parsedEntity);
// return WrapMapper.fail(e.getMessage());
// } catch (Exception e) { FileRecordVO result = fileRecordService.detail(recordId);
// log.error("文件解析异常: {}", e.getMessage(), e); return WrapMapper.ok(result, "XML文件解析成功");
// return WrapMapper.fail("文件解析失败");
// } } catch (Exception e) {
// } // 更新状态为解析失败 - 使用builder模式构建实体后调用updateById
// FileRecordEntity failedEntity = FileRecordEntity.builder()
// /** .id(recordId)
// * 获取文件记录详情 .status("PARSE_FAILED")
// * .processLog("XML文件解析失败: " + e.getMessage())
// * @param recordId 文件记录ID .processTime(new Date())
// * @return 文件记录详情包装对象 .build();
// */ fileRecordService.updateById(failedEntity);
// @GetMapping("/{recordId}") throw new BusinessException("XML文件解析失败: " + e.getMessage());
// @Operation(summary = "获取文件记录详情", description = "根据ID获取文件记录的详细信息") }
// public Wrapper<FileRecordVO> getFileRecord(
// @Parameter(description = "文件记录ID", required = true) } catch (BusinessException e) {
// @PathVariable String recordId) { log.error("文件解析失败: {}", e.getMessage(), e);
// try { return WrapMapper.fail(e.getMessage());
// FileRecordVO result = fileRecordService.getById(recordId); } catch (Exception e) {
// return WrapMapper.ok(result, "获取文件记录详情成功"); log.error("文件解析异常: {}", e.getMessage(), e);
// } catch (BusinessException e) { return WrapMapper.fail("文件解析失败");
// log.error("获取文件记录详情失败: {}", e.getMessage(), e); }
// return WrapMapper.fail(e.getMessage()); }
// } catch (Exception e) {
// log.error("获取文件记录详情异常: {}", e.getMessage(), e); /**
// return WrapMapper.fail("获取文件记录详情失败"); * 获取文件记录详情
// } *
// } * @param recordId 文件记录ID
// * @return 文件记录详情包装对象
// /** */
// * 分页查询文件记录列表 @GetMapping("/{recordId}")
// * @Operation(summary = "获取文件记录详情", description = "根据ID获取文件记录的详细信息")
// * @param pageNumber 页码 public Wrapper<FileRecordVO> getFileRecord(
// * @param pageSize 每页大小 @Parameter(description = "文件记录ID", required = true)
// * @return 分页结果包装对象 @PathVariable String recordId) {
// */ try {
// @GetMapping("/page") FileRecordVO result = fileRecordService.detail(recordId);
// @Operation(summary = "分页查询文件记录", description = "分页查询文件记录列表") return WrapMapper.ok(result, "获取文件记录详情成功");
// public Wrapper<Page<FileRecordVO>> pageList( } catch (BusinessException e) {
// @Parameter(description = "页码", example = "1") log.error("获取文件记录详情失败: {}", e.getMessage(), e);
// @RequestParam(defaultValue = "1") Integer pageNumber, return WrapMapper.fail(e.getMessage());
// @Parameter(description = "每页大小", example = "10") } catch (Exception e) {
// @RequestParam(defaultValue = "10") Integer pageSize) { log.error("获取文件记录详情异常: {}", e.getMessage(), e);
// try { return WrapMapper.fail("获取文件记录详情失败");
// Page<FileRecordVO> result = fileRecordService.pageList(pageNumber, pageSize); }
// return WrapMapper.ok(result, "查询文件记录列表成功"); }
// } catch (Exception e) {
// log.error("查询文件记录列表异常: {}", e.getMessage(), e); /**
// return WrapMapper.fail("查询文件记录列表失败"); * 分页查询文件记录列表
// } *
// } * @param queryDTO 查询封装对象
// * @return 分页结果包装对象
// /** */
// * 获取所有文件记录列表 @GetMapping("/page")
// * @Operation(summary = "分页查询文件记录", description = "分页查询文件记录列表")
// * @return 文件记录列表包装对象 public Wrapper<SearchResult<FileRecordVO>> pageList(
// */ @Parameter(description = "文件记录QueryDTO数据", required = true)
// @GetMapping("/list") @RequestBody FileRecordQueryDTO queryDTO) {
// @Operation(summary = "获取所有文件记录", description = "获取所有文件记录的列表") try {
// public Wrapper<List<FileRecordVO>> listAll() { SearchResult<FileRecordVO> result = fileRecordService.pageList(queryDTO);
// try { return WrapMapper.ok(result);
// List<FileRecordVO> result = fileRecordService.listAll(); } catch (Exception e) {
// return WrapMapper.ok(result, "获取所有文件记录成功"); log.error("查询文件记录列表异常: {}", e.getMessage(), e);
// } catch (Exception e) { return WrapMapper.fail("查询文件记录列表失败");
// log.error("获取所有文件记录异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("获取所有文件记录失败"); }
// }
// } /**
// * 获取所有文件记录列表
// /** *
// * 验证是否为有效的XML文件 * @param queryDTO 查询封装对象
// * * @return 文件记录列表包装对象
// * @param file 上传的文件 */
// * @return 是否有效 @GetMapping("/options")
// */ @Operation(summary = "获取所有文件记录", description = "获取所有文件记录的列表")
// private boolean isValidXmlFile(MultipartFile file) { public Wrapper<List<FileRecordVO>> options(
// if (file == null || file.isEmpty()) { @Parameter(description = "文件记录QueryDTO数据", required = true)
// return false; @RequestBody FileRecordQueryDTO queryDTO) {
// } try {
// List<FileRecordVO> result = fileRecordService.option(queryDTO);
// String originalFilename = file.getOriginalFilename(); return WrapMapper.ok(result, "获取所有文件记录成功");
// if (originalFilename == null) { } catch (Exception e) {
// return false; log.error("获取所有文件记录异常: {}", e.getMessage(), e);
// } return WrapMapper.fail("获取所有文件记录失败");
// }
// // 检查文件扩展名 }
// String extension = FileUtil.getFileExtension(originalFilename);
// return "xml".equalsIgnoreCase(extension); /**
// } * 验证是否为有效的XML文件
// *
// /** * @param file 上传的文件
// * 生成TXT文件路径 * @return 是否有效
// * */
// * @param xmlFilePath XML文件路径 private boolean isValidXmlFile(MultipartFile file) {
// * @return TXT文件路径 if (file == null || file.isEmpty()) {
// */ return false;
// private String generateTxtFilePath(String xmlFilePath) { }
// Path xmlPath = Paths.get(xmlFilePath);
// String xmlFileName = xmlPath.getFileName().toString(); String originalFilename = file.getOriginalFilename();
// String txtFileName = xmlFileName.replace(".xml", ".txt"); if (originalFilename == null) {
// return xmlPath.getParent().resolve(txtFileName).toString(); return false;
// } }
//}
// 检查文件扩展名
String extension = FileUtil.getFileExtension(originalFilename);
return "xml".equalsIgnoreCase(extension);
}
/**
* 生成TXT文件路径
*
* @param xmlFilePath XML文件路径
* @return TXT文件路径
*/
private String generateTxtFilePath(String xmlFilePath) {
Path xmlPath = Paths.get(xmlFilePath);
String xmlFileName = xmlPath.getFileName().toString();
String txtFileName = xmlFileName.replace(".xml", ".txt");
return xmlPath.getParent().resolve(txtFileName).toString();
}
}

View File

@ -1,219 +1,168 @@
//package com.example.demo.parser.controller; package com.example.demo.parser.controller;
//
//import com.example.demo.common.wrapper.WrapMapper; import cn.zhxu.bs.SearchResult;
//import com.example.demo.common.wrapper.Wrapper; import com.example.demo.common.wrapper.WrapMapper;
//import com.example.demo.common.exception.BusinessException; import com.example.demo.common.wrapper.Wrapper;
//import com.example.demo.parser.model.dto.MapperRuleDTO; import com.example.demo.common.exception.BusinessException;
//import com.example.demo.parser.model.vo.MapperRuleVO; import com.example.demo.parser.model.dto.MapperRuleDTO;
//import com.example.demo.parser.service.MapperRuleService; import com.example.demo.parser.model.dto.MapperRuleQueryDTO;
//import com.mybatisflex.core.paginate.Page; import com.example.demo.parser.model.vo.MapperRuleVO;
//import io.swagger.v3.oas.annotations.Operation; import com.example.demo.parser.service.MapperRuleService;
//import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter;
//import lombok.RequiredArgsConstructor; import io.swagger.v3.oas.annotations.tags.Tag;
//import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor;
//import org.springframework.web.bind.annotation.*; import lombok.extern.slf4j.Slf4j;
// import org.springframework.web.bind.annotation.*;
//import java.util.List;
// import java.util.List;
///**
// * 映射规则控制器 /**
// * 提供XML映射规则管理的RESTful API接口 * 映射规则控制器
// * * 提供XML映射规则管理的RESTful API接口
// * @author 岳佳君 (2025年09月25日 16:30:00) *
// * @version 1.0.0 * @author 岳佳君 (2025年09月25日 16:30:00)
// */ * @version 1.0.0
//@Slf4j */
//@RestController @Slf4j
//@RequestMapping("/parser/mapper-rules") @RestController
//@RequiredArgsConstructor @RequestMapping("/parser/mapper-rules")
//@Tag(name = "映射规则管理", description = "提供XML映射规则管理的接口") @RequiredArgsConstructor
//public class MapperRuleController { @Tag(name = "映射规则管理", description = "提供XML映射规则管理的接口")
// public class MapperRuleController {
// private final MapperRuleService mapperRuleService;
// private final MapperRuleService mapperRuleService;
// /**
// * 创建映射规则 /**
// * * 创建映射规则
// * @param rule 映射规则数据 *
// * @return 操作结果包装对象 * @param rule 映射规则数据
// */ * @return 操作结果包装对象
// @PostMapping */
// @Operation(summary = "创建映射规则", description = "创建新的映射规则") @PostMapping
// public Wrapper<MapperRuleVO> createRule( @Operation(summary = "创建映射规则", description = "创建新的映射规则")
// @Parameter(description = "映射规则数据", required = true) public Wrapper<MapperRuleVO> createRule(
// @RequestBody MapperRuleDTO rule) { @Parameter(description = "映射规则数据", required = true)
// try { @RequestBody MapperRuleDTO rule) {
// String ruleId = mapperRuleService.create(rule); try {
// MapperRuleVO result = mapperRuleService.getById(ruleId); MapperRuleVO result = mapperRuleService.create(rule);
// return WrapMapper.ok(result, "映射规则创建成功"); return WrapMapper.ok(result, "映射规则创建成功");
// } catch (BusinessException e) { } catch (BusinessException e) {
// log.error("映射规则创建失败: {}", e.getMessage(), e); log.error("映射规则创建失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail(e.getMessage());
// } catch (Exception e) { } catch (Exception e) {
// log.error("映射规则创建异常: {}", e.getMessage(), e); log.error("映射规则创建异常: {}", e.getMessage(), e);
// return WrapMapper.fail("映射规则创建失败"); return WrapMapper.fail("映射规则创建失败");
// } }
// } }
//
// /** /**
// * 更新映射规则 * 更新映射规则
// * *
// * @param ruleId 规则ID * @param rule 映射规则数据
// * @param rule 映射规则数据 * @return 操作结果包装对象
// * @return 操作结果包装对象 */
// */ @PutMapping("/{ruleId}")
// @PutMapping("/{ruleId}") @Operation(summary = "更新映射规则", description = "更新指定的映射规则")
// @Operation(summary = "更新映射规则", description = "更新指定的映射规则") public Wrapper<MapperRuleVO> updateRule(
// public Wrapper<MapperRuleVO> updateRule( @Parameter(description = "映射规则数据", required = true)
// @Parameter(description = "规则ID", required = true) @RequestBody MapperRuleDTO rule) {
// @PathVariable String ruleId, try {
// @Parameter(description = "映射规则数据", required = true) mapperRuleService.update(rule);
// @RequestBody MapperRuleDTO rule) { MapperRuleVO result = mapperRuleService.detail(rule.getId());
// try { return WrapMapper.ok(result, "映射规则更新成功");
// mapperRuleService.update(ruleId, rule); } catch (BusinessException e) {
// MapperRuleVO result = mapperRuleService.getById(ruleId); log.error("映射规则更新失败: {}", e.getMessage(), e);
// return WrapMapper.ok(result, "映射规则更新成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("映射规则更新失败: {}", e.getMessage(), e); log.error("映射规则更新异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("映射规则更新失败");
// } catch (Exception e) { }
// log.error("映射规则更新异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("映射规则更新失败");
// } /**
// } * 删除映射规则
// *
// /** * @param ruleId 规则ID
// * 删除映射规则 * @return 操作结果包装对象
// * */
// * @param ruleId 规则ID @DeleteMapping("/{ruleId}")
// * @return 操作结果包装对象 @Operation(summary = "删除映射规则", description = "删除指定的映射规则")
// */ public Wrapper<Void> deleteRule(
// @DeleteMapping("/{ruleId}") @Parameter(description = "规则ID", required = true)
// @Operation(summary = "删除映射规则", description = "删除指定的映射规则") @PathVariable String ruleId) {
// public Wrapper<Void> deleteRule( try {
// @Parameter(description = "规则ID", required = true) mapperRuleService.delete(ruleId);
// @PathVariable String ruleId) { return WrapMapper.ok(null, "映射规则删除成功");
// try { } catch (BusinessException e) {
// mapperRuleService.delete(ruleId); log.error("映射规则删除失败: {}", e.getMessage(), e);
// return WrapMapper.ok(null, "映射规则删除成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("映射规则删除失败: {}", e.getMessage(), e); log.error("映射规则删除异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("映射规则删除失败");
// } catch (Exception e) { }
// log.error("映射规则删除异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("映射规则删除失败");
// } /**
// } * 获取映射规则详情
// *
// /** * @param ruleId 规则ID
// * 获取映射规则详情 * @return 映射规则详情包装对象
// * */
// * @param ruleId 规则ID @GetMapping("/{ruleId}")
// * @return 映射规则详情包装对象 @Operation(summary = "获取映射规则详情", description = "根据ID获取映射规则的详细信息")
// */ public Wrapper<MapperRuleVO> getRule(
// @GetMapping("/{ruleId}") @Parameter(description = "规则ID", required = true)
// @Operation(summary = "获取映射规则详情", description = "根据ID获取映射规则的详细信息") @PathVariable String ruleId) {
// public Wrapper<MapperRuleVO> getRule( try {
// @Parameter(description = "规则ID", required = true) MapperRuleVO result = mapperRuleService.detail(ruleId);
// @PathVariable String ruleId) { return WrapMapper.ok(result, "获取映射规则详情成功");
// try { } catch (BusinessException e) {
// MapperRuleVO result = mapperRuleService.getById(ruleId); log.error("获取映射规则详情失败: {}", e.getMessage(), e);
// return WrapMapper.ok(result, "获取映射规则详情成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("获取映射规则详情失败: {}", e.getMessage(), e); log.error("获取映射规则详情异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("获取映射规则详情失败");
// } catch (Exception e) { }
// log.error("获取映射规则详情异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("获取映射规则详情失败");
// } /**
// } * 分页查询映射规则列表
// *
// /** * @param queryDTO 查询封装对象
// * 分页查询映射规则列表 * @return 分页结果包装对象
// * */
// * @param pageNumber 页码 @GetMapping("/page")
// * @param pageSize 每页大小 @Operation(summary = "分页查询映射规则", description = "分页查询映射规则列表")
// * @return 分页结果包装对象 public Wrapper<SearchResult<MapperRuleVO>> pageList(
// */ @Parameter(description = "映射规则QueryDTO数据", required = true)
// @GetMapping("/page") @RequestBody MapperRuleQueryDTO queryDTO) {
// @Operation(summary = "分页查询映射规则", description = "分页查询映射规则列表") try {
// public Wrapper<Page<MapperRuleVO>> pageList( SearchResult<MapperRuleVO> result = mapperRuleService.pageList(queryDTO);
// @Parameter(description = "页码", example = "1") return WrapMapper.ok(result);
// @RequestParam(defaultValue = "1") Integer pageNumber, } catch (Exception e) {
// @Parameter(description = "每页大小", example = "10") log.error("查询映射规则列表异常: {}", e.getMessage(), e);
// @RequestParam(defaultValue = "10") Integer pageSize) { return WrapMapper.fail("查询映射规则列表失败");
// try { }
// Page<MapperRuleVO> result = mapperRuleService.pageList(pageNumber, pageSize); }
// return WrapMapper.ok(result, "查询映射规则列表成功");
// } catch (Exception e) { /**
// log.error("查询映射规则列表异常: {}", e.getMessage(), e); * 获取所有映射规则列表
// return WrapMapper.fail("查询映射规则列表失败"); *
// } * @return 映射规则列表包装对象
// } */
// @GetMapping("/options")
// /** @Operation(summary = "获取所有映射规则", description = "获取所有映射规则的列表")
// * 获取所有映射规则列表 public Wrapper<List<MapperRuleVO>> options(
// * @Parameter(description = "映射规则QueryDTO数据", required = true)
// * @return 映射规则列表包装对象 @RequestBody MapperRuleQueryDTO queryDTO) {
// */ try {
// @GetMapping("/list") List<MapperRuleVO> result = mapperRuleService.option(queryDTO);
// @Operation(summary = "获取所有映射规则", description = "获取所有映射规则的列表") return WrapMapper.ok(result, "获取所有映射规则成功");
// public Wrapper<List<MapperRuleVO>> listAll() { } catch (Exception e) {
// try { log.error("获取所有映射规则异常: {}", e.getMessage(), e);
// List<MapperRuleVO> result = mapperRuleService.listAll(); return WrapMapper.fail("获取所有映射规则失败");
// return WrapMapper.ok(result, "获取所有映射规则成功"); }
// } catch (Exception e) { }
// log.error("获取所有映射规则异常: {}", e.getMessage(), e);
// return WrapMapper.fail("获取所有映射规则失败"); }
// }
// }
//
// /**
// * 启用映射规则
// *
// * @param ruleId 规则ID
// * @return 操作结果包装对象
// */
// @PostMapping("/{ruleId}/enable")
// @Operation(summary = "启用映射规则", description = "启用指定的映射规则")
// public Wrapper<MapperRuleVO> enableRule(
// @Parameter(description = "规则ID", required = true)
// @PathVariable String ruleId) {
// try {
// mapperRuleService.enable(ruleId);
// MapperRuleVO result = mapperRuleService.getById(ruleId);
// return WrapMapper.ok(result, "映射规则启用成功");
// } catch (BusinessException e) {
// log.error("映射规则启用失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage());
// } catch (Exception e) {
// log.error("映射规则启用异常: {}", e.getMessage(), e);
// return WrapMapper.fail("映射规则启用失败");
// }
// }
//
// /**
// * 禁用映射规则
// *
// * @param ruleId 规则ID
// * @return 操作结果包装对象
// */
// @PostMapping("/{ruleId}/disable")
// @Operation(summary = "禁用映射规则", description = "禁用指定的映射规则")
// public Wrapper<MapperRuleVO> disableRule(
// @Parameter(description = "规则ID", required = true)
// @PathVariable String ruleId) {
// try {
// mapperRuleService.disable(ruleId);
// MapperRuleVO result = mapperRuleService.getById(ruleId);
// return WrapMapper.ok(result, "映射规则禁用成功");
// } catch (BusinessException e) {
// log.error("映射规则禁用失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage());
// } catch (Exception e) {
// log.error("映射规则禁用异常: {}", e.getMessage(), e);
// return WrapMapper.fail("映射规则禁用失败");
// }
// }
//}

View File

@ -1,219 +1,170 @@
//package com.example.demo.parser.controller; package com.example.demo.parser.controller;
//
//import com.example.demo.common.wrapper.WrapMapper; import cn.zhxu.bs.SearchResult;
//import com.example.demo.common.wrapper.Wrapper; import com.example.demo.common.wrapper.WrapMapper;
//import com.example.demo.common.exception.BusinessException; import com.example.demo.common.wrapper.Wrapper;
//import com.example.demo.parser.model.dto.ParseRuleDTO; import com.example.demo.common.exception.BusinessException;
//import com.example.demo.parser.model.vo.ParseRuleVO; import com.example.demo.parser.model.dto.ParseRuleDTO;
//import com.example.demo.parser.service.ParseRuleService; import com.example.demo.parser.model.dto.ParseRuleQueryDTO;
//import com.mybatisflex.core.paginate.Page; import com.example.demo.parser.model.vo.ParseRuleVO;
//import io.swagger.v3.oas.annotations.Operation; import com.example.demo.parser.service.ParseRuleService;
//import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter;
//import lombok.RequiredArgsConstructor; import io.swagger.v3.oas.annotations.tags.Tag;
//import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor;
//import org.springframework.web.bind.annotation.*; import lombok.extern.slf4j.Slf4j;
// import org.springframework.web.bind.annotation.*;
//import java.util.List;
// import java.util.List;
///**
// * 解析规则控制器 /**
// * 提供XML解析规则管理的RESTful API接口 * 解析规则控制器
// * * 提供XML解析规则管理的RESTful API接口
// * @author 岳佳君 (2025年09月25日 16:30:00) *
// * @version 1.0.0 * @author 岳佳君 (2025年09月25日 16:30:00)
// */ * @version 1.0.0
//@Slf4j */
//@RestController @Slf4j
//@RequestMapping("/parser/rules") @RestController
//@RequiredArgsConstructor @RequestMapping("/parser/rules")
//@Tag(name = "解析规则管理", description = "提供XML解析规则管理的接口") @RequiredArgsConstructor
//public class ParseRuleController { @Tag(name = "解析规则管理", description = "提供XML解析规则管理的接口")
// public class ParseRuleController {
// private final ParseRuleService parseRuleService;
// private final ParseRuleService parseRuleService;
// /**
// * 创建解析规则 /**
// * * 创建解析规则
// * @param rule 解析规则数据 *
// * @return 操作结果包装对象 * @param rule 解析规则数据
// */ * @return 操作结果包装对象
// @PostMapping */
// @Operation(summary = "创建解析规则", description = "创建新的解析规则") @PostMapping
// public Wrapper<ParseRuleVO> createRule( @Operation(summary = "创建解析规则", description = "创建新的解析规则")
// @Parameter(description = "解析规则数据", required = true) public Wrapper<ParseRuleVO> createRule(
// @RequestBody ParseRuleDTO rule) { @Parameter(description = "解析规则数据", required = true)
// try { @RequestBody ParseRuleDTO rule) {
// String ruleId = parseRuleService.create(rule); try {
// ParseRuleVO result = parseRuleService.getById(ruleId); ParseRuleVO result = parseRuleService.create(rule);
// return WrapMapper.ok(result, "解析规则创建成功"); return WrapMapper.ok(result, "解析规则创建成功");
// } catch (BusinessException e) { } catch (BusinessException e) {
// log.error("解析规则创建失败: {}", e.getMessage(), e); log.error("解析规则创建失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail(e.getMessage());
// } catch (Exception e) { } catch (Exception e) {
// log.error("解析规则创建异常: {}", e.getMessage(), e); log.error("解析规则创建异常: {}", e.getMessage(), e);
// return WrapMapper.fail("解析规则创建失败"); return WrapMapper.fail("解析规则创建失败");
// } }
// } }
//
// /** /**
// * 更新解析规则 * 更新解析规则
// * *
// * @param ruleId 规则ID * @param rule 解析规则数据
// * @param rule 解析规则数据 * @return 操作结果包装对象
// * @return 操作结果包装对象 */
// */ @PutMapping("/{ruleId}")
// @PutMapping("/{ruleId}") @Operation(summary = "更新解析规则", description = "更新指定的解析规则")
// @Operation(summary = "更新解析规则", description = "更新指定的解析规则") public Wrapper<ParseRuleVO> updateRule(
// public Wrapper<ParseRuleVO> updateRule( @Parameter(description = "解析规则数据", required = true)
// @Parameter(description = "规则ID", required = true) @RequestBody ParseRuleDTO rule) {
// @PathVariable String ruleId, try {
// @Parameter(description = "解析规则数据", required = true) parseRuleService.update(rule);
// @RequestBody ParseRuleDTO rule) { ParseRuleVO result = parseRuleService.detail(rule.getId());
// try { return WrapMapper.ok(result, "解析规则更新成功");
// parseRuleService.update(ruleId, rule); } catch (BusinessException e) {
// ParseRuleVO result = parseRuleService.getById(ruleId); log.error("解析规则更新失败: {}", e.getMessage(), e);
// return WrapMapper.ok(result, "解析规则更新成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("解析规则更新失败: {}", e.getMessage(), e); log.error("解析规则更新异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("解析规则更新失败");
// } catch (Exception e) { }
// log.error("解析规则更新异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("解析规则更新失败");
// } /**
// } * 删除解析规则
// *
// /** * @param ruleId 规则ID
// * 删除解析规则 * @return 操作结果包装对象
// * */
// * @param ruleId 规则ID @DeleteMapping("/{ruleId}")
// * @return 操作结果包装对象 @Operation(summary = "删除解析规则", description = "删除指定的解析规则")
// */ public Wrapper<Void> deleteRule(
// @DeleteMapping("/{ruleId}") @Parameter(description = "规则ID", required = true)
// @Operation(summary = "删除解析规则", description = "删除指定的解析规则") @PathVariable String ruleId) {
// public Wrapper<Void> deleteRule( try {
// @Parameter(description = "规则ID", required = true) parseRuleService.delete(ruleId);
// @PathVariable String ruleId) { return WrapMapper.ok(null, "解析规则删除成功");
// try { } catch (BusinessException e) {
// parseRuleService.delete(ruleId); log.error("解析规则删除失败: {}", e.getMessage(), e);
// return WrapMapper.ok(null, "解析规则删除成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("解析规则删除失败: {}", e.getMessage(), e); log.error("解析规则删除异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("解析规则删除失败");
// } catch (Exception e) { }
// log.error("解析规则删除异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("解析规则删除失败");
// } /**
// } * 获取解析规则详情
// *
// /** * @param ruleId 规则ID
// * 获取解析规则详情 * @return 解析规则详情包装对象
// * */
// * @param ruleId 规则ID @GetMapping("/{ruleId}")
// * @return 解析规则详情包装对象 @Operation(summary = "获取解析规则详情", description = "根据ID获取解析规则的详细信息")
// */ public Wrapper<ParseRuleVO> getRule(
// @GetMapping("/{ruleId}") @Parameter(description = "规则ID", required = true)
// @Operation(summary = "获取解析规则详情", description = "根据ID获取解析规则的详细信息") @PathVariable String ruleId) {
// public Wrapper<ParseRuleVO> getRule( try {
// @Parameter(description = "规则ID", required = true) ParseRuleVO result = parseRuleService.detail(ruleId);
// @PathVariable String ruleId) { return WrapMapper.ok(result, "获取解析规则详情成功");
// try { } catch (BusinessException e) {
// ParseRuleVO result = parseRuleService.getById(ruleId); log.error("获取解析规则详情失败: {}", e.getMessage(), e);
// return WrapMapper.ok(result, "获取解析规则详情成功"); return WrapMapper.fail(e.getMessage());
// } catch (BusinessException e) { } catch (Exception e) {
// log.error("获取解析规则详情失败: {}", e.getMessage(), e); log.error("获取解析规则详情异常: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage()); return WrapMapper.fail("获取解析规则详情失败");
// } catch (Exception e) { }
// log.error("获取解析规则详情异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("获取解析规则详情失败");
// } /**
// } * 分页查询解析规则列表
// *
// /** * @param queryDTO 查询封装对象
// * 分页查询解析规则列表 * @return 分页结果包装对象
// * */
// * @param pageNumber 页码 @GetMapping("/page")
// * @param pageSize 每页大小 @Operation(summary = "分页查询解析规则", description = "分页查询解析规则列表")
// * @return 分页结果包装对象 public Wrapper<SearchResult<ParseRuleVO>> pageList(
// */ @Parameter(description = "解析规则QueryDTO数据", required = true)
// @GetMapping("/page") @RequestBody ParseRuleQueryDTO queryDTO) {
// @Operation(summary = "分页查询解析规则", description = "分页查询解析规则列表") try {
// public Wrapper<Page<ParseRuleVO>> pageList( SearchResult<ParseRuleVO> result = parseRuleService.pageList(queryDTO);
// @Parameter(description = "页码", example = "1") return WrapMapper.ok(result);
// @RequestParam(defaultValue = "1") Integer pageNumber, } catch (Exception e) {
// @Parameter(description = "每页大小", example = "10") log.error("查询解析规则列表异常: {}", e.getMessage(), e);
// @RequestParam(defaultValue = "10") Integer pageSize) { return WrapMapper.fail("查询解析规则列表失败");
// try { }
// Page<ParseRuleVO> result = parseRuleService.pageList(pageNumber, pageSize); }
// return WrapMapper.ok(result, "查询解析规则列表成功");
// } catch (Exception e) { /**
// log.error("查询解析规则列表异常: {}", e.getMessage(), e); * 获取所有解析规则列表
// return WrapMapper.fail("查询解析规则列表失败"); *
// } * @param queryDTO 查询封装对象
// } * @return 解析规则列表包装对象
// */
// /** @GetMapping("/options")
// * 获取所有解析规则列表 @Operation(summary = "获取所有解析规则", description = "获取所有解析规则的列表")
// * public Wrapper<List<ParseRuleVO>> options(
// * @return 解析规则列表包装对象 @Parameter(description = "解析规则QueryDTO数据", required = true)
// */ @RequestBody ParseRuleQueryDTO queryDTO) {
// @GetMapping("/list") try {
// @Operation(summary = "获取所有解析规则", description = "获取所有解析规则的列表") List<ParseRuleVO> result = parseRuleService.option(queryDTO);
// public Wrapper<List<ParseRuleVO>> listAll() { return WrapMapper.ok(result, "获取所有解析规则成功");
// try { } catch (Exception e) {
// List<ParseRuleVO> result = parseRuleService.listAll(); log.error("获取所有解析规则异常: {}", e.getMessage(), e);
// return WrapMapper.ok(result, "获取所有解析规则成功"); return WrapMapper.fail("获取所有解析规则失败");
// } catch (Exception e) { }
// log.error("获取所有解析规则异常: {}", e.getMessage(), e); }
// return WrapMapper.fail("获取所有解析规则失败");
// }
// } }
//
// /**
// * 启用解析规则
// *
// * @param ruleId 规则ID
// * @return 操作结果包装对象
// */
// @PostMapping("/{ruleId}/enable")
// @Operation(summary = "启用解析规则", description = "启用指定的解析规则")
// public Wrapper<ParseRuleVO> enableRule(
// @Parameter(description = "规则ID", required = true)
// @PathVariable String ruleId) {
// try {
// parseRuleService.enable(ruleId);
// ParseRuleVO result = parseRuleService.getById(ruleId);
// return WrapMapper.ok(result, "解析规则启用成功");
// } catch (BusinessException e) {
// log.error("解析规则启用失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage());
// } catch (Exception e) {
// log.error("解析规则启用异常: {}", e.getMessage(), e);
// return WrapMapper.fail("解析规则启用失败");
// }
// }
//
// /**
// * 禁用解析规则
// *
// * @param ruleId 规则ID
// * @return 操作结果包装对象
// */
// @PostMapping("/{ruleId}/disable")
// @Operation(summary = "禁用解析规则", description = "禁用指定的解析规则")
// public Wrapper<ParseRuleVO> disableRule(
// @Parameter(description = "规则ID", required = true)
// @PathVariable String ruleId) {
// try {
// parseRuleService.disable(ruleId);
// ParseRuleVO result = parseRuleService.getById(ruleId);
// return WrapMapper.ok(result, "解析规则禁用成功");
// } catch (BusinessException e) {
// log.error("解析规则禁用失败: {}", e.getMessage(), e);
// return WrapMapper.fail(e.getMessage());
// } catch (Exception e) {
// log.error("解析规则禁用异常: {}", e.getMessage(), e);
// return WrapMapper.fail("解析规则禁用失败");
// }
// }
//}

View File

@ -71,7 +71,7 @@ public class FileRecordDTO extends BaseDTO implements Serializable {
*/ */
@Schema(description = "文件状态") @Schema(description = "文件状态")
@DbField("status") @DbField("status")
private Integer status; private String status;
/** /**
* 上传时间开始 * 上传时间开始