From 2c43f24c1a778b48ac20b07e17f5da38136cafb4 Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期三, 11 三月 2020 13:28:10 +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