From 43fb2ac961d450659a270f1db9053ec545327aa1 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期四, 09 十二月 2021 15:37:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/FrameBuilder.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/FrameBuilder.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/FrameBuilder.java
new file mode 100644
index 0000000..726f0b0
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/FrameBuilder.java
@@ -0,0 +1,59 @@
+package com.sandu.ximon.admin.manager.iot.frame;
+
+import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.FunctionCodeEnum;
+
+/**
+ * @author chenjiantian
+ * @date 2021/12/6 17:02
+ * 鏋勫缓涓�涓姹傚抚
+ */
+public class FrameBuilder {
+
+    private IRequestFrame iRequestFrame;
+    private IRequestInnerFrame innerFrame;
+
+    private String functionCode;
+    private String orderType;
+
+    private FrameBuilder(String functionCode) {
+        this.functionCode = functionCode;
+    }
+
+    public static FrameBuilder builderA1() {
+        return new FrameBuilder(FunctionCodeEnum.MAIN_BOARD_CONFIG.getCode());
+    }
+    public static FrameBuilder builderA2() {
+        return new FrameBuilder(FunctionCodeEnum.MAIN_BOARD_CONTROL.getCode());
+    }
+
+    public static FrameBuilder builderA5() {
+        return new FrameBuilder(FunctionCodeEnum.DATA_TRANSPORT_DATA.getCode());
+    }
+
+    public FrameBuilder orderType(String orderType) {
+        this.orderType = orderType;
+        return this;
+    }
+
+    public FrameBuilder innerFrame(IRequestInnerFrame innerFrame) {
+        this.innerFrame = innerFrame;
+        return this;
+    }
+
+    public IRequestFrame build() {
+        if (orderType == null || innerFrame == null) {
+            throw new RuntimeException("鍙傛暟涓嶈兘涓虹┖");
+        }
+        if (FunctionCodeEnum.MAIN_BOARD_CONFIG.getCode().equals(functionCode)) {
+            iRequestFrame = new A1Frame(orderType, innerFrame);
+        } else if (FunctionCodeEnum.MAIN_BOARD_CONTROL.getCode().equals(functionCode)) {
+            iRequestFrame = new A2Frame(orderType, innerFrame);
+        }  else if (FunctionCodeEnum.DATA_TRANSPORT_DATA.getCode().equals(functionCode)) {
+            iRequestFrame = new A5Frame(orderType, innerFrame);
+        } else {
+            throw new RuntimeException("鎵句笉鍒扮鍚堟潯浠剁殑璇锋眰甯�");
+        }
+        return iRequestFrame;
+    }
+}

--
Gitblit v1.9.3