| | |
| | | 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.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.user.invite.ThreeSaleSerivce; |
| | | import com.yeshi.fanli.service.manger.money.TeamEincomeManager; |
| | | import com.yeshi.fanli.service.manger.order.TeamDividentsManager; |
| | | import com.yeshi.fanli.util.CMQManager; |
| | | import com.yeshi.fanli.util.RedisKeyEnum; |
| | | import com.yeshi.fanli.util.RedisManager; |
| | | import com.yeshi.fanli.util.StringUtil; |
| | | 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.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; |
| | |
| | | |
| | | @Component |
| | | public class JobManager { |
| | | |
| | | Logger orderMoneyLog = LoggerFactory.getLogger("orderMoneyLog"); |
| | | |
| | | @Resource |
| | | private BoutiqueAutoRuleService boutiqueAutoRuleService; |
| | | |
| | |
| | | private SuningOrderService suningOrderService; |
| | | |
| | | @Resource |
| | | private DYOrderService dyOrderService; |
| | | |
| | | @Resource |
| | | private HWPushService hwPushService; |
| | | |
| | | private Map<String, Long> latestRunTimeMap = new HashMap<>(); |
| | |
| | | doPDDOrderJob();// 拼多多订单处理 |
| | | doVipShopOrderJob();// 唯品会订单处理 |
| | | doSuningOrderJob();// 苏宁订单处理 |
| | | doAllOrderJob();//所有订单处理 |
| | | doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新 |
| | | doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加 |
| | | // doPlaceOrderIntegralJob();// 下单赠送金币任务 |
| | |
| | | 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()); |
| | | TeamOrderCMQManager.getInstance().deleteTeamIncomeMsg(handler); |
| | | orderMoneyLog.info("团队收益结算处理成功:日期-{} Uid-{}", TimeUtil.getGernalTime(dto.getDate().getTime(), "yyyy-MM-dd"), dto.getUid()); |
| | | } catch (Exception e) { |
| | | try { |
| | | LogHelper.errorDetailInfo(e, map.get(handler).toString(), ""); |
| | |
| | | e1.printStackTrace(); |
| | | } |
| | | } |
| | | //无论结算是否成功都删除消息 |
| | | TeamOrderCMQManager.getInstance().deleteTeamIncomeMsg(handler); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | public void run() { |
| | | super.run(); |
| | | try { |
| | | Map<String, Long> map = CMQManager.getInstance().consumeNeedUpdateTaoBaoGoodsIdMsg(16); |
| | | 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(Long.parseLong(key)); |
| | | taoBaoGoodsUpdateService.updateByTaoKeGoodsDetail(map.get(key)); |
| | | CMQManager.getInstance().deleteNeedUpdateTaoBaoGoodsIdMsg(key); |
| | | } |
| | | } |
| | |
| | | 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)) { |
| | |
| | | orderProcessService.processPDDOrder(order); |
| | | } |
| | | PDDOrderCMQManager.getInstance().deletePDDOrder(key); |
| | | LogHelper.test("拼多多订单处理成功:" + key); |
| | | } catch (Exception e) { |
| | | LogHelper.test("拼多多订单处理失败:" + key); |
| | | 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); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 重要的淘宝商品信息更新 |
| | | */ |
| | |
| | | @Override |
| | | public void run() { |
| | | super.run(); |
| | | Map<String, Long> map = CMQManager.getInstance().consumeTBImpGoodsUpdateMsg(16); |
| | | Map<String, String> map = CMQManager.getInstance().consumeTBImpGoodsUpdateMsg(16); |
| | | if (map != null) { |
| | | Iterator<String> its = map.keySet().iterator(); |
| | | while (its.hasNext()) { |