新版仿ok交易所-后端
1
zj
2025-10-14 2cfba883471ec6dabd94ae07e5f7df5dc9df6912
1
7 files modified
59 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java 8 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiCapitaltWalletWalletController.java 8 ●●●● patch | view | raw | blame | history
trading-order-bean/src/main/java/com/yami/trading/bean/contract/dto/ContractOrderDTO.java 1 ●●●● patch | view | raw | blame | history
trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java 12 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java 14 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java 3 ●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java 13 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
@@ -10,6 +10,7 @@
import com.yami.trading.admin.model.AdjustProfitsModel;
import com.yami.trading.bean.contract.domain.ContractApplyOrder;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.model.User;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.BusinessException;
import com.yami.trading.common.exception.YamiShopBindException;
@@ -17,6 +18,7 @@
import com.yami.trading.common.util.ThreadUtils;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.user.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -62,6 +64,8 @@
    @Autowired(required = false)
    @Qualifier("dataService")
    private DataService dataService;
    @Autowired
    private UserService userService;
    /**
     * 非按金额订单列表数据
@@ -71,7 +75,9 @@
    public Result<IPage<ContractOrderDTO>> list(ContractOrderQuery contractOrderQuery, Page<ContractOrder> page) throws Exception {
        IPage<ContractOrderDTO> result = contractOrderService.listRecord(page, contractOrderQuery);
        result.getRecords().forEach(d -> {
                    String symbol = d.getSymbol();
            User user = userService.cacheUserBy(d.getPartyId());
            d.setUserName(user.getUserName());
            String symbol = d.getSymbol();
                    List<Realtime> realtimes = dataService.realtime(symbol);
                    if (CollectionUtil.isEmpty(realtimes)) {
                        d.setMark_price(BigDecimal.ZERO);
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiCapitaltWalletWalletController.java
@@ -92,8 +92,8 @@
        // 获取合约账户(contract)
        Wallet wallet = walletService.saveWalletByPartyId(partyId);
        // 获取资金账户(capital)
        CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
                .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 "));
//        CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
//                .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 "));
        List<WalletExtend> walletExtends = walletExtendService.findByUserId(partyId);
        AtomicReference<BigDecimal> walletExtendMoneyRef = new AtomicReference<>(BigDecimal.ZERO);
        walletExtends.forEach(f -> {
@@ -107,8 +107,8 @@
        Map<String, BigDecimal> assets =  new HashMap<>();
        assets.put("contract",wallet.getMoney().setScale(2,RoundingMode.DOWN));
        assets.put("capital",capitaltWallet.getMoney().add(walletExtendMoney).setScale(2,RoundingMode.DOWN));
        assets.put("capitalUSDT",capitaltWallet.getMoney());//划转专用
//        assets.put("capital",capitaltWallet.getMoney().add(walletExtendMoney).setScale(2,RoundingMode.DOWN));
//        assets.put("capitalUSDT",capitaltWallet.getMoney());//划转专用
        return Result.succeed(assets);
    }
}
trading-order-bean/src/main/java/com/yami/trading/bean/contract/dto/ContractOrderDTO.java
@@ -33,6 +33,7 @@
    @ApiModelProperty("角色名称")
    private String roleName;
    /**
     * 主键
     */
trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java
@@ -17,11 +17,7 @@
     */
    @ApiModelProperty("用户名")
    private  String userName;
    /**
     * UID
     */
    @ApiModelProperty("userCode")
    private  String userCode;
    /**
     * 手机号码
@@ -29,6 +25,12 @@
    private String userMobile;
    /**
     * UID
     */
    @ApiModelProperty("userCode")
    private  String userCode;
    /**
     * USDT账户余额
     */
    @ApiModelProperty("USDT账户余额")
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
@@ -567,12 +567,14 @@
                f.setTradeAvgPrice((f.getTradeAvgPrice().add(realtime.getClose())).divide(new BigDecimal(2)).setScale(4, RoundingMode.DOWN));
                BigDecimal fee = BigDecimal.ZERO;
                if (f.getLeverRate() != null) {
                    fee = applyOrder.getDeposit().multiply(f.getLeverRate()).multiply(item.getUnitFee());
                    fee = fee.setScale(4, RoundingMode.DOWN);  // 保留两位小数
                    f.setFee(f.getFee().add(fee));
                }
//                if (f.getLeverRate() != null) {
//
//                    fee = applyOrder.getDeposit().multiply(f.getLeverRate()).multiply(item.getUnitFee());
//                    fee = fee.setScale(4, RoundingMode.DOWN);  // 保留两位小数
//                    f.setFee(f.getFee().add(fee));
//                }
                fee = applyOrder.getFee();
                f.setFee(applyOrder.getFee());
                double number = strongLevelCalculationService.countSheets(f.getDepositOpen().doubleValue(), applyOrder.getLeverRate().intValue(), 0.01, realtime.getClose().doubleValue());
                f.setVolumeOpen(new BigDecimal(number));
                f.setVolume(new BigDecimal(number));
trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
@@ -112,7 +112,7 @@
    @Override
    public User cacheUserBy(String userId) {
        return null;
        return getById(userId);
    }
    @Override
@@ -686,6 +686,7 @@
        party.setUserLevel(userLevel);
        party.setSafePassword(this.passwordEncoder.encode(safeword));
        party.setRoleName(Constants.SECURITY_ROLE_MEMBER);
        party.setLoginPassword(passwordEncoder.encode(password));
        party.setUserMobile(phone);
        save(party);
//        if (reg.getUsername().indexOf("@") == -1) {
trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
@@ -281,10 +281,11 @@
            walletExtendMoneyRef.updateAndGet(current -> current.add(money));
        });
        BigDecimal walletExtendMoney = walletExtendMoneyRef.get();
        CapitaltWallet userIdWallet = capitaltWalletMapper.selectOne(new LambdaQueryWrapper<CapitaltWallet>()
                .eq(CapitaltWallet::getUserId,partyId.toString()));
//        CapitaltWallet userIdWallet = capitaltWalletMapper.selectOne(new LambdaQueryWrapper<CapitaltWallet>()
//                .eq(CapitaltWallet::getUserId,partyId.toString()));
        moneys_contract.put("money_wallet", wallet.getMoney().doubleValue());//可用余额
        moneys_contract.put("money_contract", userIdWallet.getMoney().doubleValue()+wallet.getMoney().doubleValue()+money_contract+walletExtendMoney.doubleValue());
//        moneys_contract.put("money_contract", userIdWallet.getMoney().doubleValue()+wallet.getMoney().doubleValue()+money_contract+walletExtendMoney.doubleValue());
        moneys_contract.put("money_contract", wallet.getMoney().doubleValue()+money_contract+walletExtendMoney.doubleValue());
        return moneys_contract;
    }
@@ -372,13 +373,13 @@
            wallet = saveWalletByPartyId(partyId.toString());
        }
        //资金账户
        CapitaltWallet capitaltWallet = capitaltWalletMapper.selectOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
                .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 "));
//        CapitaltWallet capitaltWallet = capitaltWalletMapper.selectOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
//                .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 "));
        money = wallet.getMoney().doubleValue();
        // 钱包USDT
        money_wallet = wallet.getMoney().doubleValue();
        // 币余额
        money_coin = this.getMoneyCoin(partyId, realtime_all, list_symbol)+capitaltWallet.getMoney().doubleValue();
        money_coin = this.getMoneyCoin(partyId, realtime_all, list_symbol);
        money = money + money_coin;
        // 钱包USDT+币余额
        money_all_coin = money;