TangCheng
2025-04-19 52897348ac0187d778eb92f1d813e67e80dfa378
修复资源泄露bug
已修改2个文件
90 ■■■■■ 文件已修改
JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTAIServerControl.java
@@ -137,8 +137,8 @@
    {
        String phone = tranReq.convParamToString("phone", true);
        
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            DBRecords recs = db.querySQL("SELECT user_id FROM sys_user_info WHERE user_phone=?", new Object[] {
                phone    
@@ -176,10 +176,7 @@
            
                 return tranReq.returnJsonState(true, null, null);
           }
        finally
        {
            db.close();
        }
    }
    
    private ModelAndView loginUser(SMTDatabase db, DBRecord recUser, boolean updateLoginFlag, SMTAIServerRequest tranReq) throws Exception
@@ -228,8 +225,8 @@
        if(SMTStatic.isNullOrEmpty(client))
            client = "手机";
        
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            DBRecords recs = db.querySQL("SELECT * FROM sys_user_info WHERE user_phone=? AND sms_code IS NOT NULL AND user_state_code='Y'", new Object[] {
                phone    
@@ -270,17 +267,14 @@
            return tranReq.returnJsonState(false, "登录失败", null);
            
        }
        finally
        {
            db.close();
        }
    }
    
    public ModelAndView loginSSO(SMTAIServerRequest tranReq) throws Exception 
    {
         SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            String token = tranReq.convParamToString("user_token", true);
@@ -333,10 +327,7 @@
            }
            
        }
        finally
        {
            db.close();
        }
    }
    
    public ModelAndView login(SMTAIServerRequest tranReq) throws Exception 
@@ -359,8 +350,8 @@
        
        password = SMTStatic.convStrToMD5(password);
        
         SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            boolean is_weixin=false;
            // 微信扫码登录
@@ -416,10 +407,7 @@
            return loginUser(db, recs.getRecord(0), updateLoginFlag, tranReq);
        }
        finally
        {
            db.close();
        }
        
    }
@@ -471,8 +459,8 @@
    
    public ModelAndView getSceneGroupTree(SMTAIServerRequest tranReq) throws Exception 
    {
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            String userId = tranReq.getLoginUserId();
            DBRecords recs;
@@ -525,16 +513,13 @@
            
            return tranReq.returnJson(jsonWr);
        }
        finally
        {
            db.close();
        }
    }
    
    public ModelAndView getSceneSample(SMTAIServerRequest tranReq) throws Exception 
    {
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            String userId = tranReq.getLoginUserId();
            DBRecords recs;
@@ -586,10 +571,7 @@
            
            return tranReq.returnJson(jsonWr);
        }
        finally
        {
            db.close();
        }
    }
    public ModelAndView addSceneSample(SMTAIServerRequest tranReq) throws Exception {
        String groupId = tranReq.convParamToString("group_id", true);
@@ -604,9 +586,10 @@
        String autoTestEnable = tranReq.convParamToString("auto_test_enable", false);
        String sampleMatch = tranReq.convParamToString("sample_match", false);
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try {
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            // 检查样本ID是否已存在
            String selectSql = "SELECT * FROM ai_doc.ai_scene_sample WHERE sample_id = ?";
            Object[] selectParams = {sampleId};
@@ -624,8 +607,6 @@
            // 返回 JSON 结果
            SMTJsonWriter jsonWr = tranReq.newReturnJsonWriter(true, null, null);
            return tranReq.returnJson(jsonWr);
        } finally {
            db.close();
        }
    }
@@ -641,9 +622,8 @@
        String autoTestEnable = tranReq.convParamToString("auto_test_enable", false);
        String sampleMatch = tranReq.convParamToString("sample_match", false);
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try {
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            // 检查样本ID是否存在
            String selectSql = "SELECT * FROM ai_doc.ai_scene_sample WHERE sample_id = ?";
            Object[] selectParams = {sampleId};
@@ -660,8 +640,6 @@
            // 返回 JSON 结果
            SMTJsonWriter jsonWr = tranReq.newReturnJsonWriter(true, null, null);
            return tranReq.returnJson(jsonWr);
        } finally {
            db.close();
        }
    }
@@ -669,8 +647,8 @@
    public ModelAndView createHistoryGroup(SMTAIServerRequest tranReq) throws Exception
    {
        String groupTitle = tranReq.convParamToString("group_title", true);
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            String groupId = SMTStatic.newUUID();
            db.executeSQL("INSERT INTO chat_history_group(group_id, group_title, user_id, create_time)VALUES(?, ?, ?, ?)", new Object[] {
@@ -682,10 +660,6 @@
            SMTJsonWriter jsonWr = tranReq.newReturnJsonWriter(true, null, null);
            jsonWr.addKeyValue("history_group_id", groupId);
            return tranReq.returnJson(jsonWr);
        }
        finally
        {
            db.close();
        }
    }
    
@@ -713,8 +687,8 @@
            idListSQL = " AND history_id in (" + idListSQL + ")";
        }
        
        SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
        try
        try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
        {
            recs = db.querySQL("SELECT group_id FROM chat_history_group WHERE user_id=? AND group_id=? ORDER BY create_time", new Object[] {
                tranReq.getLoginUserId(),
@@ -760,10 +734,7 @@
            
            return tranReq.returnJson(jsonWr);
        }
        finally
        {
            db.close();
        }
    }    
    
    public ModelAndView getHistoryGroups(SMTAIServerRequest tranReq) throws Exception 
JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java
@@ -33,14 +33,15 @@
  @Scheduled(cron = "0/10 * * * * ?") // 一秒一次
  public void execCheckForTicketStatusChanges() throws Exception {
    _logger.info("start checkForTicketStatusChanges task");
    SMTDatabase db = SMTAIServerApp.getApp().allocDatabase();
    Date date = new Date();
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    cal.add(Calendar.MINUTE, -5);
    Date time = cal.getTime();
    try {
    try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase())
    {
        SMTDatabase.DBRecords dbRecords =
        db.querySQL(
              "select order_id from work_order_list where is_notify =? and  status_update_time > ?",