admin
2019-07-30 573c491b4a1ba60e12a5678a01c1546c0077c1ee
fanli/src/main/java/com/yeshi/fanli/util/factory/msg/MsgOrderDetailFactory.java
@@ -1,5 +1,135 @@
package com.yeshi.fanli.util.factory.msg;
import java.math.BigDecimal;
import java.util.Date;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfo;
public class MsgOrderDetailFactory {
   /**
    * 返利订单
    *
    * @param uid
    * @param orderId
    * @param goodsCount
    * @param orderState
    * @param payMoney
    * @param money
    * @param state
    * @param beiZhu
    * @return
    */
   public static MsgOrderDetail createFanLiOrder(Long uid, String orderId, int goodsCount, int orderState,
         BigDecimal payMoney, BigDecimal money, String beiZhu) {
      if (uid == null)
         return null;
      MsgOrderDetail detail = new MsgOrderDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setHongBaoMoney(money);
      detail.setOrderId(orderId);
      detail.setPayMoney(payMoney);
      detail.setRead(false);
      detail.setState(orderState);
      detail.setType(MsgTypeOrderTypeEnum.fanli);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 邀请订单
    *
    * @param uid
    * @param orderId
    * @param goodsCount
    * @param orderState
    * @param payMoney
    * @param money
    * @param state
    * @param beiZhu
    * @return
    */
   public static MsgOrderDetail createInviteOrder(Long uid, String orderId, int goodsCount, int orderState,
         BigDecimal payMoney, BigDecimal money, String beiZhu) {
      if (payMoney == null || money == null || uid == null)
         return null;
      MsgOrderDetail detail = new MsgOrderDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setHongBaoMoney(money);
      detail.setOrderId(orderId);
      detail.setPayMoney(payMoney);
      detail.setRead(false);
      detail.setState(orderState);
      detail.setType(MsgTypeOrderTypeEnum.invite);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 分享订单
    *
    * @param uid
    * @param orderId
    * @param goodsCount
    * @param orderState
    * @param payMoney
    * @param money
    * @param state
    * @param beiZhu
    * @return
    */
   public static MsgOrderDetail createShareOrder(Long uid, String orderId, int goodsCount, int orderState,
         BigDecimal payMoney, BigDecimal money, String beiZhu) {
      if (payMoney == null || money == null || uid == null)
         return null;
      MsgOrderDetail detail = new MsgOrderDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setGoodsCount(goodsCount);
      detail.setHongBaoMoney(money);
      detail.setOrderId(orderId);
      detail.setPayMoney(payMoney);
      detail.setRead(false);
      detail.setState(orderState);
      detail.setType(MsgTypeOrderTypeEnum.share);
      detail.setUser(new UserInfo(uid));
      return detail;
   }
   /**
    * 订单找回
    *
    * @param uid
    * @param orderId
    *            -订单号
    * @param isSuccess-是否找回成功
    * @param payMoney
    * @param orderType
    *            1-淘宝订单 3-拼多多订单 4-京东订单
    * @param beiZhu
    * @return
    */
   public static MsgOrderDetail createFoundOrder(Long uid, String orderId, boolean isSuccess, BigDecimal payMoney,
         int orderType, Date happendDate, String beiZhu) {
      if (orderId == null || uid == null)
         return null;
      MsgOrderDetail detail = new MsgOrderDetail();
      detail.setBeiZhu(beiZhu);
      detail.setCreateTime(new Date());
      detail.setOrderId((orderType == 1 ? "【淘宝订单】" : "") + orderId);
      detail.setPayMoney(payMoney);
      detail.setRead(false);
      detail.setState(isSuccess ? 1 : 0);
      detail.setType(MsgTypeOrderTypeEnum.found);
      detail.setUser(new UserInfo(uid));
      detail.setHappendDate(happendDate);
      return detail;
   }
}