1
zj
2025-09-22 095f37ff949a43fe51fdf90a7a5acb2fe508f205
src/main/java/com/nq/service/impl/EchoServices.java
@@ -5,6 +5,7 @@
import com.nq.dao.EChoMapper;
import com.nq.dao.OrderEchoMapper;
import com.nq.dao.UserAssetsMapper;
import com.nq.dao.UserPositionMapper;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
@@ -40,6 +41,9 @@
    @Autowired
    private UserAssetsMapper userAssetsMapper;
    @Autowired
    private UserPositionMapper userPositionMapper;
    @Override
    public List<EChoBean> queryList() {
        return eChoMapper.selectList(new LambdaQueryWrapper<EChoBean>());
@@ -73,7 +77,7 @@
            UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
                    .eq(UserAssets::getUserId, orderEchoBean.getUserId())
                    .eq(UserAssets::getAccectType, "IN")
                    .eq(UserAssets::getAccectType, "JP")
            );
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().subtract(money));
            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(money));
@@ -116,7 +120,7 @@
                    BigDecimal aml = incomeAmount.add(money);
                    UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
                            .eq(UserAssets::getUserId, orderEchoBean.getUserId())
                            .eq(UserAssets::getAccectType, "IN")
                            .eq(UserAssets::getAccectType, "JP")
                    );
                    if (userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0) {
                        continue;
@@ -132,6 +136,11 @@
                    } else {
                        userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(aml));
                    }
                    UserPosition userPosition = userPositionMapper.selectOne(new LambdaQueryWrapper<UserPosition>().gt(UserPosition::getAmountToBeCovered, BigDecimal.ZERO).eq(UserPosition::getUserId,userAssets.getUserId()));
                    if(null != userPosition){
                        userPosition.setAmountToBeCovered(userAssets.getAmountToBeCovered());
                        userPositionMapper.updateById(userPosition);
                    }
                    userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(money));
                    userAssetsMapper.updateById(userAssets);
                    orderEchoBean.setState("2");