新版仿ok交易所-后端
zyy
2026-05-22 dc6abd25de0fc12e7a9de54f628f970c8fdc5910
trading-order-service/src/main/java/com/yami/trading/service/user/impl/UserDataServiceImpl.java
@@ -8,7 +8,9 @@
import com.yami.trading.bean.contract.domain.ContractOrder;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.exchange.ExchangeApplyOrder;
import com.yami.trading.bean.finance.FinanceOrder;
import com.yami.trading.bean.future.domain.FuturesOrder;
import com.yami.trading.bean.miner.MinerOrder;
import com.yami.trading.bean.model.User;
import com.yami.trading.bean.model.UserData;
import com.yami.trading.bean.model.UserDataSum;
@@ -653,27 +655,27 @@
            userData.setRecharge(amount);
            userData.setRechargeUsdt(amount);
        } else {
            List<Realtime> realtime_list = this.dataService.realtime(symbol);
            Realtime realtime = null;
            if (realtime_list.size() > 0) {
                realtime = realtime_list.get(0);
            } else {
                throw new YamiShopBindException("系统错误,请稍后重试");
            }
//            List<Realtime> realtime_list = this.dataService.realtime(symbol);
//            Realtime realtime = null;
//            if (realtime_list.size() > 0) {
//                realtime = realtime_list.get(0);
//            } else {
//                throw new YamiShopBindException("系统错误,请稍后重试");
//            }
            if ("btc".equals(symbol)) {
                userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
                userData.setRecharge(amount);
                userData.setRechargeBtc(amount);
            }
            if ("eth".equals(symbol)) {
                userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
                userData.setRecharge(amount);
                userData.setRechargeEth(amount);
            }
            if ("ht".equals(symbol)) {
                userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
                userData.setRecharge(amount);
                userData.setRechargeHt(amount);
            }
            if ("ltc".equals(symbol)) {
                userData.setRecharge(Arith.mul(amount, realtime.getClose().doubleValue()));
                userData.setRecharge(amount);
                userData.setRechargeLtc(amount);
            }
        }
@@ -806,4 +808,135 @@
//         }
    }
    /**
     * 理财产品平仓
     */
    @Override
    public void saveSellFinance(FinanceOrder order) {
        User user = this.userService.findUserByUserCode(order.getFinanceId());
//      SecUser user = this.userService.findUserByPartyId(order.getPartyId());
//      user.getRoles();
        boolean guest = false;
//      for (Role role : user.getRoles()) {
//         if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())||Constants.SECURITY_ROLE_TEST.equals(role.getRoleName())) {
//            guest = true;
//         }
//      }
        if (guest) {
            return;
        }
        User party = userService.cacheUserBy(order.getPartyId().toString());
        UserData userData = new UserData();
        userData.setRolename(party.getRoleName());
        userData.setCreateTime(new Date());
        userData.setUserId(order.getPartyId().toString());
        userData.setFinanceAmount(order.getAmount());
        userData.setFinanceIncome(order.getProfit());
        save(userData);
//      UserRecom userRecom = this.userRecomService.findByPartyId(order.getPartyId());
//      if (userRecom == null) {
//         return;
//      }
//      List<UserRecom> parents = this.userRecomService.getParents(userRecom.getPartyId());
//
//      for (int i = 0; i < parents.size(); i++) {
//         Party party_parent = partyService.cachePartyBy(parents.get(i).getReco_id());
//
//         if (Constants.SECURITY_ROLE_AGENT.equals(party_parent.getRolename())) {
//            UserData userData_reco = new UserData();
//            userData_reco.setRolename(party_parent.getRolename());
//            userData_reco.setCreateTime(new Date());
//            userData_reco.setPartyId(parents.get(i).getReco_id());
//            userData_reco.setFinance_amount(order.getAmount());
//            userData_reco.setFinance_income(order.getProfit());
//            save(userData_reco);
//         }
//      }
    }
    /**
     * 矿机买入
     */
    @Override
    public void saveMinerBuy(MinerOrder order) {
        User user = this.userService.cacheUserBy(order.getPartyId().toString());
//        user.getRoles();
        boolean guest = false;
//        for (Role role : user.getRoles()) {
//            if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())||Constants.SECURITY_ROLE_TEST.equals(role.getRoleName())) {
//                guest = true;
//            }
//        }
        if (guest) {
            return;
        }
        UserData userData = new UserData();
        userData.setRolename(user.getRoleName());
        userData.setCreateTime(new Date());
        userData.setUserId(order.getPartyId().toString());
        userData.setMinerAmount(order.getAmount());
        save(userData);
    }
    /**
     * 矿机赎回
     */
    @Override
    public void saveMinerClose(MinerOrder order) {
        User user = this.userService.cacheUserBy(order.getPartyId().toString());
//        user.getRoles();
        boolean guest = false;
//        for (Role role : user.getRoles()) {
//            if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())||Constants.SECURITY_ROLE_TEST.equals(role.getRoleName())) {
//                guest = true;
//            }
//        }
        if (guest) {
            return;
        }
//        Party party = partyService.cachePartyBy(order.getPartyId(), false);
        UserData userData = new UserData();
        userData.setRolename(user.getRoleName());
        userData.setCreateTime(new Date());
        userData.setUserId(order.getPartyId().toString());
        userData.setMinerAmount(Arith.sub(0, order.getAmount()));
        save(userData);
    }
    /**
     * 矿机利息
     *
     * @param partyId 获利人
     * @param profit  利息
     */
    @Override
    public void saveMinerProfit(String partyId, double profit) {
        User user = this.userService.cacheUserBy(partyId);
//        user.getRoles();
        boolean guest = false;
//        for (Role role : user.getRoles()) {
//            if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
//                guest = true;
//            }
//        }
        if (guest) {
            return;
        }
//        Party party = partyService.cachePartyBy(partyId, true);
        UserData userData = new UserData();
        userData.setRolename(user.getRoleName());
        userData.setCreateTime(new Date());
        userData.setUserId(partyId);
        userData.setMinerIncome(profit);
        save(userData);
    }
}