Browse Source

events模块添加newsfeignclient

dev
yujintao 6 years ago
parent
commit
e8bb277d83
  1. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml
  2. 42
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java
  3. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java
  4. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java
  5. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java
  6. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java

5
esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml

@ -23,6 +23,11 @@
<artifactId>epdc-admin-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-news-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>

42
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.TaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* 线程池
*
* @author rongchao
* @Date 18-11-27
*/
@Configuration
@EnableAsync
public class ThreadConfig {
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 设置核心线程数
executor.setCorePoolSize(5);
// 设置最大线程数
executor.setMaxPoolSize(10);
// 设置队列容量
executor.setQueueCapacity(20);
// 设置线程活跃时间(秒)
executor.setKeepAliveSeconds(60);
// 设置默认线程名称
executor.setThreadNamePrefix("esd-");
// 设置拒绝策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
// 等待所有任务结束后再关闭线程池
executor.setWaitForTasksToCompleteOnShutdown(true);
executor.setAwaitTerminationSeconds(60);
executor.initialize();
return executor;
}
}

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/NewsTask.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.modules.async;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.NewsFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
/**
* 新闻通知消息模块 线程任务
*
* @author work@yujt.net.cn
* @date 2019/9/18 15:39
*/
@Component
public class NewsTask {
@Autowired
private NewsFeignClient newsFeignClient;
/**
* 给用户发送消息
*
* @param informationDto
* @return void
* @author work@yujt.net.cn
* @date 2019/9/18 15:39
*/
@Async
public void insertUserInformation(EpdcInformationFormDTO informationDto) {
newsFeignClient.saveInformation(informationDto);
}
}

32
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/NewsFeignClient.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.modules.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.NewsFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 消息模块
*
* @author work@yujt.net.cn
* @date 2019/9/18 15:37
*/
@FeignClient(name = ServiceConstant.EPDC_NEWS_SERVER, fallback = NewsFeignClientFallback.class)
public interface NewsFeignClient {
/**
* 给用户发消息
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/9/18 15:40
*/
@PostMapping(value = "news/epdc-app/information/save", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result saveInformation(@RequestBody EpdcInformationFormDTO formDto);
}

21
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/NewsFeignClientFallback.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.modules.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.modules.feign.NewsFeignClient;
import org.springframework.stereotype.Component;
/**
* @author work@yujt.net.cn
* @date 2019/9/18 15:38
*/
@Component
public class NewsFeignClientFallback implements NewsFeignClient {
@Override
public Result saveInformation(EpdcInformationFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_NEWS_SERVER, "saveInformation", formDto);
}
}

5
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcInformationFormDTO.java

@ -67,15 +67,14 @@ public class EpdcInformationFormDTO implements Serializable {
private String businessType;
/**
* 消息所属业务ID
* 消息所属业务ID(查看详情用)
*/
@NotBlank(message = "消息所属业务ID不能为空")
private String businessId;
/**
* 消息关联业务内容被回复的评论被评论的议题
* 消息关联业务内容议题的评论评论的回复
*/
@NotBlank(message = "消息关联业务内容不能为空")
private String relBusinessContent;
}
Loading…
Cancel
Save