1
zj
2025-05-06 621f2eb73b862920a395a1b74d1fd9e4c26a85d3
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -17,15 +17,12 @@
import com.nq.pojo.reponse.RUserAssets;
import com.nq.service.*;
import com.nq.utils.UserPointUtil;
import com.nq.utils.redis.RedisKeyUtil;
import com.nq.utils.redis.*;
import com.nq.utils.timeutil.DateTimeUtil;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.SymmetricCryptoUtil;
import com.nq.utils.ip.IpUtils;
import com.nq.utils.ip.JuheIpApi;
import com.nq.utils.redis.CookieUtils;
import com.nq.utils.redis.JsonUtil;
import com.nq.utils.redis.RedisShardedPoolUtils;
import com.nq.utils.stock.sina.StockApi;
import com.nq.vo.agent.AgentUserListVO;
import com.nq.vo.futuresposition.FuturesPositionVO;
@@ -480,7 +477,7 @@
    public ServerResponse getMoney(Integer userId) {
        List<UserAssets>  userAssetsList =   userAssetsServices.assetsByUserId(userId);
        List<RUserAssets>  rUserAssetsList = new ArrayList<>();
        int s= 4;
        int s= 2;
        /**
         *  浮动盈亏
         * */
@@ -517,16 +514,16 @@
            BigDecimal hMoney = userAssets.getHandlingCharge();
            BigDecimal hProfitAndLose = userAssets.getCumulativeProfitAndLoss();
            rUserAssets.setId(userAssets.getId());
            rUserAssets.setTotalMoney((totalAssets.toString()));
            rUserAssets.setTotalMoney((totalAssets.setScale(s,BigDecimal.ROUND_DOWN).toString()));
            rUserAssets.setAccectType(userAssets.getAccectType());
            rUserAssets.setAvailableBalance(amt.toString());
            rUserAssets.setFreezeMoney(freeMoney.toString());
            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.toString());
            rUserAssets.setHandlingCharge(hMoney.toString());
            rUserAssets.setProfitAndLoss(profitAndLose.toString());
            rUserAssets.setAvailableBalance(amt.setScale(s,BigDecimal.ROUND_DOWN).toString());
            rUserAssets.setFreezeMoney(freeMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
            rUserAssets.setCumulativeProfitAndLoss(hProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
            rUserAssets.setHandlingCharge(hMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
            rUserAssets.setProfitAndLoss(new BigDecimal(profitAndLose.toString()).setScale(s,BigDecimal.ROUND_DOWN).toString());
            rUserAssets.setIsZf(userAssets.getIsZf());
            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).toString()));
            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten());
            rUserAssets.setAmountToBeCovered((userAssets.getAmountToBeCovered().add(userAssets.getHandlingChargeWritten()).setScale(s,BigDecimal.ROUND_DOWN).toString()));
            rUserAssets.setHandlingChargeWritten(userAssets.getHandlingChargeWritten().setScale(s,BigDecimal.ROUND_DOWN));
            BigDecimal rate = rateServices.currencyRate(
                    EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.US);
@@ -620,7 +617,13 @@
        List<UserPositionVO> userPositionVOS = Lists.newArrayList();
        if (userPositions.size() > 0) {
            for (UserPosition position : userPositions) {
                UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position,priceServices.getNowPrice(position.getStockCode()));
                BigDecimal nowPrice = BigDecimal.ZERO;
                if(position.getStockGid().equals("ST")){
                    nowPrice = priceServices.getNowPrice(position.getStockCode());
                }else{
                    nowPrice = new BigDecimal(RedisShardedPoolUtils.get(RedisKeyConstant.getRedisKey(position.getStockName())));
                }
                UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position,nowPrice);
                StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new LambdaQueryWrapper<StockSubscribe>()
                        .eq(StockSubscribe::getCode, userPositionVO.getStockCode()));
                if(position.getSellOrderId() == null){