From 70ea0911ce7519ca802266078624e9fed3559a2c Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期五, 18 九月 2026 14:05:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 talent-card-server/src/main/java/com/talentcard/server/business/portal/ChildrenEntrustmentPortalService.java |   33 ++++++++-------------------------
 1 files changed, 8 insertions(+), 25 deletions(-)

diff --git a/talent-card-server/src/main/java/com/talentcard/server/business/portal/ChildrenEntrustmentPortalService.java b/talent-card-server/src/main/java/com/talentcard/server/business/portal/ChildrenEntrustmentPortalService.java
index 8b83889..416dfad 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/business/portal/ChildrenEntrustmentPortalService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/business/portal/ChildrenEntrustmentPortalService.java
@@ -36,7 +36,9 @@
         result.put("heroImage", merchantHeroImage(serviceId,
                 text(merchant.get("coverUrl"), text(benefit.get("heroImage"), ""))));
         result.put("heroImages", merchantHeroImages(serviceId));
-        result.put("rightsText", text(matchedRight.get("detail"), text(benefit.get("rightsText"), "暂无使用说明")));
+        // 使用说明只认商家权益里配置的内容:商家没配(或该人才等级没配)就返回空,
+        // 小程序显示"暂无使用说明",不再回落到服务权益里的历史默认文案。
+        result.put("rightsText", text(matchedRight.get("detail"), ""));
         result.put("available", available);
         result.put("unavailableReason", available ? "" : text(benefit.get("unavailableReason"), "该权益暂未开放"));
         return result;
@@ -45,25 +47,9 @@
     @Transactional(readOnly = true)
     public List<Map<String, Object>> schools(Long serviceId) {
         Map<String, Object> merchant = approvalService(serviceId);
-        List<Map<String, Object>> configuredSchools = configuredSchools(merchant.get("usageInstructions"));
-        if (!configuredSchools.isEmpty()) return configuredSchools;
-        Map<String, Object> benefit = benefit();
-        return query("""
-                select id, school_name, address, latitude, longitude, contact_mobile, detail_available
-                from children_entrustment_school
-                where benefit_id = ? and enabled = 1 and deleted = 0
-                order by sort_no asc, id asc
-                """, benefit.get("id")).stream().map(row -> {
-            Map<String, Object> school = new LinkedHashMap<>();
-            school.put("id", row.get("id"));
-            school.put("name", row.get("schoolName"));
-            school.put("address", text(row.get("address"), "暂未配置学校地址"));
-            school.put("latitude", row.get("latitude"));
-            school.put("longitude", row.get("longitude"));
-            school.put("phone", text(row.get("contactMobile"), ""));
-            school.put("detailAvailable", number(row.get("detailAvailable")) == 1);
-            return school;
-                }).toList();
+        // 只返回商家自己配置的适用学校;没配就是空列表(小程序显示"暂无适用学校"),
+        // 不再回落到历史全局学校表,避免新添加的商家显示别人的学校。
+        return configuredSchools(merchant.get("usageInstructions"));
     }
 
     private List<String> merchantHeroImages(Long merchantId) {
@@ -140,11 +126,8 @@
             result.put("content", matched.get("content"));
             return result;
         }
-        try {
-            return school(Long.parseLong(schoolId));
-        } catch (NumberFormatException exception) {
-            throw new BusinessException(ErrorCode.NOT_FOUND, "学校不存在或暂未开放");
-        }
+        // 商家没配学校时不去查历史全局学校表,直接按"学校不存在"返回。
+        throw new BusinessException(ErrorCode.NOT_FOUND, "学校不存在或暂未开放");
     }
 
     @Transactional(readOnly = true)

--
Gitblit v1.7.1