From d0451fdd55195901e65e5c4b3b64028a86f9e669 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期日, 22 三月 2020 22:10:54 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/controller/FileController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 113 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/FileController.java b/src/main/java/com/highdatas/mdm/controller/FileController.java index ce4ccc2..f250ac9 100644 --- a/src/main/java/com/highdatas/mdm/controller/FileController.java +++ b/src/main/java/com/highdatas/mdm/controller/FileController.java @@ -1,7 +1,26 @@ package com.highdatas.mdm.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.alibaba.fastjson.JSONObject; +import com.highdatas.mdm.entity.SysAssemble; +import com.highdatas.mdm.entity.SysAssembleParams; +import com.highdatas.mdm.pojo.CodeMsg; +import com.highdatas.mdm.pojo.Result; +import com.highdatas.mdm.service.ISysAssembleDbService; +import com.highdatas.mdm.service.ISysAssembleParamsService; +import com.highdatas.mdm.service.ISysAssembleService; +import com.highdatas.mdm.util.Constant; +import com.highdatas.mdm.util.DbUtils; +import com.highdatas.mdm.util.RedisClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Date; +import java.util.List; /** * @author kimi @@ -12,4 +31,96 @@ @RestController @RequestMapping("/file") public class FileController { + @Autowired + ISysAssembleDbService dbService; + @Autowired + ISysAssembleService assembleService; + @Autowired + ISysAssembleParamsService paramsService; + @Autowired + RedisClient redisClient; + + @RequestMapping(value = "/loadSqlTable", method = RequestMethod.POST) + @ResponseBody + public Result loadSqlTable(@RequestParam("file")MultipartFile file,@RequestParam String dbId, HttpServletRequest request) { + try { + byte[] bytes = file.getBytes(); + + String sql = new String (bytes); + sql = DbUtils.replaceEscape(sql); + String[] split = sql.split(Constant.SEMICOLON); + if (split.length > 1) { + return Result.error(new CodeMsg(6001 , "sql鑴氭湰涓婁紶閿欒,浠呰兘鏀寔涓�鏉¤鍙�")); + } + String sqlId = DbUtils.getUUID(); + boolean b = redisClient.putRedisVal(sqlId, sql); + if (!b){ + return Result.error(new CodeMsg(6002, "sql淇濆瓨澶辫触")); + } + // 鏆備笉鏍¢獙鏄笉鏄痵elect璇彞浜� 鍚庣画闇�瑕佸啀鏍¢獙 + List<String> fieldsBySql = dbService.getFieldsBySql(dbId, sql); + JSONObject object = new JSONObject(); + object.fluentPut("fields", fieldsBySql); + object.fluentPut("sqlId",sqlId); + + return Result.success(object); + }catch (Exception e) { + e.printStackTrace(); + return Result.error(new CodeMsg(6002, e.getMessage())); + } + + } + + @RequestMapping(value = "/loadPurgeSql", method = RequestMethod.POST) + @ResponseBody + public Result loadPurgeSql(@RequestParam("file")MultipartFile file,@RequestParam String id, HttpServletRequest request) { + // 鏆備笉鏍¢獙鏄笉鏄痵elect璇彞浜� 鍚庣画闇�瑕佸啀鏍¢獙 + SysAssemble assemble = assembleService.selectById(id); + if (assemble == null){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + try { + byte[] bytes = file.getBytes(); + + String sql = new String (bytes); + sql = DbUtils.replaceEscape(sql); + //TODO 鏍¢獙sql 鏆備笉杩涜 + assemble.setPurgeSql(sql); + boolean update = assemble.updateById(); + if (update) { + return Result.success(assemble); + }else { + return Result.error(CodeMsg.UPDATE_ERROR); + } + + }catch (Exception e) { + e.printStackTrace(); + return Result.error(new CodeMsg(6002, e.getMessage())); + } + + } + + @RequestMapping(value = "/loadParamsUpdateSql", method = RequestMethod.POST) + @ResponseBody + public Result loadParamsUpdateSql(@RequestParam("file")MultipartFile file,@RequestParam String id, HttpServletRequest request) { + // 鏆備笉鏍¢獙鏄笉鏄痵elect璇彞浜� 鍚庣画闇�瑕佸啀鏍¢獙 + SysAssembleParams sysAssembleParams = paramsService.selectById(id); + if (sysAssembleParams == null){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + try { + byte[] bytes = file.getBytes(); + + String sql = new String (bytes); + sql = DbUtils.replaceEscape(sql); + //TODO 鏍¢獙sql 鏆備笉杩涜 + sysAssembleParams.setUpdateSql(sql).setUpdateTime(new Date()).updateById(); + + return Result.success(sysAssembleParams); + }catch (Exception e) { + e.printStackTrace(); + return Result.error(new CodeMsg(6002, e.getMessage())); + } + + } } -- Gitblit v1.8.0