package com.tcm.training.admin.app.projectintroduction.controller; import com.tcm.training.admin.app.projectintroduction.service.AppProjectIntroductionService; import com.tcm.training.admin.common.ApiResponse; import com.tcm.training.admin.live.vo.AppProjectIntroductionDetailVO; import com.tcm.training.admin.live.vo.AppProjectIntroductionItemVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * APP项目介绍接口 */ @Validated @RestController @RequestMapping({"/api/app/project-introduction", "/api/v1/app/project-introduction"}) public class AppProjectIntroductionController { private final AppProjectIntroductionService appProjectIntroductionService; public AppProjectIntroductionController(AppProjectIntroductionService appProjectIntroductionService) { this.appProjectIntroductionService = appProjectIntroductionService; } /** * 获取项目介绍列表(可按类别筛选) * @param category 类别:platform(平台介绍)、mode(营销模式)、action(营销动作),不传则查询全部 */ @GetMapping("/list") public ApiResponse> list(@RequestParam(required = false) String category) { return ApiResponse.ok(appProjectIntroductionService.listByCategory(category)); } /** * 获取项目介绍详情 * @param id 项目介绍ID */ @GetMapping("/detail/{id}") public ApiResponse detail(@PathVariable Long id) { AppProjectIntroductionDetailVO detail = appProjectIntroductionService.getDetail(id); if (detail == null) { return ApiResponse.fail(404, "内容不存在"); } return ApiResponse.ok(detail); } }