From 7844f5af457ff3b7d3f8eeac8799e8d281e635a1 Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期一, 21 九月 2026 11:04:46 +0800
Subject: [PATCH] 更新....
---
talent-card-server/src/main/java/com/talentcard/server/service/TicketPackageAdminService.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/talent-card-server/src/main/java/com/talentcard/server/service/TicketPackageAdminService.java b/talent-card-server/src/main/java/com/talentcard/server/service/TicketPackageAdminService.java
index a52c6e4..081374a 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/service/TicketPackageAdminService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/service/TicketPackageAdminService.java
@@ -45,6 +45,7 @@
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.springframework.dao.DuplicateKeyException;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -59,6 +60,7 @@
private final BenefitMerchantMapper merchantMapper;
private final TicketPackageMerchantMapper packageMerchantMapper;
private final TicketPackageLevelRuleMapper levelRuleMapper;
+ private final JdbcTemplate jdbcTemplate;
public TicketPackageAdminService(
TicketPackageMapper packageMapper,
@@ -66,7 +68,8 @@
TicketPackageClaimMapper claimMapper,
BenefitMerchantMapper merchantMapper,
TicketPackageMerchantMapper packageMerchantMapper,
- TicketPackageLevelRuleMapper levelRuleMapper
+ TicketPackageLevelRuleMapper levelRuleMapper,
+ JdbcTemplate jdbcTemplate
) {
this.packageMapper = packageMapper;
this.codeMapper = codeMapper;
@@ -74,6 +77,35 @@
this.merchantMapper = merchantMapper;
this.packageMerchantMapper = packageMerchantMapper;
this.levelRuleMapper = levelRuleMapper;
+ this.jdbcTemplate = jdbcTemplate;
+ }
+
+ /**
+ * 票包表单的「适用商家」下拉选项:只回启用的观影服务商家(id + 名称)。
+ *
+ * <p>单独开这个只读接口,是为了让「电影票管理」这个权限自己够用——之前页面复用
+ * {@code /api/admin/business/merchants},票包运营账号没有「商家查询」权限就整页报错。
+ */
+ @Transactional(readOnly = true)
+ public List<Map<String, Object>> merchantOptions(String keyword) {
+ StringBuilder sql = new StringBuilder("""
+ select id, merchant_name, merchant_type
+ from merchant
+ where deleted = 0 and status = 1 and merchant_type_code = 'cinema'
+ """);
+ List<Object> arguments = new ArrayList<>();
+ if (keyword != null && !keyword.isBlank()) {
+ sql.append(" and merchant_name like ?");
+ arguments.add("%" + keyword.trim() + "%");
+ }
+ sql.append(" order by sort_no desc, id asc");
+ return jdbcTemplate.queryForList(sql.toString(), arguments.toArray()).stream().map(row -> {
+ Map<String, Object> option = new LinkedHashMap<>();
+ option.put("id", row.get("id"));
+ option.put("merchantName", row.get("merchant_name"));
+ option.put("merchantType", row.get("merchant_type"));
+ return option;
+ }).toList();
}
@Transactional(readOnly = true)
--
Gitblit v1.7.1