From f2e6e77dc5a984e2fec4416717baa7c47118fcb1 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期五, 14 四月 2023 17:26:58 +0800 Subject: [PATCH] 主题库相关的代码实现功能,包括excel导入导出,树形查看等功能 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java | 124 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 115 insertions(+), 9 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java index add68b8..8232b33 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java @@ -20,9 +20,15 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.mapper.CodeClassifyMapper; +import com.vci.ubcs.code.vo.CodeOsattributeVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject; +import com.vci.ubcs.com.vci.starter.util.LocalFileUtil; +import com.vci.ubcs.com.vci.starter.web.pagemodel.BaseQueryObject; +import com.vci.ubcs.com.vci.starter.web.pagemodel.DataGrid; import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree; +import com.vci.ubcs.com.vci.starter.web.util.ControllerUtil; +import com.vci.ubcs.com.vci.starter.web.util.LangBaseUtil; import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -39,13 +45,16 @@ import org.springblade.core.tool.api.IResultCode; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; import com.vci.ubcs.code.wrapper.CodeClassifyWrapper; import com.vci.ubcs.code.service.ICodeClassifyService; import org.springblade.core.boot.ctrl.BladeController; +import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Date; import java.util.List; @@ -78,6 +87,17 @@ CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassify)); return R.data(CodeClassifyWrapper.build().entityVO(detail)); } + + /** + * 涓婚搴撳垎绫绘爲 + * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 + * @return 涓婚搴撳垎绫绘樉绀烘爲 + */ + @GetMapping("/treeCodeClassify") + public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { + return codeClassifyService. treeCodeClassify(treeQueryObject); + } + /** * 涓婚搴撳畾涔夎〃 鍒嗛〉 */ @@ -217,14 +237,100 @@ @GetMapping("/exportClassify") public void exportClassify(String oid, HttpServletResponse response) throws IOException { String excelName = codeClassifyService.exportClassify(oid); -// try { -// ControllerUtil.writeFileToResponse(response,excelName); -// } catch (Throwable e) { -// //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext -// String msg = LangBaseUtil.getErrorMsg(e); -// String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; -// LocalFileUtil.writeContentToFile(msg,errorFile); -// ControllerUtil.writeFileToResponse(response,errorFile); -// } + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(msg,errorFile); + ControllerUtil.writeFileToResponse(response,errorFile); + } + } + + /** + * 涓嬭浇瀵煎叆鐨勬ā鏉� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadImportExcel") + public void downloadImportExcel(HttpServletResponse response) throws IOException{ + String excelName = codeClassifyService.createImportExcel(); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtil.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } + + /** + * 瀵煎叆鍒嗙被 + * @param file excel鐨勫唴瀹� + * @return 鎵ц缁撴灉锛宱bj鏈夊�艰〃绀烘湁閿欒淇℃伅锛岄渶瑕佽闂甦ownloadErrorFile鏉ヤ笅杞� + */ + @PostMapping("/importClassify") + public R importClassify(MultipartFile file) { + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + codeClassifyService.importClassify(file1); + return R.success("瀵煎叆鎴愬姛锛�"); + }catch (Throwable e) { + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.txt"; + LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); + //鏀惧埌map閲� +// R result = R.fail("瀵煎叆澶辫触"); +// result.(ControllerUtil.putErrorFile(errorFile)); + return R.data(400,errorFile,"瀵煎叆澶辫触"); + }finally { + file1.delete(); + } + } + + /** + * 涓嬭浇閿欒鐨勬枃浠朵俊鎭� + * @param uuid 鍞竴鏍囪瘑 + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadErrorFile") + public void downloadErrorFile(String uuid, HttpServletResponse response) throws IOException { + ControllerUtil.downloadErrorFile(response,uuid); + } + + /** + * 鑾峰彇鍒嗙被鍏宠仈鐨勫睘鎬� + * @param baseQueryObject 鏌ヨ瀵硅薄锛屽繀椤绘湁codeClassifyOid锛屾敮鎸乮d鍜宯ame涓ょ鏌ヨ鏉′欢(涓嶆敮鎸佸垎椤�) + * @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴�� + */ + @GetMapping("/listClassifyLinkAttr") + public DataGrid<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){ + return codeClassifyService.listClassifyLinkAttr(baseQueryObject); + } + + /** + * 浣跨敤缂栧彿鐨勮矾寰勮幏鍙栧璞� + * @param idPath 缂栧彿鐨勮矾寰勶紝涓�瀹氳浠庢渶椤跺眰鑺傜偣寮�濮嬶紝鏍煎紡涓簒xx/yyy/zz 杩欐牱 + * @return 鍒嗙被鐨勬樉绀哄璞� + */ + @GetMapping("/getObjectByIdPath") + public CodeClassifyVO getObjectByIdPath(String idPath){ + return codeClassifyService.getObjectByIdPath(idPath); + } + + /** + * 涓婚搴撶殑鏍� + * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 + * @return 涓婚搴撴樉绀烘爲 + */ + @GetMapping("/treeTopCodeClassify") + public List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject){ + return codeClassifyService.treeTopCodeClassify(treeQueryObject); } } -- Gitblit v1.9.3