admin
2020-04-15 3d92fcd729376c584a07d5f23b8e06f81fbcbcde
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -30,6 +30,7 @@
import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper;
import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
import com.yeshi.fanli.dto.mq.UidDateDTO;
import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
import com.yeshi.fanli.dto.mq.order.body.OrderMQMsg;
import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
@@ -588,70 +589,74 @@
   }
   @Override
   public void fanliInvaiteAndShare() {
      // 查出邀请赚与分享赚该返利的用户ID
      List<Long> inviteAndShareUids = hongBaoV2Mapper.listUidCanBanlanceShareAndInvite(1000);
   public void fanliPreInvaite(Date maxTime) {
      // 查出邀请赚的用户ID
      List<Integer> typeList = new ArrayList<>();
      typeList.add(HongBaoV2.TYPE_YIJI);
      typeList.add(HongBaoV2.TYPE_ERJI);
      typeList.add(HongBaoV2.TYPE_SHARE_YIJI);
      typeList.add(HongBaoV2.TYPE_SHARE_ERJI);
      long count = hongBaoV2Mapper.countUidCanBanlanceByTypeAndMaxTime(typeList, maxTime);
      int pageSize = 1000;
      int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
      Set<Long> uidSets = new HashSet<>();
      if (inviteAndShareUids != null)
         for (Long uid : inviteAndShareUids) {
            if (userInfoMapper.selectAvailableByPrimaryKey(uid) != null)
               uidSets.add(uid);
         }
      for (int i = 0; i < page; i++) {
         List<Long> inviteAndShareUids = hongBaoV2Mapper.listUidCanBanlanceByTypeAndMaxTime(typeList, maxTime,
               i * pageSize, pageSize);
         if (inviteAndShareUids != null)
            for (Long uid : inviteAndShareUids) {
               if (userInfoMapper.selectAvailableByPrimaryKey(uid) != null)
                  uidSets.add(uid);
            }
      }
      // 根据用户ID
      Iterator<Long> its = uidSets.iterator();
      while (its.hasNext()) {
         Long uid = its.next();
         try {
            if (Constant.ENABLE_MQ)
               CMQManager.getInstance().addFanLiTiChengMsg(uid);
               CMQManager.getInstance().addFanLiTeamIncomeMsg(new UidDateDTO(uid, maxTime));
         } catch (Exception e) {
            e.printStackTrace();
            LogHelper.error(e);
         }
      }
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void fanliInvaiteAndShare(Long uid) throws TaoBaoWeiQuanException {
      // 邀请赚到账
      Date now = new Date();
      try {
         orderMoneySettleService.inviteSettleTB(uid, now);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
   public void fanliShare(Date maxTime) {
      // 查出邀请赚的用户ID
      List<Integer> typeList = new ArrayList<>();
      typeList.add(HongBaoV2.TYPE_SHARE_GOODS);
      long count = hongBaoV2Mapper.countUidCanBanlanceByTypeAndMaxTime(typeList, maxTime);
      int pageSize = 1000;
      int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
      Set<Long> uidSets = new HashSet<>();
      for (int i = 0; i < page; i++) {
         List<Long> inviteAndShareUids = hongBaoV2Mapper.listUidCanBanlanceByTypeAndMaxTime(typeList, maxTime,
               i * pageSize, pageSize);
         if (inviteAndShareUids != null)
            for (Long uid : inviteAndShareUids) {
               if (userInfoMapper.selectAvailableByPrimaryKey(uid) != null)
                  uidSets.add(uid);
            }
      }
      // 根据用户ID
      Iterator<Long> its = uidSets.iterator();
      while (its.hasNext()) {
         Long uid = its.next();
         try {
            if (Constant.ENABLE_MQ)
               CMQManager.getInstance().addFanLiShareMsg(new UidDateDTO(uid, maxTime));
         } catch (Exception e) {
            e.printStackTrace();
            LogHelper.error(e);
         }
      }
      try {
         orderMoneySettleService.inviteSettleJD(uid, now);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      //
      try {
         orderMoneySettleService.inviteSettlePDD(uid, now);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      // 分享赚到账
      try {
         orderMoneySettleService.shareSettleTB(uid);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.shareSettleJD(uid);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      //
      try {
         orderMoneySettleService.shareSettlePDD(uid);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
   }
   @Override
@@ -677,6 +682,29 @@
      }
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void fanliShare(Long uid, Date maxPreGetTime) {
      // 邀请赚到账
      try {
         orderMoneySettleService.shareSettleTB(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.shareSettleJD(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.shareSettlePDD(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
   }
   @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
   @Override
   public void processShopingFanliOrderNew(String orderId, List<TaoBaoOrder> orderList)