package com.tanpu.community.controller; import com.tanpu.common.api.CommonResp; import com.tanpu.community.api.beans.qo.ThemeQo; import com.tanpu.community.api.beans.req.theme.*; import com.tanpu.community.manager.ThemeManager; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @Slf4j @RequestMapping(value = "/api/theme") public class ThemeController { @Autowired private ThemeManager themeManager; @ApiOperation("发表主题") @PostMapping(value = "/publish") @ResponseBody public CommonResp<Void> publishTheme(@Validated @RequestBody CreateThemeReq req) { String userId = "liujm"; themeManager.publishTheme(req, userId); return CommonResp.success(); } @ApiOperation("圈子首页-推荐/关注/热门/最新") @PostMapping(value = "/list") @ResponseBody public CommonResp<List<ThemeQo>> selectInterestList(@Validated @RequestBody ThemeListReq req) { String userId = "liujm"; List<ThemeQo> result = themeManager.queryThemes(req, userId); return CommonResp.success(result); } @ApiOperation("主题正文") @GetMapping(value = "/detail") @ResponseBody public CommonResp<ThemeQo> getThemeMainText(@RequestParam String themeId) { String userId = "liujm"; ThemeQo themeQo = themeManager.getDetail(themeId, userId); return CommonResp.success(themeQo); } @ApiOperation("转发主题") @PostMapping(value = "/forward") @ResponseBody public CommonResp forwardTheme(@Validated @RequestBody ForwardThemeReq forwardThemeReq) { String userId = "liujm"; themeManager.forward(forwardThemeReq, userId); return CommonResp.success(); } @ApiOperation("点赞/取消点赞主题") @PostMapping(value = "/like") @ResponseBody public CommonResp<Void> likeOnTheme(@RequestBody LikeThemeReq req) { String user = "liujm"; themeManager.like(req, user); return CommonResp.success(); } @ApiOperation("收藏/取消收藏主题") @GetMapping(value = "/collect") @ResponseBody public CommonResp<Void> bookTheme(@RequestBody CollectThemeReq req) { String user = "liujm"; themeManager.collect(req, user); return CommonResp.success(); } @ApiOperation("举报主题") @GetMapping(value = "/report") @ResponseBody public CommonResp complaintTheme(@RequestBody ReportThemeReq req) { return CommonResp.failed("功能暂未开放"); } @ApiOperation("分享主题") @GetMapping(value = "/share") @ResponseBody public CommonResp<Void> shareTheme(String themeId) { return CommonResp.failed("功能暂未开放"); } @ApiOperation("屏蔽") @GetMapping(value = "/block") @ResponseBody public CommonResp concealTheme(String themeId) { String user = "liujm"; // themeManager.blockContent(themeId,user); return CommonResp.success(); } }