1
zj
2024-04-24 29446dbdaea7d11eb28a4210ec69a186c54e705e
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -383,26 +383,20 @@
                if(userStockSubscribe.getType()== 2 ){
                    return ServerResponse.createByErrorMsg("未中签,无需支付",request);
                }
                //判断时间
                if (stockSubscribe.getListDate().getTime() <System.currentTimeMillis()) {
                    return ServerResponse.createByErrorMsg("不在认缴时间之内",request);
                }
                if (userStockSubscribe.getStatus() == 3) {
                    userStockSubscribe.setSubmitTime(DateTimeUtil.getCurrentDate());
                    userStockSubscribe.setStatus(4);
                    BigDecimal bigDecimal =  iUserAssetsServices.
                            getAvailableBalance(EStockType.IN.getCode(),
                                    userStockSubscribe.getUserId());
                    if(bigDecimal.compareTo(userStockSubscribe.getDbMoney()) <0){
                        iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
                                EUserAssets.BUY,userStockSubscribe.getDbMoney().negate(),"","");
                        userStockSubscribe.setDbMoney(userStockSubscribe.getDbMoney().subtract(iUserAssetsServices.getAvailableBalance(EStockType.IN.getCode(),
                                userStockSubscribe.getUserId())));
                    }else{
                        iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
                                EUserAssets.BUY,userStockSubscribe.getDbMoney().negate(),"","");
                        userStockSubscribe.setDbMoney(BigDecimal.ZERO);
                    BigDecimal multiply = userStockSubscribe.getBuyPrice().multiply(new BigDecimal(userStockSubscribe.getApplyNumber()));
                    if(bigDecimal.compareTo(multiply) <= 0){
                        return ServerResponse.createByErrorMsg("余额不足",request);
                    }
                    iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
                            EUserAssets.BUY,multiply,"","");
                    userStockSubscribe.setDbMoney(BigDecimal.ZERO);
                    userStockSubscribeMapper.update1(userStockSubscribe);
                    return  ServerResponse.createBySuccess();
                } else {
@@ -411,8 +405,6 @@
            } else {
                return ServerResponse.createByErrorMsg("新股认购订单不存在!",request);
            }
        }
        return ServerResponse.createByErrorMsg("请先登录",request);
    }