Explorar o código

XML 接口相关

wanggaokun hai 1 ano
pai
achega
0e631fbbc2

+ 10 - 0
PHM-admin/phm-common/pom.xml

@@ -23,6 +23,11 @@
             <artifactId>spring-context-support</artifactId>
             <artifactId>spring-context-support</artifactId>
         </dependency>
         </dependency>
 
 
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
         <!-- SpringWeb模块 -->
         <!-- SpringWeb模块 -->
         <dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <groupId>org.springframework</groupId>
@@ -35,6 +40,11 @@
             <artifactId>spring-boot-starter-security</artifactId>
             <artifactId>spring-boot-starter-security</artifactId>
         </dependency>
         </dependency>
 
 
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-xml</artifactId>
+        </dependency>
+
         <!-- pagehelper 分页插件 -->
         <!-- pagehelper 分页插件 -->
         <dependency>
         <dependency>
             <groupId>com.github.pagehelper</groupId>
             <groupId>com.github.pagehelper</groupId>

+ 37 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/controller/ExternalInterfaceController.java

@@ -0,0 +1,37 @@
+package com.phm.manage.common.controller;
+
+import com.phm.common.annotation.Anonymous;
+import com.phm.manage.common.domain.CommonResultXML;
+import com.phm.manage.common.domain.OrderXmlVO;
+import com.phm.manage.common.enums.OrderEnum;
+import org.springframework.http.MediaType;
+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.validation.Valid;
+
+/**
+ * 对外提供接口
+ *
+ * @author phm
+ * @date 2023-08-22
+ */
+@RestController
+@Anonymous
+@RequestMapping(value = "/publicservice", consumes = {MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_XML_VALUE},
+        produces = MediaType.APPLICATION_XML_VALUE)
+public class ExternalInterfaceController {
+
+    /**
+     * 指令接受API
+     *
+     * @param orderXmlVO 入参
+     * @return res
+     */
+    @PostMapping("/receive")
+    public CommonResultXML<OrderXmlVO> sss(@RequestBody @Valid OrderXmlVO orderXmlVO) {
+        return CommonResultXML.success(orderXmlVO);
+    }
+}

+ 93 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/domain/CommonResult.java

@@ -0,0 +1,93 @@
+package com.phm.manage.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.phm.manage.common.enums.GlobalErrorCodeConstants;
+import com.phm.manage.common.util.ErrorCode;
+import com.phm.manage.common.util.ServiceException;
+import lombok.Data;
+import org.springframework.util.Assert;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * json格式,通用返回结果
+ *
+ * @author wgk
+ * @date 2023-09-06
+ */
+@Data
+public class CommonResult<T> implements Serializable {
+
+    private Integer code;
+
+    private T data;
+
+    private String msg;
+
+    public static <T> CommonResult<T> error(CommonResult<?> result) {
+        return error(result.getCode(), result.getMsg());
+    }
+
+    public static <T> CommonResult<T> error(Integer code, String message) {
+        Assert.isTrue(!GlobalErrorCodeConstants.SUCCESS.getCode().equals(code), "code 必须是错误的!");
+        CommonResult<T> result = new CommonResult<>();
+        result.code = code;
+        result.msg = message;
+        return result;
+    }
+
+    public static <T> CommonResult<T> error(ErrorCode errorCode) {
+        return error(errorCode.getCode(), errorCode.getMsg());
+    }
+
+    public static <T> CommonResult<T> success(T data) {
+        CommonResult<T> result = new CommonResult<>();
+        result.code = GlobalErrorCodeConstants.SUCCESS.getCode();
+        result.data = data;
+        result.msg = "";
+        return result;
+    }
+
+    public static boolean isSuccess(Integer code) {
+        return Objects.equals(code, GlobalErrorCodeConstants.SUCCESS.getCode());
+    }
+
+    @JsonIgnore // 避免 jackson 序列化
+    public boolean isSuccess() {
+        return isSuccess(code);
+    }
+
+    @JsonIgnore // 避免 jackson 序列化
+    public boolean isError() {
+        return !isSuccess();
+    }
+
+    // ========= 和 Exception 异常体系集成 =========
+
+    /**
+     * 判断是否有异常。
+     */
+    public void checkError() throws ServiceException {
+        if (isSuccess()) {
+            return;
+        }
+        // 业务异常
+        throw new ServiceException(code, msg);
+    }
+
+    /**
+     * 判断是否有异常。如果有,则抛出 {@link ServiceException} 异常
+     * 如果没有,则返回 {@link #data} 数据
+     */
+    @JsonIgnore // 避免 jackson 序列化
+    public T getCheckedData() {
+        checkError();
+        return data;
+    }
+
+    public static <T> CommonResult<T> error(ServiceException serviceException) {
+        return error(serviceException.getCode(), serviceException.getMessage());
+    }
+
+}

+ 99 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/domain/CommonResultXML.java

@@ -0,0 +1,99 @@
+package com.phm.manage.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import com.phm.manage.common.enums.GlobalErrorCodeConstants;
+import com.phm.manage.common.util.ErrorCode;
+import com.phm.manage.common.util.ServiceException;
+import lombok.Data;
+import org.springframework.util.Assert;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * XML格式,通用返回结果
+ *
+ * @author wgk
+ * @date 2023-09-06
+ */
+@JacksonXmlRootElement(localName = "RESULT")
+@Data
+public class CommonResultXML<T> implements Serializable {
+
+    @JacksonXmlProperty(localName = "CODE")
+    private Integer code;
+
+    @JacksonXmlProperty(localName = "DATA")
+    private T data;
+
+    @JacksonXmlProperty(localName = "MSG")
+    private String msg;
+
+    public static <T> CommonResultXML<T> error(CommonResultXML<?> result) {
+        return error(result.getCode(), result.getMsg());
+    }
+
+    public static <T> CommonResultXML<T> error(Integer code, String message) {
+        Assert.isTrue(!GlobalErrorCodeConstants.SUCCESS.getCode().equals(code), "code 必须是错误的!");
+        CommonResultXML<T> result = new CommonResultXML<>();
+        result.code = code;
+        result.msg = message;
+        return result;
+    }
+
+    public static <T> CommonResultXML<T> error(ErrorCode errorCode) {
+        return error(errorCode.getCode(), errorCode.getMsg());
+    }
+
+    public static <T> CommonResultXML<T> success(T data) {
+        CommonResultXML<T> result = new CommonResultXML<>();
+        result.code = GlobalErrorCodeConstants.SUCCESS.getCode();
+        result.data = data;
+        result.msg = "";
+        return result;
+    }
+
+    public static boolean isSuccess(Integer code) {
+        return Objects.equals(code, GlobalErrorCodeConstants.SUCCESS.getCode());
+    }
+
+    @JsonIgnore // 避免 jackson 序列化
+    public boolean isSuccess() {
+        return isSuccess(code);
+    }
+
+    @JsonIgnore // 避免 jackson 序列化
+    public boolean isError() {
+        return !isSuccess();
+    }
+
+    // ========= 和 Exception 异常体系集成 =========
+
+    /**
+     * 判断是否有异常。如果有,则抛出 {@link ServiceException} 异常
+     */
+    public void checkError() throws ServiceException {
+        if (isSuccess()) {
+            return;
+        }
+        // 业务异常
+        throw new ServiceException(code, msg);
+    }
+
+    /**
+     * 判断是否有异常。如果有,则抛出 {@link ServiceException} 异常
+     * 如果没有,则返回 {@link #data} 数据
+     */
+    @JsonIgnore // 避免 jackson 序列化
+    public T getCheckedData() {
+        checkError();
+        return data;
+    }
+
+    public static <T> CommonResultXML<T> error(ServiceException serviceException) {
+        return error(serviceException.getCode(), serviceException.getMessage());
+    }
+
+}

+ 32 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/domain/OrderXmlVO.java

@@ -0,0 +1,32 @@
+package com.phm.manage.common.domain;
+
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import lombok.Data;
+
+/**
+ * @author wgk
+ */
+@Data
+@JacksonXmlRootElement(localName = "ORDER")
+public class OrderXmlVO {
+    // 指令类型
+    @JacksonXmlProperty(localName = "ORDER-TYPE")
+    private String orderType;
+
+    // 指令名称
+    @JacksonXmlProperty(localName = "ORDER-NAME")
+    private String orderName;
+
+    // 模型
+    @JacksonXmlProperty(localName = "MODEL")
+    private String model;
+
+    // 架次号
+    @JacksonXmlProperty(localName = "SORTIE-NO")
+    private String sortieNo;
+
+    // 步长
+    @JacksonXmlProperty(localName = "STEP")
+    private String step;
+}

+ 33 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/enums/GlobalErrorCodeConstants.java

@@ -0,0 +1,33 @@
+package com.phm.manage.common.enums;
+
+import com.phm.manage.common.util.ErrorCode;
+
+/**
+ * @author wangg
+ */
+public interface GlobalErrorCodeConstants {
+
+    ErrorCode SUCCESS = new ErrorCode(200, "成功");
+
+    // ========== 客户端错误段 ==========
+
+    ErrorCode BAD_REQUEST = new ErrorCode(400, "请求参数不正确");
+    ErrorCode UNAUTHORIZED = new ErrorCode(401, "账号未登录");
+    ErrorCode FORBIDDEN = new ErrorCode(403, "没有该操作权限");
+    ErrorCode NOT_FOUND = new ErrorCode(404, "请求未找到");
+    ErrorCode METHOD_NOT_ALLOWED = new ErrorCode(405, "请求方法不正确");
+    ErrorCode LOCKED = new ErrorCode(423, "请求失败,请稍后重试"); // 并发请求,不允许
+    ErrorCode TOO_MANY_REQUESTS = new ErrorCode(429, "请求过于频繁,请稍后重试");
+
+    // ========== 服务端错误段 ==========
+
+    ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常");
+    ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启");
+
+    // ========== 自定义错误段 ==========
+    ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求
+    ErrorCode DEMO_DENY = new ErrorCode(901, "演示模式,禁止写操作");
+
+    ErrorCode UNKNOWN = new ErrorCode(999, "未知错误");
+
+}

+ 35 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/enums/OrderEnum.java

@@ -0,0 +1,35 @@
+package com.phm.manage.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description Order
+ * @Author WGK
+ * @Date 2023/9/6 15:19
+ */
+@AllArgsConstructor
+@Getter
+public enum OrderEnum {
+
+    /*
+     * 数据下载
+     */
+    DATA_DOWN("数据下载", "DATA_DOWN"),
+
+    /*
+     * 增强诊断
+     */
+    DIAGNOSIS("增强诊断", "DIAGNOSIS"),
+
+    /*
+     * 故障预测
+     */
+    FORECAST("故障预测", "FORECAST");
+
+
+    private final String name;
+
+    private final String type;
+
+}

+ 25 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/util/ErrorCode.java

@@ -0,0 +1,25 @@
+package com.phm.manage.common.util;
+
+import lombok.Data;
+
+/**
+ * @author wangg
+ */
+@Data
+public class ErrorCode {
+
+    /**
+     * 错误码
+     */
+    private final Integer code;
+    /**
+     * 错误提示
+     */
+    private final String msg;
+
+    public ErrorCode(Integer code, String message) {
+        this.code = code;
+        this.msg = message;
+    }
+
+}

+ 55 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/common/util/ServiceException.java

@@ -0,0 +1,55 @@
+package com.phm.manage.common.util;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 业务逻辑异常 Exception
+ *
+ * @author wangg
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public final class ServiceException extends RuntimeException {
+
+    /**
+     * 业务错误码
+     */
+    private Integer code;
+    /**
+     * 错误提示
+     */
+    private String message;
+
+    /**
+     * 空构造方法,避免反序列化问题
+     */
+    public ServiceException() {
+    }
+
+    public ServiceException(ErrorCode errorCode) {
+        this.code = errorCode.getCode();
+        this.message = errorCode.getMsg();
+    }
+
+    public ServiceException(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public ServiceException setCode(Integer code) {
+        this.code = code;
+        return this;
+    }
+
+    @Override
+    public String getMessage() {
+        return message;
+    }
+
+    public ServiceException setMessage(String message) {
+        this.message = message;
+        return this;
+    }
+
+}

+ 4 - 49
PHM-admin/phm-manage/src/main/java/com/phm/manage/domain/OrderInfo.java

@@ -2,6 +2,8 @@ package com.phm.manage.domain;
 
 
 import com.phm.common.annotation.Excel;
 import com.phm.common.annotation.Excel;
 import com.phm.common.core.domain.BaseEntity;
 import com.phm.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 
@@ -11,6 +13,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
  * @author phm
  * @author phm
  * @date 2023-08-31
  * @date 2023-08-31
  */
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
 public class OrderInfo extends BaseEntity {
 public class OrderInfo extends BaseEntity {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
@@ -45,55 +49,6 @@ public class OrderInfo extends BaseEntity {
      * 数据是否删除(1:删除,0有效)
      * 数据是否删除(1:删除,0有效)
      */
      */
     private Long isDelete;
     private Long isDelete;
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setOrderName(String orderName) {
-        this.orderName = orderName;
-    }
-
-    public String getOrderName() {
-        return orderName;
-    }
-
-    public void setOrderType(String orderType) {
-        this.orderType = orderType;
-    }
-
-    public String getOrderType() {
-        return orderType;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public Long getStatus() {
-        return status;
-    }
-
-    public void setStatus(Long status) {
-        this.status = status;
-    }
-
-    public void setIsDelete(Long isDelete) {
-        this.isDelete = isDelete;
-    }
-
-    public Long getIsDelete() {
-        return isDelete;
-    }
-
     @Override
     @Override
     public String toString() {
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 7 - 0
PHM-admin/pom.xml

@@ -29,12 +29,19 @@
         <poi.version>4.1.2</poi.version>
         <poi.version>4.1.2</poi.version>
         <velocity.version>2.3</velocity.version>
         <velocity.version>2.3</velocity.version>
         <jwt.version>0.9.1</jwt.version>
         <jwt.version>0.9.1</jwt.version>
+        <lombok.version>1.18.28</lombok.version>
     </properties>
     </properties>
 	
 	
     <!-- 依赖声明 -->
     <!-- 依赖声明 -->
     <dependencyManagement>
     <dependencyManagement>
         <dependencies>
         <dependencies>
 
 
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+            </dependency>
+
             <!-- SpringBoot的依赖配置-->
             <!-- SpringBoot的依赖配置-->
             <dependency>
             <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <groupId>org.springframework.boot</groupId>