大屏接口

dev_0531
yechenhao 6 years ago
parent 6651512736
commit 08df3092c2

@ -1,14 +1,10 @@
package com.kiisoo.ic.job.count; package com.kiisoo.ic.job.count;
import com.kiisoo.ic.customer.CustomerService;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.wx.service.QWMailListManageService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import me.chanjar.weixin.cp.bean.WxCpUserExternalContactInfo;
import java.util.List; import java.util.List;

@ -1,9 +1,6 @@
package com.kiisoo.ic.job.count; package com.kiisoo.ic.job.count;
import com.kiisoo.ic.customer.CustomerService;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.wx.service.QWMailListManageService;
import com.lmax.disruptor.RingBuffer; import com.lmax.disruptor.RingBuffer;
public class CountDTOMessageEventProducer { public class CountDTOMessageEventProducer {
@ -19,7 +16,8 @@ public class CountDTOMessageEventProducer {
} }
public void produceData(int index, String cpUserId) { public void produceData(int index, String cpUserId) {
long seq = ringBuffer.next(); // 获得下一个Event槽的下标 // 获得下一个Event槽的下标
long seq = ringBuffer.next();
try { try {
// 给Event填充数据 // 给Event填充数据
//给这个区块放入 数据 如果此处不理解想想RingBuffer的结构图 //给这个区块放入 数据 如果此处不理解想想RingBuffer的结构图

@ -1,20 +0,0 @@
package com.kiisoo.ic.job.count;
import com.lmax.disruptor.EventTranslator;
import java.util.Random;
public class CountDTOMessageEventTranslator implements EventTranslator<CountDTOMessage> {
private Random random = new Random();
private CountDTOMessage generateTradeTransaction(CountDTOMessage trade) {
// System.out.println("DTOMessageEventTranslator" + trade.toString());
return trade;
}
@Override
public void translateTo(CountDTOMessage countDtoMessage, long l) {
this.generateTradeTransaction(countDtoMessage);
}
}

@ -11,14 +11,13 @@ import me.chanjar.weixin.cp.api.WxCpExternalContactService;
import me.chanjar.weixin.cp.api.WxCpService; import me.chanjar.weixin.cp.api.WxCpService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import static com.kiisoo.ic.config.WxCpConfiguration.APPLICATIONID; import static com.kiisoo.ic.config.WxCpConfiguration.APPLICATIONID;
@Slf4j @Slf4j
public class CountDTOMessageGroup1Consumer implements WorkHandler<CountDTOMessage> { public class CountDTOMessageGroupConsumer implements WorkHandler<CountDTOMessage> {
int i = 0; int i = 0;
/** /**

@ -1,23 +0,0 @@
package com.kiisoo.ic.job.count;
import com.lmax.disruptor.dsl.Disruptor;
import java.util.concurrent.CountDownLatch;
public class CountDTOMessagePublish implements Runnable {
private Disruptor<CountDTOMessage> disruptor;
private CountDownLatch latch;
public CountDTOMessagePublish(Disruptor<CountDTOMessage> disruptor, CountDownLatch latch) {
this.disruptor = disruptor;
this.latch = latch;
}
@Override
public void run() {
for (int i = 0; i < 3; i++) {
disruptor.publishEvent(new CountDTOMessageEventTranslator());
}
latch.countDown();
}
}

@ -2,13 +2,10 @@ package com.kiisoo.ic.job.count;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kiisoo.ic.config.WxCpConfiguration; import com.kiisoo.ic.config.WxCpConfiguration;
import com.kiisoo.ic.customer.CustomerService;
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO; import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO; import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper; import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
import com.kiisoo.ic.wx.service.QWMailListManageService;
import com.lmax.disruptor.BlockingWaitStrategy; import com.lmax.disruptor.BlockingWaitStrategy;
import com.lmax.disruptor.RingBuffer; import com.lmax.disruptor.RingBuffer;
import com.lmax.disruptor.dsl.Disruptor; import com.lmax.disruptor.dsl.Disruptor;
@ -57,9 +54,9 @@ public class CustomerCountJob {
RingBuffer<CountDTOMessage> ringBuffer = disruptor.getRingBuffer(); RingBuffer<CountDTOMessage> ringBuffer = disruptor.getRingBuffer();
// 创建100个消费者来处理同一个生产者发的消息(这100个消费者不重复消费消息) // 创建100个消费者来处理同一个生产者发的消息(这100个消费者不重复消费消息)
CountDTOMessageGroup1Consumer[] consumers = new CountDTOMessageGroup1Consumer[THREAD_NUMBERS]; CountDTOMessageGroupConsumer[] consumers = new CountDTOMessageGroupConsumer[THREAD_NUMBERS];
for (int i = 0; i < consumers.length; i++) { for (int i = 0; i < consumers.length; i++) {
consumers[i] = new CountDTOMessageGroup1Consumer(); consumers[i] = new CountDTOMessageGroupConsumer();
} }
disruptor.handleEventsWithWorkerPool(consumers); disruptor.handleEventsWithWorkerPool(consumers);

@ -56,9 +56,9 @@ public class CustomerDataJob {
RingBuffer<DetailDTOMessage> ringBuffer = disruptor.getRingBuffer(); RingBuffer<DetailDTOMessage> ringBuffer = disruptor.getRingBuffer();
// 创建100个消费者来处理同一个生产者发的消息(这100个消费者不重复消费消息) // 创建100个消费者来处理同一个生产者发的消息(这100个消费者不重复消费消息)
DetailDTOMessageGroup1Consumer[] consumers = new DetailDTOMessageGroup1Consumer[THREAD_NUMBERS]; DetailDTOMessageGroupConsumer[] consumers = new DetailDTOMessageGroupConsumer[THREAD_NUMBERS];
for (int i = 0; i < consumers.length; i++) { for (int i = 0; i < consumers.length; i++) {
consumers[i] = new DetailDTOMessageGroup1Consumer(); consumers[i] = new DetailDTOMessageGroupConsumer();
} }
disruptor.handleEventsWithWorkerPool(consumers); disruptor.handleEventsWithWorkerPool(consumers);

@ -1,23 +0,0 @@
package com.kiisoo.ic.job.detail;
import com.lmax.disruptor.dsl.Disruptor;
import java.util.concurrent.CountDownLatch;
public class DTOMessagePublish implements Runnable {
private Disruptor<DetailDTOMessage> disruptor;
private CountDownLatch latch;
public DTOMessagePublish(Disruptor<DetailDTOMessage> disruptor, CountDownLatch latch) {
this.disruptor = disruptor;
this.latch = latch;
}
@Override
public void run() {
for (int i = 0; i < 3; i++) {
disruptor.publishEvent(new DetailDTOMessageEventTranslator());
}
latch.countDown();
}
}

@ -1,8 +1,6 @@
package com.kiisoo.ic.job.detail; package com.kiisoo.ic.job.detail;
import com.kiisoo.ic.customer.CustomerService; import com.kiisoo.ic.customer.CustomerService;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.wx.service.QWMailListManageService; import com.kiisoo.ic.wx.service.QWMailListManageService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

@ -23,7 +23,8 @@ public class DetailDTOMessageEventProducer {
} }
public void produceData(int index,Long storeId, String cpUserId) { public void produceData(int index,Long storeId, String cpUserId) {
long seq = ringBuffer.next(); // 获得下一个Event槽的下标 // 获得下一个Event槽的下标
long seq = ringBuffer.next();
try { try {
// 给Event填充数据 // 给Event填充数据
//给这个区块放入 数据 如果此处不理解想想RingBuffer的结构图 //给这个区块放入 数据 如果此处不理解想想RingBuffer的结构图

@ -1,20 +0,0 @@
package com.kiisoo.ic.job.detail;
import com.lmax.disruptor.EventTranslator;
import java.util.Random;
public class DetailDTOMessageEventTranslator implements EventTranslator<DetailDTOMessage> {
private Random random = new Random();
private DetailDTOMessage generateTradeTransaction(DetailDTOMessage trade) {
// System.out.println("DTOMessageEventTranslator" + trade.toString());
return trade;
}
@Override
public void translateTo(DetailDTOMessage detailDtoMessage, long l) {
this.generateTradeTransaction(detailDtoMessage);
}
}

@ -19,7 +19,7 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
@Slf4j @Slf4j
public class DetailDTOMessageGroup1Consumer implements WorkHandler<DetailDTOMessage> { public class DetailDTOMessageGroupConsumer implements WorkHandler<DetailDTOMessage> {
int i = 0; int i = 0;
/** /**
@ -31,7 +31,6 @@ public class DetailDTOMessageGroup1Consumer implements WorkHandler<DetailDTOMess
@Override @Override
public void onEvent(DetailDTOMessage detailDtoMessage) throws Exception { public void onEvent(DetailDTOMessage detailDtoMessage) throws Exception {
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
// System.out.println(Thread.currentThread().getName() + "开始时间:" + s + " | " + dtoMessage.getIndex());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
detailDtoMessage.setId(UUID.randomUUID().toString()); detailDtoMessage.setId(UUID.randomUUID().toString());

@ -1,23 +0,0 @@
package com.kiisoo.ic.job.detail;
import com.lmax.disruptor.ExceptionHandler;
public class EventExceptionHandler implements ExceptionHandler {
@Override
public void handleEventException(Throwable ex, long sequence, Object event) {
System.out.println("handleEventException" + ex);
}
@Override
public void handleOnShutdownException(Throwable ex) {
System.out.println("handleEventException" + ex);
}
@Override
public void handleOnStartException(Throwable ex) {
System.out.println("handleOnStartException" + ex);
}
}
Loading…
Cancel
Save