From 29e6463f580f4e1d29dd7656a500c28d9e5fcc5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=86=99=E6=9C=9D?= <13694051+wangxizhao123@user.noreply.gitee.com> Date: Fri, 17 May 2024 20:00:04 +0800 Subject: [PATCH] =?UTF-8?q?fase()=E4=BF=AE=E6=94=B9=E6=88=96=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=94=A8mq=E9=80=9A=E7=9F=A5=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/clinet/config/DataEditionConfig.java | 9 ++++ .../runner/DataEditionConfigRunner.java | 20 +++++++-- .../muyu-data-test-common/pom.xml | 6 +++ .../com/data/test/common/TestController.java | 5 +++ .../main/java/com/data/test/mq/Consumer.java | 29 ++++++++++++ .../com/data/test/server/TestService.java | 3 ++ .../test/server/impl/TestServiceImpl.java | 6 +++ .../src/main/resources/bootstrap.yml | 5 +++ .../muyu-goods-edition-common/pom.xml | 1 + .../muyu-goods-edition-server/pom.xml | 17 +++++++ .../edition/controller/EditionController.java | 37 ++++++++++++++++ .../muyu/edition/mapper/EditionMapper.java | 5 +++ .../java/com/muyu/edition/mq/Producer.java | 23 ++++++++++ .../muyu/edition/service/IEditionService.java | 11 +++++ .../service/impl/EditionServiceImpl.java | 44 ++++++++++++++++++- .../src/main/resources/bootstrap.yml | 5 +++ .../resources/mapper/goods/EditionMapper.xml | 15 +++++++ 17 files changed, 235 insertions(+), 6 deletions(-) create mode 100644 muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/mq/Consumer.java create mode 100644 muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mq/Producer.java diff --git a/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/DataEditionConfig.java b/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/DataEditionConfig.java index 6de8565..8c5ddbb 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/DataEditionConfig.java +++ b/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/DataEditionConfig.java @@ -5,7 +5,9 @@ import com.muyu.common.core.exception.ServiceException; import com.muyu.edition.constant.RuleOperationConstants; import com.muyu.edition.domain.Config; import com.muyu.edition.domain.Edition; +import com.muyu.edition.domain.RuleEngine; import com.muyu.goods.edition.remote.EditionDataRemoteService; +import com.muyu.goods.edition.remote.RemoteDataManagerService; import lombok.extern.log4j.Log4j2; import muyu.data.test.clinet.config.runner.DataEditionConfigRunner; import muyu.data.test.common.context.DataModelContextHolder; @@ -92,4 +94,11 @@ public class DataEditionConfig { } return "正常,无需返回"; } + + public void editionInitialize() { + //获取规则 + Result> tableDataInfoResult = editionDataRemoteService.lists(); + List editions = tableDataInfoResult.getData(); + EditionSoutceConfig.indexByte(editions); + } } diff --git a/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/runner/DataEditionConfigRunner.java b/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/runner/DataEditionConfigRunner.java index 1c298ce..ef7c83a 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/runner/DataEditionConfigRunner.java +++ b/muyu-modules/muyu-data-test/muyu-data-test-client/src/main/java/muyu/data/test/clinet/config/runner/DataEditionConfigRunner.java @@ -7,15 +7,15 @@ import com.muyu.goods.edition.remote.EditionDataRemoteService; import com.muyu.goods.edition.remote.RemoteDataManagerService; import lombok.extern.log4j.Log4j2; import muyu.data.test.common.dataSoutce.EditionSoutceConfig; +import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -24,12 +24,21 @@ import java.util.stream.Collectors; @Log4j2 @Component @Configuration -public class DataEditionConfigRunner implements ApplicationRunner { +public class DataEditionConfigRunner implements ApplicationRunner , ApplicationContextAware { @Autowired private RemoteDataManagerService remoteDataManagerService; @Autowired private EditionDataRemoteService editionDataRemoteService; + /** + * 根据环境变量来决定是否执行 + * @param applicationContext the ApplicationContext object to be used by this object + * @throws BeansException + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + System.out.println("1"); + } @Override public void run(ApplicationArguments args) throws Exception { //获取引擎 @@ -40,6 +49,7 @@ public class DataEditionConfigRunner implements ApplicationRunner { Result> tableDataInfoResult = editionDataRemoteService.lists(); // log.info("获取规则:{}",tableDataInfoResult); List editionList = tableDataInfoResult.getData(); +// log.info("获取规则:{}",editionList); //处理获取的引擎和规则 for (RuleEngine listResultDatum : listResultData) { List editions = editionList.stream().filter(e -> e.getRuleId().equals(listResultDatum.getRuleId())).collect(Collectors.toList()); @@ -63,4 +73,6 @@ public class DataEditionConfigRunner implements ApplicationRunner { log.info(s); } + + } diff --git a/muyu-modules/muyu-data-test/muyu-data-test-common/pom.xml b/muyu-modules/muyu-data-test/muyu-data-test-common/pom.xml index 0a14f67..e1bc1cf 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-common/pom.xml +++ b/muyu-modules/muyu-data-test/muyu-data-test-common/pom.xml @@ -41,5 +41,11 @@ compile + + + org.springframework.boot + spring-boot-starter-amqp + + diff --git a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/common/TestController.java b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/common/TestController.java index 99841e3..180b78d 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/common/TestController.java +++ b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/common/TestController.java @@ -46,4 +46,9 @@ public class TestController extends BaseController { public Result setColumn(@RequestBody TestDataModelReq testDataModelReq){ return success(service.setColumn(testDataModelReq)); } + + @PostMapping("editionInitialize") + public void editionInitialize(){ + service.editionInitialize(); + } } diff --git a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/mq/Consumer.java b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/mq/Consumer.java new file mode 100644 index 0000000..0689b8b --- /dev/null +++ b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/mq/Consumer.java @@ -0,0 +1,29 @@ +package com.data.test.mq; + +import com.data.test.common.TestController; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +@Log4j2 +public class Consumer { + @Autowired + private TestController testController; + //队列名称 + public static final String QueueName = "edition"; + /** + * 监听队列 + */ + @RabbitListener(queuesToDeclare = {@Queue("edition")}) + public void testEdition(Integer id){ + if (id>0){ + testController.editionInitialize(); + log.info("初始化"); + }else{ + log.info("等待"); + } + } +} diff --git a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/TestService.java b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/TestService.java index 3d471a9..fc88892 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/TestService.java +++ b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/TestService.java @@ -1,5 +1,6 @@ package com.data.test.server; +import com.muyu.common.core.domain.Result; import muyu.data.test.common.model.DataModel; import muyu.data.test.common.req.TestDataModelReq; @@ -12,4 +13,6 @@ public interface TestService { List> getColumn(Long id, String tableName, Integer ruleLevel); Object setColumn(TestDataModelReq testDataModelReq); + + void editionInitialize(); } diff --git a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/impl/TestServiceImpl.java b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/impl/TestServiceImpl.java index 50c2400..65cb562 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/impl/TestServiceImpl.java +++ b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/java/com/data/test/server/impl/TestServiceImpl.java @@ -1,6 +1,7 @@ package com.data.test.server.impl; import com.data.test.server.TestService; +import com.muyu.common.core.domain.Result; import muyu.data.test.clinet.config.AccessConfig; import muyu.data.test.clinet.config.DataEditionConfig; import muyu.data.test.common.model.DataModel; @@ -31,4 +32,9 @@ public class TestServiceImpl implements TestService { public Object setColumn(TestDataModelReq testDataModelReq) { return dataEditionConfig.setColumn(testDataModelReq); } + + @Override + public void editionInitialize() { + dataEditionConfig.editionInitialize(); + } } diff --git a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/resources/bootstrap.yml index cdb3498..849d6b2 100644 --- a/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-data-test/muyu-data-test-server/src/main/resources/bootstrap.yml @@ -4,6 +4,11 @@ server: # Spring spring: + rabbitmq: + host: 129.211.23.219 + port: 5672 + username: guest + password: guest application: # 应用名称 name: muyu-test diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-common/pom.xml b/muyu-modules/muyu-goods-edition/muyu-goods-edition-common/pom.xml index 8104bb6..e75feac 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-common/pom.xml +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-common/pom.xml @@ -28,5 +28,6 @@ 3.6.3 compile + diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/pom.xml b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/pom.xml index 70f745f..8b09365 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/pom.xml +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/pom.xml @@ -96,6 +96,23 @@ 9.4.0.jre8 + + + com.rabbitmq + amqp-client + + + + commons-io + commons-io + + + + + org.springframework.boot + spring-boot-starter-amqp + + diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/controller/EditionController.java b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/controller/EditionController.java index 9406390..65affe2 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/controller/EditionController.java +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/controller/EditionController.java @@ -9,6 +9,7 @@ import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.edition.domain.Edition; import com.muyu.edition.service.IEditionService; +import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -61,6 +62,11 @@ public class EditionController extends BaseController { util.exportExcel(response, list, "规则引擎版本数据"); } + @PostMapping("lists") + public Result> lists(){ + return success(editionService.lists()); + } + /** * 获取规则引擎版本详细信息 */ @@ -100,4 +106,35 @@ public class EditionController extends BaseController { return toAjax(editionService.deleteEditionByIds(ids)); } + /** + * 测试结果 + * @param id + * @param ruleIsTest + * @return + */ + @PostMapping("updRuleSsTest") + public void updRuleStatus(Integer id, Integer ruleIsTest){ + editionService.updRuleSsTest(id,ruleIsTest); + } + + /** + * 规则状态激活 + * @param id + * @return + */ + @PostMapping("updRuleStatus") + public Result updRuleStatus(Long id, String ruleStatus){ + return success(editionService.updRuleStatus(id, ruleStatus)); + } + + /** + * 规则发布 + * @param id + * @return + */ + @PutMapping("updEditionStatus") + public Result updEditionStatus(Long id){ + return success(editionService.updEditionStatus(id)); + } + } diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mapper/EditionMapper.java b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mapper/EditionMapper.java index 1eae585..944a4b4 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mapper/EditionMapper.java +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mapper/EditionMapper.java @@ -62,4 +62,9 @@ public interface EditionMapper extends BaseMapper { List lists(); + void updRuleSsTest(@Param("id") Integer id, @Param("ruleIsTest") Integer ruleIsTest); + + Integer updRuleStatus(@Param("id") Long id, @Param("ruleStatus") String ruleStatus); + + Integer updEditionStatus(@Param("id") Long id); } diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mq/Producer.java b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mq/Producer.java new file mode 100644 index 0000000..1dcaed1 --- /dev/null +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/mq/Producer.java @@ -0,0 +1,23 @@ +package com.muyu.edition.mq; + +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Log4j2 +public class Producer { + @Autowired + private RabbitTemplate template; + //队列名称 + public static final String QueueName = "edition"; + //生产一个队列 + public void editionMq(Integer id) { + // routingKey: 队列名称 + // object : 消息的内容 + log.info("变化的成功与否:{}",id); + template.convertAndSend("edition",id); + } + +} diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/IEditionService.java b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/IEditionService.java index 7d32588..93568a2 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/IEditionService.java +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/IEditionService.java @@ -69,4 +69,15 @@ public interface IEditionService extends IService { */ public int deleteEditionById(Long id); + /** + * 测试结果 + * @param id + * @param ruleIsTest + * @return + */ + void updRuleSsTest(Integer id, Integer ruleIsTest); + + String updRuleStatus(Long id, String ruleStatus); + + String updEditionStatus(Long id); } diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/impl/EditionServiceImpl.java b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/impl/EditionServiceImpl.java index 88c94c8..324b92b 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/impl/EditionServiceImpl.java +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/java/com/muyu/edition/service/impl/EditionServiceImpl.java @@ -3,9 +3,11 @@ package com.muyu.edition.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.edition.domain.Edition; import com.muyu.edition.mapper.EditionMapper; +import com.muyu.edition.mq.Producer; import com.muyu.edition.service.IEditionService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.kafka.KafkaProperties; import org.springframework.stereotype.Service; import java.util.List; @@ -24,6 +26,8 @@ import static java.util.concurrent.Executors.newFixedThreadPool; public class EditionServiceImpl extends ServiceImpl implements IEditionService { @Autowired private EditionMapper editionMapper; + @Autowired + private Producer producer; /** * 查询规则引擎版本 @@ -70,7 +74,12 @@ public class EditionServiceImpl extends ServiceImpl impl */ @Override public int insertEdition(Edition edition) { - return editionMapper.insertEdition(edition); + int id = editionMapper.insertEdition(edition); + if (id > 0){ + System.out.println("添加"); + producer.editionMq(id); + } + return id; } /** @@ -81,7 +90,13 @@ public class EditionServiceImpl extends ServiceImpl impl */ @Override public int updateEdition(Edition edition) { - return editionMapper.updateEdition(edition); + int id = editionMapper.updateEdition(edition); + if (id>0){ + //将修改的数据传输到mq + System.out.println("修改"); + producer.editionMq(id); + } + return id; } /** @@ -105,4 +120,29 @@ public class EditionServiceImpl extends ServiceImpl impl public int deleteEditionById(Long id) { return editionMapper.deleteEditionById(id); } + + @Override + public void updRuleSsTest(Integer id, Integer ruleIsTest) { + editionMapper.updRuleSsTest(id,ruleIsTest); + } + + @Override + public String updRuleStatus(Long id, String ruleStatus) { + Integer i = editionMapper.updRuleStatus(id, ruleStatus); + if (i>0){ + return "完成处理"; + }else{ + return "处理失败"; + } + } + + @Override + public String updEditionStatus(Long id) { + Integer i = editionMapper.updEditionStatus(id); + if (i>0){ + return "成功激活"; + }else{ + return "激活失败"; + } + } } diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/bootstrap.yml index eb5e92b..0ddd526 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/bootstrap.yml @@ -4,6 +4,11 @@ server: # Spring spring: + rabbitmq: + host: 129.211.23.219 + port: 5672 + username: guest + password: guest application: # 应用名称 name: muyu-rule diff --git a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/mapper/goods/EditionMapper.xml b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/mapper/goods/EditionMapper.xml index a5d69aa..2829af8 100644 --- a/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/mapper/goods/EditionMapper.xml +++ b/muyu-modules/muyu-goods-edition/muyu-goods-edition-server/src/main/resources/mapper/goods/EditionMapper.xml @@ -73,6 +73,21 @@ where id = #{id} + + update edition + set rule_is_test = #{ruleIsTest} + where id = #{id}; + + + update edition + set rule_status = #{ruleStatus} + where id = #{id}; + + + update edition + set edition_status = 1 + where id = #{id}; + delete