lifuquan 1 年間 前
コミット
c79ec2f2fa
22 ファイル変更291 行追加4 行削除
  1. 49 0
      doc/开发部署文档/esb_socket放开的http接口.md
  2. 3 0
      doc/开发部署文档/run.sh
  3. 5 0
      doc/开发部署文档/stop.sh
  4. 0 0
      doc/开发部署文档/一些放弃的 代码/esb/EsbNioClient.java
  5. 0 0
      doc/开发部署文档/一些放弃的 代码/esb/EsbSocketClient.java
  6. 0 0
      doc/开发部署文档/一些放弃的 代码/esb/EsbVerifyRespone.java
  7. 0 0
      doc/开发部署文档/一些放弃的 代码/esb/MessageUtil.java
  8. 7 0
      doc/开发部署文档/部署情况.md
  9. 0 0
      doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/socket接口规范.doc
  10. 0 0
      doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/投诉分析平台与ESB接口信息.docx
  11. 0 0
      doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/投诉系统环境.md
  12. 0 0
      doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/河北联通网络运营数字化支撑系统与掌沃建设接口规范-v1.4.docx
  13. 0 0
      doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/移网投诉工单管控系统版本更新内容(投诉驱动建设)v1.3.docx
  14. 0 0
      log/error.log
  15. 11 0
      log/trace.2023-05-22_09.0.log
  16. 8 0
      log/trace.log
  17. 21 0
      pom.xml
  18. 88 0
      src/main/java/com/nokia/common/http/R.java
  19. 31 0
      src/main/java/com/nokia/controller/EsbSocketController.java
  20. 9 4
      src/main/java/com/nokia/service/EsbNettyService.java
  21. 9 0
      src/main/resources/application.yml
  22. 50 0
      src/main/resources/logback-spring.xml

+ 49 - 0
doc/开发部署文档/esb_socket放开的http接口.md

@@ -0,0 +1,49 @@
+# esb_socket放开的http接口
+
+## tousuSheet 投诉驱动建设向esb-kafka推送toususheet消息
+
+```http
+POST HTTP://192.168.70.125:12092/esb/socket/send/toususheet
+Content-Type: application/json
+
+{
+  "city": "111",
+  "kfsn": "kfsn202305221002",
+  "acceptNo": "1",
+  "custLevel": "2",
+  "pkgName": "3",
+  "acceptChannel": "4",
+  "cplLevel": "5",
+  "cplStype": "6",
+  "cplSname": "7",
+  "cplSno": "8",
+  "cplLon": "9",
+  "cplLat": "1",
+  "yhLon": "1",
+  "yhLat": "1",
+  "yhStype": "1",
+  "yhNtype": "1",
+  "dstaddress": "1",
+  "yhOpinion": "1"
+}
+```
+
+- 发送成功
+
+```json
+{
+  "success": true,
+  "message": "发送成功。",
+  "data": {}
+}
+```
+
+- 发送失败
+
+```json
+{
+  "success": false,
+  "message": "失败原因******",
+  "data": {}
+}
+```

+ 3 - 0
doc/开发部署文档/run.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+nohup java -jar /data1/esb_socket/esb-socket-exec.jar >/dev/null 2>&1 &

+ 5 - 0
doc/开发部署文档/stop.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for i in $(ps -ef | grep esb-socket-exec.jar | grep -v grep | awk '{print $2}'); do
+  kill -9 "$i"
+done

+ 0 - 0
doc/esb/EsbNioClient.java → doc/开发部署文档/一些放弃的 代码/esb/EsbNioClient.java


+ 0 - 0
doc/esb/EsbSocketClient.java → doc/开发部署文档/一些放弃的 代码/esb/EsbSocketClient.java


+ 0 - 0
doc/esb/EsbVerifyRespone.java → doc/开发部署文档/一些放弃的 代码/esb/EsbVerifyRespone.java


+ 0 - 0
doc/esb/MessageUtil.java → doc/开发部署文档/一些放弃的 代码/esb/MessageUtil.java


+ 7 - 0
doc/开发部署文档/部署情况.md

@@ -0,0 +1,7 @@
+# 部署情况
+
+192.168.70.125
+
+/data1/esb_socket
+
+端口 12092

+ 0 - 0
doc/socket接口规范.doc → doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/socket接口规范.doc


+ 0 - 0
doc/投诉分析平台与ESB接口信息.docx → doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/投诉分析平台与ESB接口信息.docx


+ 0 - 0
doc/投诉系统环境.md → doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/投诉系统环境.md


+ 0 - 0
doc/河北联通网络运营数字化支撑系统与掌沃建设接口规范-v1.4.docx → doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/河北联通网络运营数字化支撑系统与掌沃建设接口规范-v1.4.docx


+ 0 - 0
doc/移网投诉工单管控系统版本更新内容(投诉驱动建设)v1.3.docx → doc/需求文档/TousuSheet-投诉驱动建设对接esb_kafka的socket/移网投诉工单管控系统版本更新内容(投诉驱动建设)v1.3.docx


+ 0 - 0
log/error.log


+ 11 - 0
log/trace.2023-05-22_09.0.log

@@ -0,0 +1,11 @@
+2023-05-22 09:57:58,530 INFO   [main] com.nokia.EsbSocketApplication:55 Starting EsbSocketApplication using Java 1.8.0_361 on DESKTOP-VK8KTU1 with PID 14760 (D:\hb_cuc_code\esb_socket\target\classes started by lfq in D:\hb_cuc_code\esb_socket)
+2023-05-22 09:57:58,532 INFO   [main] com.nokia.EsbSocketApplication:645 No active profile set, falling back to 1 default profile: "default"
+2023-05-22 09:57:59,189 INFO   [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer:108 Tomcat initialized with port(s): 12092 (http)
+2023-05-22 09:57:59,196 INFO   [main] org.apache.coyote.http11.Http11NioProtocol:173 Initializing ProtocolHandler ["http-nio-12092"]
+2023-05-22 09:57:59,197 INFO   [main] org.apache.catalina.core.StandardService:173 Starting service [Tomcat]
+2023-05-22 09:57:59,199 INFO   [main] org.apache.catalina.core.StandardEngine:173 Starting Servlet engine: [Apache Tomcat/9.0.69]
+2023-05-22 09:57:59,280 INFO   [main] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 Initializing Spring embedded WebApplicationContext
+2023-05-22 09:57:59,281 INFO   [main] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext:290 Root WebApplicationContext: initialization completed in 715 ms
+2023-05-22 09:57:59,629 INFO   [main] org.apache.coyote.http11.Http11NioProtocol:173 Starting ProtocolHandler ["http-nio-12092"]
+2023-05-22 09:57:59,640 INFO   [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer:220 Tomcat started on port(s): 12092 (http) with context path ''
+2023-05-22 09:57:59,648 INFO   [main] com.nokia.EsbSocketApplication:61 Started EsbSocketApplication in 1.429 seconds (JVM running for 1.654)

+ 8 - 0
log/trace.log

@@ -0,0 +1,8 @@
+2023-05-22 10:01:12,302 INFO   [http-nio-12092-exec-1] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 Initializing Spring DispatcherServlet 'dispatcherServlet'
+2023-05-22 10:01:12,302 INFO   [http-nio-12092-exec-1] org.springframework.web.servlet.DispatcherServlet:525 Initializing Servlet 'dispatcherServlet'
+2023-05-22 10:01:12,302 INFO   [http-nio-12092-exec-1] org.springframework.web.servlet.DispatcherServlet:547 Completed initialization in 0 ms
+2023-05-22 10:01:12,377 INFO   [http-nio-12092-exec-1] com.nokia.service.EsbNettyService:67 准备连接到服务器...
+2023-05-22 10:01:12,597 INFO   [nioEventLoopGroup-2-1] com.nokia.service.handler.MessagePrintHandler:12 <ConnectACK>VerifyResult:0FaultReason:</ConnectACK>
+2023-05-22 10:01:12,598 INFO   [http-nio-12092-exec-1] com.nokia.service.EsbNettyService:108 通道已激活, 鉴权已通过...
+2023-05-22 10:02:12,620 INFO   [nioEventLoopGroup-2-1] com.nokia.service.handler.MessagePrintHandler:12 <HeartBeatACK>ProvinceID:18</HeartBeatACK>
+2023-05-22 10:04:01,744 INFO   [nioEventLoopGroup-2-1] com.nokia.service.handler.MessagePrintHandler:12 <HeartBeatACK>ProvinceID:18</HeartBeatACK>

+ 21 - 0
pom.xml

@@ -67,4 +67,25 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
+
+    <build>
+        <finalName>esb-socket</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.6.14</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <classifier>exec</classifier>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 88 - 0
src/main/java/com/nokia/common/http/R.java

@@ -0,0 +1,88 @@
+package com.nokia.common.http;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 返回值的统一包装
+ */
+public class R {
+    private Boolean success;
+    private String message;
+
+    private Map<String, Object> data = new HashMap<>();
+
+    /**
+     * 私有化构造方法,不允许在外部实例化
+     */
+    private R() {
+    }
+
+    /**
+     * 成功的静态方法
+     *
+     * @return R实例
+     */
+    public static R ok() {
+        R r = new R();
+        r.setSuccess(true);
+        r.setMessage("成功");
+        return r;
+    }
+
+    /**
+     * 失败的静态方法
+     *
+     * @return R实例
+     */
+    public static R error() {
+        R r = new R();
+        r.setSuccess(false);
+        r.setMessage("失败");
+        return r;
+    }
+
+    public R success(Boolean success) {
+        this.setSuccess(success);
+        return this;
+    }
+
+    public R message(String message) {
+        this.setMessage(message);
+        return this;
+    }
+
+    public R data(String key, Object value) {
+        this.data.put(key, value);
+        return this;
+    }
+
+    public R data(Map<String, Object> map) {
+        this.setData(map);
+        return this;
+    }
+
+    public Boolean getSuccess() {
+        return success;
+    }
+
+    public void setSuccess(Boolean success) {
+        this.success = success;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public Map<String, Object> getData() {
+        return data;
+    }
+
+    public void setData(Map<String, Object> data) {
+        this.data = data;
+    }
+}

+ 31 - 0
src/main/java/com/nokia/controller/EsbSocketController.java

@@ -0,0 +1,31 @@
+package com.nokia.controller;
+
+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 com.nokia.common.http.R;
+import com.nokia.pojo.TousuSheet;
+import com.nokia.service.EsbNettyService;
+
+@RestController
+@RequestMapping("/esb/socket")
+public class EsbSocketController {
+
+    private final EsbNettyService esbNettyService;
+
+    public EsbSocketController(EsbNettyService esbNettyService) {
+        this.esbNettyService = esbNettyService;
+    }
+
+    @PostMapping("/send/toususheet")
+    public R sendTousuSheet(@RequestBody TousuSheet tousuSheet) {
+        try {
+            esbNettyService.send(tousuSheet);
+            return R.ok().message("发送成功。");
+        } catch (Exception e) {
+            return R.error().message(e.getMessage());
+        }
+    }
+}

+ 9 - 4
src/main/java/com/nokia/service/EsbNettyService.java

@@ -7,6 +7,7 @@ import java.util.concurrent.ExecutionException;
 import javax.annotation.PreDestroy;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -35,10 +36,14 @@ import lombok.extern.slf4j.Slf4j;
 @Service
 public class EsbNettyService {
 
-    private String host = "10.160.84.4";
-    private int port = 9130;
-    private String userName = "Nokia-TousuSheet";
-    private String password = "mEx7^9qJE";
+    @Value("${toususheet.host}")
+    private String host;
+    @Value("${toususheet.port}")
+    private int port;
+    @Value("${toususheet.userName}")
+    private String userName;
+    @Value("${toususheet.password}")
+    private String password;
     private final ObjectMapper objectMapper;
     private final EventLoopGroup group;
     @Getter

+ 9 - 0
src/main/resources/application.yml

@@ -0,0 +1,9 @@
+server:
+  port: 12092
+
+# 投诉驱动运维socket推送配置
+toususheet:
+  host: 10.160.84.4
+  port: 9130
+  userName: Nokia-TousuSheet
+  password: mEx7^9qJE

+ 50 - 0
src/main/resources/logback-spring.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <property name="PATH" value="./log" />
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${PATH}/trace.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!-- rollover daily -->
+            <fileNamePattern>${PATH}/trace.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
+            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
+            <maxFileSize>50MB</maxFileSize>
+            <maxHistory>60</maxHistory>
+            <totalSizeCap>20GB</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${PATH}/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!-- rollover daily -->
+            <fileNamePattern>${PATH}/error.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
+            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
+            <maxFileSize>50MB</maxFileSize>
+            <maxHistory>60</maxHistory>
+            <totalSizeCap>20GB</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+    <root level="INFO">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="TRACE_FILE" />
+        <appender-ref ref="ERROR_FILE" />
+    </root>
+</configuration>