From 75e20ed49063feac161beca13aba24147424d5a7 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 17 九月 2026 18:43:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 talent-card-server/src/main/java/com/talentcard/server/business/admin/AdminBusinessController.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/talent-card-server/src/main/java/com/talentcard/server/business/admin/AdminBusinessController.java b/talent-card-server/src/main/java/com/talentcard/server/business/admin/AdminBusinessController.java
index 7f7af73..73eb017 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/business/admin/AdminBusinessController.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/business/admin/AdminBusinessController.java
@@ -104,12 +104,14 @@
 	@ResponseStatus(HttpStatus.CREATED)
 	public ApiResponse<Map<String, Object>> createPolicy(@Valid @RequestBody PolicyArticleRequest request, HttpServletRequest servletRequest) {
 		String operatorName = String.valueOf(servletRequest.getAttribute(AdminAuthInterceptor.OPERATOR_NAME_ATTRIBUTE));
-		return ApiResponse.success(adminBusinessService.createPolicy(request, operatorName));
+		Long operatorId = (Long) servletRequest.getAttribute(AdminAuthInterceptor.OPERATOR_ID_ATTRIBUTE);
+		return ApiResponse.success(adminBusinessService.createPolicy(request, operatorId, operatorName));
 	}
 
 	@PutMapping("/policies/{id}")
-	public ApiResponse<Map<String, Object>> updatePolicy(@PathVariable Long id, @Valid @RequestBody PolicyArticleRequest request) {
-		return ApiResponse.success(adminBusinessService.updatePolicy(id, request));
+	public ApiResponse<Map<String, Object>> updatePolicy(@PathVariable Long id, @Valid @RequestBody PolicyArticleRequest request, HttpServletRequest servletRequest) {
+		Long operatorId = (Long) servletRequest.getAttribute(AdminAuthInterceptor.OPERATOR_ID_ATTRIBUTE);
+		return ApiResponse.success(adminBusinessService.updatePolicy(id, request, operatorId));
 	}
 
 	@PatchMapping("/policies/{id}/status")
@@ -189,6 +191,16 @@
 		return ApiResponse.success(adminBusinessService.createBenefit(request));
 	}
 
+	@GetMapping("/service-hero-images")
+	public ApiResponse<Map<String, Object>> serviceHeroImages() {
+		return ApiResponse.success(adminBusinessService.serviceHeroImages());
+	}
+
+	@PutMapping("/service-hero-images")
+	public ApiResponse<Map<String, Object>> saveServiceHeroImage(@Valid @RequestBody ServiceHeroImageRequest request) {
+		return ApiResponse.success(adminBusinessService.saveServiceHeroImage(request.type(), request.imageUrl()));
+	}
+
 	@GetMapping("/products")
 	public ApiResponse<PageResult<Map<String, Object>>> products(
 			@RequestParam(required = false) Long merchantId,
@@ -218,10 +230,14 @@
 	@GetMapping("/merchants/{id}/products")
 	public ApiResponse<PageResult<Map<String, Object>>> merchantProducts(
 			@PathVariable Long id,
+			@RequestParam(required = false) String keyword,
+			@RequestParam(required = false) Integer status,
+			@RequestParam(required = false) String createdStart,
+			@RequestParam(required = false) String createdEnd,
 			@RequestParam(defaultValue = "1") int page,
 			@RequestParam(defaultValue = "10") int size
 	) {
-		return ApiResponse.success(adminBusinessService.products(id, null, null, null, null, null, null, null, page, size));
+		return ApiResponse.success(adminBusinessService.merchantProducts(id, keyword, status, createdStart, createdEnd, page, size));
 	}
 
 	@GetMapping("/products/{id}")

--
Gitblit v1.7.1