package com.bang.web.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.bang.model.*;
import com.bang.service.*;
import com.bang.viewModel.ResponseResult;
import com.bang.viewModel.TopicListModel;
import com.bang.viewModel.TopicShowModel;
import com.bang.web.BaseController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 贴子相关接口.
*/
@Controller
@RequestMapping("/api/topic")
public class TopicController extends BaseController{
@Resource
TopicService topicService;
@Resource
RecommendService recommendService;
@Resource
CommunityService communityService;
@Resource
MemberService memberService;
@Resource
TopicImageService topicImageService;
@Resource
CommentService commentService;
@Resource
PraiseService praiseService;
/**
* 根据分类获取子分类下所有贴子
* @param request
* @param categoryId
* @param page
* @return
*/
@ResponseBody
@RequestMapping(value="/list",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
public String getTopicList(HttpServletRequest request,int appId,int categoryId,int page)
{
page++;
//
ResponseResult rr=new ResponseResult();
rr.setCode(String.valueOf(ENUM_ResponseCode.SUCCESS.ordinal()));
TopicListModel topicListModel=new TopicListModel();
topic tmpTopic=null;
//
//优先显示推荐的帖子
List<recommend> recommends=recommendService.getByCategory(appId,categoryId, page);
for (recommend r:recommends ) {
if(r.getRecommendTag().equalsIgnoreCase(ENUM_RecommendTag.slider.toString()))
topicListModel.getRecommends().add(r);
else {
tmpTopic=topicService.getTopicById(r.getTopicId());
tmpTopic.setRecommendTag("置顶");
topicListModel.getTopics().add(tmpTopic);
}
}
//头条分类不可以直接发贴,只能从其它分类推荐而来
if(categoryId!=1) {
//分类下普通帖子
topicListModel.setTopics(topicService.getTopicsByMulitiCategory(appId, categoryId, page));
}
//分类下推荐的帖子
//topicListModel.setRecommends();
rr.setData(topicListModel);
//
return JSON.toJSONString(rr, SerializerFeature.DisableCircularReferenceDetect);
}
/**
* 获取具体贴子,包括发布人、评论列表、点赞列表、图片列表、是否已点赞
* @param request
* @param id
* @return
*/
@ResponseBody
@RequestMapping(value="/detail",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
public String getTopic(HttpServletRequest request,int id,int memberId)
{
ResponseResult rr=new ResponseResult();
TopicShowModel topicShowModel=new TopicShowModel();
//
topic _topic=topicService.getTopicById(id);
if(_topic!=null)
topicService.increaseViewCount(id);
member _member=memberService.getById(_topic.getMemberId());
topicShowModel.setTopic(_topic);
topicShowModel.setMember(_member);
topicShowModel.setTopicImages(topicImageService.getImagesById(id));
topicShowModel.setComments(commentService.getList(id,1));
topicShowModel.setPraises(praiseService.getPraises(id));
topicShowModel.setIsPraised(praiseService.hasPraised(id,memberId));
//
rr.setCode(String.valueOf(ENUM_ResponseCode.SUCCESS.ordinal()));
rr.setData(topicShowModel);
return JSON.toJSONString(rr, SerializerFeature.DisableCircularReferenceDetect);
}
/**
* 获取具体贴子、图片列表
* @param request
* @param id
* @return
*/
@ResponseBody
@RequestMapping(value="/get",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
public String getTopicOnly(HttpServletRequest request,int id)
{
ResponseResult rr=new ResponseResult();
TopicShowModel topicShowModel=new TopicShowModel();
//
topic _topic=topicService.getTopicById(id);
topicShowModel.setTopic(_topic);
topicShowModel.setTopicImages(topicImageService.getImagesById(id));
//
rr.setCode(String.valueOf(ENUM_ResponseCode.SUCCESS.ordinal()));
rr.setData(topicShowModel);
return JSON.toJSONString(rr, SerializerFeature.DisableCircularReferenceDetect);
}
/**
* 发布新贴
* @param request
* @param subject
* @param desc
* @param subCategoryId
* @param APPID
* @return
*/
@ResponseBody
@RequestMapping(value="/new",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
public String newTopic(HttpServletRequest request,String subject,String desc,int subCategoryId,int APPID,int memberId)
{
List<String> imgs=new ArrayList<String>();
topic _topic=new topic();
_topic.setSubject(subject);
_topic.setTopicContent(desc);
_topic.setCategoryId(subCategoryId);
_topic.setViewCount(1);
_topic.setFavoriteCount(0);
_topic.setPraiseCount(0);
_topic.setCommentCount(0);
_topic.setAppId(APPID);
_topic.setMemberId(memberId);
if(request.getParameter("topicImages")!=null){
imgs =JSON.parseArray(request.getParameter("topicImages"),String.class);
if(imgs.size()>0) {
_topic.setImageCount(imgs.size());
_topic.setFirstImage(imgs.get(0));
}
else
_topic.setImageCount(0);
}
//
topicService.createTopic(_topic);
if(_topic.getTopicid()>0)
{
//去掉首图
if(imgs.size()>0)
imgs.remove(0);
topicImageService.addImages(_topic.getTopicid(),memberId,imgs);
memberService.updateTopicCount(memberId,memberService.getById(memberId).getTopicCount()+1);
}
responseResult.setCode(String.valueOf(ENUM_ResponseCode.SUCCESS.ordinal()));
responseResult.setMessage(_topic.getTopicid().toString());
return JSON.toJSONString(responseResult, SerializerFeature.DisableCircularReferenceDetect);
}
/**
* 编辑帖子
* @param request
* @param subject
* @param desc
* @param subCategoryId
* @param memberId
* @return
*/
@ResponseBody
@RequestMapping(value="/edit",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
public String editTopic(HttpServletRequest request,int topicId,int subCategoryId,String subject,String desc,int memberId)
{
topic _topic=topicService.getTopicById(topicId);
List<String> imgs=new ArrayList<String>();
//
if(_topic.getMemberId()!=memberId)
{
responseResult.setCode(String.valueOf(ENUM_ResponseCode.FAILD.ordinal()));
responseResult.setMessage("该信息不是您发布的");
return JSON.toJSONString(responseResult, SerializerFeature.DisableCircularReferenceDetect);
}
_topic.setSubject(subject);
_topic.setTopicContent(desc);
_topic.setCategoryId(subCategoryId);
//
if(request.getParameter("topicImages")!=null)
{
imgs=JSON.parseArray(request.getParameter("topicImages"),String.class);
if(imgs.size()>0) {
_topic.setI
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
论坛微信小程序.zip (882个子文件)
config 313B
config 312B
ace.css 484KB
ace-part2.css 158KB
bootstrap.css 143KB
ace-rtl.css 141KB
bootstrap.css 141KB
bootstrap.min.css 118KB
ace-skins.css 92KB
font-awesome.css 32KB
font-awesome.min.css 27KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
bootstrap-datepicker3.css 22KB
dropzone.css 12KB
ace-ie.css 12KB
dropzone.min.css 9KB
dropzone.min.css 9KB
ace.onpage-help.css 5KB
basic.css 1KB
basic.min.css 751B
ace-fonts.css 440B
pace.css 275B
.DS_Store 6KB
.DS_Store 6KB
fontawesome-webfont.eot 69KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
FETCH_HEAD 101B
FETCH_HEAD 96B
loading.gif 8KB
.gitignore 578B
.gitignore 39B
HEAD 182B
HEAD 182B
HEAD 181B
HEAD 181B
HEAD 32B
HEAD 32B
HEAD 23B
HEAD 23B
index.html 29B
405.html 0B
favicon.ico 9KB
pack-c93fdfa554371efe0b909006b4938d5673265e2a.idx 58KB
pack-b72040cb17d725a504fdecd5e2067f73a8066b63.idx 20KB
BangServer.iml 11KB
BangappServer.iml 10KB
main.iml 874B
test.iml 423B
index 82KB
index 11KB
TopicController.java 12KB
TopicManageController.java 8KB
MemberController.java 6KB
MyRealm.java 4KB
topic.java 4KB
HttpRequestUtils.java 4KB
member.java 4KB
TopicServiceImpl.java 4KB
UploadController.java 3KB
LoginController.java 3KB
PraiseController.java 3KB
WeiXinController.java 3KB
CommentConroller.java 3KB
FileUploader.java 3KB
TencentUtils.java 3KB
community.java 2KB
recommend.java 2KB
MemberServiceImpl.java 2KB
comment.java 2KB
reply.java 2KB
apps.java 2KB
master.java 2KB
TopicService.java 2KB
TopicImageServiceImpl.java 2KB
QcloudSignController.java 1KB
RetryLimitHashedCredentialsMatcher.java 1KB
CommentServiceImpl.java 1KB
PraiseServiceImpl.java 1KB
AppTests.java 1KB
TopicShowModel.java 1KB
TagsController.java 1KB
topic_category.java 1KB
TopicImageController.java 1KB
RecommendServiceImpl.java 1KB
ReplyController.java 1KB
ReplyServiceImpl.java 1KB
topicImage.java 1KB
CommunityController.java 1KB
CommunityServiceImpl.java 1KB
MemberService.java 1KB
CategoryController.java 1KB
TopicListModel.java 1KB
MessageController.java 1011B
BaseController.java 1006B
praise.java 940B
ResponseResult.java 934B
topicMapper.java 927B
共 882 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
- charica2020-08-12是假的,一堆随便资料堆在一起,别再受骗了,肉痛
xtra6714
- 粉丝: 5
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功