admin
2018-12-25 4cb15e222cd7d099d533ccbeb7f9a8cd99bf180c
fanli/src/main/java/com/yeshi/fanli/util/factory/AccountDetailsFactory.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.util.factory;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
@@ -8,56 +9,60 @@
import com.yeshi.fanli.entity.bus.user.HongBao;
import com.yeshi.fanli.entity.bus.user.OrderItem;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
public class AccountDetailsFactory {
   private static final Map<Integer,String> map = new HashMap<Integer,String>();
   private static final Map<Integer, String> map = new HashMap<Integer, String>();
   /**
    * 提现
    */
   public static final int TIXIAN=1;
   public static final int TIXIAN = 1;
   /**
    * 返利
    */
   public static final int FANLI=2;
   public static final int FANLI = 2;
   /**
    * 分销提成
    */
   public static final int TICHENG=3;
   public static final int TICHENG = 3;
   /**
    * 退款
    */
   public static final int TUIKUAN=4;
   public static final int TUIKUAN = 4;
   /**
    * 新人红包
    */
   public static final int XINREN=5;
   public static final int XINREN = 5;
   /**
    * 回款(提现失败时)
    */
   public static final int HUIKUAN=6;
   public static final int HUIKUAN = 6;
   /**
    * 其他
    */
   public static final int QITA=7;
   public static final int QITA = 7;
   /**
    * 商品分销
    */
   public static final int SHARE_GOODS=8;
   //商品分销维权
   public static final int SHARE_GOODS_DRAWBACK=9;
   public static final int SHARE_GOODS = 8;
   // 商品分销维权
   public static final int SHARE_GOODS_DRAWBACK = 9;
   /**
    * 
    */
   public static final int VALID_ALIPAY_ACCOUNT=10;
   static{
   public static final int VALID_ALIPAY_ACCOUNT = 10;
   public static final int XINREN_DEDUCT = 11;
   static {
      map.put(TIXIAN, "提现");
      map.put(FANLI, "订单返利");
      map.put(TICHENG, "奖金收入");
@@ -68,9 +73,11 @@
      map.put(SHARE_GOODS, "提成收入");
      map.put(SHARE_GOODS_DRAWBACK, "售后订单扣款");
      map.put(VALID_ALIPAY_ACCOUNT, "支付宝账号验证打款");
      map.put(XINREN_DEDUCT, "新人红包扣除");
   }
   public static AccountDetails create(String money,int type,OrderItem orderItem,Extract extract,UserInfo userInfo){
   public static AccountDetails create(String money, int type, OrderItem orderItem, Extract extract,
         UserInfo userInfo) {
      AccountDetails ad = new AccountDetails();
      ad.setCreateTime(TimeUtil.getWholeTime(System.currentTimeMillis()));
      ad.setExtract(extract);
@@ -85,15 +92,58 @@
   public static AccountDetails create(HongBao hb, OrderItem orderItem) {
      int type = hb.getType();
      if(type==Constant.TAOBAO){
         return create("+"+hb.getMoney(), FANLI, orderItem, null, hb.getUserInfo());
      }else if(type == Constant.ONESALE || type==Constant.TAOBAO){
         return create("+"+hb.getMoney(), TICHENG, null, null, hb.getUserInfo());
      }else if(type==Constant.HB_NEWUSER){
         return create("+"+hb.getMoney(),XINREN,null,null,hb.getUserInfo());
      if (type == Constant.TAOBAO) {
         return create("+" + hb.getMoney(), FANLI, orderItem, null, hb.getUserInfo());
      } else if (type == Constant.ONESALE || type == Constant.TAOBAO) {
         return create("+" + hb.getMoney(), TICHENG, null, null, hb.getUserInfo());
      } else if (type == Constant.HB_NEWUSER) {
         return create("+" + hb.getMoney(), XINREN, null, null, hb.getUserInfo());
      }
      return null;
   }
   public static AccountDetails create(UserMoneyDetail userMoneyDetail) {
      AccountDetails accountDetails = new AccountDetails(userMoneyDetail.getId());
      accountDetails.setCreateTime(
            TimeUtil.getGernalTime(userMoneyDetail.getCreateTime().getTime(), "yyyy-MM-dd HH:mm:ss"));
      if (userMoneyDetail.getMoney().compareTo(new BigDecimal("0")) >= 0)
         accountDetails.setMoney("+" + MoneyBigDecimalUtil.getWithNoZera(userMoneyDetail.getMoney()));
      else
         accountDetails.setMoney( MoneyBigDecimalUtil.getWithNoZera(userMoneyDetail.getMoney()) + "");
      accountDetails.setState(userMoneyDetail.getState());
      String typeName = userMoneyDetail.getType().name();
      if (UserMoneyDetailTypeEnum.extract.name().equalsIgnoreCase(typeName))
         accountDetails.setType(TIXIAN);
      else if (UserMoneyDetailTypeEnum.extractReject.name().equalsIgnoreCase(typeName))
         accountDetails.setType(HUIKUAN);
      else if (UserMoneyDetailTypeEnum.extractVerify.name().equalsIgnoreCase(typeName))
         accountDetails.setType(VALID_ALIPAY_ACCOUNT);
      else if (UserMoneyDetailTypeEnum.fanli.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.FANLI);
      else if (UserMoneyDetailTypeEnum.fanliWeiQuan.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.TUIKUAN);
      else if (UserMoneyDetailTypeEnum.hongbao.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.XINREN);
      else if (UserMoneyDetailTypeEnum.hongbaoDeduct.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.XINREN_DEDUCT);
      else if (UserMoneyDetailTypeEnum.invite.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.SHARE_GOODS);
      else if (UserMoneyDetailTypeEnum.inviteAndShare.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.SHARE_GOODS);
      else if (UserMoneyDetailTypeEnum.inviteWeiQuan.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.TUIKUAN);
      else if (UserMoneyDetailTypeEnum.share.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.SHARE_GOODS);
      else if (UserMoneyDetailTypeEnum.shareWeiQuan.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.TUIKUAN);
      else if (UserMoneyDetailTypeEnum.weiQuan.name().equalsIgnoreCase(typeName))
         accountDetails.setType(AccountDetailsFactory.TUIKUAN);
      else
         accountDetails.setType(AccountDetailsFactory.QITA);
      accountDetails.setTitle(map.get(accountDetails.getType()));
      accountDetails.setUserInfo(userMoneyDetail.getUserInfo());
      return accountDetails;
   }
}