diff --git a/shop/src/main/java/com/canrd/shop/service/impl/ProductServiceImpl.java b/shop/src/main/java/com/canrd/shop/service/impl/ProductServiceImpl.java
index ccd6477..ca0dcbf 100644
--- a/shop/src/main/java/com/canrd/shop/service/impl/ProductServiceImpl.java
+++ b/shop/src/main/java/com/canrd/shop/service/impl/ProductServiceImpl.java
@@ -374,96 +374,74 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, ProductDO> im
     }
 
     private void suppleProducts(List<ProductDO> records) {
-        if (records == null || records.isEmpty()) {  // 【修改1】先检查 records 是否为空
-            return;
-        }
-
         Boolean productPriceShow = switchControlService.getEnabledByName(SwitchControlConstants.PRODUCT_PRICE_SHOW);
-
-        List<String> productIds = records.stream()
-                .map(ProductDO::getId)
-                .filter(Objects::nonNull)  // 【修改2】确保 productId 不为 null
-                .collect(Collectors.toList());
-
-        if (productIds.isEmpty()) {  // 【修改3】如果没有有效的 productId,则直接返回
-            return;
-        }
-
+        List<String> productIds = records.stream().map(ProductDO::getId).collect(Collectors.toList());
         List<TicketTypeDO> tickeyTypeDOList = ticketTypeService.lambdaQuery()
                 .func(wrapper -> {
-                    if (CollUtil.isEmpty(productIds)) {
+                    if (CollUtil.isEmpty(productIds)){
                         wrapper.apply("1!=1");
-                    } else {
+                    }else {
                         wrapper.in(TicketTypeDO::getProductId, productIds);
                     }
                 })
                 .list();
-
-        Map<String, BigDecimal> pId2ttMinPriceMap = new HashMap<>();
-        Map<String, BigDecimal> pId3ttMaxPriceMap = new HashMap<>();
-
+        Map<String,BigDecimal> pId2ttMinPriceMap = new HashMap<>();
+        Map<String,BigDecimal> pId3ttMaxPriceMap = new HashMap<>();
         for (TicketTypeDO ticketTypeDO : tickeyTypeDOList) {
-            String productId = ticketTypeDO.getProductId();
-            if (productId == null) continue;  // 【修改4】确保 productId 不为空
-
-            pId2ttMinPriceMap.compute(productId, (key, val) ->
-                    (val == null || ticketTypeDO.getPrice().compareTo(val) < 0) ? ticketTypeDO.getPrice() : val);
-
-            pId3ttMaxPriceMap.compute(productId, (key, val) ->
-                    (val == null || ticketTypeDO.getPrice().compareTo(val) > 0) ? ticketTypeDO.getPrice() : val);
+            if (Objects.isNull(pId2ttMinPriceMap.get(ticketTypeDO.getProductId()))){
+                pId2ttMinPriceMap.put(ticketTypeDO.getProductId(), ticketTypeDO.getPrice());
+            }else {
+                if (pId2ttMinPriceMap.get(ticketTypeDO.getProductId()).compareTo(ticketTypeDO.getPrice())>0){
+                    pId2ttMinPriceMap.put(ticketTypeDO.getProductId(), ticketTypeDO.getPrice());
+                }
+            }
+            if (Objects.isNull(pId3ttMaxPriceMap.get(ticketTypeDO.getProductId()))){
+                pId3ttMaxPriceMap.put(ticketTypeDO.getProductId(), ticketTypeDO.getPrice());
+            }else {
+                if (pId3ttMaxPriceMap.get(ticketTypeDO.getProductId()).compareTo(ticketTypeDO.getPrice())<0){
+                    pId3ttMaxPriceMap.put(ticketTypeDO.getProductId(), ticketTypeDO.getPrice());
+                }
+            }
         }
 
         records.forEach(product -> {
-            if (product == null || product.getId() == null) {  // 【修改5】检查 product 是否为空
-                return;
-            }
-
-            if (productPriceShow) {
-                if (pId2ttMinPriceMap.containsKey(product.getId())) {  // 【修改6】确保 key 存在
+            if (productPriceShow){
+                if (Objects.nonNull(pId2ttMinPriceMap.get(product.getId()))){
                     BigDecimal originMinPrice = pId2ttMinPriceMap.get(product.getId())
                             .divide(new BigDecimal("0.7"), 2, RoundingMode.HALF_UP)
                             .divide(new BigDecimal("0.5"), 2, RoundingMode.HALF_UP)
                             .multiply(new BigDecimal("0.148"))
                             .setScale(2, RoundingMode.HALF_UP);
-
                     BigDecimal computedPrice = originMinPrice
                             .multiply(new BigDecimal("0.5"))
                             .setScale(2, RoundingMode.HALF_UP);
-
                     product.setPrice(computedPrice);
                     product.setOriginMinPrice(originMinPrice);
                 }
-
-                if (pId3ttMaxPriceMap.containsKey(product.getId())) {  // 【修改7】确保 key 存在
+                if (Objects.nonNull(pId3ttMaxPriceMap.get(product.getId()))){
                     BigDecimal originMaxPrice = pId3ttMaxPriceMap.get(product.getId())
                             .divide(new BigDecimal("0.7"), 2, RoundingMode.HALF_UP)
                             .divide(new BigDecimal("0.5"), 2, RoundingMode.HALF_UP)
                             .multiply(new BigDecimal("0.148"))
                             .setScale(2, RoundingMode.HALF_UP);
-
                     BigDecimal computedPrice = originMaxPrice
                             .multiply(new BigDecimal("0.5"))
                             .setScale(2, RoundingMode.HALF_UP);
-
                     product.setMaxPrice(computedPrice);
                     product.setOriginMaxPrice(originMaxPrice);
                 }
             }
-
-            // 解析 productimageliststore
-            if (product.getProductimageliststore() != null) {  // 【修改8】确保不为 null
+            //将productDO的productimageliststore解析为map
+            if (product.getProductimageliststore() != null) {
                 List<Map> maps = JSON.parseArray(product.getProductimageliststore(), Map.class);
-                if (maps != null && !maps.isEmpty()) {  // 【修改9】确保 maps 不是空的
+                if (CollUtil.isNotEmpty(maps)) {
                     Map map = maps.get(0);
-                    if (map != null && map.get("fileKey") != null) {  // 【修改10】确保 map 及 fileKey 存在
-                        product.setImageFileKey(map.get("fileKey").toString());
-                    }
+                    product.setImageFileKey(map.get("fileKey").toString());
                 }
             }
         });
     }
 
-
     @Override
     public ServerResult listBySimilar(ProductQueryVO productQueryVO){
         if(StringUtils.isBlank(productQueryVO.getKeyword())){
@@ -503,7 +481,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, ProductDO> im
         if (StringUtils.isNotBlank(productQueryVO.getKeyword())) {
 //            String keyword = productQueryVO.getKeyword().trim();
 
-            // 先精准匹配
+            // 先精确匹配完整的关键字
             List<TicketTypeDO> tickeyTypeDOList = ticketTypeService.lambdaQuery()
                     .like(TicketTypeDO::getRank, keyword)
                     .list();
@@ -518,29 +496,23 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, ProductDO> im
             }
 
             if (productIds.isEmpty()) {
-                // 如果没有匹配到,进行分词处理
-                String[] keywords = Arrays.stream(keyword.split("\\s+"))
-                        .filter(StringUtils::isNotBlank)
-                        .toArray(String[]::new);
+                // 如果没有匹配到,分词处理
+                String[] keywords = keyword.split("\\s+");
 
                 queryWapper.and(subQueryWapper -> {
-                    // **必须包含所有分词**
+                    // 查询包含所有分词的记录
                     for (String key : keywords) {
-                        subQueryWapper.like("p.name", key);
+                        subQueryWapper.like("p.name", key).or();
                     }
                 });
-
             } else {
                 Set<String> finalProductIds = productIds;
 
                 queryWapper.and(subQueryWapper -> {
-                    subQueryWapper.like("p.name", keyword)
-                            .or()
-                            .in(CollUtil.isNotEmpty(finalProductIds), "p.id", finalProductIds);
+                    subQueryWapper.like("p.name", keyword).or().in(CollUtil.isNotEmpty(finalProductIds), "p.id", finalProductIds);
                 });
             }
         }
-
         List<ProductDO> productDOS = this.baseMapper.queryList(queryWapper);
         // Split the keyword into individual words
         String[] keywords = keyword.split("\\s+");
diff --git a/shop/src/main/resources/application.yml b/shop/src/main/resources/application.yml
index 09aa150..bc77eaf 100644
--- a/shop/src/main/resources/application.yml
+++ b/shop/src/main/resources/application.yml
@@ -12,7 +12,7 @@ spring:
     host: smtp.mxhichina.com
     port: 465
     username: overseas@canrd.com
-    password: Canrd@overseas
+    password: cccrd4C10bZuPjtT
     protocol: smtps
     properties:
       mail: