diff --git a/packageship/application/apps/package/view.py b/packageship/application/apps/package/view.py
index 86072fc61f78ddcae87a53728d1490821ccc41a7..3ca7ffa261d93b8868571e9bedf13f1232e4768e 100644
--- a/packageship/application/apps/package/view.py
+++ b/packageship/application/apps/package/view.py
@@ -108,14 +108,16 @@ class SourcePackages(ParsePackageMethod):
         page_num = result.get("page_num")
         page_size = result.get("page_size")
         query_pkg_name = [result.get("query_pkg_name")] if result.get(
-            "query_pkg_name") else []
+            "query_pkg_name") else None
         find_package = Package()
         try:
             result_all = find_package.all_src_packages(
                 result.get("database_name"), page_num=page_num, page_size=page_size, package_list=query_pkg_name,
                 command_line=result.get("command_line"))
-        except (ElasticSearchQueryException, DatabaseConfigException, PackageInfoGettingError) as e:
+        except (ElasticSearchQueryException, DatabaseConfigException):
             return jsonify(self.rspmsg.body('connect_db_error'))
+        except PackageInfoGettingError:
+            return jsonify(self.rspmsg.body('pack_name_not_found'))
         if result_all:
             return jsonify(self.parse_package(result_all, page_size))
         return jsonify(self.rspmsg.body("table_name_not_exist"))
@@ -167,14 +169,16 @@ class BinaryPackages(ParsePackageMethod):
         page_num = result.get("page_num")
         page_size = result.get("page_size")
         query_pkg_name = [result.get("query_pkg_name")] if result.get(
-            "query_pkg_name") else []
+            "query_pkg_name") else None
         find_package = Package()
         try:
             result_all = find_package.all_bin_packages(
                 result.get("database_name"), page_num=page_num, page_size=page_size, package_list=query_pkg_name,
                 command_line=result.get("command_line"))
-        except (ElasticSearchQueryException, DatabaseConfigException, PackageInfoGettingError) as e:
+        except (ElasticSearchQueryException, DatabaseConfigException):
             return jsonify(self.rspmsg.body('connect_db_error'))
+        except PackageInfoGettingError:
+            return jsonify(self.rspmsg.body('pack_name_not_found'))
         if result_all:
             return jsonify(self.parse_package(result_all, page_size))
         return jsonify(self.rspmsg.body("table_name_not_exist"))
diff --git a/packageship/application/query/pkg.py b/packageship/application/query/pkg.py
index 6c4e1f253ecf0cef68ab6319a9fae1731e826a8b..67e5c2e3a2cab3107c1d1fcb1edc618ed6f2a370 100644
--- a/packageship/application/query/pkg.py
+++ b/packageship/application/query/pkg.py
@@ -82,7 +82,7 @@ class QueryPackage(object):
         Raises: DatabaseConfigException ElasticSearchQueryException
         """
         self.rpm_type = SOURCE_DB_TYPE
-        response = self._get_rpm_info(src_list, database, page_num, page_size, command_line)
+        response = self._get_rpm_info(database, page_num, page_size, command_line, rpm_list=src_list)
         return response
 
     def get_bin_info(self, binary_list, database, page_num, page_size, command_line=False):
@@ -98,7 +98,7 @@ class QueryPackage(object):
         Raises: DatabaseConfigException ElasticSearchQueryException
         """
         self.rpm_type = BINARY_DB_TYPE
-        response = self._get_rpm_info(binary_list, database, page_num, page_size, command_line)
+        response = self._get_rpm_info(database, page_num, page_size, command_line, rpm_list=binary_list)
         return response
 
     def _query_src_bin_rpm(self, rpm_list, query_db_type, specify_db):
@@ -150,7 +150,7 @@ class QueryPackage(object):
 
         return rpm_info
 
-    def _get_rpm_info(self, rpm_list, database, page_num, page_size, command_line):
+    def _get_rpm_info(self, database, page_num, page_size, command_line, rpm_list=None):
         """
         General method for obtaining package details
         Args:
@@ -162,10 +162,16 @@ class QueryPackage(object):
 
         Returns: result of query package details
         """
-        self.index = UNDERLINE.join((database, self.rpm_type))
         response = dict(total=0, data=[])
+        # If the query list is empty, return directly; if the query list is None, it means query all packages.
+        if isinstance(rpm_list, list):
+            rpm_list = [rpm for rpm in rpm_list if rpm]
+            if not rpm_list:
+                return response
+
+        self.index = UNDERLINE.join((database, self.rpm_type))
         # Used for Command Line,query all data and no Pagination
-        if command_line and not rpm_list:
+        if command_line and rpm_list is None:
             query_result = self._db_session.scan(index=self.index, body=QueryBody.QUERY_ALL)
             total_num = self._db_session.count(index=self.index, body=QueryBody.QUERY_ALL)
             response['total'] = total_num.get('count')
@@ -190,6 +196,7 @@ class QueryPackage(object):
                     if query_all else query_result['hits']['total']['value']
                 response['total'] = total_num
             except KeyError:
+                response = dict(total=0, data=[])
                 return response
         return response
 
@@ -211,7 +218,7 @@ class QueryPackage(object):
             # Query specify rpm_list of Command line mode
             query_body = self._process_query_terms(DEFAULT_PAGE_NUM, MAX_PAGE_SIZE, rpm_list)
         else:
-            if not rpm_list:
+            if rpm_list is None:
                 # Query all data and Pagination of UI mode
                 query_body = self._format_paging_query_all(page_num, page_size)
                 query_all = True
diff --git a/test/cli/depend_commands/__init__.py b/test/cli/depend_commands/__init__.py
index 1aab4d66def3400065e077e884258ab446e0f2da..13fbaa063d39e3a19c9dec58fc480fe05c35aa3b 100755
--- a/test/cli/depend_commands/__init__.py
+++ b/test/cli/depend_commands/__init__.py
@@ -130,6 +130,7 @@ class DependTestBase(ClientTest):
             if not pkg_info:
                 continue
             ret_dict_p["hits"]["hits"].append(pkg_info)
+        ret_dict_p['hits']['total']['value'] = len(pkg_lst)
 
     @staticmethod
     def make_newline_split_res(ln, lines, idx):
@@ -244,12 +245,12 @@ class DependTestBase(ClientTest):
                 if handle_tolong_name_in_newline(ln, source_lines, idx):
                     continue
                 source_lines.append(split_ln)
-        
+
         if not all(normal_query_judgment_lst):
             raise ValueError(
                 "check Your expected str please, must be a normal query result"
             )
-            
+
         return binary_lines, source_lines
 
     def assert_result(self):
@@ -264,12 +265,12 @@ class DependTestBase(ClientTest):
         current_bin, current_src = self._process_depend_command_value(self.print_result)
         self.assertListEqual(sorted(excepted_bin), sorted(current_bin))
         self.assertListEqual(sorted(excepted_src), sorted(current_src))
-    
+
     def assert_exc_result(self):
         """assert_exc_result
         """
-        super(DependTestBase,self).assert_result()
-    
+        super(DependTestBase, self).assert_result()
+
     def _es_search_result(self, index: str, body: dict):
         """
         Get different return values through different call parameters
@@ -281,7 +282,7 @@ class DependTestBase(ClientTest):
             ret_dict(dict):Parsable es-like data for the project
         """
 
-        ret_dict = {"hits": {"hits": []}}
+        ret_dict = {"hits": {"hits": [], "total": {"value": 0}}}
         if index == "databaseinfo":
             return DATA_BASE_INFO
         elif "binary" in index:
diff --git a/test/cli/package_command/pkg_list/test_pkg_list.py b/test/cli/package_command/pkg_list/test_pkg_list.py
index 3c7f9930a773c9aea1eafeb6e0739a10d6c5b7db..da5300b1ca5935d116700f0d20ca8352e16bf464 100644
--- a/test/cli/package_command/pkg_list/test_pkg_list.py
+++ b/test/cli/package_command/pkg_list/test_pkg_list.py
@@ -77,8 +77,8 @@ HINT           :Make sure the table is valid"""
         test pkgInfoGetingError for all bin packages
         """
         self.excepted_str = """
-ERROR_CONTENT  :Failed to Connect the database
-HINT           :Check the connection"""
+ERROR_CONTENT  :The querying package does not exist in the databases
+HINT           :Use the correct package name and try again"""
         self.command_params = ["os-version"]
         self.mock_es_search(return_value=DATA_BASE_INFO)
         self.mock_es_scan(return_value=[])
diff --git a/test/cli/package_command/pkg_list/test_pkg_list_s.py b/test/cli/package_command/pkg_list/test_pkg_list_s.py
index 3044c93e7ac5b64fa1de8195c766bd10fd554e0b..45c949dcbe007e719a2004b22a83b72aa8c59986 100644
--- a/test/cli/package_command/pkg_list/test_pkg_list_s.py
+++ b/test/cli/package_command/pkg_list/test_pkg_list_s.py
@@ -77,8 +77,8 @@ HINT           :Make sure the table is valid"""
         test pkgInfoGettingError
         """
         self.excepted_str = """
-ERROR_CONTENT  :Failed to Connect the database
-HINT           :Check the connection"""
+ERROR_CONTENT  :The querying package does not exist in the databases
+HINT           :Use the correct package name and try again"""
         self.command_params = ["os-version", "-s"]
         self.mock_es_search(return_value=DATA_BASE_INFO)
         self.mock_es_scan(return_value=[])
diff --git a/test/test_module/test_database_query/test_database_query_package/test_query_bin_info.py b/test/test_module/test_database_query/test_database_query_package/test_query_bin_info.py
index e59e82e5768015a328ce2ceecf4d60e5a655b9b8..3254eb8b2089bc8a76ba1844d60d92938ae888d9 100644
--- a/test/test_module/test_database_query/test_database_query_package/test_query_bin_info.py
+++ b/test/test_module/test_database_query/test_database_query_package/test_query_bin_info.py
@@ -41,7 +41,7 @@ class TestQueryBinaryPkgInfo(TestCase):
         """
         self.session.scan = MagicMock(return_value=self.ALL_BINARY_RPM_INFO)
         self.session.count = MagicMock(return_value={"count": 5})
-        query_result = self.query_package.get_bin_info(binary_list=[], database='os_version_1', page_num=1, page_size=20,
+        query_result = self.query_package.get_bin_info(binary_list=None, database='os_version_1', page_num=1, page_size=20,
                                                        command_line=True)
         self.assertIsNotNone(query_result['data'])
 
@@ -52,7 +52,7 @@ class TestQueryBinaryPkgInfo(TestCase):
         """
         self.session.query = MagicMock(return_value=self.ALL_BINARY_INFO_PAGING)
         self.session.count = MagicMock(return_value={"count": 5})
-        query_result = self.query_package.get_bin_info(binary_list=[], database='os_version_1', page_num=1, page_size=5,
+        query_result = self.query_package.get_bin_info(binary_list=None, database='os_version_1', page_num=1, page_size=5,
                                                        command_line=False)
         self.assertEqual(len(query_result['data']), 5)
