fase()修改或增加用mq通知初始化
parent
f0e416ccf1
commit
29e6463f58
|
@ -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<List<Edition>> tableDataInfoResult = editionDataRemoteService.lists();
|
||||
List<Edition> editions = tableDataInfoResult.getData();
|
||||
EditionSoutceConfig.indexByte(editions);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<List<Edition>> tableDataInfoResult = editionDataRemoteService.lists();
|
||||
// log.info("获取规则:{}",tableDataInfoResult);
|
||||
List<Edition> editionList = tableDataInfoResult.getData();
|
||||
// log.info("获取规则:{}",editionList);
|
||||
//处理获取的引擎和规则
|
||||
for (RuleEngine listResultDatum : listResultData) {
|
||||
List<Edition> 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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -41,5 +41,11 @@
|
|||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- rabbitMQ 依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-amqp</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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("等待");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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<List<DataModel>> getColumn(Long id, String tableName, Integer ruleLevel);
|
||||
|
||||
Object setColumn(TestDataModelReq testDataModelReq);
|
||||
|
||||
void editionInitialize();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,11 @@ server:
|
|||
|
||||
# Spring
|
||||
spring:
|
||||
rabbitmq:
|
||||
host: 129.211.23.219
|
||||
port: 5672
|
||||
username: guest
|
||||
password: guest
|
||||
application:
|
||||
# 应用名称
|
||||
name: muyu-test
|
||||
|
|
|
@ -28,5 +28,6 @@
|
|||
<version>3.6.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -96,6 +96,23 @@
|
|||
<version>9.4.0.jre8</version>
|
||||
</dependency>
|
||||
|
||||
<!-- rabbitMq 依赖客户端-->
|
||||
<dependency>
|
||||
<groupId>com.rabbitmq</groupId>
|
||||
<artifactId>amqp-client</artifactId>
|
||||
</dependency>
|
||||
<!-- 操作文件流的一个依赖 -->
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- rabbitMQ 依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-amqp</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -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<List<Edition>> 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));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -62,4 +62,9 @@ public interface EditionMapper extends BaseMapper<Edition> {
|
|||
|
||||
List<Edition> 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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -69,4 +69,15 @@ public interface IEditionService extends IService<Edition> {
|
|||
*/
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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<EditionMapper, Edition> implements IEditionService {
|
||||
@Autowired
|
||||
private EditionMapper editionMapper;
|
||||
@Autowired
|
||||
private Producer producer;
|
||||
|
||||
/**
|
||||
* 查询规则引擎版本
|
||||
|
@ -70,7 +74,12 @@ public class EditionServiceImpl extends ServiceImpl<EditionMapper, Edition> 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<EditionMapper, Edition> 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<EditionMapper, Edition> 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 "激活失败";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,11 @@ server:
|
|||
|
||||
# Spring
|
||||
spring:
|
||||
rabbitmq:
|
||||
host: 129.211.23.219
|
||||
port: 5672
|
||||
username: guest
|
||||
password: guest
|
||||
application:
|
||||
# 应用名称
|
||||
name: muyu-rule
|
||||
|
|
|
@ -73,6 +73,21 @@
|
|||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
<update id="updRuleSsTest">
|
||||
update edition
|
||||
set rule_is_test = #{ruleIsTest}
|
||||
where id = #{id};
|
||||
</update>
|
||||
<update id="updRuleStatus">
|
||||
update edition
|
||||
set rule_status = #{ruleStatus}
|
||||
where id = #{id};
|
||||
</update>
|
||||
<update id="updEditionStatus">
|
||||
update edition
|
||||
set edition_status = 1
|
||||
where id = #{id};
|
||||
</update>
|
||||
|
||||
<delete id="deleteEditionById" parameterType="Long">
|
||||
delete
|
||||
|
|
Loading…
Reference in New Issue