From 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 十月 2022 16:55:02 +0800 Subject: [PATCH] 批量添加结算消息 --- app/src/main/java/com/yeshi/makemoney/app/Application.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/yeshi/makemoney/app/Application.java b/app/src/main/java/com/yeshi/makemoney/app/Application.java index bfd01d7..571cd03 100644 --- a/app/src/main/java/com/yeshi/makemoney/app/Application.java +++ b/app/src/main/java/com/yeshi/makemoney/app/Application.java @@ -1,17 +1,37 @@ package com.yeshi.makemoney.app; +import com.google.gson.Gson; +import com.ks.lib.common.exception.ParamsException; +import com.yeshi.makemoney.app.dto.mq.ExtractTransferResultMQMsg; +import com.yeshi.makemoney.app.dto.mq.GoldCornSettleMQMsg; +import com.yeshi.makemoney.app.exception.goldcorn.GoldCornConsumeRecordException; +import com.yeshi.makemoney.app.exception.goldcorn.GoldCornMoneyExchangeRateRecordException; +import com.yeshi.makemoney.app.exception.money.UserMoneyRecordException; +import com.yeshi.makemoney.app.exception.user.UserInfoException; +import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornSettleService; +import com.yeshi.makemoney.app.service.inter.money.ExtractService; +import com.yeshi.makemoney.app.utils.Constant; +import com.yeshi.makemoney.app.utils.LogUtil; +import com.yeshi.makemoney.app.utils.mq.CMQManager; import org.mybatis.spring.annotation.MapperScan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.Bean; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.yeshi.utils.mq.JobThreadExecutorServiceImpl; import org.yeshi.utils.tencentcloud.COSManager; import org.yeshi.utils.tencentcloud.entity.COSInitParams; +import javax.annotation.Resource; +import javax.servlet.MultipartConfigElement; +import java.io.File; +import java.util.Iterator; +import java.util.Map; import java.util.Properties; //涓嶅紩鍏ユ暟鎹簱 @@ -22,10 +42,12 @@ @EnableTransactionManagement //@EnableDubbo(scanBasePackages = "com.ks.push.service.remote") public class Application implements ApplicationListener<ContextRefreshedEvent> { + Logger settleLogger= LoggerFactory.getLogger("settleLog"); private final static Logger logger = LoggerFactory.getLogger(Application.class); public static void main(String[] args) { SpringApplication.run(Application.class, args); + logger.info(Constant.wxTransferConfig.toString()); logger.info("搴旂敤鍚姩鎴愬姛"); } @@ -35,7 +57,15 @@ logger.info("瀹瑰櫒鍔犺浇瀹屾瘯"); initMQMsgConsumer(); initCOS(); + LogUtil.settleLogger.info("test123"); + } + + @Resource + private GoldCornSettleService goldCornSettleService; + + @Resource + private ExtractService extractService; private void initMQMsgConsumer() { final int THREAD_NUM = 3; @@ -46,9 +76,60 @@ @Override public void run() { + Map<String, GoldCornSettleMQMsg> map = CMQManager.getInstance().consumeGoldCornSettleMsg(10); + if (map != null) { + for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { + String key = its.next(); + GoldCornSettleMQMsg msg = map.get(key); + try { + settleLogger.info("娑堣垂缁撶畻娑堟伅寮�濮嬶細{}",new Gson().toJson(msg)); + goldCornSettleService.settle(msg.getUid(), msg.getDay(),msg.getSettleId()); + CMQManager.getInstance().deleteGoldCornSettleMsg(key); + settleLogger.info("娑堣垂缁撶畻娑堟伅鎴愬姛锛歿}",new Gson().toJson(msg)); + } catch (UserInfoException e) { + e.printStackTrace(); + settleLogger.error("娑堣垂缁撶畻娑堟伅寮傚父锛歿} ",new Gson().toJson(msg),e); + } catch (GoldCornMoneyExchangeRateRecordException e) { + e.printStackTrace(); + settleLogger.error("娑堣垂缁撶畻娑堟伅寮傚父锛歿} ",new Gson().toJson(msg),e); + } catch (UserMoneyRecordException e) { + e.printStackTrace(); + settleLogger.error("娑堣垂缁撶畻娑堟伅寮傚父锛歿} ",new Gson().toJson(msg),e); + } catch (GoldCornConsumeRecordException e) { + e.printStackTrace(); + settleLogger.error("娑堣垂缁撶畻娑堟伅寮傚父锛歿} ",new Gson().toJson(msg),e); + } catch (Exception e) { + e.printStackTrace(); + settleLogger.error("娑堣垂缁撶畻娑堟伅寮傚父锛歿} ",new Gson().toJson(msg),e); + } + } + } + + } }); } + + //澶勭悊鎻愮幇缁撴灉 + new JobThreadExecutorServiceImpl().run(new Runnable() { + @Override + public void run() { + Map<String, ExtractTransferResultMQMsg> map = CMQManager.getInstance().consumeExtractResultMsg(1); + if (map != null) { + for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { + String key = its.next(); + ExtractTransferResultMQMsg msg = map.get(key); + try { + extractService.processExtractResult(msg); + CMQManager.getInstance().deleteExtractResultMsg(key); + } catch (ParamsException e) { + e.printStackTrace(); + } + } + } + } + }); + } @@ -69,4 +150,16 @@ COSManager.getInstance().init(params); } + @Bean + MultipartConfigElement multipartConfigElement() { + MultipartConfigFactory factory = new MultipartConfigFactory(); + String location = System.getProperty("user.dir") + "/data/tmp"; + File tmpFile = new File(location); + if (!tmpFile.exists()) { + tmpFile.mkdirs(); + } + factory.setLocation(location); + return factory.createMultipartConfig(); + } + } -- Gitblit v1.8.0