| | |
| | | |
| | | @Transactional |
| | | @Override |
| | | public Result buyDz(String dzId, String password, double num, String partyId) { |
| | | public Result buyDz(String dzId, String password, double num, String partyId, Boolean isAdmin) { |
| | | try { |
| | | if (num <= 0) { |
| | | throw new YamiShopBindException("请输入"); |
| | |
| | | return Result.failed("请购买最小数量"); |
| | | } |
| | | } |
| | | boolean isOpen = MarketOpenChecker.isMarketOpenBuyDz(Item.US_STOCKS); |
| | | if (!isOpen) { |
| | | return Result.failed("当前股市休市"); |
| | | } |
| | | |
| | | if (!isAdmin) { //后台买入不判断 |
| | | boolean isOpen = MarketOpenChecker.isMarketOpenBuyDz(Item.US_STOCKS); |
| | | if (!isOpen) { |
| | | return Result.failed("当前股市休市"); |
| | | } |
| | | } |
| | | |
| | | Wallet wallet = this.walletService.saveWalletByPartyId(partyId); |
| | | BigDecimal buyAmt; |
| | |
| | | |
| | | @Transactional |
| | | @Override |
| | | public Result closeDz(String id, Double num, String partyId) { |
| | | public Result closeDz(String id, Double num, String partyId, Boolean isAdmin) { |
| | | try { |
| | | ExchangeApplyOrderDz order = exchangeApplyOrderDzMapper.selectById(id); |
| | | if (order == null) { |
| | |
| | | } |
| | | if (num < 0 || num > order.getSymbolValue()) { |
| | | throw new YamiShopBindException("数量错误"); |
| | | } |
| | | if (partyId == null) { |
| | | partyId = order.getPartyId(); |
| | | } |
| | | |
| | | StockDz stockDz = this.stockDzMapper.selectOne(new QueryWrapper<StockDz>().eq("uuid", order.getDzId())); |
| | |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | if (stockDz.getPeriod() != null && stockDz.getPeriod() > 0) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(order.getCreateTime()); |
| | | calendar.add(Calendar.DATE, stockDz.getPeriod()); |
| | | // 锁仓时间 |
| | | Date resultTime = calendar.getTime(); |
| | | if (!isAdmin) { |
| | | if (stockDz.getPeriod() != null && stockDz.getPeriod() > 0) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(order.getCreateTime()); |
| | | calendar.add(Calendar.DATE, stockDz.getPeriod()); |
| | | // 锁仓时间 |
| | | Date resultTime = calendar.getTime(); |
| | | |
| | | if(now.getTime() < resultTime.getTime()){ |
| | | return Result.failed("未到平仓时间"); |
| | | if(now.getTime() < resultTime.getTime()){ |
| | | return Result.failed("未到平仓时间"); |
| | | } |
| | | } |
| | | if (!stockDz.getStockName().contains("测试")) { |
| | | boolean isOpen = MarketOpenChecker.isMarketOpenByItemCloseType(Item.US_STOCKS); |
| | | if (!isOpen) { |
| | | return Result.failed("当前股市休市"); |
| | | } |
| | | } |
| | | } |
| | | if (stockDz.getStockName().contains("测试")) { |
| | | |
| | | } else { |
| | | boolean isOpen = MarketOpenChecker.isMarketOpenByItemCloseType(Item.US_STOCKS); |
| | | if (!isOpen) { |
| | | return Result.failed("当前股市休市"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | Wallet wallet = this.walletService.saveWalletByPartyId(order.getPartyId()); |