| | |
| | | } |
| | | newSharesConfig.setAppliedSubscribeNumber(amount.add(new BigDecimal(newSharesConfig.getAppliedSubscribeNumber())).intValue()); |
| | | if (newSharesConfig.getAppliedSubscribeNumber()<=0){ |
| | | throw new BusinessException("股票数申购数不足!"); |
| | | throw new BusinessException("股票数申购数不足"); |
| | | } |
| | | |
| | | if (newSharesConfig.getUserApplyNums() != null && newSharesConfig.getUserApplyNums()>0){ |
| | |
| | | BigDecimal amt = order.getRequiredNumber(); |
| | | if (wallet.getMoney().compareTo(amt) >= 0) { |
| | | wallet.setMoney(wallet.getMoney().subtract(amt)); |
| | | order.setSubscribedAmount(amt); |
| | | } else { |
| | | order.setSubscribedAmount(wallet.getMoney()); |
| | | //资金不足 进入待补 |
| | | isDb = true; |
| | | BigDecimal amountToBeCovered = amt.subtract(wallet.getMoney()); |
| | | //BigDecimal amountToBeCovered = amt.subtract(wallet.getMoney()); |
| | | amt = wallet.getMoney(); |
| | | wallet.setMoney(BigDecimal.ZERO); |
| | | wallet.setAmountToBeCovered(amountToBeCovered); |
| | | //wallet.setAmountToBeCovered(wallet.getAmountToBeCovered().add(amountToBeCovered)); |
| | | } |
| | | walletService.updateById(wallet); |
| | | |
| | |
| | | log.setAmount(amt.negate()); |
| | | log.setAmountAfter(amountBefore.subtract(amt).compareTo(BigDecimal.ZERO) <= 0 ? |
| | | BigDecimal.ZERO : amountBefore.subtract(amt)); |
| | | log.setLog(order.getSymbolCode() + "新股认缴"); |
| | | log.setLog(order.getSymbolCode() + "新股认缴" + order.getOrderNo()); |
| | | log.setUserId(order.getUserId()); |
| | | log.setWalletType(Constants.WALLET); |
| | | log.setContentType(Constants.MONEYLOG_CATEGORY_IPO); |
| | |
| | | UserPromiseRecord userPromiseRecord = new UserPromiseRecord(); |
| | | userPromiseRecord.setUserId(order.getUserId()); |
| | | userPromiseRecord.setDeductNumber(order.getWinningNumber()); |
| | | userPromiseRecord.setDeductUsdt(order.getRequiredNumber()); |
| | | userPromiseRecord.setDeductUsdt(order.getSubscribedAmount()); |
| | | userPromiseRecord.setStatus(isDb ? 1 : 2); |
| | | Calendar calendar=Calendar.getInstance(); |
| | | if (newSharesConfig.getLockDay() > 0) { |