fanli/src/main/java/com/yeshi/fanli/job/UpdateTaoBaoGoodsJob.java
@@ -1,13 +1,5 @@ package com.yeshi.fanli.job; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.yeshi.fanli.entity.bus.activity.RecommendActivity; import com.yeshi.fanli.exception.ActivityException; import com.yeshi.fanli.log.LogHelper; @@ -22,9 +14,14 @@ import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.cache.HttpGoodsCacheManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; /** * 淘宝商品更细 @@ -71,6 +68,9 @@ @Resource private HttpGoodsCacheManager httpGoodsCacheManager; @Resource private RabbitmqManager rabbitmqManager; // 动态商品更新 ,1个小时更新 @Scheduled(cron = "0 0 */1 * * ?") @@ -140,7 +140,7 @@ for (String id : list) { try { CMQManager.getInstance().addNeedUpdateTaoBaoGoodsId(id); rabbitmqManager.addNeedUpdateTaoBaoGoodsId(id); } catch (Exception e) { LogHelper.errorDetailInfo(e); } fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamDividentsJob.java
@@ -1,13 +1,5 @@ package com.yeshi.fanli.job.order; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import com.yeshi.fanli.dto.mq.UidDateDTO; @@ -18,8 +10,14 @@ import com.yeshi.fanli.service.manger.money.TeamEincomeManager; import com.yeshi.fanli.service.manger.order.TeamDividentsManager; import com.yeshi.fanli.util.StringUtil; import org.yeshi.utils.TimeUtil; import com.yeshi.fanli.util.mq.cmq.order.TeamOrderCMQManager; import org.springframework.stereotype.Component; import org.yeshi.utils.TimeUtil; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; //订单团队分红 @Component @@ -40,6 +38,10 @@ @Resource private TeamEincomeRecordService teamEincomeRecordService; @Resource private TeamOrderCMQManager teamOrderCMQManager; public OrderTeamDividentsJob() { @@ -86,7 +88,7 @@ } for (Long uid : targetUidList) TeamOrderCMQManager.getInstance().addTeamDividentsPreMsg(new UidDateDTO(uid, preSendTime)); teamOrderCMQManager.addTeamDividentsPreMsg(new UidDateDTO(uid, preSendTime)); } @XxlJob("addTeamDividentsTOUserAccountHandler") @@ -108,7 +110,7 @@ for (int i = 0; i < totalPage; i++) { List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i + 1, pageSize); for (Long uid : list) { TeamOrderCMQManager.getInstance().addTeamDividentsMsg(new UidDateDTO(uid, preSendTime)); teamOrderCMQManager.addTeamDividentsMsg(new UidDateDTO(uid, preSendTime)); } } if (count <= 0) { fanli/src/main/java/com/yeshi/fanli/job/order/OrderTeamIncomeJob.java
@@ -6,6 +6,7 @@ import javax.annotation.Resource; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -31,6 +32,9 @@ @Resource private TeamEincomeRecordService teamEincomeRecordService; @Resource private TeamOrderCMQManager teamOrderCMQManager; public OrderTeamIncomeJob() { @@ -67,7 +71,7 @@ for (int i = 0; i < totalPage; i++) { List<Long> list = teamEincomeRecordService.listCanRecieveUid(preSendTime, typeList, i + 1, pageSize); for (Long uid : list) { TeamOrderCMQManager.getInstance().addFanLiTeamIncomeMsg(new UidDateDTO(uid, preSendTime)); teamOrderCMQManager.addFanLiTeamIncomeMsg(new UidDateDTO(uid, preSendTime)); orderMoneyLog.info("团队收益结算: 日期-{} Uid-{}", day, uid); } } fanli/src/main/java/com/yeshi/fanli/job/order/UpdateCommonOrderJob.java
@@ -8,6 +8,7 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -26,6 +27,9 @@ @Resource private CommonOrderService commonOrderService; @Resource private OrdersCMQManager ordersCMQManager; @XxlJob("order-update-pay-state") public ReturnT<String> updatePayState(String param) throws Exception { //更新20-25天之前的未处理订单 @@ -40,7 +44,7 @@ resultList = commonOrderService.listPayStateOrder(null, new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 25), new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 20), 1, 500); } for (CommonOrder co : resultList) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(co.getOrderNo(), co.getSourceType())); ordersCMQManager.addOrder(new CommonOrderMQMsg(co.getOrderNo(), co.getSourceType())); } return ReturnT.SUCCESS; } fanli/src/main/java/com/yeshi/fanli/job/order/dy/UpdateDYOrderJob.java
@@ -15,6 +15,7 @@ import com.yeshi.fanli.util.goods.douyin.vo.DYOrderFilter; import com.yeshi.fanli.util.goods.douyin.vo.DYOrderResult; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -29,6 +30,9 @@ @Resource private RedisManager redisManager; @Resource private OrdersCMQManager ordersCMQManager; /** @@ -54,7 +58,7 @@ String result = redisManager.getCommonString(key); // 判断 if (StringUtil.isNullOrEmpty(result)) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrder_id() + "", Constant.SOURCE_TYPE_DY)); ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrder_id() + "", Constant.SOURCE_TYPE_DY)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新 } } catch (DYOrderException e) { fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
@@ -13,6 +13,7 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.annotation.JobMonitor; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; @@ -44,6 +45,9 @@ @Resource private CommonOrderService commonOrderService; @Resource private OrdersCMQManager ordersCMQManager; /** @@ -78,7 +82,7 @@ String result = redisManager.getCommonString(key); // 判断 if (StringUtil.isNullOrEmpty(result)) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderId() + "", Constant.SOURCE_TYPE_JD)); ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrderId() + "", Constant.SOURCE_TYPE_JD)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新 } } catch (JDOrderException e) { @@ -245,7 +249,7 @@ orderIds.add(co.getOrderNo()); } for (String orderId : orderIds) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(orderId, Constant.SOURCE_TYPE_JD)); ordersCMQManager.addOrder(new CommonOrderMQMsg(orderId, Constant.SOURCE_TYPE_JD)); } return ReturnT.SUCCESS; } fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java
@@ -9,6 +9,7 @@ import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; @@ -31,6 +32,9 @@ @Resource private RedisManager redisManager; @Resource private OrdersCMQManager ordersCMQManager; /** * 保存订单 @@ -57,7 +61,7 @@ String result = redisManager.getCommonString(key); // if (!StringUtil.isNullOrEmpty(result)) // continue; OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderSn() + "",Constant.SOURCE_TYPE_PDD)); ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrderSn() + "",Constant.SOURCE_TYPE_PDD)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新 } catch (PDDOrderException e) { fanli/src/main/java/com/yeshi/fanli/job/order/suning/UpdateSuningOrderJob.java
@@ -9,6 +9,7 @@ import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; @@ -33,6 +34,11 @@ @Resource private RedisManager redisManager; @Resource private OrdersCMQManager ordersCMQManager; /** * 保存订单 * @@ -55,7 +61,7 @@ String result = redisManager.getCommonString(key); // 判断 if (StringUtil.isNullOrEmpty(result)) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderCode() + "",Constant.SOURCE_TYPE_SUNING)); ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrderCode() + "",Constant.SOURCE_TYPE_SUNING)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新 } } catch (SuningOrderException e) { fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java
@@ -10,6 +10,7 @@ import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.vipshop.DingDanXiaApiUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +41,9 @@ @Resource private VipShopOrderMapper vipShopOrderMapper; @Resource private OrdersCMQManager ordersCMQManager; /** * 保存订单 * @@ -61,7 +65,7 @@ String result = redisManager.getCommonString(key); // 判断 // if (StringUtil.isNullOrEmpty(result)) { OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderSn() + "", Constant.SOURCE_TYPE_VIP)); ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrderSn() + "", Constant.SOURCE_TYPE_VIP)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新 LogHelper.test("唯品会订单消息发送成功"); // }else{ fanli/src/main/java/com/yeshi/fanli/service/impl/ad/DouYinClickEventServiceImpl.java
@@ -2,6 +2,7 @@ import javax.annotation.Resource; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.ad.DouYinClickEventDao; @@ -15,13 +16,16 @@ @Resource private DouYinClickEventDao douYinClickEventDao; @Resource private DouYinDeviceActiveCMQManager douYinDeviceActiveCMQManager; @Override public void save(DouYinClickEvent event) { // 查询 DouYinClickEvent old = douYinClickEventDao.selectByCallBack(event.getCallback()); if (old == null) { douYinClickEventDao.save(event); DouYinDeviceActiveCMQManager.getInstance().addAdActive(event.getCallback()); douYinDeviceActiveCMQManager.addAdActive(event.getCallback()); } } fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyServiceImpl.java
@@ -1,15 +1,6 @@ package com.yeshi.fanli.service.impl.money; import java.math.BigDecimal; import java.util.Date; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; import com.yeshi.fanli.dao.mybatis.share.ShareMapper; @@ -25,6 +16,12 @@ import com.yeshi.fanli.util.mq.cmq.UserMoneyChangeCMQManager; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; @Service public class UserMoneyServiceImpl implements UserMoneyService { @@ -40,6 +37,9 @@ @Resource private RocketMQManager rocketMQManager; @Resource private UserMoneyChangeCMQManager userMoneyChangeCMQManager; @Override public BigDecimal getMoneyToday(Long uid) { @@ -67,7 +67,7 @@ userInfoMapper.subHongBaoByUid(uid, money); try { if (!Constant.IS_TEST) UserMoneyChangeCMQManager.getInstance() userMoneyChangeCMQManager .addUserMoneyChangeMsg(new UserMoneyChangeDTO(uid, new BigDecimal(0).subtract(money))); } catch (Exception e) { try { @@ -85,7 +85,7 @@ userInfoMapper.addHongBaoByUid(uid, money); try { if (!Constant.IS_TEST) UserMoneyChangeCMQManager.getInstance().addUserMoneyChangeMsg(new UserMoneyChangeDTO(uid, money)); userMoneyChangeCMQManager.addUserMoneyChangeMsg(new UserMoneyChangeDTO(uid, money)); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -15,6 +15,7 @@ import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; @@ -148,6 +149,9 @@ @Resource private CommonOrderCountService commonOrderCountService; @Resource private RabbitmqManager rabbitmqManager; @Transactional public Integer addExtract(Extract extract) { @@ -441,7 +445,7 @@ } try { CMQManager.getInstance().addExtractResultMsg(extract, response, adminUser); rabbitmqManager.addExtractResultMsg(extract, response, adminUser); LogHelper.userErrorInfo("提现:添加处理队列成功-" + extract.getId()); } catch (Exception e) { LogHelper fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
@@ -13,6 +13,7 @@ import javax.annotation.Resource; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -114,6 +115,9 @@ @Resource private RocketMQManager rocketMQManager; @Resource private HongBaoRecieveCMQManager hongBaoRecieveCMQManager; // 下级被封禁,红包失效 private void invalidHongBaoForbidden(HongBaoV2 hongBaoV2) throws TeamRewardDebtException { @@ -497,7 +501,7 @@ hbIdList.add(v2.getId()); accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId()); try { HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(v2.getId()); hongBaoRecieveCMQManager.addHongBaoRecieveMsg(v2.getId()); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -601,7 +605,7 @@ for (Long hongBaoId : hbIdList) { try { if (Constant.ENABLE_MQ) HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -690,7 +694,7 @@ for (Long hongBaoId : recieveHongBaoIds) { try { if (Constant.ENABLE_MQ) HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -767,7 +771,7 @@ for (Long hongBaoId : recieveHongBaoIds) { try { if (Constant.ENABLE_MQ) HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -1,32 +1,5 @@ package com.yeshi.fanli.service.impl.order; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; import javax.annotation.Resource; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.dy.DYOrder; import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.order.TeamRewardManager; import com.yeshi.fanli.util.goods.douyin.DYUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.NumberUtil; import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.transaction.LocalTransactionExecuter; import com.aliyun.openservices.ons.api.transaction.TransactionProducer; @@ -43,10 +16,13 @@ import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; import com.yeshi.fanli.dto.order.CommonOrderAddResultDTO; import com.yeshi.fanli.dto.order.HongBaoAddResult; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.dy.DYOrder; import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap; import com.yeshi.fanli.entity.elme.ElmeOrder; import com.yeshi.fanli.entity.jd.JDOrder; @@ -56,11 +32,7 @@ import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.pdd.PDDOrder; import com.yeshi.fanli.entity.suning.SuningOrderInfo; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.entity.taobao.*; import com.yeshi.fanli.entity.vipshop.VipShopOrder; import com.yeshi.fanli.entity.vipshop.VipShopOrderDetail; import com.yeshi.fanli.exception.elme.ElmeOrderException; @@ -78,11 +50,7 @@ import com.yeshi.fanli.service.inter.elme.ElmeOrderService; import com.yeshi.fanli.service.inter.money.UserMoneyService; import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderMoneySettleService; import com.yeshi.fanli.service.inter.order.OrderProcessService; import com.yeshi.fanli.service.inter.order.*; import com.yeshi.fanli.service.inter.order.jd.JDOrderService; import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService; import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; @@ -90,23 +58,33 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.msg.RocketMQManager; import com.yeshi.fanli.service.manger.order.HongBaoV2AddManager; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.service.manger.order.TeamRewardManager; import com.yeshi.fanli.util.Constant; import org.yeshi.utils.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import org.yeshi.utils.TimeUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.goods.douyin.DYUtil; import com.yeshi.fanli.util.mq.cmq.order.PlaceOrderCMQManager; import com.yeshi.fanli.util.mq.cmq.order.TeamOrderCMQManager; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.suning.SuningApiUtil; import com.yeshi.fanli.util.vipshop.VipShopUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.MoneyBigDecimalUtil; import org.yeshi.utils.NumberUtil; import org.yeshi.utils.TimeUtil; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; @Service public class OrderProcessServiceImpl implements OrderProcessService { @@ -179,6 +157,12 @@ @Resource private RabbitmqManager rabbitmqManager; @Resource private TeamOrderCMQManager teamOrderCMQManager; @Resource private PlaceOrderCMQManager placeOrderCMQManager; /** * 是否是分享订单 @@ -477,7 +461,7 @@ continue; try { if (Constant.ENABLE_MQ) CMQManager.getInstance().addFanLiMsgNew(hb); rabbitmqManager.addFanLiMsgNew(hb); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -597,7 +581,7 @@ try { if (order.getState().contains("维权成功")) { if (Constant.ENABLE_MQ) CMQManager.getInstance().addWeiQuanOrderMsg(order); rabbitmqManager.addWeiQuanOrderMsg(order); } } catch (Exception e) { LogHelper.error("维权订单加入到队列出错:" + order != null ? new Gson().toJson(order) : null); @@ -683,7 +667,7 @@ Long uid = its.next(); try { if (Constant.ENABLE_MQ) TeamOrderCMQManager.getInstance().addFanLiTeamIncomePreMsg(new UidDateDTO(uid, maxTime)); teamOrderCMQManager.addFanLiTeamIncomePreMsg(new UidDateDTO(uid, maxTime)); } catch (Exception e) { e.printStackTrace(); LogHelper.error(e); @@ -717,7 +701,7 @@ Long uid = its.next(); try { if (Constant.ENABLE_MQ) CMQManager.getInstance().addFanLiShareMsg(new UidDateDTO(uid, maxTime)); rabbitmqManager.addFanLiShareMsg(new UidDateDTO(uid, maxTime)); } catch (Exception e) { e.printStackTrace(); LogHelper.error(e); @@ -914,7 +898,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -965,7 +949,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1097,7 +1081,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1128,7 +1112,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1248,7 +1232,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1281,7 +1265,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1384,7 +1368,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1415,7 +1399,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1525,7 +1509,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1558,7 +1542,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1649,7 +1633,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1680,7 +1664,7 @@ order.setUserInfo(new UserInfo(uid)); try { if (Constant.ENABLE_MQ) PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); placeOrderCMQManager.addPlaceOrderMsg(order); } catch (Exception e) { } } fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceActiveServiceImpl.java
@@ -1,21 +1,22 @@ package com.yeshi.fanli.service.impl.push; import java.util.Date; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.mybatis.push.DeviceActiveMapper; import com.yeshi.fanli.entity.push.DeviceActive; import com.yeshi.fanli.service.inter.push.DeviceActiveService; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.cmq.DouYinDeviceActiveCMQManager; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; @Service public class DeviceActiveServiceImpl implements DeviceActiveService { @Resource private DeviceActiveMapper deviceActiveMapper; @Resource private DouYinDeviceActiveCMQManager douYinDeviceActiveCMQManager; @Override public void addDeviceActive(DeviceActive deviceActive) { @@ -47,7 +48,7 @@ } deviceActiveMapper.insertSelective(deviceActive); DouYinDeviceActiveCMQManager.getInstance().addDeviceActive(deviceActive.getDevice(), douYinDeviceActiveCMQManager.addDeviceActive(deviceActive.getDevice(), deviceActive.getPlatform()); } else { DeviceActive updateDeviceActive = new DeviceActive(); @@ -63,7 +64,6 @@ if (StringUtil.isNullOrEmpty(da.getMac())) updateDeviceActive.setMac(deviceActive.getMac()); deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive); } fanli/src/main/java/com/yeshi/fanli/service/impl/push/HWPushServiceImpl.java
@@ -21,6 +21,7 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.cmq.PushCMQManager; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.push.HWPushUtil; import org.springframework.stereotype.Service; @@ -41,6 +42,9 @@ @Resource private SystemConfigService systemConfigService; @Resource private PushCMQManager pushCMQManager; private List<Integer> getVersionCodeList(List<Integer> versionCodeList,SystemEnum system) { List<Integer> versionList = new ArrayList<>(); @@ -138,7 +142,7 @@ String goodsId, PushBaseContent content) { //添加到推送队列 PushContentDetailDTO dto = new PushContentDetailDTO(type, uid, url, webUrl, goodsId, content); PushCMQManager.getInstance().addHWPush(dto); pushCMQManager.addHWPush(dto); } /** fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java
@@ -1,24 +1,11 @@ package com.yeshi.fanli.service.impl.push; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.annotation.Resource; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.config.SystemConfigKeyEnum; import com.yeshi.fanli.service.inter.config.SystemConfigService; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.push.DeviceTokenIOSMapper; import com.yeshi.fanli.dao.mybatis.push.PushQueueRecordMapper; import com.yeshi.fanli.dto.push.PushTypeEnum; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.bus.user.AccountMessage; import com.yeshi.fanli.entity.config.SystemConfigKeyEnum; import com.yeshi.fanli.entity.push.DeviceTokenIOS; import com.yeshi.fanli.entity.push.PushQueueRecord; import com.yeshi.fanli.entity.system.SystemZnx; @@ -26,14 +13,20 @@ import com.yeshi.fanli.entity.xinge.PushRecord; import com.yeshi.fanli.exception.push.PushException; import com.yeshi.fanli.log.PushLogHelper; import com.yeshi.fanli.service.inter.config.SystemConfigService; import com.yeshi.fanli.service.inter.push.IOSPushService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.push.IOSPushUtil; import net.sf.json.JSONObject; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; @Service public class IOSPushServiceImpl implements IOSPushService { @@ -49,6 +42,9 @@ @Resource private SystemConfigService systemConfigService; @Resource private RabbitmqManager rabbitmqManager; @Async("pushExecutor") @@ -377,7 +373,7 @@ pushQueueRecordMapper.insert(pushQueueRecord); // 加入队列 CMQManager.getInstance().addIOSPushMsg(pushQueueRecord); rabbitmqManager.addIOSPushMsg(pushQueueRecord); break; @@ -394,7 +390,7 @@ // 存入数据库 pushQueueRecordMapper.insert(pushQueueRecord); // 加入队列 CMQManager.getInstance().addIOSPushMsg(pushQueueRecord); rabbitmqManager.addIOSPushMsg(pushQueueRecord); } i += totalCount; fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
@@ -1,24 +1,9 @@ package com.yeshi.fanli.service.impl.taobao; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.google.gson.Gson; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper; import com.yeshi.fanli.dao.taobao.TaoBaoGoodsUpdateDao; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.goods.CommonGoodsException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException; @@ -31,11 +16,20 @@ import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; @Service public class TaoBaoGoodsUpdateServiceImpl implements TaoBaoGoodsUpdateService { @@ -72,6 +66,9 @@ @Lazy @Resource private GoodsEvaluateService goodsEvaluateService; @Resource private RabbitmqManager rabbitmqManager; @Override public void startUpdate() { @@ -330,7 +327,7 @@ try { if (taoBaoGoodsCacheUtil.canAddToUpdateQueue(auctionId)) { // 添加到更新队列 CMQManager.getInstance().addTBImpGoodsUpdate(auctionId); rabbitmqManager.addTBImpGoodsUpdate(auctionId); taoBaoGoodsCacheUtil.addAddToQueueHistory(auctionId); } } catch (Exception e) { fanli/src/main/java/com/yeshi/fanli/service/manger/JobManager.java
@@ -1,71 +1,21 @@ package com.yeshi.fanli.service.manger; import com.google.gson.Gson; import com.yeshi.fanli.dto.ad.DouYinDeviceActiveQueueDTO; import com.yeshi.fanli.dto.money.UserMoneyChangeDTO; import com.yeshi.fanli.dto.mq.UidDateDTO; import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; import com.yeshi.fanli.dto.push.PushContentDetailDTO; import com.yeshi.fanli.entity.ad.DouYinClickEvent; import com.yeshi.fanli.entity.bus.user.*; import com.yeshi.fanli.entity.dy.DYOrder; import com.yeshi.fanli.entity.jd.JDOrder; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.pdd.PDDOrder; import com.yeshi.fanli.entity.push.DeviceActive; import com.yeshi.fanli.entity.push.PushQueueRecord; import com.yeshi.fanli.entity.suning.SuningOrderInfo; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.entity.vipshop.VipShopOrder; import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException; import com.yeshi.fanli.exception.order.dividents.TeamDividentsRecordException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.impl.JobThreadExecutorServiceImpl; import com.yeshi.fanli.service.inter.ad.DouYinClickEventService; import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService; import com.yeshi.fanli.service.inter.money.UserMoneyDebtService; import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.OrderProcessService; import com.yeshi.fanli.service.inter.order.dy.DYOrderService; import com.yeshi.fanli.service.inter.order.jd.JDOrderService; import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; import com.yeshi.fanli.service.inter.order.suning.SuningOrderService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; import com.yeshi.fanli.service.inter.order.vipshop.VipShopOrderService; import com.yeshi.fanli.service.inter.push.DeviceActiveService; import com.yeshi.fanli.service.inter.push.HWPushService; import com.yeshi.fanli.service.inter.push.IOSPushService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.manger.money.TeamEincomeManager; import com.yeshi.fanli.service.manger.order.TeamDividentsManager; import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.ad.DouYinAdUtil; import com.yeshi.fanli.util.mq.cmq.DouYinDeviceActiveCMQManager; import com.yeshi.fanli.util.mq.cmq.HongBaoRecieveCMQManager; import com.yeshi.fanli.util.mq.cmq.PushCMQManager; import com.yeshi.fanli.util.mq.cmq.UserMoneyChangeCMQManager; import com.yeshi.fanli.util.mq.cmq.order.*; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Component; import org.yeshi.utils.NumberUtil; import org.yeshi.utils.TimeUtil; import javax.annotation.Resource; import java.lang.reflect.Method; import java.math.BigDecimal; import java.util.*; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @Component public class JobManager { @@ -75,71 +25,6 @@ @Resource private BoutiqueAutoRuleService boutiqueAutoRuleService; @Resource private ExtractService extractService; @Resource private IOSPushService iosPushService; @Resource(name = "taskExecutor") private TaskExecutor executor; @Resource private OrderProcessService orderProcessService; @Resource private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; @Resource private ThreeSaleSerivce threeSaleSerivce; @Resource private TaoBaoOrderService taoBaoOrderService; @Resource private RedisManager redisManager; @Resource private UserMoneyDebtService userMoneyDebtService; @Resource private JDOrderService jdOrderService; @Resource private PDDOrderService pddOrderService; @Resource private HongBaoV2Service hongBaoV2Service; @Resource private IntegralGetService integralGetService; @Resource private CommonOrderService commonOrderService; @Resource private HongBaoOrderService hongBaoOrderService; @Resource private IntegralTaskRecordService integralTaskRecordService; @Resource private DeviceActiveService deviceActiveService; @Resource private TeamDividentsManager teamDividentsManager; @Resource private TeamEincomeManager teamEincomeManager; @Resource private VipShopOrderService vipShopOrderService; @Resource private SuningOrderService suningOrderService; @Resource private DYOrderService dyOrderService; @Resource private HWPushService hwPushService; @@ -165,31 +50,7 @@ * 开始任务 */ public void start() { doExtractResult();// 处理提现结果 doOrderFanLiNew();// 新版返利 doOrderShareFanLi(); doWeiQuanOrder();// 处理维权订单 doPushIOS();// 处理发送IOS消息 doUserMoneyDebtJob();// 债务偿还 initScheduler();// 启动商品更新定时任务 doUpdateGoodsJob(); // 更新商品队列 doJDOrderJob();// 京东订单处理 doPDDOrderJob();// 拼多多订单处理 doVipShopOrderJob();// 唯品会订单处理 doSuningOrderJob();// 苏宁订单处理 doAllOrderJob();//所有订单处理 doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新 doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加 // doPlaceOrderIntegralJob();// 下单赠送金币任务 // doDouYinDeviceActiveJob();// 抖音设备激活广告监测 doOrderTeamIncomePreFanLi();// 处理订单提成返利 doDividentsPreJob(); doOrderTeamRewardFanLi(); doDividentsJob(); //华为推送 doHWPushJob(); } /** @@ -221,276 +82,6 @@ return thread.getStackTrace()[2].getMethodName(); } /** * 处理提现结果的队列 */ public void doExtractResult() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, AlipayTransferResultInfo> map = CMQManager.getInstance().consumeExtractResultMsg(1); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { extractService.processExtractResult(map.get(key)); CMQManager.getInstance().deleteExtractResultMsg(key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { } } }); } /** * 处理新版淘宝订单返利 */ public void doOrderFanLiNew() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, HongBaoV2> map = CMQManager.getInstance().consumeFanLiMsgNew(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String handler = its.next(); try { HongBaoV2 hongbao = map.get(handler); if (hongbao != null) { String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.hongBaoFanLi, hongbao.getId() + ""); if (StringUtil.isNullOrEmpty(redisManager.getCommonString(key))) { // 处理之后要隔2小时再次进行处理 redisManager.cacheCommonString(key, "1", 60 * 60 * 2); orderProcessService.fanli(map.get(handler)); } } CMQManager.getInstance().deleteFanLiMsgNew(handler); } catch (TaoBaoWeiQuanException e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } catch (Exception e) { try { LogHelper.errorDetailInfo(e, "HongBaoV2-ID:" + map.get(handler).getId(), ""); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { } } }); } /** * 处理团队订单返利 */ public void doOrderTeamIncomePreFanLi() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance() .consumeFanLiTeamIncomePreMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String handler = its.next(); try { UidDateDTO dto = map.get(handler); orderProcessService.fanliPreInvaite(dto.getUid(), dto.getDate()); TeamOrderCMQManager.getInstance().deleteTeamIncomePreMsg(handler); } catch (Exception e) { try { LogHelper.errorDetailInfo(e, new Gson().toJson(map.get(handler)).toString(), ""); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { } } }); } /** * 处理团队奖金返利 */ public void doOrderTeamRewardFanLi() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeFanLiTeamIncomeMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String handler = its.next(); try { UidDateDTO dto = map.get(handler); orderMoneyLog.info("团队收益结算开始处理:日期-{} Uid-{}", TimeUtil.getGernalTime(dto.getDate().getTime(), "yyyy-MM-dd"), dto.getUid()); teamEincomeManager.addTeamRewardTOUserAccount(dto.getDate(), dto.getUid()); orderMoneyLog.info("团队收益结算处理成功:日期-{} Uid-{}", TimeUtil.getGernalTime(dto.getDate().getTime(), "yyyy-MM-dd"), dto.getUid()); } catch (Exception e) { try { LogHelper.errorDetailInfo(e, map.get(handler).toString(), ""); } catch (Exception e1) { e1.printStackTrace(); } } //无论结算是否成功都删除消息 TeamOrderCMQManager.getInstance().deleteTeamIncomeMsg(handler); } } } catch (Exception e) { } } }); } /** * 处理分享订单返利 */ public void doOrderShareFanLi() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, UidDateDTO> map = CMQManager.getInstance().consumeFanLiShareMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String handler = its.next(); try { UidDateDTO dto = map.get(handler); orderProcessService.fanliShare(dto.getUid(), dto.getDate()); CMQManager.getInstance().deleteFanLiShareMsg(handler); } catch (Exception e) { try { LogHelper.errorDetailInfo(e, map.get(handler).toString(), ""); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { } } }); } /** * 处理淘宝订单维权 */ public void doWeiQuanOrder() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, TaoBaoWeiQuanOrder> map = CMQManager.getInstance().consumeWeiQuanOrderMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String handler = its.next(); try { orderProcessService.weiQuanOrder(map.get(handler)); CMQManager.getInstance().deleteWeiQuanOrderMsg(handler); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { } } }); } /** * IOS 推送消息 */ public void doPushIOS() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, PushQueueRecord> map = CMQManager.getInstance().consumeIOSPushMsg(10); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { iosPushService.readyPushIOS(map.get(key)); CMQManager.getInstance().deleteIOSPushMsg(key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { LogHelper.errorDetailInfo(e); } } }); } /** * 创建Scheduler()执行自动爬取 */ @@ -498,841 +89,6 @@ boutiqueAutoRuleService.startScheduler(); } /** * 更新精选库商品 */ public void doUpdateGoodsJob() { String methodName = getMethodName(Thread.currentThread()); for (int i = 0; i < 1; i++) new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, String> map = CMQManager.getInstance().consumeNeedUpdateTaoBaoGoodsIdMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); taoBaoGoodsUpdateService.updateByTaoKeGoodsDetail(map.get(key)); CMQManager.getInstance().deleteNeedUpdateTaoBaoGoodsIdMsg(key); } } } catch (Exception e) { e.printStackTrace(); LogHelper.error("更新商品出错:" + e.getMessage()); } } }); } /** * 用户借贷处理 */ public void doUserMoneyDebtJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, UserMoneyChangeDTO> map = UserMoneyChangeCMQManager.getInstance() .consumeQueueMsg(UserMoneyChangeCMQManager.QUEUE_DEBT, 16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { UserMoneyChangeDTO dto = map.get(key); if (dto != null && dto.getChangeMoney().compareTo(new BigDecimal(0)) > 0) { userMoneyDebtService.repayDebt(dto.getUid()); } UserMoneyChangeCMQManager.getInstance() .deleteQueueMsg(UserMoneyChangeCMQManager.QUEUE_DEBT, key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { LogHelper.error("还款出错:" + e.getMessage()); } } }); } public void doJDOrderJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, String> map = JDOrderCMQManager.getInstance().consumeJDOrder(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { String orderId = map.get(key); if (!StringUtil.isNullOrEmpty(orderId)) { JDOrder order = jdOrderService.selectDetailByOrderId(Long.parseLong(orderId)); orderProcessService.processJDOrder(order); } JDOrderCMQManager.getInstance().deleteJDOrder(key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } } } } catch (Exception e) { LogHelper.error("拼多多订单出错:" + e.getMessage()); } } }); } public void doPDDOrderJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, String> map = PDDOrderCMQManager.getInstance().consumePDDOrder(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); LogHelper.test("拼多多订单处理开始:" + key); try { String orderId = map.get(key); if (!StringUtil.isNullOrEmpty(orderId)) { List<PDDOrder> orderList = pddOrderService.selectByOrderSn(orderId); if (orderList != null) for (PDDOrder order : orderList) orderProcessService.processPDDOrder(order); } PDDOrderCMQManager.getInstance().deletePDDOrder(key); LogHelper.test("拼多多订单处理成功:" + key); } catch (Exception e) { LogHelper.test("拼多多订单处理失败:" + key); LogHelper.errorDetailInfo(e); } } } } catch (Exception e) { LogHelper.error("拼多多订单:" + e.getMessage()); } } }); } public void doVipShopOrderJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, String> map = VipShopOrderCMQManager.getInstance().consumeVipShopOrder(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { String orderId = map.get(key); LogHelper.test("唯品会订单消费:" + orderId); if (!StringUtil.isNullOrEmpty(orderId)) { List<VipShopOrder> orderList = vipShopOrderService.listDetailByOrderSn(orderId); if (orderList != null) for (VipShopOrder order : orderList) orderProcessService.processVipShopOrder(order); } VipShopOrderCMQManager.getInstance().deleteVipShopOrder(key); } catch (Exception e) { LogHelper.errorDetailInfo(e); } } } } catch (Exception e) { LogHelper.errorDetailInfo(e); } } }); } public void doSuningOrderJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, String> map = SuningOrderCMQManager.getInstance().consumeSuningOrder(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { String orderId = map.get(key); if (!StringUtil.isNullOrEmpty(orderId)) { List<SuningOrderInfo> orderList = suningOrderService.listByOrderCode(orderId); if (orderList != null) for (SuningOrderInfo order : orderList) orderProcessService.processSuningOrder(order); } SuningOrderCMQManager.getInstance().deleteSuningOrder(key); } catch (Exception e) { LogHelper.errorDetailInfo(e); } } } } catch (Exception e) { LogHelper.errorDetailInfo(e); } } }); } public void doAllOrderJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); try { Map<String, CommonOrderMQMsg> map = OrdersCMQManager.getInstance().consumeOrders(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { CommonOrderMQMsg orderMQMsg = map.get(key); LogHelper.test("订单消费:" + new Gson().toJson(orderMQMsg)); if (orderMQMsg != null) { String orderId = orderMQMsg.getOrderId(); switch (orderMQMsg.getSourceType()) { case Constant .SOURCE_TYPE_JD: { JDOrder order = jdOrderService.selectDetailByOrderId(Long.parseLong(orderId)); orderProcessService.processJDOrder(order); } break; case Constant .SOURCE_TYPE_PDD: { List<PDDOrder> orderList = pddOrderService.selectByOrderSn(orderId); if (orderList != null) for (PDDOrder order : orderList) orderProcessService.processPDDOrder(order); } break; case Constant .SOURCE_TYPE_VIP: { List<VipShopOrder> orderList = vipShopOrderService.listDetailByOrderSn(orderId); if (orderList != null) for (VipShopOrder order : orderList) orderProcessService.processVipShopOrder(order); } break; case Constant .SOURCE_TYPE_SUNING: { List<SuningOrderInfo> orderList = suningOrderService.listByOrderCode(orderId); if (orderList != null) for (SuningOrderInfo order : orderList) orderProcessService.processSuningOrder(order); } break; case Constant .SOURCE_TYPE_DY: { List<DYOrder> orderList = dyOrderService.listByOrderId(orderId); if (orderList != null) for (DYOrder order : orderList) orderProcessService.processDYOrder(order); } break; } } OrdersCMQManager.getInstance().deleteOrder(key); } catch (Exception e) { LogHelper.errorDetailInfo(e); } } } } catch (Exception e) { LogHelper.errorDetailInfo(e); } } }); } /** * 重要的淘宝商品信息更新 */ public void doImportantTaoBaoGoodsUpdateJob() { String methodName = getMethodName(Thread.currentThread()); // 开启2个线程做更新 for (int i = 0; i < 2; i++) new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, String> map = CMQManager.getInstance().consumeTBImpGoodsUpdateMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); try { long startTime = System.currentTimeMillis(); TaoBaoGoodsBrief goods = TaoKeApiUtil.searchGoodsDetail(map.get(key)); // 更新一条数据需要的时间 taoBaoGoodsUpdateService.updateTaoBaoGoods(goods); long time = System.currentTimeMillis() - startTime; LogHelper.test("淘宝重要商品库更新时间:" + time); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } finally { CMQManager.getInstance().deleteTBImpGoodsUpdateMsg(key); } } } } }); } /** * 红包到账后的金币获取 */ public void doHongBaoRecieveIntegralGetJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, Long> map = HongBaoRecieveCMQManager.getInstance() .consumeQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, 16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); Long hongBaoId = map.get(key); try { HongBaoV2 hongBaoV2 = hongBaoV2Service.selectByPrimaryKey(hongBaoId); if (hongBaoV2 != null && hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU && hongBaoV2.getMoney().compareTo(new BigDecimal(0)) > 0) { // 到账送金币 fanliGetIntegral(hongBaoV2); HongBaoRecieveCMQManager.getInstance() .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key); // 返利不足0.01元送金币 if (hongBaoV2.getType() == HongBaoV2.TYPE_ZIGOU) {// 自购 // 判断是否为该用户的首笔红包 List<Integer> typeList = new ArrayList<>(); typeList.add(HongBaoV2.TYPE_ZIGOU); HongBaoV2 firstHongBao = hongBaoV2Service.getFirstValidHongBaoByTypeAndUid( typeList, hongBaoV2.getUserInfo().getId()); if (firstHongBao != null && firstHongBao.getId().longValue() == hongBaoV2.getId()) {// 自购首单到账 // 查询下级红包 BigDecimal firstLevelMoney = new BigDecimal(0); BigDecimal secondLevelMoney = new BigDecimal(0); // 获取改单下面的红包 List<HongBaoV2> hongBaoList = new ArrayList<>(); HongBaoOrder hongBaoOrder = hongBaoOrderService .selectDetailByHongBaoId(hongBaoV2.getId()); if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) {// 计算改订单号下面的所有返利金额 CommonOrder commonOrder = hongBaoOrder.getCommonOrder(); List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId( commonOrder.getSourceType(), commonOrder.getOrderNo()); for (CommonOrder co : list) { HongBaoOrder hbo = hongBaoOrderService .selectDetailByCommonOrderId(co.getId()); if (hbo != null && hbo.getHongBaoV2() != null) hongBaoList.add(hbo.getHongBaoV2()); } } for (HongBaoV2 hb : hongBaoList) { List<HongBaoV2> children = hongBaoV2Service .listChildrenById(hb.getId()); if (children != null) for (HongBaoV2 child : children) if (child.getType() == HongBaoV2.TYPE_YIJI) { firstLevelMoney = firstLevelMoney.add(child.getMoney()); } else if (child.getType() == HongBaoV2.TYPE_ERJI) { secondLevelMoney = secondLevelMoney.add(child.getMoney()); } } // 查询下级的生效时间 ThreeSale threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState( hongBaoV2.getUserInfo().getId(), ThreeSale.STATE_SUCCESS); if (threeSale != null && threeSale.getSucceedTime() != null && threeSale .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 邀请成功的时间是否在下单的时间之前 // 成功时间要大于20190910日才开始送金币 if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901", "yyyyMMdd")) { if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01 integralTaskRecordService.firstRebateOrderRewardBoss( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("自购-一级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } } } // 查询下下级生效时间 if (threeSale != null) { threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState( threeSale.getBoss().getId(), ThreeSale.STATE_SUCCESS); if (threeSale != null && threeSale.getSucceedTime() != null && threeSale .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 邀请成功的时间是否在下单的时间之前 // 成功时间要大于20190910日才开始送金币 if (threeSale.getSucceedTime() > TimeUtil .convertToTimeTemp("20190901", "yyyyMMdd")) { if (secondLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 二级返利小于0.01 integralTaskRecordService.firstRebateOrderRewardBossSuper( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("自购-二级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } } } } } } else if (hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_GOODS) {// 分享赚 // 判断是否为该用户的首笔红包 List<Integer> typeList = new ArrayList<>(); typeList.add(HongBaoV2.TYPE_SHARE_GOODS); HongBaoV2 firstHongBao = hongBaoV2Service.getFirstValidHongBaoByTypeAndUid( typeList, hongBaoV2.getUserInfo().getId()); if (firstHongBao != null && firstHongBao.getId().longValue() == hongBaoV2.getId()) // 分享首笔到账 { // 查询下级红包 BigDecimal firstLevelMoney = new BigDecimal(0); // 获取改单下面的红包 List<HongBaoV2> hongBaoList = new ArrayList<>(); HongBaoOrder hongBaoOrder = hongBaoOrderService .selectDetailByHongBaoId(hongBaoV2.getId()); if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) {// 计算改订单号下面的所有返利金额 CommonOrder commonOrder = hongBaoOrder.getCommonOrder(); List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId( commonOrder.getSourceType(), commonOrder.getOrderNo()); for (CommonOrder co : list) { HongBaoOrder hbo = hongBaoOrderService .selectDetailByCommonOrderId(co.getId()); if (hbo != null && hbo.getHongBaoV2() != null) hongBaoList.add(hbo.getHongBaoV2()); } } for (HongBaoV2 hb : hongBaoList) { List<HongBaoV2> children = hongBaoV2Service .listChildrenById(hb.getId()); if (children != null) for (HongBaoV2 child : children) if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) { firstLevelMoney = firstLevelMoney.add(child.getMoney()); } } ThreeSale threeSale = threeSaleSerivce.selectLatestByWorkerIdAndState( hongBaoV2.getUserInfo().getId(), ThreeSale.STATE_SUCCESS); if (threeSale != null && threeSale.getSucceedTime() != null && threeSale .getSucceedTime() < hongBaoV2.getCreateTime().getTime()) {// 邀请成功的时间是否在下单的时间之前 // 成功时间要大于20190910日才开始送金币 if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901", "yyyyMMdd")) { if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01 integralTaskRecordService.firstSharerOrderRewardBoss( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("分享-一级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } } } } } } } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } finally { } } } } }); } private void fanliGetIntegral(HongBaoV2 hongBaoV2) { if (hongBaoV2 != null && hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU && hongBaoV2.getMoney().compareTo(new BigDecimal(0)) > 0) { // 查询对应的订单号 Long mainHongBaoId = hongBaoV2.getId(); if (hongBaoV2.getParent() != null && hongBaoV2.getParent().getId() != null) mainHongBaoId = hongBaoV2.getParent().getId(); HongBaoOrder hongbaoOrder = hongBaoOrderService.selectDetailByHongBaoId(mainHongBaoId); if (hongbaoOrder == null || hongbaoOrder.getCommonOrder() == null) return; CommonOrder commonOrder = hongbaoOrder.getCommonOrder(); if (hongBaoV2.getType() == HongBaoV2.TYPE_ZIGOU) {// 自购订单 integralGetService.addRebateOrder(hongBaoV2.getUserInfo().getId(), commonOrder.getOrderNo(), commonOrder.getSourceType()); } else if (hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_GOODS) {// 分享订单 integralGetService.addShareOrder(hongBaoV2.getUserInfo().getId(), commonOrder.getOrderNo(), commonOrder.getSourceType()); } else if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 一级邀请 integralGetService.addInviteOrderLevelOne(hongBaoV2.getUserInfo().getId(), commonOrder.getOrderNo(), commonOrder.getSourceType()); } else if (hongBaoV2.getType() == HongBaoV2.TYPE_ERJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 二级邀请 integralGetService.addInviteOrderLevelTwo(hongBaoV2.getUserInfo().getId(), commonOrder.getOrderNo(), commonOrder.getSourceType()); } } } private boolean isFirstValidOrder(String orderId, int sourceType, Long uid) { CommonOrder commonOrder = commonOrderService.selectLatestValidByUid(uid); if (commonOrder != null && commonOrder.getOrderNo().equalsIgnoreCase(orderId) && sourceType == commonOrder.getSourceType()) return true; else return false; } // 下单获取金币任务 public void doPlaceOrderIntegralJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, Order> map = PlaceOrderCMQManager.getInstance() .consumeQueueMsg(PlaceOrderCMQManager.QUEUE_INTEGRAL, 16); if (map != null) { for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { try { String key = its.next(); Order order = map.get(key); // 是否是首单 if (isFirstValidOrder(order.getOrderId(), order.getOrderType(), order.getUserInfo().getId())) { // 统计订单下的用户所获得的返利金额 List<CommonOrder> list = commonOrderService .listBySourceTypeAndOrderId(order.getOrderType(), order.getOrderId()); Map<Long, BigDecimal> hongBaoMoney = new HashMap<>(); if (list != null) for (CommonOrder commonOrder : list) { HongBaoOrder hongBaoOrder = hongBaoOrderService .selectDetailByCommonOrderId(commonOrder.getId()); if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) { Long mainUid = hongBaoOrder.getHongBaoV2().getUserInfo().getId(); if (hongBaoMoney.get(mainUid) == null) hongBaoMoney.put(mainUid, new BigDecimal(0)); hongBaoMoney.put(mainUid, hongBaoMoney.get(mainUid) .add(hongBaoOrder.getHongBaoV2().getMoney())); // 查询上级 List<HongBaoV2> children = hongBaoV2Service .listChildrenById(hongBaoOrder.getHongBaoV2().getId()); if (children != null) { for (HongBaoV2 hongBao : children) { Long uid = hongBao.getUserInfo().getId(); if (hongBaoMoney.get(uid) == null) hongBaoMoney.put(uid, new BigDecimal(0)); hongBaoMoney.put(uid, hongBaoMoney.get(uid).add(hongBao.getMoney())); } } } } if (isFirstValidOrder(order.getOrderId(), order.getOrderType(), order.getUserInfo().getId())) {// 有效的首单 if (hongBaoMoney.get(order.getUserInfo().getId()) == null || hongBaoMoney .get(order.getUserInfo().getId()).compareTo(new BigDecimal("0")) <= 0) { // 分享奖金是0 integralTaskRecordService.firstShareOrderReward(order.getUserInfo().getId(), null); } // 获取上两级数据 UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId()); if (boss != null) {// 判断上级的红包 if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney.get(boss.getId()) .compareTo(new BigDecimal("0")) <= 0) { // 补偿金币 integralTaskRecordService.firstSharerOrderRewardBoss(boss.getId(), order.getUserInfo().getId(), null); } } } else {// 自购订单 UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId()); if (boss != null) {// 判断上级的红包 if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney.get(boss.getId()) .compareTo(new BigDecimal("0")) <= 0) { // 补偿金币1级 integralTaskRecordService.firstRebateOrderRewardBoss(boss.getId(), order.getUserInfo().getId(), null); } boss = threeSaleSerivce.getBoss(boss.getId()); if (boss != null) {// 判断上级的红包 if (hongBaoMoney.get(boss.getId()) == null || hongBaoMoney .get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) { // 补偿金币2级 integralTaskRecordService.firstRebateOrderRewardBossSuper( boss.getId(), order.getUserInfo().getId(), null); } } } } } PlaceOrderCMQManager.getInstance().deleteQueueMsg(PlaceOrderCMQManager.QUEUE_INTEGRAL, key); } catch (Exception e) { LogHelper.errorDetailInfo(e); } } } } }); } // 抖音广告监控 public void doPlaceOrderAdJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, Order> map = PlaceOrderCMQManager.getInstance() .consumeQueueMsg(PlaceOrderCMQManager.QUEUE_AD, 16); if (map != null) { // 是否是首单 for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { String key = its.next(); Order order = map.get(key); if (isFirstValidOrder(order.getOrderId(), order.getOrderType(), order.getUserInfo().getId())) {// 有效的首单 // TODO 抖音的数据回调 } } } } }); } @Resource private DouYinClickEventService douYinClickEventService; // 抖音 public void doDouYinDeviceActiveJob() { String methodName = getMethodName(Thread.currentThread()); LogHelper.test("开始执行:doDouYinDeviceActiveJob"); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, DouYinDeviceActiveQueueDTO> map = DouYinDeviceActiveCMQManager.getInstance() .consume(16); if (map != null) { // 是否是首单 for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { String key = its.next(); DouYinDeviceActiveQueueDTO active = map.get(key); if (active.getType() == DouYinDeviceActiveQueueDTO.TYPE_AD) {// 抖音 DouYinClickEvent event = douYinClickEventService.selectByCallback(active.getCallback()); if (event != null) { if (event.getOs() == 0 && !StringUtil.isNullOrEmpty(event.getUuid())) { DeviceActive deviceActive = deviceActiveService .getFirstActiveInfoByImei(event.getUuid()); if (deviceActive != null) { if (event != null) { if (event.getOs() == 0) DouYinAdUtil.activeAndroid(event.getCallback(), event.getImei(), deviceActive.getCreateTime().getTime()); else if (event.getOs() == 1) DouYinAdUtil.activeIOS(event.getCallback(), event.getIdfa(), deviceActive.getCreateTime().getTime()); } } } else {// TODO 处理IOS } } } else if (active.getType() == DouYinDeviceActiveQueueDTO.TYPE_DEVICE) {// 设备 if (active.getPlatform() == 1) { DeviceActive deviceActive = deviceActiveService .getFirstActiveInfo(active.getDevice()); if (deviceActive != null && !StringUtil.isNullOrEmpty(deviceActive.getImei())) { DouYinClickEvent event = douYinClickEventService .selectByUuid(deviceActive.getImei()); if (event != null) {// 回调 if (deviceActive != null) DouYinAdUtil.activeAndroid(event.getCallback(), event.getImei(), deviceActive.getCreateTime().getTime()); } } } else { // TODO 兼容IOS } } DouYinDeviceActiveCMQManager.getInstance().delete(key); } } } }); } // 分红 public void doDividentsPreJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeTeamDividentsPreMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); UidDateDTO dto = map.get(key); try { teamDividentsManager.addToTeamEincome(dto.getUid(), dto.getDate()); TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key); } catch (TeamDividentsRecordException e1) { if (e1.getCode() == TeamDividentsRecordException.CODE_EXIST) { TeamOrderCMQManager.getInstance().deleteTeamDividentsPreMsg(key); } else { try { LogHelper.errorDetailInfo(e1); } catch (Exception e2) { e2.printStackTrace(); } } } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } finally { } } } } }); } // 分红 public void doDividentsJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, UidDateDTO> map = TeamOrderCMQManager.getInstance().consumeTeamDividentsMsg(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); UidDateDTO dto = map.get(key); try { teamEincomeManager.addTeamDividentsTOUserAccount(dto.getDate(), dto.getUid()); TeamOrderCMQManager.getInstance().deleteTeamDividentsMsg(key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } finally { } } } } }); } // 华为推送 public void doHWPushJob() { String methodName = getMethodName(Thread.currentThread()); new JobThreadExecutorServiceImpl().run(new MyRunnable(methodName) { @Override public void run() { super.run(); Map<String, PushContentDetailDTO> map = PushCMQManager.getInstance().consumeHWPush(16); if (map != null) { Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); PushContentDetailDTO dto = map.get(key); LogHelper.pushHW("接受到消息:" + new Gson().toJson(dto)); try { hwPushService.push(dto); PushCMQManager.getInstance().deleteHWPush(key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch (Exception e1) { e1.printStackTrace(); } } finally { } } } } }); } } fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java
File was deleted fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -30,8 +30,6 @@ public static int PAGE_SIZE = 20; //TDMQ是否为公网 public static boolean TDMQ_PUBLIC = false; // 新的规则生效时间 public static final long NEW_ORDER_FANLI_RULE_TIME = TimeUtil.convertToTimeTemp("2020-04-28 16:00:00", "yyyy-MM-dd HH:mm:ss"); @@ -312,7 +310,6 @@ IS_OUTNET = Boolean.parseBoolean(constantConfig.getOutNetWork()); IS_TASK = Boolean.parseBoolean(constantConfig.getTask()); IS_TEST = Boolean.parseBoolean(constantConfig.getTest()); TDMQ_PUBLIC = Boolean.parseBoolean(constantConfig.getMqPub()); System.out.println("IS_OUTNET:" + IS_OUTNET); System.out.println("IS_TASK:" + IS_TASK); fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/DouYinDeviceActiveCMQManager.java
@@ -1,64 +1,42 @@ package com.yeshi.fanli.util.mq.cmq; import com.google.gson.Gson; import com.qcloud.cmq.Message; import com.yeshi.fanli.dto.ad.DouYinDeviceActiveQueueDTO; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class DouYinDeviceActiveCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static DouYinDeviceActiveCMQManager jdOrderCMQManager; @Resource private RabbitTemplate rabbitTemplate; public static String DOUYIN_DEVICE_ACTIVE = "douyin-device-active"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); DOUYIN_DEVICE_ACTIVE += "-" + Constant.systemCommonConfig.getProjectName(); TDMQUtil.getInstance().createQueue(DOUYIN_DEVICE_ACTIVE); } public static DouYinDeviceActiveCMQManager getInstance() { if (jdOrderCMQManager == null) jdOrderCMQManager = new DouYinDeviceActiveCMQManager(); return jdOrderCMQManager; } public void addDeviceActive(String device, int platform) { if (StringUtil.isNullOrEmpty(device) || platform == 0) return; DouYinDeviceActiveQueueDTO dto = new DouYinDeviceActiveQueueDTO(DouYinDeviceActiveQueueDTO.TYPE_DEVICE, device, platform); TDMQUtil.getInstance().sendMsg(DOUYIN_DEVICE_ACTIVE, new Gson().toJson(dto)); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, DOUYIN_DEVICE_ACTIVE, new Gson().toJson(dto)); } public void addAdActive(String callback) { if (StringUtil.isNullOrEmpty(callback)) return; DouYinDeviceActiveQueueDTO dto = new DouYinDeviceActiveQueueDTO(DouYinDeviceActiveQueueDTO.TYPE_AD, callback); TDMQUtil.getInstance().sendMsg(DOUYIN_DEVICE_ACTIVE, new Gson().toJson(dto)); } public Map<String, DouYinDeviceActiveQueueDTO> consume(int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, DOUYIN_DEVICE_ACTIVE); Map<String, DouYinDeviceActiveQueueDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; map.put(msg.receiptHandle, new Gson().fromJson(result, DouYinDeviceActiveQueueDTO.class)); } return map; } public void delete(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(DOUYIN_DEVICE_ACTIVE, receiptHandle); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, DOUYIN_DEVICE_ACTIVE, new Gson().toJson(dto)); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/HongBaoRecieveCMQManager.java
@@ -1,54 +1,23 @@ package com.yeshi.fanli.util.mq.cmq; import com.qcloud.cmq.Message; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class HongBaoRecieveCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static HongBaoRecieveCMQManager userMoneyChangeCMQManager; @Resource private RabbitTemplate rabbitTemplate; private final static String TOPIC_NAME = "topic_hongbao"; public static String QUEUE_INTEGRAL = TOPIC_NAME + "_" + "integral"; public static String SUBSCRIBE_INTEGRAL = "integral"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); // 创建主题,添加订阅 TDMQUtil.getInstance().createTopic(TOPIC_NAME); // 用户券订阅 String[] subscripts = new String[]{SUBSCRIBE_INTEGRAL}; String[] queues = new String[]{QUEUE_INTEGRAL}; for (int i = 0; i < subscripts.length; i++) { String queueName = queues[i]; try { TDMQUtil.getInstance().createQueue(queueName); } catch (Exception e) { } try { TDMQUtil.getInstance().subscribeTopic(TOPIC_NAME, subscripts[i], queueName); } catch (Exception e) { } } } public static HongBaoRecieveCMQManager getInstance() { if (userMoneyChangeCMQManager == null) userMoneyChangeCMQManager = new HongBaoRecieveCMQManager(); return userMoneyChangeCMQManager; } /** * 发布 @@ -58,31 +27,8 @@ public void addHongBaoRecieveMsg(Long hongBaoId) { if (hongBaoId == null) return; TDMQUtil.getInstance().publishTopicMessage(TOPIC_NAME, hongBaoId + ""); RabbitmqSenderUtil.sendExchangeMsg(rabbitTemplate,TOPIC_NAME,"*", hongBaoId + ""); LogHelper.test("红包消息投递成功"); } /** * 消费队列消息 * * @param queueName * @param count * @return */ public Map<String, Long> consumeQueueMsg(String queueName, int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, queueName); Map<String, Long> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; map.put(msg.receiptHandle, Long.parseLong(result)); } return map; } public void deleteQueueMsg(String queueName, String receiptHandle) { TDMQUtil.getInstance().deleteMsg(queueName, receiptHandle); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/PushCMQManager.java
@@ -1,34 +1,27 @@ package com.yeshi.fanli.util.mq.cmq; import com.google.gson.Gson; import com.qcloud.cmq.Message; import com.yeshi.fanli.dto.push.PushContentDetailDTO; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class PushCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static PushCMQManager pushCMQManager; @Resource private RabbitTemplate rabbitTemplate; public static String PUSH_HW = "push-hw"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); PUSH_HW += "-" + Constant.systemCommonConfig.getProjectName(); TDMQUtil.getInstance().createQueue(PUSH_HW); } public static PushCMQManager getInstance() { if (pushCMQManager == null) pushCMQManager = new PushCMQManager(); return pushCMQManager; } /** * @param dto @@ -37,33 +30,6 @@ if (dto == null) return; String json = new Gson().toJson(dto); TDMQUtil.getInstance().sendMsg(PUSH_HW, json); } /** * 消费队列消息 * * @param count * @return */ public Map<String, PushContentDetailDTO> consumeHWPush(int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, PUSH_HW); Map<String, PushContentDetailDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; PushContentDetailDTO dto = new Gson().fromJson(result, PushContentDetailDTO.class); map.put(msg.receiptHandle, dto); } return map; } /** * 删除京东队列 * * @param receiptHandle */ public void deleteHWPush(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(PUSH_HW, receiptHandle); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, PUSH_HW, json); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java
@@ -5,52 +5,27 @@ import com.yeshi.fanli.dto.money.UserMoneyChangeDTO; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @Component public class UserMoneyChangeCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static UserMoneyChangeCMQManager userMoneyChangeCMQManager; private static TDMQUtil tdmqUtil; @Resource private RabbitTemplate rabbitTemplate; private final static String TOPIC_NAME = "topic_user_money"; public static String QUEUE_DEBT = TOPIC_NAME + "_" + "debt"; public static String SUBSCRIBE_DEBT = "debt"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); tdmqUtil = TDMQUtil.getInstance(); // 创建主题,添加订阅 tdmqUtil.createTopic(TOPIC_NAME); // 用户券订阅 String[] subscripts = new String[]{SUBSCRIBE_DEBT}; String[] queues = new String[]{QUEUE_DEBT}; for (int i = 0; i < subscripts.length; i++) { String queueName = queues[i]; try { tdmqUtil.createQueue(queueName); } catch (Exception e) { } try { tdmqUtil.subscribeTopic(TOPIC_NAME, subscripts[i], queueName); } catch (Exception e) { } } } public static UserMoneyChangeCMQManager getInstance() { if (userMoneyChangeCMQManager == null) userMoneyChangeCMQManager = new UserMoneyChangeCMQManager(); return userMoneyChangeCMQManager; } /** * 发布 @@ -60,32 +35,8 @@ public void addUserMoneyChangeMsg(UserMoneyChangeDTO dto) { if (dto == null) return; tdmqUtil.publishTopicMessage(TOPIC_NAME, new Gson().toJson(dto)); RabbitmqSenderUtil.sendExchangeMsg(rabbitTemplate, TOPIC_NAME,"*", new Gson().toJson(dto) ); LogHelper.test("资金消息投递成功"); } /** * 消费队列消息 * * @param queueName * @param count * @return */ public Map<String, UserMoneyChangeDTO> consumeQueueMsg(String queueName, int count) { List<Message> list = tdmqUtil.recieveMsg(count, queueName); Map<String, UserMoneyChangeDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; UserMoneyChangeDTO dto = new Gson().fromJson(result, UserMoneyChangeDTO.class); map.put(msg.receiptHandle, dto); } return map; } public void deleteQueueMsg(String queueName, String receiptHandle) { tdmqUtil.deleteMsg(queueName, receiptHandle); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/JDOrderCMQManager.java
File was deleted fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/OrdersCMQManager.java
@@ -1,38 +1,26 @@ package com.yeshi.fanli.util.mq.cmq.order; import com.google.gson.Gson; import com.qcloud.cmq.Message; import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.cmq.TDMQUtil; import net.sf.json.JSONObject; import org.yeshi.utils.JsonUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class OrdersCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static OrdersCMQManager jdOrderCMQManager; @Resource private RabbitTemplate rabbitTemplate; public static String ORDER_ALL = "order-all"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); ORDER_ALL += "-" + Constant.systemCommonConfig.getProjectName(); TDMQUtil.getInstance().createQueue(ORDER_ALL); } public static OrdersCMQManager getInstance() { if (jdOrderCMQManager == null) jdOrderCMQManager = new OrdersCMQManager(); return jdOrderCMQManager; } /** * 添加订单到队列 @@ -40,33 +28,8 @@ * @param msg */ public void addOrder(CommonOrderMQMsg msg) { TDMQUtil.getInstance().sendMsg(ORDER_ALL, new Gson().toJson(msg)); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, ORDER_ALL, new Gson().toJson(msg)); } /** * 消费队列消息 * * @param count * @return */ public Map<String, CommonOrderMQMsg> consumeOrders(int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, ORDER_ALL); Map<String, CommonOrderMQMsg> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; map.put(msg.receiptHandle, JsonUtil.getSimpleGson().fromJson(result,CommonOrderMQMsg.class)); } return map; } /** * 删除京东队列 * * @param receiptHandle */ public void deleteOrder(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(ORDER_ALL, receiptHandle); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/PDDOrderCMQManager.java
File was deleted fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/PlaceOrderCMQManager.java
@@ -1,20 +1,18 @@ package com.yeshi.fanli.util.mq.cmq.order; import com.google.gson.Gson; import com.qcloud.cmq.Message; import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.mq.cmq.TDMQUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class PlaceOrderCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static PlaceOrderCMQManager placeOrderCMQManager; @Resource private RabbitTemplate rabbitTemplate; private final static String TOPIC_NAME = "topic_place_order"; @@ -24,35 +22,6 @@ public static String SUBSCRIBE_AD = "ad"; public static String SUBSCRIBE_INTEGRAL = "integral"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); // 创建主题,添加订阅 TDMQUtil.getInstance().createTopic(TOPIC_NAME); // 用户券订阅 String[] subscripts = new String[]{SUBSCRIBE_AD, SUBSCRIBE_INTEGRAL}; String[] queues = new String[]{QUEUE_AD, QUEUE_INTEGRAL}; for (int i = 0; i < subscripts.length; i++) { String queueName = queues[i]; try { TDMQUtil.getInstance().createQueue(queueName); } catch (Exception e) { } try { TDMQUtil.getInstance().subscribeTopic(TOPIC_NAME, subscripts[i], queueName); } catch (Exception e) { } } } public static PlaceOrderCMQManager getInstance() { if (placeOrderCMQManager == null) placeOrderCMQManager = new PlaceOrderCMQManager(); return placeOrderCMQManager; } /** * 下单 * @@ -61,33 +30,7 @@ public void addPlaceOrderMsg(Order order) { if (order == null) return; TDMQUtil.getInstance().publishTopicMessage(TOPIC_NAME, new Gson().toJson(order)); } /** * 消费队列消息 * * @param queueName * @param count * @return */ public Map<String, Order> consumeQueueMsg(String queueName, int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, queueName); Map<String, Order> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; Order dto = new Gson().fromJson(result, Order.class); map.put(msg.receiptHandle, dto); } return map; } public void deleteQueueMsg(String queueName, String receiptHandle) { TDMQUtil.getInstance().deleteMsg(queueName, receiptHandle); RabbitmqSenderUtil.sendExchangeMsg(rabbitTemplate, TOPIC_NAME, "*",new Gson().toJson(order)); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/SuningOrderCMQManager.java
File was deleted fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/TeamOrderCMQManager.java
@@ -1,21 +1,20 @@ package com.yeshi.fanli.util.mq.cmq.order; import com.google.gson.Gson; import com.qcloud.cmq.Message; import com.yeshi.fanli.dto.mq.UidDateDTO; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.mq.cmq.TDMQUtil; import com.yeshi.fanli.util.mq.rabbit.RabbitmqSenderUtil; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @Component public class TeamOrderCMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static TeamOrderCMQManager jdOrderCMQManager; @Resource private RabbitTemplate rabbitTemplate; // 团队分红 public static String TEAM_DIVIDENTS_PRE = "team_dividents_pre"; @@ -28,118 +27,31 @@ public static String FANLI_TEAM_INCOME_ORDER = "fanli-team-income-order"; static { TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); TEAM_DIVIDENTS_PRE += "-" + Constant.systemCommonConfig.getProjectName(); FANLI_TEAM_INCOME_ORDER_PRE += "-" + Constant.systemCommonConfig.getProjectName(); TEAM_DIVIDENTS += "-" + Constant.systemCommonConfig.getProjectName(); FANLI_TEAM_INCOME_ORDER += "-" + Constant.systemCommonConfig.getProjectName(); TDMQUtil.getInstance().createQueue(TEAM_DIVIDENTS_PRE); TDMQUtil.getInstance().createQueue(FANLI_TEAM_INCOME_ORDER_PRE); TDMQUtil.getInstance().createQueue(TEAM_DIVIDENTS); TDMQUtil.getInstance().createQueue(FANLI_TEAM_INCOME_ORDER); } public static TeamOrderCMQManager getInstance() { if (jdOrderCMQManager == null) jdOrderCMQManager = new TeamOrderCMQManager(); return jdOrderCMQManager; } // 团队分红预到账 public void addTeamDividentsPreMsg(UidDateDTO dto) { TDMQUtil.getInstance().sendMsg(TEAM_DIVIDENTS_PRE, new Gson().toJson(dto)); } public Map<String, UidDateDTO> consumeTeamDividentsPreMsg(int count) { Gson gson = new Gson(); List<Message> list = TDMQUtil.getInstance().recieveMsg(count, TEAM_DIVIDENTS_PRE); Map<String, UidDateDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; if (!StringUtil.isNullOrEmpty(result)) { map.put(msg.receiptHandle, gson.fromJson(result, UidDateDTO.class)); } } return map; } public void deleteTeamDividentsPreMsg(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(TEAM_DIVIDENTS_PRE, receiptHandle); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, TEAM_DIVIDENTS_PRE, new Gson().toJson(dto)); } // 团队收益预到账 public void addFanLiTeamIncomePreMsg(UidDateDTO dto) { TDMQUtil.getInstance().sendMsg(FANLI_TEAM_INCOME_ORDER_PRE, new Gson().toJson(dto) + ""); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, FANLI_TEAM_INCOME_ORDER_PRE, new Gson().toJson(dto) + ""); } public Map<String, UidDateDTO> consumeFanLiTeamIncomePreMsg(int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, FANLI_TEAM_INCOME_ORDER_PRE); Map<String, UidDateDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; UidDateDTO dto = new Gson().fromJson(result, UidDateDTO.class); if (!StringUtil.isNullOrEmpty(result)) { map.put(msg.receiptHandle, dto); } } return map; } public void deleteTeamIncomePreMsg(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(FANLI_TEAM_INCOME_ORDER_PRE, receiptHandle); } // 团队分红到账 public void addTeamDividentsMsg(UidDateDTO dto) { TDMQUtil.getInstance().sendMsg(TEAM_DIVIDENTS, new Gson().toJson(dto)); } public Map<String, UidDateDTO> consumeTeamDividentsMsg(int count) { Gson gson = new Gson(); List<Message> list = TDMQUtil.getInstance().recieveMsg(count, TEAM_DIVIDENTS); Map<String, UidDateDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; if (!StringUtil.isNullOrEmpty(result)) { map.put(msg.receiptHandle, gson.fromJson(result, UidDateDTO.class)); } } return map; } public void deleteTeamDividentsMsg(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(TEAM_DIVIDENTS, receiptHandle); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, TEAM_DIVIDENTS, new Gson().toJson(dto)); } // 团队收益到账 public void addFanLiTeamIncomeMsg(UidDateDTO dto) { TDMQUtil.getInstance().sendMsg(FANLI_TEAM_INCOME_ORDER, new Gson().toJson(dto) + ""); } public Map<String, UidDateDTO> consumeFanLiTeamIncomeMsg(int count) { List<Message> list = TDMQUtil.getInstance().recieveMsg(count, FANLI_TEAM_INCOME_ORDER); Map<String, UidDateDTO> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; UidDateDTO dto = new Gson().fromJson(result, UidDateDTO.class); if (!StringUtil.isNullOrEmpty(result)) { map.put(msg.receiptHandle, dto); } } return map; } public void deleteTeamIncomeMsg(String receiptHandle) { TDMQUtil.getInstance().deleteMsg(FANLI_TEAM_INCOME_ORDER, receiptHandle); RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, FANLI_TEAM_INCOME_ORDER, new Gson().toJson(dto)+""); } } fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/order/VipShopOrderCMQManager.java
File was deleted fanli/src/main/resource/dubbo/consumer.xml
@@ -11,8 +11,8 @@ <dubbo:annotation package="com.yeshi.fanli"></dubbo:annotation> <!--<dubbo:registry address="zookeeper://172.16.16.46:2181"/>--> <dubbo:registry address="zookeeper://193.112.35.168:2182"/> <dubbo:registry address="zookeeper://172.16.16.46:2181"/> <!--<dubbo:registry address="zookeeper://193.112.35.168:2182"/>--> <!-- url=dubbo://192.168.3.122:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService --> fanli/src/main/resource/env-pro-job/rabbitmq.properties
New file @@ -0,0 +1,9 @@ rabbitmq.host=172.16.16.38 rabbitmq.port=5672 rabbitmq.username=root rabbitmq.password=yeshi2014 rabbitmq.virtual-host=/fanli rabbitmq.x-message-ttl=21600000