admin
2020-08-26 26f7accb815f55f18f8eedfca4324700a96884ec
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -19,14 +19,12 @@
import org.yeshi.utils.NumberUtil;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.Producer;
import com.aliyun.openservices.ons.api.transaction.LocalTransactionExecuter;
import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
import com.google.gson.Gson;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper;
import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
@@ -69,9 +67,7 @@
import com.yeshi.fanli.service.inter.elme.ElmeHongBaoOrderMapService;
import com.yeshi.fanli.service.inter.elme.ElmeOrderProcessService;
import com.yeshi.fanli.service.inter.elme.ElmeOrderService;
import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
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;
@@ -84,19 +80,19 @@
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
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.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import org.yeshi.utils.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.cmq.order.PlaceOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.TeamOrderCMQManager;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
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.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -128,25 +124,13 @@
   private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper;
   @Resource
   private AccountDetailsHongBaoMapService accountDetailsHongBaoMapService;
   @Resource
   private UserMoneyDetailMapper userMoneyDetailMapper;
   @Resource
   private HongBaoV2Mapper hongBaoV2Mapper;
   @Resource
   private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
   @Resource
   private UserOrderMsgNotificationService userOrderMsgNotificationService;
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
   @Resource
   private UserSystemCouponService userSystemCouponService;
   @Resource
   private UserMoneyService userMoneyService;
@@ -169,8 +153,8 @@
   @Resource(name = "orderTransactionProducer")
   private TransactionProducer orderTransactionProducer;
   @Resource(name = "producer")
   private Producer producer;
   @Resource
   private RocketMQManager rocketMQManager;
   @Resource
   private OrderMoneySettleService orderMoneySettleService;
@@ -293,7 +277,7 @@
      elmeOrder.setTrackPid(
            String.format("mm_124933865_%s_%s", taoBaoOrder.getSourceMediaId(), taoBaoOrder.getAdPositionId()));
      if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) {
         UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByRelationId(taoBaoOrder.getRelationId());
         UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByRelationId(taoBaoOrder.getRelationId(),null);
         if (extraInfo != null)
            elmeOrder.setUid(extraInfo.getUser().getId());
      }
@@ -700,6 +684,18 @@
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.inviteSettleVipShop(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.inviteSettleSuning(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
   }
   @Override
@@ -720,6 +716,18 @@
      try {
         orderMoneySettleService.shareSettlePDD(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.shareSettleVipShop(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
      try {
         orderMoneySettleService.shareSettleSuning(uid, maxPreGetTime);
      } catch (OrderMoneySettleException e) {
         e.printStackTrace();
      }
@@ -753,13 +761,13 @@
                  || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_KOUBEI_PID))
                  && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {// 处理饿了么,口碑的订单
               UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService
                     .getByRelationId(orderList.get(0).getRelationId());
                     .getByRelationId(orderList.get(0).getRelationId(),null);
               if (extraInfo != null) {
                  targetUid = extraInfo.getUser().getId();
               }
            } else if (!StringUtil.isNullOrEmpty(orderList.get(0).getSpecialId())) {
               UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService
                     .getBySpecialId(orderList.get(0).getSpecialId());
                     .getBySpecialId(orderList.get(0).getSpecialId(),null);
               if (info != null && info.getUser() != null)
                  targetUid = info.getUser().getId();
            }
@@ -845,7 +853,7 @@
      if (orderList != null && orderList.size() > 0) {
         // 原来不存在订单
         Long uid = null;
         UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService.getByRelationId(orderList.get(0).getRelationId());
         UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService.getByRelationId(orderList.get(0).getRelationId(),null);
         if (info != null && info.getUser() != null)
            uid = info.getUser().getId();
         // 尚未找到和PID对应的用户
@@ -939,7 +947,6 @@
    * @param jdOrder
    * @param uid
    */
   @Transactional
   private void processFanLiJDOrder(JDOrder jdOrder, Long uid) {
      int invalidCount = 0;
      BigDecimal totalMoney = new BigDecimal(0);
@@ -1015,11 +1022,9 @@
   /**
    * 处理京东分享订单
    *
    * @param order
    * @param jdOrder
    * @param uid
    */
   @Transactional
   private void processShareJDOrder(JDOrder jdOrder, Long uid) {
      try {
         List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addJDOrder(jdOrder, uid);
@@ -1047,8 +1052,7 @@
   /**
    * 是否是分享赚订单
    *
    * @param order
    * @param pddOrder
    * @return
    */
   private boolean isShareOrder(PDDOrder pddOrder) {
@@ -1086,11 +1090,9 @@
   /**
    * 处理拼多多自购返利订单
    *
    * @param pddOrder
    * @param uid
    */
   @Transactional
   private void processFanLiPDDOrder(PDDOrder pddOrder, Long uid) {
      int orderState = 0;
      if (pddOrder.getOrderStatus() == -1 || pddOrder.getOrderStatus() == 8)
@@ -1157,11 +1159,9 @@
   /**
    * 处理拼多多分享订单
    *
    * @param order
    * @param pddOrder
    * @param uid
    */
   @Transactional
   private void processSharePDDOrder(PDDOrder pddOrder, Long uid) {
      try {
         List<PDDOrder> pddOrderList = new ArrayList<>();
@@ -1220,11 +1220,9 @@
   /**
    * 处理京东返利订单
    *
    * @param jdOrder
    * @param vipShopOrder
    * @param uid
    */
   @Transactional
   private void processFanLiVipShopOrder(VipShopOrder vipShopOrder, Long uid) {
      int invalidCount = 0;
      BigDecimal totalMoney = new BigDecimal(0);
@@ -1295,11 +1293,9 @@
   /**
    * 处理京东分享订单
    *
    * @param order
    * @param jdOrder
    * @param uid
    */
   @Transactional
   private void processShareVipShopOrder(VipShopOrder jdOrder, Long uid) {
      try {
         List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addVipShopOrder(jdOrder, uid);
@@ -1351,12 +1347,10 @@
   }
   /**
    * 处理拼多多自购返利订单
    *
    * @param pddOrder
    *  处理拼多多自购返利订单
    * @param suningOrder
    * @param uid
    */
   @Transactional
   private void processFanLiSuningOrder(SuningOrderInfo suningOrder, Long uid) {
      int orderState = 0;
@@ -1429,11 +1423,9 @@
   /**
    * 处理拼多多分享订单
    *
    * @param order
    * @param suningOrder
    * @param uid
    */
   @Transactional
   private void processShareSuningOrder(SuningOrderInfo suningOrder, Long uid) {
      try {
         List<SuningOrderInfo> suningOrderList = new ArrayList<>();
@@ -1671,7 +1663,6 @@
    * @param sourceType
    * @param hongBaoType
    */
   @Transactional
   private void addHongBaoWithMQ(List<CommonOrderAddResultDTO> commonOrderList, String orderId, Long uid,
         int sourceType, int hongBaoType) {
      final List<CommonOrder> coList = convertCommonOrder(commonOrderList);
@@ -1699,7 +1690,7 @@
            OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD,
                  isCommonOrderValid(coList), 0, new Date(), result.isMiandan(),coList.get(0).getThirdCreateTime());
            Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderStatistic, mqMsg);
            producer.send(msg);
            rocketMQManager.sendNormalMsg(msg, null);
         }
   }