提交 32db7cc3 编写于 作者: 街头小贩's avatar 街头小贩

修正回复后跳转的连接失败

上级 5cc0e5e3
......@@ -20,11 +20,9 @@ import com.apobates.forum.core.api.service.BoardService;
import com.apobates.forum.core.api.service.BoardTopicCategoryIndexService;
import com.apobates.forum.core.api.service.PostsService;
import com.apobates.forum.core.api.service.TopicService;
import com.apobates.forum.core.api.service.TopicStatsService;
import com.apobates.forum.core.entity.BoardTopicCategoryIndex;
import com.apobates.forum.core.entity.Posts;
import com.apobates.forum.core.entity.Topic;
import com.apobates.forum.core.entity.TopicStats;
import com.apobates.forum.event.elderly.ActionEventCulpritor;
import com.apobates.forum.event.elderly.ForumActionEnum;
import com.apobates.forum.trident.OnlineDescriptor;
......@@ -58,8 +56,6 @@ public class PostsController {
@Autowired
private TopicService topicService;
@Autowired
private TopicStatsService topicStatsService;
@Autowired
private PostsService postsService;
@Autowired
private ImageIOMeta imageIOConfig;
......@@ -173,19 +169,13 @@ public class PostsController {
long topicId = form.getLongTopic();
//
if(boardId>0 && volumesId>=0 && topicId>0) {
boolean data = postsService.create(
volumesId,
boardId,
topicId,
postsContent,
imageIOConfig,
aec)>0;
if(data) {
long postsId = postsService.create(volumesId, boardId, topicId, postsContent, imageIOConfig, aec);
if(postsId>0) {
//----------------------------------
// 回复通知(tc.notify)
//----------------------------------
TopicStats topicStats = topicStatsService.getByTopic(topicId).orElse(new TopicStats(topicId, volumesId, boardId));
return String.format("redirect:/topic/%s.xhtml?p=%d", ActiveDirectoryConnectorFactory.generateConnectString(volumesId, boardId, topicId), topicStats.getTopicPageSize(pageSize));
long lastPostsPageNumber = calcPostsPageNumber(postsService.get(postsId), pageSize);
return String.format("redirect:/topic/%s.xhtml?p=%d", ActiveDirectoryConnectorFactory.generateConnectString(volumesId, boardId, topicId), lastPostsPageNumber);
}
}
model.addAttribute("form", form);
......@@ -197,7 +187,23 @@ public class PostsController {
model.addAttribute("errors", "话题回复操作失败");
return "default/posts/create";
}
//计算指定回复所在页码值
private long calcPostsPageNumber(Optional<Posts> posts, int pageSize){
if(!posts.isPresent()){
return 1L;
}
long currentFloor = posts.get().getFloorNumber();
if (currentFloor <= pageSize) {
return 1;
}
// 整除
long t = currentFloor / pageSize;
// 不整除
if (currentFloor % pageSize != 0) {
t += 1;
}
return t;
}
// 编辑回复,只允许针对Posts.reply(回复的内容/非话题的内容/)的记录
@GetMapping(path="/edit")
@OnlineDescriptor(action=ForumActionEnum.POSTS_EDIT)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册