From a1e426218ee684999075fbb916da2b51f923bb19 Mon Sep 17 00:00:00 2001 From: yingli25 Date: Sun, 23 Jul 2023 21:29:39 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95swatch\=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/LiteflowController.java | 26 ++++++------ .../liteflow/demo/entity/OrderVO.java | 37 +++++++++++++++++ .../liteflow/demo/entity/TestModel.java | 41 +++++++++++++++++++ .../rules/liteflow-script-component.el.xml | 30 +++++++++----- 4 files changed, 110 insertions(+), 24 deletions(-) create mode 100644 src/main/java/cn/netbuffer/liteflow/demo/entity/OrderVO.java create mode 100644 src/main/java/cn/netbuffer/liteflow/demo/entity/TestModel.java diff --git a/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java b/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java index 7cd852c..c335334 100644 --- a/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java +++ b/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java @@ -1,5 +1,7 @@ package cn.netbuffer.liteflow.demo.controller; +import cn.netbuffer.liteflow.demo.entity.OrderVO; +import cn.netbuffer.liteflow.demo.entity.TestModel; import com.alibaba.fastjson.JSONObject; import com.yomahub.liteflow.builder.LiteFlowNodeBuilder; import com.yomahub.liteflow.core.FlowExecutor; @@ -9,7 +11,9 @@ import com.yomahub.liteflow.script.ScriptExecutorFactory; import com.yomahub.liteflow.slot.DefaultContext; import lombok.extern.slf4j.Slf4j; import org.joda.time.DateTime; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.core.annotation.Order; import org.springframework.util.StopWatch; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -17,6 +21,9 @@ import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +/** + * @author liying + */ @Slf4j @RestController @RequestMapping("/liteflow") @@ -26,22 +33,13 @@ public class LiteflowController { @Resource private FlowExecutor flowExecutor; + @GetMapping("execute2Resp/{chainId}") public boolean execute2Resp(@PathVariable("chainId") String chainId) { - JSONObject param = new JSONObject(); - param.put("chain", chainId); - param.put("time", DateTime.now().toString("yyyy-MM-dd HH:mm:ss")); - LiteflowResponse liteflowResponse = flowExecutor.execute2Resp(chainId, param); - DefaultContext defaultContext = liteflowResponse.getContextBean(DefaultContext.class); - if (defaultContext != null) { - Object result = defaultContext.getData("result"); - if (result != null) { - log.debug("exec chain[{}] success,getData[result]={},result class={}", chainId, result, result.getClass().getName()); - } - } - log.debug("exec chain[{}] return code={},getExecuteStepStrWithoutTime={},getMessage={},getRequestId={},slot={}", chainId, - liteflowResponse.getCode(), liteflowResponse.getExecuteStepStrWithoutTime(), - liteflowResponse.getMessage(), liteflowResponse.getRequestId(), liteflowResponse.getSlot()); + OrderVO orderVO =new OrderVO(90,0); + TestModel testM =new TestModel(); + testM.setNum(10000); + LiteflowResponse liteflowResponse = flowExecutor.execute2Resp(chainId,null,orderVO,testM); return liteflowResponse.isSuccess(); } diff --git a/src/main/java/cn/netbuffer/liteflow/demo/entity/OrderVO.java b/src/main/java/cn/netbuffer/liteflow/demo/entity/OrderVO.java new file mode 100644 index 0000000..aba54dd --- /dev/null +++ b/src/main/java/cn/netbuffer/liteflow/demo/entity/OrderVO.java @@ -0,0 +1,37 @@ +package cn.netbuffer.liteflow.demo.entity; + +import com.yomahub.liteflow.context.ContextBean; +import com.yomahub.liteflow.script.annotation.ScriptBean; + +/** + * @Author liying + * @Date 2023/7/21 5:23 下午 + * @Version 1.0 + */ +@ContextBean("orderVO") +public class OrderVO { + private Integer amount; + private Integer score; + + public OrderVO(Integer amount, Integer score) { + this.amount = amount; + this.score = score; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getScore() { + return score; + } + + public void setScore(Integer score) { + this.score = score; + } +} + diff --git a/src/main/java/cn/netbuffer/liteflow/demo/entity/TestModel.java b/src/main/java/cn/netbuffer/liteflow/demo/entity/TestModel.java new file mode 100644 index 0000000..9cd001d --- /dev/null +++ b/src/main/java/cn/netbuffer/liteflow/demo/entity/TestModel.java @@ -0,0 +1,41 @@ +package cn.netbuffer.liteflow.demo.entity; + +import com.yomahub.liteflow.context.ContextBean; + + +@ContextBean("testM") +public class TestModel { + + private int num; + private String str; + + private String msg; + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public int getNum() { + return num; + } + + public void setNum(int num) { + this.num = num; + } + + public String getStr() { + return str; + } + + public void setStr(String str) { + this.str = str; + } + + public void test(){ + System.out.println("调用方法"); + } +} diff --git a/src/main/resources/rules/liteflow-script-component.el.xml b/src/main/resources/rules/liteflow-script-component.el.xml index 0364128..13de952 100644 --- a/src/main/resources/rules/liteflow-script-component.el.xml +++ b/src/main/resources/rules/liteflow-script-component.el.xml @@ -2,26 +2,36 @@ - + 100){ + return "a"; + }else{ + return "b"; + } + //defaultContext.setData("result",a*b); ]]> - + + + + - THEN(scriptStep1,scriptStep2); + THEN(SWITCH(scriptStep1).to(a,b)); -- Gitee From 80864a4d8bdb86ecf8a69e2ce6f4a2ff602e2ebc Mon Sep 17 00:00:00 2001 From: yingli25 Date: Mon, 24 Jul 2023 18:54:08 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95swatch\=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/demo/controller/LiteflowController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java b/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java index c335334..11dfc1f 100644 --- a/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java +++ b/src/main/java/cn/netbuffer/liteflow/demo/controller/LiteflowController.java @@ -43,6 +43,14 @@ public class LiteflowController { return liteflowResponse.isSuccess(); } + @GetMapping("execute/{chainId}") + public boolean execute(@PathVariable("chainId") String chainId) { + OrderVO orderVO =new OrderVO(90,0); + TestModel testM =new TestModel(); + testM.setNum(10000); + LiteflowResponse liteflowResponse = flowExecutor.execute2Resp(chainId); + return liteflowResponse.isSuccess(); + } @GetMapping("execute2Future/{chainId}") public boolean execute2Future(@PathVariable("chainId") String chainId) throws ExecutionException, InterruptedException { -- Gitee From 4c190f422dc93a678538f175d3fde52823890cee Mon Sep 17 00:00:00 2001 From: yingli25 Date: Thu, 27 Jul 2023 19:33:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95stream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/demo/JDKtest/Person.java | 62 +++++++++++++++++++ .../netbuffer/liteflow/demo/JDKtest/test.java | 40 ++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/main/java/cn/netbuffer/liteflow/demo/JDKtest/Person.java create mode 100644 src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java diff --git a/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/Person.java b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/Person.java new file mode 100644 index 0000000..2b5e577 --- /dev/null +++ b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/Person.java @@ -0,0 +1,62 @@ +package cn.netbuffer.liteflow.demo.JDKtest; + +/** + * @Author liying + * @Date 2023/7/27 6:11 下午 + * @Version 1.0 + */ +class Person { + private String name; + private Integer age; + private String country; + private char sex; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public char getSex() { + return sex; + } + + public void setSex(char sex) { + this.sex = sex; + } + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age=" + age + + ", country='" + country + '\'' + + ", sex=" + sex + + '}'; + } + + public Person(String name, Integer age, String country, char sex) { + this.name = name; + this.age = age; + this.country = country; + this.sex = sex; + } +} \ No newline at end of file diff --git a/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java new file mode 100644 index 0000000..7dbe551 --- /dev/null +++ b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java @@ -0,0 +1,40 @@ +package cn.netbuffer.liteflow.demo.JDKtest; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author liying + * @Date 2023/7/27 6:01 下午 + * @Version 1.0 + */ +public class test { + public static void main(String[] args) { + ArrayList list=new ArrayList<>(); + Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张无忌","张三丰"); + list.stream().filter(t -> t.startsWith("张")).collect(Collectors.toList()).forEach(System.out::println); + List collect = list.stream().distinct().collect(Collectors.toList()); + System.out.println("去重:"+collect.toString()); + + List personList = new ArrayList<>(); + personList.add(new Person("欧阳雪",18,"中国",'F')); + personList.add(new Person("Tom",24,"美国",'M')); + personList.add(new Person("Harley",22,"英国",'F')); + personList.add(new Person("向天笑",20,"中国",'M')); + personList.add(new Person("李康",22,"中国",'M')); + personList.add(new Person("小梅",29,"中国",'F')); + personList.add(new Person("何雪",21,"中国",'F')); + personList.add(new Person("李康",22,"中国",'M')); + List persons = personList.stream().filter(person -> person.getAge() > 24).collect(Collectors.toList()); + System.out.println(personList.stream().filter(person -> person.getAge() > 24).count()); + System.out.println(persons); + + Optional reduce = personList.stream().map(Person::getAge).reduce(Integer::sum); + + + List collect1 = personList.stream().map(Person::getAge).collect(Collectors.toList()); + System.out.println(collect1.toString()); + + } + +} -- Gitee From 9601d91f3440041e8df43f0c8e3b1e78b6d982f1 Mon Sep 17 00:00:00 2001 From: yingli25 Date: Thu, 27 Jul 2023 19:34:22 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95stream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java index 7dbe551..d9ba911 100644 --- a/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java +++ b/src/main/java/cn/netbuffer/liteflow/demo/JDKtest/test.java @@ -33,7 +33,7 @@ public class test { List collect1 = personList.stream().map(Person::getAge).collect(Collectors.toList()); - System.out.println(collect1.toString()); + } -- Gitee