lijilei 3 yıl önce
ebeveyn
işleme
4489cc6059

+ 13 - 0
book-push/pom.xml

@@ -69,8 +69,21 @@
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                 </exclusion>
+                <!--     使用spring-boot-starter-undertow-->
+                    <exclusion>
+                        <groupId>org.springframework.boot</groupId>
+                        <artifactId>spring-boot-starter-tomcat</artifactId>
+                    </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 32 - 0
book-push/src/main/java/com/book/push/advice/ExceptionAdvice.java

@@ -0,0 +1,32 @@
+package com.book.push.advice;
+
+import com.book.push.vo.result.Result;
+import com.book.push.vo.result.ResultCode;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * Class ExceptionHandle ...
+ *s
+ * @author tianyunperfect
+ * Created on 2019/9/19
+ */
+@ControllerAdvice
+@Slf4j
+public class ExceptionAdvice {
+
+    /**
+     * 统一异常处理
+     * @param e 异常
+     * @return Result
+     */
+    @ResponseBody
+    @ExceptionHandler
+    public Result exceptionHandle(Exception e) {
+        e.printStackTrace();
+        log.error("系统异常:", e);
+        return Result.failure(ResultCode.UNKNOWN.ordinal(), e.getMessage());
+    }
+}

+ 1 - 1
book-push/src/main/java/com/book/push/handler/SubscribeHandler.java

@@ -140,7 +140,7 @@ public class SubscribeHandler extends AbstractHandler {
                         String url = newsMsgContent.getUrl().replace("{$ophost}", host);
                         if (!StringUtils.isEmpty(newsMsgContent.getBook_id())) {
                             url = String.format(UrlCons.FRONT_URL, adminConfig.getAppid(), host, UrlCons.MODEL_BOOK, adminConfig.getAdminId(), user.getId() + "")
-                                    .concat("&bookId=").concat(newsMsgContent.getBook_id()).concat("&").concat(newsMsgContent.getChapter_id());
+                                    .concat("&bookId=").concat(newsMsgContent.getBook_id()).concat("&contentId=").concat(newsMsgContent.getChapter_id());
                         }
                         item.setUrl(url);
                     }

+ 84 - 0
book-push/src/main/java/com/book/push/vo/result/Result.java

@@ -0,0 +1,84 @@
+package com.book.push.vo.result;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author 田云
+ * @Date 2020/5/1 20:54
+ * @Version 1.0
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class Result<T> implements Serializable {
+    private static final long serialVersionUID = 8144902804416826469L;
+    private boolean success;
+    private Integer code;
+    private String message;
+    private T data;
+
+    public static <T> Result<T> result(Boolean flag, ResultCode resultCode, T data) {
+        return new Result<>(flag, resultCode.getCode(), resultCode.getMessage(), data);
+    }
+
+    //region success封装
+    public static <T> Result<T> success(ResultCode resultCode, T data) {
+        return result(true, resultCode, data);
+    }
+
+    public static <T> Result<T> success(T data) {
+        return success(ResultCode.SUCCESS, data);
+    }
+
+    public static <T> Result<T> success() {
+        return success(null);
+    }
+    //endregion
+
+
+    //region failure封装
+    public static <T> Result<T> failure(Integer code, String message) {
+        return new Result<>(false, code, message, null);
+    }
+
+    public static <T> Result<T> failure(ResultCode resultCode) {
+        return new Result<>(false, resultCode.getCode(), resultCode.getMessage(), null);
+    }
+
+    public static <T> Result<T> failure() {
+        return failure(ResultCode.FAIL);
+    }
+    //endregion
+
+    public static <T> Result<T> byObject(T t) {
+        return byObject(t,ResultCode.UNKNOWN);
+    }
+    /**
+     * 通过对象输出结果
+     * 当对象为 true 或者不为 null 的时候返回正常
+     *
+     * @param t          t
+     * @param resultCode 结果代码
+     * @return {@link Result<T>}
+     */
+    public static <T> Result<T> byObject(T t, ResultCode resultCode) {
+        if (t instanceof Boolean) {
+            if ((Boolean) t) {
+                return Result.success();
+            }
+        } else if (t != null) {
+            return Result.success(t);
+        }
+        return Result.failure(resultCode);
+    }
+
+    public static void main(String[] args) {
+        System.out.println(Result.byObject(null, ResultCode.UNKNOWN));
+        System.out.println(Result.byObject(false, ResultCode.UNKNOWN));
+    }
+}

+ 34 - 0
book-push/src/main/java/com/book/push/vo/result/ResultCode.java

@@ -0,0 +1,34 @@
+package com.book.push.vo.result;
+
+public enum ResultCode {
+    // 基本
+    SUCCESS(0, "success"),
+    FAIL(-1, "fail"),
+    UNKNOWN(-2, "unknown")
+    ;
+
+    private Integer code;
+    private String message;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    ResultCode(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+}

+ 9 - 1
book-push/src/main/resources/application-pro.yml

@@ -1,6 +1,14 @@
 server:
   port: 18089
-
+#  tomcat:
+#    uri-encoding: UTF-8
+#    max-threads: 1000
+#    min-spare-threads: 60
+#    connection-timeout: 6000
+#    port: 18089
+#    servlet:
+#      context-path: /
+#    max-http-header-size: 102400
 book:
   debug: false
   redis: