Browse Source

添加数据字典编辑工具模块

fengyanjie@sagacloud.cn 4 years ago
parent
commit
11dc9e0874

+ 1 - 1
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/ChangeRecordController.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.List;
 
 @RestController
-@RequestMapping("/rwdedit")
+@RequestMapping("/rwdedit/rwdChangeRecord")
 public class ChangeRecordController {
 
     @Autowired

+ 76 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/DmpGatewayController.java

@@ -0,0 +1,76 @@
+package com.persagy.dmp.rwd.edit.controller;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.persagy.common.web.ServletUtils;
+import com.persagy.dmp.common.http.HttpUtils;
+import com.persagy.dmp.rwd.edit.config.web.UserUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author: yaoll
+ * @date: 2020-12-29
+ * @verison: 1.0
+ */
+@RestController
+@RequestMapping("/rwdedit/dmp")
+public class DmpGatewayController {
+
+    @Autowired
+    private HttpUtils httpUtils;
+
+    @Value("${persagy.dmp.server}")
+    private String dmpServer;
+
+    @PostMapping("/report/**")
+    public void report(HttpServletRequest request, HttpServletResponse response, @RequestBody JsonNode param) {
+        dispatch(request, response, param);
+    }
+
+    @PostMapping("/dic/**")
+    public void dic(HttpServletRequest request, HttpServletResponse response, @RequestBody JsonNode param) {
+        dispatch(request, response, param);
+    }
+
+    @PostMapping("/org/**")
+    public void org(HttpServletRequest request, HttpServletResponse response, @RequestBody JsonNode param) {
+        dispatch(request, response, param);
+    }
+
+    @PostMapping("/rwd/**")
+    public void rwd(HttpServletRequest request, HttpServletResponse response, @RequestBody JsonNode param) {
+        dispatch(request, response, param);
+    }
+
+    private void dispatch(HttpServletRequest request, HttpServletResponse response, @RequestBody JsonNode param) {
+        StringBuilder url = new StringBuilder(dmpServer);
+        String uri = request.getRequestURI().replace("/admin/dmp", "");
+        url.append(uri);
+        String queryString = request.getQueryString();
+        if (!"/rwd/def/class".equalsIgnoreCase(uri) && !"/rwd/def/funcid".equalsIgnoreCase(uri)) {
+            queryString = appendParamIfNotExists(queryString, "appId", "datautils");
+            queryString = appendParamIfNotExists(queryString, "userId", "admin" + UserUtils.currentUserId());
+        }
+        url.append("?").append(queryString);
+
+        HttpUtils.HttpResult post = httpUtils.post(url.toString(), param.toString(), 30000);
+        String content = post.getContent();
+        ServletUtils.writeJson(response, content);
+    }
+
+    private String appendParamIfNotExists(String queryString, String key, String value) {
+        if (queryString == null) {
+            return key + "=" + value;
+        } else {
+            return queryString + "&" + key + "=" + value;
+        }
+    }
+
+}