From cac1b40133ef5c03dd58ffcb7185063fccc03e4d Mon Sep 17 00:00:00 2001 From: leejoker <1056650571@qq.com> Date: Tue, 5 Jan 2021 21:54:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=B9=B6=E8=A1=8C=E6=B5=81?= =?UTF-8?q?=E5=92=8C=E5=BC=82=E6=AD=A5=E5=A4=84=E7=90=86=E5=A4=9A=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/linkwechat/LinkWeChatApplication.java | 2 ++ .../controller/wecom/WeCustomerController.java | 16 ++++++---------- linkwe-admin/src/main/resources/application.yml | 5 +++++ .../service/impl/WeCustomerServiceImpl.java | 12 +++++------- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/linkwe-admin/src/main/java/com/linkwechat/LinkWeChatApplication.java b/linkwe-admin/src/main/java/com/linkwechat/LinkWeChatApplication.java index 6ebad25f..9684fe1a 100644 --- a/linkwe-admin/src/main/java/com/linkwechat/LinkWeChatApplication.java +++ b/linkwe-admin/src/main/java/com/linkwechat/LinkWeChatApplication.java @@ -6,6 +6,7 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.scheduling.annotation.EnableAsync; /** * 启动程序 @@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, PageHelperAutoConfiguration.class }) @MapperScan("com.linkwechat.*.mapper") @ForestScan(basePackages = "com.linkwechat.wecom.client") +@EnableAsync public class LinkWeChatApplication { public static void main(String[] args) diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java index bb8b98b2..e3d0d054 100644 --- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java +++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java @@ -22,7 +22,7 @@ import java.util.List; /** * 企业微信客户Controller - * + * * @author ruoyi * @date 2020-09-13 */ @@ -106,16 +106,12 @@ public class WeCustomerController extends BaseController @PreAuthorize("@ss.hasPermi('customerManage:customer:sync')") @Log(title = "企业微信客户同步接口", businessType = BusinessType.DELETE) @GetMapping("/synchWeCustomer") - public AjaxResult synchWeCustomer(){ - SecurityContext securityContext = SecurityContextHolder.getContext(); + public AjaxResult synchWeCustomer() { try { - Threads.SINGLE_THREAD_POOL.execute(new Runnable() { - @Override - public void run() { - SecurityContextHolder.setContext(securityContext); - weCustomerService.synchWeCustomer(); - } - }); + SecurityContext context = SecurityContextHolder.getContext(); + SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL); + SecurityContextHolder.setContext(context); + weCustomerService.synchWeCustomer(); } catch (Exception e) { e.printStackTrace(); } diff --git a/linkwe-admin/src/main/resources/application.yml b/linkwe-admin/src/main/resources/application.yml index 975b3382..e650ceff 100644 --- a/linkwe-admin/src/main/resources/application.yml +++ b/linkwe-admin/src/main/resources/application.yml @@ -56,6 +56,11 @@ spring: max-file-size: 10MB # 设置总上传的文件大小 max-request-size: 20MB + task: + execution: + pool: + keep-alive: 10s + thread-name-prefix: common-pool- # 服务模块 devtools: restart: diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java index 992e3cb3..d1b81778 100644 --- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java +++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java @@ -26,6 +26,7 @@ import com.linkwechat.wecom.domain.vo.WeMakeCustomerTag; import com.linkwechat.wecom.mapper.WeCustomerMapper; import com.linkwechat.wecom.service.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; @@ -121,21 +122,18 @@ public class WeCustomerServiceImpl extends ServiceImpl { + .parallelStream().forEach(k -> { try { - Threads.SINGLE_THREAD_POOL.execute(() -> { - SecurityContextHolder.setContext(securityContext); - weFlowerCustomerHandle(k); - }); + SecurityContextHolder.setContext(securityContext); + weFlowerCustomerHandle(k); } catch (Exception e) { e.printStackTrace(); } -- GitLab