大屏接口

dev_0531
yechenhao 6 years ago
parent fb0570eeb5
commit 5cba1b3e7b

@ -717,27 +717,11 @@ public class CustomerViewService {
* @return * @return
*/ */
public void syncVip() throws InterruptedException { public void syncVip() throws InterruptedException {
//初始化线程
ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(8);
//查询现有企业微信账号 //查询现有企业微信账号
List<OpCustomer> customers = opCustomerDOMapper.selectList(null); List<OpCustomer> customers = opCustomerDOMapper.selectList(null);
if (CollectionUtils.isNotEmpty(customers)){
//分组
final List<List<OpCustomer>> afterPageList = com.kiisoo.ic.utils.CollectionUtils.portListByQuantity(customers, 100);
//定义线程池长度
int threadPoolSize = afterPageList.size();
//定义countDownLatch
final CountDownLatch countDownLatch = new CountDownLatch(threadPoolSize);
for (int i = 0; i < afterPageList.size(); i++) {
List<OpCustomer> opCustomers = afterPageList.get(i);
newFixedThreadPool.execute(new Runnable() {
@Override
public void run() {
try {
//查询企业微信已配置联系我的用户 //查询企业微信已配置联系我的用户
for (OpCustomer customer : opCustomers) { for (OpCustomer customer : customers) {
String wechatUniId = customer.getWechatUniId(); String wechatUniId = customer.getWechatUniId();
if (StringUtils.isBlank(wechatUniId)){ if (StringUtils.isBlank(wechatUniId)){
continue; continue;
@ -788,18 +772,6 @@ public class CustomerViewService {
wrapper1.eq("wechat_uni_id", wechatUniId); wrapper1.eq("wechat_uni_id", wechatUniId);
opCustomerDOMapper.update(opCustomer, wrapper1); opCustomerDOMapper.update(opCustomer, wrapper1);
} }
}
} catch (Exception e) {
log.error("同步会员数据", e);
} finally {
//每次减去一,避免死锁
countDownLatch.countDown();
}
}
});
}
countDownLatch.await();
} }
} }
} }

@ -28,7 +28,7 @@ public class CustomerDataJob {
// 指定 ring buffer字节大小必需为2的N次方(能将求模运算转为位运算提高效率 ),否则影响性能 // 指定 ring buffer字节大小必需为2的N次方(能将求模运算转为位运算提高效率 ),否则影响性能
private static final int BUFFER_SIZE = 1024 * 1024; private static final int BUFFER_SIZE = 1024 * 1024;
//固定线程数 //固定线程数
private static final int THREAD_NUMBERS = 50; private static final int THREAD_NUMBERS = 30;
@Autowired @Autowired

Loading…
Cancel
Save