package service.impl;
import dao.BoardMapper;
import dao.PostMapper;
import dao.TopicMapper;
import dao.UserMapper;
import model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import service.ForumService;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.List;
@Service
public class ForumServiceI implements ForumService {
@Autowired
private TopicMapper topicMapper;
@Autowired
private BoardMapper boardMapper;
@Autowired
private PostMapper postMapper;
@Autowired
private UserMapper userMapper;
public void addTopic(Topic topic) {
topicMapper.insertSelective(topic);
Board board = boardMapper.selectByPrimaryKey(topic.getBoardId());
board.setTopicNum(board.getTopicNum() + 1);
boardMapper.updateByPrimaryKeySelective(board);
}
public void removeTopic(int TopicId) {
Topic topic = topicMapper.selectByPrimaryKey(TopicId);
//删除相关回复贴
topicMapper.deleteByPrimaryKey(TopicId);
List<Post> postList = postMapper.selectByTopicId(TopicId);
for (Post p:
postList) {
postMapper.deleteByPrimaryKey(p.getPostId());
}
//论坛板块主题帖子数-1
Board board = boardMapper.selectByPrimaryKey(topic.getBoardId());
board.setTopicNum(board.getTopicNum() - 1);
boardMapper.updateByPrimaryKeySelective(board);
//扣50积分
User user = userMapper.selectByPrimaryKey(topic.getUserId());
user.setCredit(user.getCredit() - 50 >= 0 ? user.getCredit() - 50 : 0);
userMapper.updateByPrimaryKey(user);
}
public void addPost(Post post) {
//插入回复信息
post.setCreateTime(new Timestamp(System.currentTimeMillis()));
postMapper.insertSelective(post);
//积分+5
User user = userMapper.selectByPrimaryKey(post.getUserId());
user.setCredit(user.getCredit() + 5);
userMapper.updateByPrimaryKeySelective(user);
//主题回复数+1,更新回复时间
Topic topic = topicMapper.selectByPrimaryKey(post.getTopicId());
topic.setTopicReplies(topic.getTopicReplies() + 1);
topic.setLastPost(new Timestamp(System.currentTimeMillis()));
topicMapper.updateByPrimaryKeySelective(topic);
}
public void setStarTopic(int TopicId) {
Topic topic = topicMapper.selectByPrimaryKey(TopicId);
topic.setDigest(Topic.IS_DISGEST);
topicMapper.updateByPrimaryKeySelective(topic);
}
public List<Topic> getNewerForum() {
return topicMapper.selectOrderBydatetime();
}
public List<Topic> getHotForum() {
return topicMapper.selectOrderByReply();
}
public Topic getSelectTopic(int TopicId) {
return topicMapper.selectByPrimaryKey(TopicId);
}
public List<Post> getAllPostReplyByTopicId(int TopicId) {
List<Post> list = postMapper.selectByTopicId(TopicId);
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getPostType() == Post.TYPE_MAIN) {
list.remove(i);
}
}
for (Post p :
list) {
p.setPostTitle(userMapper.selectByPrimaryKey(p.getUserId()).getUserName());
}
return list;
}
public void addViewed(int TopicId) {
Topic topic = topicMapper.selectByPrimaryKey(TopicId);
topic.setTopicViews(topic.getTopicViews() + 1);
topicMapper.updateByPrimaryKeySelective(topic);
}
public Post getHostTopicInnerText(int topicId, int userId) {
return postMapper.getHostTopicInnerText(topicId, userId);
}
//删除回复贴,主题回复数-1,删除post
public void deletePost(int PostId) {
Post post = postMapper.selectByPrimaryKey(PostId);
Topic topic = topicMapper.selectByPrimaryKey(post.getTopicId());
topic.setTopicReplies(topic.getTopicReplies() - 1);
topicMapper.updateByPrimaryKeySelective(topic);
postMapper.deleteByPrimaryKey(PostId);
}
public List<Board> getAllboard() {
return boardMapper.getAllBoard();
}
public int selectLastInsert() {
return topicMapper.selectLastInsertId();
}
@Override
public List<BoardRe> getBoardMap() {
return boardMapper.getBoardMap();
}
@Override
public List<Data> getBoardData(int boardId) {
return boardMapper.getboardData(boardId);
}
@Override
public List<Topic> selectByuserId(int userId) {
return topicMapper.selectByuserId(userId);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
一个简单的论坛项目,参考使用
共573个文件
gif:150个
xml:102个
class:58个
3星 · 超过75%的资源 需积分: 34 327 下载量 159 浏览量
2018-08-21
14:52:28
上传
评论 48
收藏 43.04MB ZIP 举报
温馨提示
一个简单的论坛项目 SSM+jQuery+layUI,数据库在项目SQL文件夹内,使用前导入即可,开发环境 Idea,Tomcat。具体详见 https://blog.csdn.net/orochi1972/article/details/81151401
资源推荐
资源详情
资源评论
收起资源包目录
一个简单的论坛项目,参考使用 (573个子文件)
ForumServiceI.class 6KB
ForumServiceI.class 6KB
ForumManageController.class 5KB
ForumManageController.class 5KB
textDao.class 4KB
UserServiceI.class 4KB
UserServiceI.class 4KB
LoginController.class 4KB
LoginController.class 4KB
RegisterController.class 4KB
RegisterController.class 4KB
textService.class 3KB
UploadPictureUtil.class 2KB
UploadPictureUtil.class 2KB
Topic.class 2KB
Topic.class 2KB
BoardManageController.class 2KB
BoardManageController.class 2KB
Data.class 2KB
Data.class 2KB
User.class 2KB
User.class 2KB
Post.class 2KB
Post.class 2KB
UserDetailed.class 2KB
UserDetailed.class 2KB
SwaggerConfig.class 2KB
SwaggerConfig.class 2KB
BoardRe.class 1KB
BoardRe.class 1KB
LoginLog.class 1KB
LoginLog.class 1KB
Board.class 1KB
Board.class 1KB
ForumManageController$EncodingTool.class 1012B
ForumManageController$EncodingTool.class 1012B
RecentUser.class 985B
RecentUser.class 985B
ForumService.class 911B
ForumService.class 911B
UserService.class 791B
UserService.class 791B
BoardManagerKey.class 760B
BoardManagerKey.class 760B
TopicMapper.class 629B
TopicMapper.class 629B
BoardMapper.class 612B
BoardMapper.class 612B
PostMapper.class 545B
PostMapper.class 545B
UserDetailedMapper.class 491B
UserDetailedMapper.class 491B
UserMapper.class 447B
UserMapper.class 447B
LoginLogMapper.class 299B
LoginLogMapper.class 299B
BoardManagerMapper.class 222B
BoardManagerMapper.class 222B
bootstrap.css 143KB
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap.min.css 118KB
layui.css 59KB
layui.css 59KB
index_c211cbd.css 35KB
index_c211cbd.css 35KB
bootstrap-theme.css 26KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
bootstrap-theme.min.css 23KB
layer.css 14KB
layer.css 14KB
layui.mobile.css 10KB
layui.mobile.css 10KB
laydate.css 7KB
laydate.css 7KB
base.css 4KB
base.css 4KB
code.css 1KB
code.css 1KB
board.css 985B
board.css 985B
iconfont.eot 39KB
iconfont.eot 39KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
59.gif 10KB
59.gif 10KB
22.gif 10KB
22.gif 10KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
共 573 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
- Snlyxiaoguais2020-05-31兄嘚们 这个项目怎么跑起来啊
- 大海20092018-09-16文档可以再详细点才行
- 忘鱼2018-12-31还行吧,还没用
- mysky6032019-06-11发贴可以,没有后台管理员的功能
_yiyi
- 粉丝: 67
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM8S103F3P6+STM8S207C8T6+STM32F103 单片机三合一最小系统开发板硬件(原理图+PCB)工程
- 基于C语言实现的打印杨辉三角
- 基于ASIO的插件式服务器,支持TCP,UDP,串口,Http,Websocket统一化的数据接口,隔离开发人员和IO之间的操作
- stm32 usb接口通信
- Chessmate是一款完全免费的国际象棋学习软件,支持引擎分析,学开局、残局、棋书解读、大数据分析等功能
- 总结整理的Android面试Java基础知识点面试资料精编汇总文档资料合集.zip
- .android_lq
- FDN5632N-VB一款SOT23封装N-Channel场效应MOS管
- 毛老板-2404250902.amr
- Java类加载流程(双亲委派)流程图.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功