package com.hehenian.biz.component.userhome.impl; import java.math.BigDecimal; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hehenian.biz.common.userhome.dataobject.UserIncomeDo; import com.hehenian.biz.common.util.CalculateUtils; import com.hehenian.biz.component.trade.IInvestRepaymentComponent; import com.hehenian.biz.component.userhome.IUserIncomeComponent; @Service("userIncomeComponent") public class UserIncomeComponentImpl implements IUserIncomeComponent { @Autowired private IInvestRepaymentComponent investRepaymentComponent; @Override public UserIncomeDo queryUserIncome(Long userId) { UserIncomeDo userIncomeDo = new UserIncomeDo(); Map<String, Object> userAmountMap = investRepaymentComponent .getInvestSuccessAmountByUserId(userId); if (userAmountMap == null || userAmountMap.isEmpty()) { return userIncomeDo; } BigDecimal realAmount = userAmountMap.get("realAmount") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("realAmount"); BigDecimal hasGetAmount = userAmountMap.get("hasGetAmount") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("hasGetAmount"); BigDecimal notPI = userAmountMap.get("notPI") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("notPI"); BigDecimal shouldGetAmount = userAmountMap.get("shouldGetAmount") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("shouldGetAmount"); BigDecimal hasPrincipal = userAmountMap.get("hasPrincipal") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("hasPrincipal"); BigDecimal recivedInterest = userAmountMap.get("recivedInterest") == null ? BigDecimal.ZERO : (BigDecimal) userAmountMap.get("recivedInterest"); userIncomeDo.setTotalInvestAmount(CalculateUtils.round( realAmount.doubleValue(), 2)); userIncomeDo.setHasPrincipal(CalculateUtils.round( hasPrincipal.doubleValue(), 2)); userIncomeDo.setTotalInterestAmount(CalculateUtils.round( hasGetAmount.doubleValue() - hasPrincipal.doubleValue(), 2)); userIncomeDo.setRecievedInterest(CalculateUtils.round( recivedInterest.doubleValue(), 2)); userIncomeDo.setRecivedPrincipal(CalculateUtils.round( realAmount.doubleValue(), 2)); return userIncomeDo; } }