5 changed files with 350 additions and 0 deletions
@ -0,0 +1,60 @@ |
|||||
|
package com.elink.esua.epdc.feign; |
||||
|
|
||||
|
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; |
||||
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
||||
|
import com.elink.esua.epdc.feign.fallback.CloudAnalysisFeignClientFallback; |
||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* 调用数据分析模块 |
||||
|
* |
||||
|
* @Author:wanggongfeng |
||||
|
* @Date:2020/08/25 09:36 |
||||
|
*/ |
||||
|
@FeignClient(name = ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, fallback = CloudAnalysisFeignClientFallback.class) |
||||
|
public interface CloudAnalysisFeignClient { |
||||
|
|
||||
|
/** |
||||
|
* 难点赌点 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@PostMapping("cloudAnalysis/screenJob/difficultydata") |
||||
|
Result difficultydata(); |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-治理能力数据 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@PostMapping("cloudAnalysis/screenJob/governrankdata") |
||||
|
Result governrankdata(); |
||||
|
|
||||
|
/** |
||||
|
* 党建引领-组织排行 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@PostMapping("cloudAnalysis/screenJob/orgrankdata") |
||||
|
Result orgrankdata(); |
||||
|
|
||||
|
/** |
||||
|
* 党建引领|基层治理-居民(党员)积分排行榜 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@PostMapping("cloudAnalysis/screenJob/partyuserrankdata") |
||||
|
Result partyuserrankdata(); |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-公众参与 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@PostMapping("cloudAnalysis/screenJob/userjoin") |
||||
|
Result userjoin(); |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,67 @@ |
|||||
|
package com.elink.esua.epdc.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.feign.CloudAnalysisFeignClient; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
/** |
||||
|
* @Author:wanggongfeng |
||||
|
* @Date:2020/08/25 09:36 |
||||
|
*/ |
||||
|
@Component |
||||
|
public class CloudAnalysisFeignClientFallback implements CloudAnalysisFeignClient { |
||||
|
|
||||
|
/** |
||||
|
* 难点赌点 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public Result difficultydata() { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, "difficultydata"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-治理能力数据 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public Result governrankdata() { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, "governrankdata"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 党建引领-组织排行 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public Result orgrankdata() { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, "orgrankdata"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 党建引领|基层治理-居民(党员)积分排行榜 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public Result partyuserrankdata() { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, "partyuserrankdata"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-公众参与 |
||||
|
* |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public Result userjoin() { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.EPDC_CLOUD_ANALYSIS_SERVER, "userjoin"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
package com.elink.esua.epdc.task.screen; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @describe: 大屏展示推送数据接口-每天推送一次 |
||||
|
* @author wanggongfeng |
||||
|
* @date 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public interface PushDataEveryDayTask { |
||||
|
|
||||
|
/** |
||||
|
* @describe: 大屏数据推送 |
||||
|
* @author wanggongfeng |
||||
|
* @date 2020-08-25 09:25 |
||||
|
* @params [] |
||||
|
* @return void |
||||
|
*/ |
||||
|
void run(); |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,149 @@ |
|||||
|
package com.elink.esua.epdc.task.screen; |
||||
|
|
||||
|
import com.elink.esua.epdc.feign.CloudAnalysisFeignClient; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.util.concurrent.Callable; |
||||
|
import java.util.concurrent.ExecutorService; |
||||
|
import java.util.concurrent.Executors; |
||||
|
import java.util.concurrent.Future; |
||||
|
|
||||
|
/** |
||||
|
* @program: esua-epdc |
||||
|
* @description: 大屏展示推送数据-每天 |
||||
|
* @author: wanggongfeng |
||||
|
* @create: 2020-08-25 09:25 |
||||
|
**/ |
||||
|
@Component("pushDataEveryDayTask") |
||||
|
public class PushDataEveryDayTaskImpl implements PushDataEveryDayTask { |
||||
|
|
||||
|
private Logger logger = LoggerFactory.getLogger(getClass()); |
||||
|
|
||||
|
//创建固定大小为100 的线程池
|
||||
|
private static ExecutorService service = Executors.newFixedThreadPool(100); |
||||
|
|
||||
|
@Autowired |
||||
|
private CloudAnalysisFeignClient cloudAnalysisFeignClient; |
||||
|
|
||||
|
@Override |
||||
|
public void run() { |
||||
|
for(int i = 0 ; i < 5 ; i++){ |
||||
|
Integer integer = createThread(i); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 创建线程调用 |
||||
|
* @param methodIndex |
||||
|
* @return |
||||
|
*/ |
||||
|
public Integer createThread(Integer methodIndex){ |
||||
|
//使用Future,Callable实现发送消息后返回发送结果
|
||||
|
Future<Integer> future = service.submit(new Callable<Integer>() { |
||||
|
@Override |
||||
|
public Integer call() throws Exception { |
||||
|
//调用相对比较耗时的发送消息接口
|
||||
|
Thread.sleep(200); |
||||
|
if (methodIndex == 0) { |
||||
|
// 调用-->难点赌点
|
||||
|
difficultydata(); |
||||
|
} else if (methodIndex == 1){ |
||||
|
// 调用-->基层治理-治理能力数据
|
||||
|
governrankdata(); |
||||
|
} else if (methodIndex == 2){ |
||||
|
// 调用-->党建引领-组织排行
|
||||
|
orgrankdata(); |
||||
|
} else if (methodIndex == 3){ |
||||
|
// 调用-->党建引领|基层治理-居民(党员)积分排行榜
|
||||
|
partyuserrankdata(); |
||||
|
} else if (methodIndex == 4){ |
||||
|
// 调用-->基层治理-公众参与
|
||||
|
userjoin(); |
||||
|
} |
||||
|
return 0; |
||||
|
} |
||||
|
}); |
||||
|
Integer isSuccess = 0; |
||||
|
try { |
||||
|
isSuccess = future.get(); |
||||
|
}catch (Exception e){ |
||||
|
|
||||
|
} |
||||
|
return isSuccess; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 难点赌点 |
||||
|
* @Author: wanggongfeng |
||||
|
* @Date: 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public void difficultydata() { |
||||
|
//方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|难点赌点>定时任务开始执行"); |
||||
|
cloudAnalysisFeignClient.difficultydata(); |
||||
|
logger.info("<" + methodName + "|难点赌点>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-治理能力数据 |
||||
|
* @Author: wanggongfeng |
||||
|
* @Date: 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public void governrankdata() { |
||||
|
//方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务开始执行"); |
||||
|
cloudAnalysisFeignClient.governrankdata(); |
||||
|
logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 党建引领-组织排行 |
||||
|
* @Author: wanggongfeng |
||||
|
* @Date: 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public void orgrankdata() { |
||||
|
//方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|党建引领-组织排行>定时任务开始执行"); |
||||
|
cloudAnalysisFeignClient.orgrankdata(); |
||||
|
logger.info("<" + methodName + "|党建引领-组织排行>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 党建引领|基层治理-居民(党员)积分排行榜 |
||||
|
* @Author: wanggongfeng |
||||
|
* @Date: 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public void partyuserrankdata() { |
||||
|
//方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|党建引领|基层治理-居民(党员)积分排行榜>定时任务开始执行"); |
||||
|
cloudAnalysisFeignClient.partyuserrankdata(); |
||||
|
logger.info("<" + methodName + "|党建引领|基层治理-居民(党员)积分排行榜>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 基层治理-公众参与 |
||||
|
* @Author: wanggongfeng |
||||
|
* @Date: 2020-08-25 09:25 |
||||
|
*/ |
||||
|
public void userjoin() { |
||||
|
//方法名
|
||||
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
||||
|
logger.info("<" + methodName + "|基层治理-公众参与>定时任务开始执行"); |
||||
|
cloudAnalysisFeignClient.userjoin(); |
||||
|
logger.info("<" + methodName + "|基层治理-公众参与>定时任务执行结束"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue