jack
2024-03-27 a2744ed2fccdc1f6e417022876945a7e30b949f7
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -452,11 +452,9 @@
    @Override
    public ServerResponse getMoney(HttpServletRequest request) {
        BigDecimal exchangeRate =  iSiteSettingService.getSiteSetting().getExchangeRate();
      List<UserAssets>  userAssetsList =   userAssetsServices.assetsByUserId(getCurrentUser(request).getId());
      List<RUserAssets>  rUserAssetsList = new ArrayList<>();
      /**
       *  浮动盈亏
       * */
@@ -560,6 +558,112 @@
    }
    @Override
    public ServerResponse getMoney(Integer userId) {
        BigDecimal exchangeRate =  iSiteSettingService.getSiteSetting().getExchangeRate();
        List<UserAssets>  userAssetsList =   userAssetsServices.assetsByUserId(userId);
        List<RUserAssets>  rUserAssetsList = new ArrayList<>();
        /**
         *  浮动盈亏
         * */
        BigDecimal AllProfitAndLose = BigDecimal.ZERO;
        /**
         *  总资产
         * */
        BigDecimal allTotalAssets = BigDecimal.ZERO;
        /**
         *  总可用余额
         * */
        BigDecimal allAmt = BigDecimal.ZERO;
        /**
         *  累计盈亏
         * */
        BigDecimal AllHProfitAndLose = BigDecimal.ZERO;
        /**
         *  总冻结资产
         * */
        BigDecimal allFreeMoney = BigDecimal.ZERO;
        /**
         *  总手续费
         * */
        BigDecimal allHMoney = BigDecimal.ZERO;
        for (int i = 0; i <userAssetsList.size() ; i++) {
            RUserAssets rUserAssets  = new RUserAssets();
            UserAssets userAssets = userAssetsList.get(i);
            // 浮动盈亏
            BigDecimal profitAndLose = userAssets.getProfitAndLoss();
            BigDecimal amt = userAssets.getAvailableBalance();
            BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney());
            BigDecimal freeMoney = userAssets.getFreezeMoney();
            BigDecimal hMoney = userAssets.getHandlingCharge();
            BigDecimal hProfitAndLose = userAssets.getCumulativeProfitAndLoss();
            rUserAssets.setId(userAssets.getId());
            rUserAssets.setTotalMoney((totalAssets.setScale(2).toString()));
            rUserAssets.setAccectType(userAssets.getAccectType());
            rUserAssets.setAvailableBalance(amt.setScale(2).toString());
            rUserAssets.setFreezeMoney(freeMoney.setScale(2).toString());
            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.setScale(2).toString());
            rUserAssets.setHandlingCharge(hMoney.setScale(2).toString());
            rUserAssets.setProfitAndLoss(profitAndLose.setScale(2).toString());
            if(userAssets.getAccectType().equals("US")){
                rUserAssets.setSymbol("$");
                rUserAssets.setSymbolCode("USD");
                AllProfitAndLose = AllProfitAndLose.add(profitAndLose);
                allTotalAssets = allTotalAssets.add(totalAssets);
                allAmt = allAmt.add(amt);
                AllHProfitAndLose = AllHProfitAndLose.add(hProfitAndLose);
                allFreeMoney = allFreeMoney.add(freeMoney);
                allHMoney = allHMoney.add(hMoney);
                rUserAssets.setAvailableBalanceUSD(rUserAssets.getAvailableBalance());
                rUserAssets.setFreezeMoneyUSD(rUserAssets.getFreezeMoney());
                rUserAssets.setTotalMoneyUSD(rUserAssets.getTotalMoney());
                rUserAssets.setCumulativeProfitAndLossUSD(hProfitAndLose.setScale(2).toString());
                rUserAssets.setHandlingChargeUSD(hMoney.setScale(2).toString());
                rUserAssets.setProfitAndLossUSD(hProfitAndLose.setScale(2).toString());
            }else{
                rUserAssets.setAvailableBalanceUSD(userAssets.getAvailableBalance().divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                rUserAssets.setFreezeMoneyUSD(userAssets.getFreezeMoney().divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                rUserAssets.setTotalMoneyUSD(userAssets.getTotleAssets().divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                rUserAssets.setSymbol("RM");
                rUserAssets.setSymbolCode("MYR");
                rUserAssets.setCumulativeProfitAndLossUSD(hProfitAndLose.divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                rUserAssets.setHandlingChargeUSD(hMoney.divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                rUserAssets.setProfitAndLossUSD(hProfitAndLose.divide(exchangeRate,BigDecimal.ROUND_CEILING).toString());
                AllProfitAndLose = AllProfitAndLose.add(profitAndLose.divide(exchangeRate,BigDecimal.ROUND_CEILING));
                allTotalAssets = allTotalAssets.add(totalAssets.divide(exchangeRate,BigDecimal.ROUND_CEILING));
                allAmt = allAmt.add(amt.divide(exchangeRate,BigDecimal.ROUND_CEILING));
                AllHProfitAndLose = AllHProfitAndLose.add(hProfitAndLose.divide(exchangeRate,BigDecimal.ROUND_CEILING));
                allFreeMoney = allFreeMoney.add(freeMoney.divide(exchangeRate,BigDecimal.ROUND_CEILING));
                allHMoney = allHMoney.add(hMoney.divide(exchangeRate,BigDecimal.ROUND_CEILING));
            }
            rUserAssetsList.add(rUserAssets);
        }
        RUserAssets rUserAssets  = new RUserAssets();
        rUserAssets.setAccectType("ALL");
        rUserAssets.setProfitAndLoss(AllProfitAndLose.setScale(2).toString());
        rUserAssets.setProfitAndLossUSD(AllProfitAndLose.setScale(2).toString());
        rUserAssets.setHandlingCharge(allHMoney.setScale(2).toString());
        rUserAssets.setHandlingChargeUSD(allHMoney.setScale(2).toString());
        rUserAssets.setCumulativeProfitAndLoss(AllHProfitAndLose.setScale(2).toString());
        rUserAssets.setCumulativeProfitAndLossUSD(AllHProfitAndLose.setScale(2).toString());
        rUserAssets.setTotalMoney(allTotalAssets.setScale(2).toString());
        rUserAssets.setTotalMoneyUSD(allTotalAssets.setScale(2).toString());
        rUserAssets.setAvailableBalance(allAmt.setScale(2).toString());
        rUserAssets.setAvailableBalanceUSD(allAmt.setScale(2).toString());
        rUserAssets.setFreezeMoney(allFreeMoney.setScale(2).toString());
        rUserAssets.setFreezeMoneyUSD(allFreeMoney.setScale(2).toString());
        rUserAssets.setSymbol("$");
        rUserAssets.setSymbolCode("USD");
        rUserAssetsList.add(rUserAssets);
        return ServerResponse.createBySuccess(rUserAssetsList);
    }
    @Override
    public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest paramHttpServletRequest) {
        User user =  userService.getCurrentUser(paramHttpServletRequest);