package com.zhujizheng.IHome.everymoment.controller; import com.zhujizheng.IHome.everymoment.dto.*; import com.zhujizheng.IHome.everymoment.service.PYEveryMomentService; import com.zhujizheng.IHome.everymoment.vo.PYEveryMomentCommentVO; import com.zhujizheng.IHome.everymoment.vo.PYEveryMomentImgVO; import com.zhujizheng.IHome.everymoment.vo.PYEveryMomentThumbupVO; import com.zhujizheng.IHome.everymoment.vo.PYEveryMomentVO; import com.zhujizheng.IHome.util.response.ResponseResult; import com.zhujizheng.IHome.util.response.RestResultGenerator; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; 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; /** * Created with IntelliJ IDEA *

* Author: yons * Date: 2019/03/08 * Time: 00:06 * Description: 每刻相关接口 * Copyright © 2019年 com.zhujizheng. All rights reserved. */ @Api("每刻相关") @RestController @RequestMapping("/everymoment") @Slf4j public class PYEveryMomentController { /** * 动态相关的操作 */ @Autowired private PYEveryMomentService everyMomentService; @ApiOperation("获取前10条动态") @ApiImplicitParam(name = "pullEveryMomentDTO", value = "根据用户id和每刻id获取每刻列表", required = true, dataType = "PYEveryMomentPullDTO") @PostMapping("/pull") public ResponseResult pullEveryMoment(@Validated @RequestBody PYEveryMomentPullDTO pullEveryMomentDTO) { List everyMomentList = everyMomentService.pullEveryMoment(pullEveryMomentDTO); if (everyMomentList == null) { return RestResultGenerator.genErrorResult("获取动态失败"); } return RestResultGenerator.genResult(everyMomentList, "获取动态成功"); } @ApiOperation("获取某条动态") @ApiImplicitParam(name = "emId", value = "动态id", paramType = "path", required = true, dataType = "int") @GetMapping("/pull/{emId}") public ResponseResult getEveryMomentByEmId(@PathVariable int emId) { PYEveryMomentVO everyMomentVO = everyMomentService.getEveryMomentByEmId(emId); if (everyMomentVO == null) { return RestResultGenerator.genErrorResult("获取动态失败"); } return RestResultGenerator.genResult(everyMomentVO, "获取动态成功"); } @ApiOperation("发布动态") @ApiImplicitParam(name = "pushEveryMomentDTO", value = "发布动态的数据", required = true, dataType = "PYEveryMomentPushDTO") @PostMapping("/push") public ResponseResult pushEveryMoment(@Validated @RequestBody PYEveryMomentPushDTO pushEveryMomentDTO) { System.out.println("dto = " + pushEveryMomentDTO); PYEveryMomentVO everyMomentVO = everyMomentService.pushEveryMoment(pushEveryMomentDTO); if (everyMomentVO == null) { return RestResultGenerator.genErrorResult("发布失败"); } else { return RestResultGenerator.genResult(everyMomentVO, "发布成功"); } } @ApiOperation("删除动态") @ApiImplicitParam(name = "deleteEveryMomentDTO", value = "根据emId删除动态", required = true, dataType = "PYEveryMomentDeleteDTO") @PostMapping("/delete") public ResponseResult deleteEveryMoment(@Validated @RequestBody PYEveryMomentDeleteDTO deleteEveryMomentDTO) { int result = everyMomentService.deleteEveryMoment(deleteEveryMomentDTO); if (result == 0) { return RestResultGenerator.genErrorResult("删除动态失败"); } return RestResultGenerator.genResult("删除动态成功"); } @ApiOperation("点赞动态") @ApiImplicitParam(name = "thumbupDTO", value = "点赞动态", required = true, dataType = "PYEveryMomentThumbupDTO") @PostMapping("/thumbup") public ResponseResult thumbupEveryMoment(@Validated @RequestBody PYEveryMomentThumbupDTO thumbupDTO) { System.out.println("thumbupDTO = " + thumbupDTO); PYEveryMomentThumbupVO thumbupVO = everyMomentService.thumbupEveryMoment(thumbupDTO); if (thumbupVO == null) { return RestResultGenerator.genErrorResult("点赞失败"); } return RestResultGenerator.genResult(thumbupVO, "点赞成功"); } @ApiOperation("取消点赞动态") @ApiImplicitParam(name = "cancelThumbupDTO", value = "取消点赞动态", required = true, dataType = "PYEveryMomentCancelThumbupDTO") @PostMapping("/cancelthumbup") public ResponseResult cancelThumbupEveryMoment(@Validated @RequestBody PYEveryMomentCancelThumbupDTO cancelThumbupDTO) { int result = everyMomentService.cancelThumbupEveryMoment(cancelThumbupDTO); if (result == 0) { return RestResultGenerator.genErrorResult("取消点赞失败"); } return RestResultGenerator.genResult( "取消点赞成功"); } @ApiOperation("评论动态") @ApiImplicitParam(name = "commentDTO", value = "评论模型", required = true, dataType = "PYEveryMomentCommentDTO") @PostMapping("/comment") public ResponseResult commentEveryMoment(@Validated @RequestBody PYEveryMomentCommentDTO commentDTO) { PYEveryMomentCommentVO commentVO = everyMomentService.commentEveryMoment(commentDTO); if (commentVO == null) { return RestResultGenerator.genErrorResult("评论失败"); } return RestResultGenerator.genResult(commentVO, "评论成功"); } @ApiOperation("删除评论") @ApiImplicitParam(name = "deleteCommentDTO", value = "删除评论的模型", required = true, dataType = "PYEveryMomentDeleteCommentDTO") @PostMapping("/deletecomment") public ResponseResult deleteCommentEveryMoment(@Validated @RequestBody PYEveryMomentDeleteCommentDTO deleteCommentDTO) { int result = everyMomentService.deleteCommentEveryMoment(deleteCommentDTO); if (result == 0) { return RestResultGenerator.genErrorResult("删除评论失败"); } return RestResultGenerator.genResult("删除评论成功"); } @ApiOperation("获取用户动态的最后几张图片") @ApiImplicitParam(name = "userId", value = "用户id", paramType = "path", required = true, dataType = "int") @GetMapping("/getLastImgList/{userId}") public ResponseResult getImgListWithUserId(@PathVariable int userId) { List imgList = everyMomentService.getImgListWithUserId(userId); if (imgList == null) { return RestResultGenerator.genErrorResult("获取图片列表失败"); } return RestResultGenerator.genResult(imgList, "获取图片列表成功"); } }