1
zj
2024-05-14 5259432d9a97529cf1ec2be5489a5b592bee78c4
1
4 files modified
43 ■■■■ changed files
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/YEBTask.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/stock/CarryPositionTask.java 16 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/stock/StockTask.java 16 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -1538,10 +1538,11 @@
     * @return
     */
    @Transactional
    public ServerResponse buyDz(String stockCode, String password, Integer num, HttpServletRequest request) throws Exception {
    public synchronized ServerResponse buyDz(String stockCode, String password, Integer num, HttpServletRequest request) throws Exception {
        /*实名认证开关开启*/
        SiteProduct siteProduct = iSiteProductService.getProductSetting();
        User user = this.iUserService.getCurrentRefreshUser(request);
        if (siteProduct.getRealNameDisplay() && user.getIsActive() != 2) {
            return ServerResponse.createByErrorMsg("Order failed, please first real name authentication");
        }
src/main/java/com/nq/utils/task/YEBTask.java
@@ -31,9 +31,9 @@
     */
    @Scheduled(cron = "0 0/1 * * * ?")
    public void sendYEBMoney() {
        if (sendYEBMoney)
            sendYEBMoney = false;
        else return;
        if (sendYEBMoney) // 定义一个布尔变量,代表新闻任务是否在处理中
            return;
        sendYEBMoney = true; // 设置处理中标识为 true
        if (sendYEBMoneyLock.tryLock()) {
            try {
@@ -43,7 +43,7 @@
            } finally {
                sendYEBMoneyLock.unlock();
                sendYEBMoney = true;
                sendYEBMoney = false;
            }
        }
    }
src/main/java/com/nq/utils/task/stock/CarryPositionTask.java
@@ -60,9 +60,9 @@
    @Scheduled(cron = "0 0/10 * * * ?")
    public void ballot() {
        if (ballot)
            ballot = false;
        else return;
        if (ballot) // 定义一个布尔变量,代表新闻任务是否在处理中
            return;
        ballot = true;
        if (ballotLock.tryLock()) {
            try {
                log.info("新股上市转持仓定时任务--------->开始");
@@ -88,7 +88,7 @@
                log.error("新股上市转持仓定时任务发生异常", e);
            } finally {
                ballotLock.unlock();
                ballot = true;
                ballot = false;
            }
        } else {
            log.info("新股上市转持仓定时任务--------->上次任务还未执行完成,本次任务忽略");
@@ -98,9 +98,9 @@
    boolean subscription = true;
    @Scheduled(cron = "0 0/1 * * * ?")
    public void subscription() {
        if (subscription)
            subscription = false;
        else return;
        if (subscription) // 定义一个布尔变量,代表新闻任务是否在处理中
            return;
        subscription = true;
        if (subscriptionLock.tryLock()) {
            try {
                log.info("自动转已认缴--------->开始");
@@ -118,7 +118,7 @@
                log.error("自动转已认缴定时任务发生异常", e);
            } finally {
                subscriptionLock.unlock();
                subscription = true;
                subscription = false;
            }
        } else {
            log.info("自动转已认缴定时任务--------->上次任务还未执行完成,本次任务忽略");
src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -61,16 +61,16 @@
     */
    @Scheduled(cron = "0 0 0/2  * * ?")
    public void syncINStockData() {
        if (syncINStockData)
            syncINStockData = false;
        else return;
        if (syncINStockData) // 定义一个布尔变量,代表新闻任务是否在处理中
            return;
        syncINStockData = true;
        if (syncINStockDataLock.tryLock()) {
            try {
                loadAllStock(EStockType.IN);
//        loadAllStock(EStockType.HK);
            } finally {
                syncINStockDataLock.unlock();
                syncINStockData = true;
                syncINStockData = false;
            }
        }
    }
@@ -177,9 +177,9 @@
     */
    @Scheduled(cron = "0/1 * * * * ?")
    public void stockConstraint() {
        if (stockConstraint)
            stockConstraint = false;
        else return;
        if (stockConstraint) // 定义一个布尔变量,代表新闻任务是否在处理中
            return;
        stockConstraint = true;
        if (stockConstraintLock.tryLock()) {
            try {
                List<UserPosition> userPositions = userPositionMapper.selectList(new LambdaQueryWrapper<UserPosition>().isNull(UserPosition::getSellOrderId));
@@ -191,7 +191,7 @@
                log.error("强制平仓任务错误:" + e.getMessage());
            } finally {
                stockConstraintLock.unlock();
                stockConstraint = true;
                stockConstraint = false;
            }
        } else {
            log.info("强制平仓任务--------->上次任务还未执行完成,本次任务忽略");