package com.yeshi.fanli.util.factory;
|
|
import java.math.BigDecimal;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.yeshi.fanli.dto.money.AccountDetails;
|
import com.yeshi.fanli.entity.money.UserMoneyDetail;
|
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
|
import org.yeshi.utils.MoneyBigDecimalUtil;
|
import org.yeshi.utils.TimeUtil;
|
|
public class AccountDetailsFactory {
|
private static final Map<Integer, String> map = new HashMap<Integer, String>();
|
/**
|
* 提现
|
*/
|
public static final int TIXIAN = 1;
|
/**
|
* 返利
|
*/
|
public static final int FANLI = 2;
|
/**
|
* 分销提成
|
*/
|
public static final int TICHENG = 3;
|
/**
|
* 退款
|
*/
|
public static final int TUIKUAN = 4;
|
/**
|
* 新人红包
|
*/
|
public static final int XINREN = 5;
|
/**
|
* 回款(提现失败时)
|
*/
|
public static final int HUIKUAN = 6;
|
/**
|
* 其他
|
*/
|
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 VALID_ALIPAY_ACCOUNT = 10;
|
|
public static final int XINREN_DEDUCT = 11;
|
|
static {
|
map.put(TIXIAN, "提现");
|
map.put(FANLI, "订单返利");
|
map.put(TICHENG, "奖金收入");
|
map.put(TUIKUAN, "售后订单扣款");
|
map.put(XINREN, "新人红包");
|
map.put(HUIKUAN, "提现被拒");
|
map.put(QITA, "其他");
|
map.put(SHARE_GOODS, "提成收入");
|
map.put(SHARE_GOODS_DRAWBACK, "售后订单扣款");
|
map.put(VALID_ALIPAY_ACCOUNT, "支付宝账号验证打款");
|
map.put(XINREN_DEDUCT, "新人红包扣除");
|
}
|
|
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(accountDetails.getTitle());
|
accountDetails.setUserInfo(userMoneyDetail.getUserInfo());
|
return accountDetails;
|
}
|
|
}
|