mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 21:32:07 +08:00
新增webcad生产单导入:1、cad拆单同步新结构优化适配;2、cad拆单支持基于配置限制板件数量和是否异步拆单,新增异步拆单;
This commit is contained in:
+8
@@ -1,6 +1,8 @@
|
||||
package com.cf.imes.framework.organ.core.mq.rabbitmq;
|
||||
|
||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.kafka.clients.producer.ProducerInterceptor;
|
||||
import org.springframework.amqp.AmqpException;
|
||||
import org.springframework.amqp.core.Message;
|
||||
@@ -8,6 +10,7 @@ import org.springframework.amqp.core.MessagePostProcessor;
|
||||
import org.springframework.messaging.handler.invocation.InvocableHandlerMethod;
|
||||
|
||||
import static com.cf.imes.framework.web.core.util.WebFrameworkUtils.HEADER_ORGAN_ID;
|
||||
import static com.cf.imes.framework.web.core.util.WebFrameworkUtils.HEADER_PEEK;
|
||||
|
||||
/**
|
||||
* RabbitMQ 消息队列的多组织 {@link ProducerInterceptor} 实现类
|
||||
@@ -25,6 +28,11 @@ public class OrganRabbitMQMessagePostProcessor implements MessagePostProcessor {
|
||||
if (organId != null) {
|
||||
message.getMessageProperties().getHeaders().put(HEADER_ORGAN_ID, organId);
|
||||
}
|
||||
|
||||
String peek = DynamicDataSourceContextHolder.peek();
|
||||
if (StringUtils.isNotEmpty(peek)) {
|
||||
message.getMessageProperties().getHeaders().put(HEADER_PEEK, peek);
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
|
||||
+16
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.messaging.handler.invocation;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.framework.organ.core.util.OrganUtils;
|
||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||
@@ -33,6 +35,7 @@ import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static com.cf.imes.framework.web.core.util.WebFrameworkUtils.HEADER_ORGAN_ID;
|
||||
import static com.cf.imes.framework.web.core.util.WebFrameworkUtils.HEADER_PEEK;
|
||||
|
||||
/**
|
||||
* Extension of {@link HandlerMethod} that invokes the underlying method with
|
||||
@@ -122,6 +125,7 @@ public class InvocableHandlerMethod extends HandlerMethod {
|
||||
// 注意:如下是本类的改动点!!!
|
||||
// 情况一:无组织编号的情况
|
||||
Long organId= parseorganId(message);
|
||||
parsePeek(message);
|
||||
if (organId == null) {
|
||||
return doInvoke(args);
|
||||
}
|
||||
@@ -149,6 +153,18 @@ public class InvocableHandlerMethod extends HandlerMethod {
|
||||
throw new IllegalArgumentException("未知的数据类型:" + organId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 头部带有多数据源,透传
|
||||
*
|
||||
* @param message
|
||||
*/
|
||||
private void parsePeek(Message<?> message) {
|
||||
Object peek = message.getHeaders().get(HEADER_PEEK);
|
||||
if (ObjectUtil.isNotNull(peek)) {
|
||||
DynamicDataSourceContextHolder.push(peek.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the method argument values for the current message, checking the provided
|
||||
* argument values and falling back to the configured argument resolvers.
|
||||
|
||||
Reference in New Issue
Block a user