admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.order.tb;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -8,7 +9,12 @@
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.taobao.TaoBaoWeiQuanOrderMapper;
import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
import com.yeshi.fanli.dto.mq.order.body.BanLiShopOrderMQMsg;
import com.yeshi.fanli.dto.mq.order.body.OrderWeiQuanMQMsg;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.order.CommonOrder;
@@ -19,6 +25,8 @@
import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@Service
public class TaoBaoWeiQuanOrderServiceImpl implements TaoBaoWeiQuanOrderService {
@@ -37,18 +45,25 @@
   @Resource
   private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService;
   @Resource(name = "producer")
   private Producer producer;
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void addWeiQuanOrder(TaoBaoWeiQuanOrder order) {
      if (order == null)
         return;
      boolean isAdd = false;
      boolean isUpdate = false;
      Long id = null;
      TaoBaoWeiQuanOrder taoBaoWeiQuanOrder = taoBaoWeiQuanOrderMapper
            .selectByOrderIdAndOrderItemId(order.getOrderId(), order.getOrderItemId());
      if (taoBaoWeiQuanOrder != null) {
         id = taoBaoWeiQuanOrder.getId();
         // 已经是最新的状态了
         if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("维权成功")
               || taoBaoWeiQuanOrder.getState().contains("维权失败")))
         if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("维权成功")))
            return;
         // 更新金额,状态与时间
         TaoBaoWeiQuanOrder update = new TaoBaoWeiQuanOrder();
@@ -60,7 +75,7 @@
         update.setUpdateTime(new Date());
         update.setWeiQuanFinishTime(order.getWeiQuanFinishTime());
         taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update);
         isUpdate = true;
         try {
            if (order.getState().contains("维权成功")) {
               // 更改CommonOrder的状态
@@ -73,26 +88,6 @@
                  commonOrderService.updateByPrimaryKeySelective(updateCommonOrder);
                  userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder);
               }
               // 维权状态不需要消息
               // List<MsgOrderDetail> msgList =
               // msgOrderDetailService.listMsgOrderByOrderId(order.getOrderId());
               // for (MsgOrderDetail msg : msgList) {
               // if (msg.getType() == MsgTypeOrderTypeEnum.fanli) {
               // userOrderMsgNotificationService.orderFanLiStateChanged(msg.getUser().getId(),
               // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
               // null, CommonOrder.STATE_WQ);
               // } else if (msg.getType() == MsgTypeOrderTypeEnum.invite)
               // {
               // userOrderMsgNotificationService.orderInviteStateChanged(msg.getUser().getId(),
               // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
               // null, CommonOrder.STATE_WQ);
               // } else if (msg.getType() == MsgTypeOrderTypeEnum.share) {
               // userOrderMsgNotificationService.orderShareStateChanged(msg.getUser().getId(),
               // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
               // null, CommonOrder.STATE_WQ);
               // }
               // }
            }
         } catch (Exception e) {
@@ -101,6 +96,8 @@
         order.setCreateTime(new Date());
         order.setUpdateTime(new Date());
         taoBaoWeiQuanOrderMapper.insertSelective(order);
         id = order.getId();
         isAdd = true;
         if (order.getState().contains("维权成功")) {
            // 更改CommonOrder的状态
            CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
@@ -114,6 +111,18 @@
            }
         }
      }
      // 增加或修改
      if (isAdd || isUpdate) {
         if (id != null) {
            OrderWeiQuanMQMsg msg = new OrderWeiQuanMQMsg(order.getOrderId(), order.getOrderItemId(),
                  Constant.SOURCE_TYPE_TAOBAO);
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.taoBaoOrderWeiQuan,
                  msg);
            producer.send(message);
         }
      }
   }
   @Override