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<AppProjectIntroductionItemVO>> list(@RequestParam(required = false) String category) {
|
return ApiResponse.ok(appProjectIntroductionService.listByCategory(category));
|
}
|
|
/**
|
* 获取项目介绍详情
|
* @param id 项目介绍ID
|
*/
|
@GetMapping("/detail/{id}")
|
public ApiResponse<AppProjectIntroductionDetailVO> detail(@PathVariable Long id) {
|
AppProjectIntroductionDetailVO detail = appProjectIntroductionService.getDetail(id);
|
if (detail == null) {
|
return ApiResponse.fail(404, "内容不存在");
|
}
|
return ApiResponse.ok(detail);
|
}
|
}
|