yujian
2019-09-03 2ddf5b8a1290123e2d1c05bcc851ec35cd217afc
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOrderMsgNotificationServiceImpl.java
@@ -1,15 +1,20 @@
package com.yeshi.fanli.service.impl.msg;
import java.math.BigDecimal;
import java.util.Date;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dto.push.PushContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.config.push.PushMsgFactory;
import com.yeshi.fanli.exception.msg.MsgOrderDetailException;
import com.yeshi.fanli.exception.push.PushException;
import com.yeshi.fanli.service.inter.msg.MsgOrderDetailService;
import com.yeshi.fanli.service.inter.msg.UserOrderMsgNotificationService;
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.util.factory.msg.MsgOrderDetailFactory;
@Service
@@ -18,39 +23,41 @@
   @Resource
   private MsgOrderDetailService msgOrderDetailService;
   @Resource
   private PushService pushService;
   @Override
   public void orderFanLiStatistic(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int goodsCount,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, goodsCount, orderState, payMoney,
            money, null);
   public void orderFanLiStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int goodsCount, int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, orderType, goodsCount, orderState,
            payMoney, money, null);
      try {
         msgOrderDetailService.addMsgOrderDetail(detail);
         msgOrderDetailService.addMsgOrderDetail(detail,
               (payMoney == null || payMoney.compareTo(new BigDecimal(0)) <= 0) ? false : true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
      if (payMoney != null && payMoney.compareTo(new BigDecimal(0)) > 0) {
         PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money);
         try {
            pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
         } catch (NumberFormatException e) {
            e.printStackTrace();
         } catch (PushException e) {
            e.printStackTrace();
         }
      }
   }
   @Override
   public void orderFanLiStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money,
   public void orderFanLiStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, 0, orderState, payMoney, money,
            null);
//暂时不推送
//      try {
//         msgOrderDetailService.updateMsgOrderDetail(detail);
//      } catch (MsgOrderDetailException e) {
//         e.printStackTrace();
//      }
   }
   @Override
   public void orderShareStatistic(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int goodsCount,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, goodsCount, orderState, payMoney,
      MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, orderType, 0, orderState, payMoney,
            money, null);
      // 暂时不推送
      try {
         msgOrderDetailService.addMsgOrderDetail(detail);
         msgOrderDetailService.updateMsgOrderDetail(detail, false);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
@@ -58,43 +65,141 @@
   }
   @Override
   public void orderShareStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, 0, orderState, payMoney, money,
            null);
//暂时不推送
//      try {
//         msgOrderDetailService.updateMsgOrderDetail(detail);
//      } catch (MsgOrderDetailException e) {
//         e.printStackTrace();
//      }
   public void orderShareStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int goodsCount, int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, orderType, goodsCount, orderState,
            payMoney, money, null);
      try {
         msgOrderDetailService.addMsgOrderDetail(detail,
               (payMoney == null || payMoney.compareTo(new BigDecimal(0)) <= 0) ? false : true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
      PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money);
      try {
         pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
      } catch (NumberFormatException e) {
         e.printStackTrace();
      } catch (PushException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void orderInviteStatistic(Long uid, String orderId, BigDecimal payMoney, BigDecimal money, int goodsCount,
   public void orderShareStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, goodsCount, orderState, payMoney,
      MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, orderType, 0, orderState, payMoney,
            money, null);
      // 暂时不推送
      // try {
      // msgOrderDetailService.updateMsgOrderDetail(detail, false);
      // } catch (MsgOrderDetailException e) {
      // e.printStackTrace();
      // }
   }
   @Override
   public void orderInviteStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int goodsCount, int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, goodsCount, orderState,
            payMoney, money, null);
      try {
         msgOrderDetailService.addMsgOrderDetail(detail);
         msgOrderDetailService.addMsgOrderDetail(detail,
               (money == null || money.compareTo(new BigDecimal(0)) <= 0) ? false : true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
      PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(orderType, orderId, money);
      try {
         pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
      } catch (NumberFormatException e) {
         e.printStackTrace();
      } catch (PushException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void orderInviteStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, 0, orderState,
            payMoney, money, null);
      // 暂时不推送
      // try {
      // msgOrderDetailService.updateMsgOrderDetail(detail, false);
      // } catch (MsgOrderDetailException e) {
      // e.printStackTrace();
      // }
   }
   private String getShortName(String name) {
      if (name != null && name.length() > 2) {
         return name.charAt(0) + "**" + name.charAt(name.length() - 1);
      }
      return name;
   }
   @Override
   public void orderShareFirstLevelStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney,
         BigDecimal money, int goodsCount, int orderState, String sourceUserName) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, goodsCount, orderState,
            payMoney, money, String.format("由一级队员【%s】分享", getShortName(sourceUserName)));
      try {
         msgOrderDetailService.addMsgOrderDetail(detail,
               (money == null || money.compareTo(new BigDecimal(0)) <= 0) ? false : true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
      PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(orderType, orderId, money);
      try {
         pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
      } catch (NumberFormatException e) {
         e.printStackTrace();
      } catch (PushException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void orderShareFirstLevelStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney,
         BigDecimal money, int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, 0, orderState,
            payMoney, money, null);
      // 暂时不推送
      // try {
      // msgOrderDetailService.updateMsgOrderDetail(detail, false);
      // } catch (MsgOrderDetailException e) {
      // e.printStackTrace();
      // }
   }
   @Override
   public void orderFoundSuccess(Long uid, String orderId, BigDecimal payMoney, int orderType, Date happendDate) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createFoundOrder(uid, orderId, true, payMoney, orderType,
            happendDate, "如有疑问请联系人工客服");
      try {
         msgOrderDetailService.addMsgOrderDetail(detail, true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
   }
   @Override
   public void orderInviteStateChanged(Long uid, String orderId, BigDecimal payMoney, BigDecimal money,
         int orderState) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, 0, orderState, payMoney, money,
            null);
//暂时不推送
//      try {
//         msgOrderDetailService.updateMsgOrderDetail(detail);
//      } catch (MsgOrderDetailException e) {
//         e.printStackTrace();
//      }
   public void orderFoundFail(Long uid, String orderId, BigDecimal payMoney, int orderType, Date happendDate) {
      MsgOrderDetail detail = MsgOrderDetailFactory.createFoundOrder(uid, orderId, false, payMoney, orderType,
            happendDate, "如有疑问请联系人工客服");
      try {
         msgOrderDetailService.addMsgOrderDetail(detail, true);
      } catch (MsgOrderDetailException e) {
         e.printStackTrace();
      }
   }
}