admin
2019-11-20 8b2191df2f7d94aa299bd43dcbe97c94e5a61bbd
fanli/src/main/java/com/yeshi/fanli/util/factory/UserMoneyDetailFactory.java
@@ -52,6 +52,41 @@
   }
   /**
    * 饿了么返利
    *
    * @param uid
    * @param orderId
    * @param hbId
    * @param money
    * @return
    * @throws UserMoneyDetailException
    */
   public static UserMoneyDetail createElmeFanLi(Long uid, String orderId, Long hbId, BigDecimal money)
         throws UserMoneyDetailException {
      if (StringUtil.isNullOrEmpty(orderId))
         throw new UserMoneyDetailException(1, "订单号为空");
      if (money == null)
         throw new UserMoneyDetailException(1, "返利金额为空");
      if (uid == null)
         throw new UserMoneyDetailException(1, "UID为空");
      UserMoneyDetail detail = new UserMoneyDetail();
      detail.setCreateTime(new Date());
      detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.elmeFanli.name() + "-" + hbId));
      detail.setMoney(money);
      detail.setTitle(UserMoneyDetailTypeEnum.elmeFanli.getDesc());
      detail.setType(UserMoneyDetailTypeEnum.elmeFanli);
      detail.setDescInfo("订单号:" + orderId);
      detail.setUpdateTime(new Date());
      detail.setUserInfo(new UserInfo(uid));
      detail.setOrderType(Constant.SOURCE_TYPE_ELME);
      return detail;
   }
   /**
    * 分享奖金到账
    * 
    * @param uid
@@ -64,7 +99,7 @@
    * @throws UserMoneyDetailException
    */
   public static UserMoneyDetail createShare(Long uid, int orderType, int validCount, int weiQuanCount,
         int invalidCount, BigDecimal money, Date time) throws UserMoneyDetailException {
         BigDecimal money, Date time) throws UserMoneyDetailException {
      if (money == null)
         throw new UserMoneyDetailException(1, "返利金额为空");
@@ -86,7 +121,7 @@
      detail.setMoney(money);
      detail.setTitle(timeF + UserMoneyDetailTypeEnum.share.getDesc());
      detail.setType(UserMoneyDetailTypeEnum.share);
      detail.setDescInfo(String.format("有效订单:%s笔  维权订单:%s笔  失效订单:%s笔", validCount, weiQuanCount, invalidCount));
      detail.setDescInfo(String.format("有效订单:%s笔  维权订单:%s笔", validCount, weiQuanCount));
      detail.setUpdateTime(new Date());
      detail.setUserInfo(new UserInfo(uid));
      detail.setOrderType(orderType);
@@ -106,7 +141,7 @@
    * @throws UserMoneyDetailException
    */
   public static UserMoneyDetail createInvite(Long uid, int orderType, int validCount, int weiQuanCount,
         int invalidCount, BigDecimal money, Date time) throws UserMoneyDetailException {
         BigDecimal money, Date time) throws UserMoneyDetailException {
      if (money == null)
         throw new UserMoneyDetailException(1, "返利金额为空");
@@ -128,8 +163,8 @@
      detail.setMoney(money);
      detail.setTitle(timeF + UserMoneyDetailTypeEnum.invite.getDesc());
      detail.setType(UserMoneyDetailTypeEnum.invite);
      if (validCount != 0 || weiQuanCount != 0 || invalidCount != 0)
         detail.setDescInfo(String.format("有效订单:%s笔   维权订单:%s笔   失效订单:%s笔", validCount, weiQuanCount, invalidCount));
      if (validCount != 0 || weiQuanCount != 0)
         detail.setDescInfo(String.format("有效订单:%s笔   维权订单:%s笔", validCount, weiQuanCount));
      detail.setUpdateTime(new Date());
      detail.setUserInfo(new UserInfo(uid));
      detail.setOrderType(orderType);
@@ -281,6 +316,7 @@
      detail.setType(UserMoneyDetailTypeEnum.extract);
      detail.setUpdateTime(new Date());
      detail.setUserInfo(extract.getUserInfo());
      detail.setShow(false);
      return detail;
   }
@@ -340,6 +376,7 @@
      detail.setType(UserMoneyDetailTypeEnum.extractReject);
      detail.setUpdateTime(new Date());
      detail.setUserInfo(extract.getUserInfo());
      detail.setShow(false);// 隐藏提现失败记录
      return detail;
   }
@@ -441,7 +478,7 @@
      detail.setUpdateTime(new Date());
      detail.setUserInfo(user);
      detail.setOrderType(orderType);
      // detail.setDescInfo("订单号:" + orderId);
      detail.setDescInfo("订单号:" + orderId);
      return detail;
   }
@@ -518,4 +555,48 @@
      return detail;
   }
   /**
    * 邀请奖金到账
    *
    * @param uid
    * @param validCount
    * @param weiQuanCount
    * @param invalidCount
    * @param money
    * @param time
    * @return
    * @throws UserMoneyDetailException
    */
   public static UserMoneyDetail createInviteSubsidy(Long uid, int orderType, BigDecimal money, Date time)
         throws UserMoneyDetailException {
      if (money == null)
         throw new UserMoneyDetailException(1, "返利金额为空");
      if (uid == null)
         throw new UserMoneyDetailException(1, "UID为空");
      if (time == null)
         throw new UserMoneyDetailException(1, "发生时间为空");
      Calendar ca = Calendar.getInstance();
      ca.setTime(time);
      ca.add(Calendar.MONTH, -1);
      String timeF = TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy.M");
      UserMoneyDetail detail = new UserMoneyDetail();
      detail.setCreateTime(new Date());
      detail.setIdentifyCode(
            StringUtil.Md5(UserMoneyDetailTypeEnum.subsidy.name() + "-" + orderType + "-" + uid + "-" + timeF));
      detail.setMoney(money);
      detail.setTitle(
            timeF + UserMoneyDetailTypeEnum.subsidy.getDesc() + "【" + Constant.getSourceName(orderType) + "】");
      detail.setType(UserMoneyDetailTypeEnum.subsidy);
      detail.setDescInfo("邀请订单补贴");
      detail.setUpdateTime(new Date());
      detail.setUserInfo(new UserInfo(uid));
      detail.setOrderType(orderType);
      return detail;
   }
}