提交 0a2a28ad 编写于 作者: 街头小贩's avatar 街头小贩

修正thrones 中CTL的TipMessage输出API

上级 323d7685
......@@ -117,7 +117,18 @@ public class InboxServiceImpl implements InboxService{
public int readed(long memberId) {
return inboxDao.editReadabled(memberId);
}
@Override
public Optional<Boolean> compositeReaded(long memberId, long othMemberId, int direction) {
if (direction == 1) { //将两个会员之间(指定发件人发来)的未读消息标为已读
return readed(memberId, othMemberId);
}
if (othMemberId == -1 && direction == 2) { //将会员的未读消息标记为已读
return Optional.of(readed(memberId)>0);
}
return Optional.empty();
}
@Override
public long countForMemberMessages(long memberId) {
return inboxDao.countForUnReadable(memberId);
......@@ -136,10 +147,10 @@ public class InboxServiceImpl implements InboxService{
return Stream.empty();
}
final Map<Long, Inbox> boxes = CompletableFuture.supplyAsync(()->data.stream().map(ForumLetter::getId).collect(Collectors.toSet()))
.thenCompose(letterIdSet-> CompletableFuture.supplyAsync(()->inboxDao.findAllByLetter(letterIdSet).collect(Collectors.toMap(Inbox::getLetter, Function.identity())))
.completeOnTimeout(Collections.emptyMap(), 1, TimeUnit.SECONDS))
.orTimeout(1, TimeUnit.SECONDS)
.join();
.thenCompose(letterIdSet-> CompletableFuture.supplyAsync(()->inboxDao.findAllByLetter(letterIdSet).collect(Collectors.toMap(Inbox::getLetter, Function.identity())))
.completeOnTimeout(Collections.emptyMap(), 1, TimeUnit.SECONDS))
.orTimeout(1, TimeUnit.SECONDS)
.join();
Consumer<ForumLetterReplica> action = fl->{
Inbox ti = boxes.get(fl.getId());
fl.setStatus(new ForumLetterStatus(ti.getId(), ti.isReadable(), ti.isReply(), ti.isUsable()));
......
......@@ -97,7 +97,17 @@ public interface InboxService {
* @return
*/
int readed(long memberId);
/**
* 复合标记为已读,复合(int readed(long) || Optional<Boolean> readed(long, long))
*
* @param memberId 主向会员
* @param othMemberId
* @param direction 方向
* @return
*/
Optional<Boolean> compositeReaded(long memberId, long othMemberId, int direction);
/**
* 删除指定的信件
*
......
......@@ -17,6 +17,7 @@ open module Letterbox {
requires jackson.core;
requires org.slf4j;
exports com.apobates.forum.letterbox.entity;
exports com.apobates.forum.letterbox.entity.proxy;
exports com.apobates.forum.letterbox.service;
exports com.apobates.forum.letterbox.dao;
}
\ No newline at end of file
......@@ -170,16 +170,7 @@ public class BoardController {
//----------------------------------策略检查开始,不限角色.
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol;
try{
symbol = boardService.removeFavorite(boardId, aec).orElse(false);
}catch(IllegalStateException e){
return TipMessage.ofError(e.getMessage()).toJsonString();
}
if (symbol) {
return TipMessage.ofSuccess("已成功取消收藏").toJsonString();
}
return TipMessage.ofError("取消收藏失败").toJsonString();
return TipMessage.Builder.condition(()->boardService.removeFavorite(boardId, aec)).success("已成功取消收藏").error("取消收藏失败").toJsonString();
}
// 锁定
......@@ -204,11 +195,7 @@ public class BoardController {
//----------------------------------策略检查开始:只有管理员可以锁定
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = boardService.lock(boardId, boardGroupId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("版块成功锁定");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->boardService.lock(boardId, boardGroupId, aec)).success("版块成功锁定").error("操作失败");
}
// 解锁
......@@ -233,11 +220,7 @@ public class BoardController {
//----------------------------------策略检查开始:只有管理员可以解锁
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = boardService.releaseLock(boardId, boardGroupId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("版块解锁成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->boardService.releaseLock(boardId, boardGroupId, aec)).success("版块解锁成功").error("操作失败");
}
// 编辑版块的配置
......
......@@ -195,11 +195,7 @@ public class MainController {
if(!btc.isPresent()){
return TipMessage.ofError("未知的存储目标");
}
Optional<TopicReplica> result = topicService.plug(new FeedbackPlugTopic(aec, title, content, btc.get()));
if (result.isPresent()) {
return TipMessage.ofSuccess("感谢您反馈的意见或建议");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.or(()->topicService.plug(new FeedbackPlugTopic(aec, title, content, btc.get())).isPresent()).success("感谢您反馈的意见或建议").error("操作失败");
}
private String encodeJsonString(long mid, String token, int limit, long timestamp) {
Map<String, String> data = Map.ofEntries(Map.entry("mid", mid + ""), Map.entry("token", token), Map.entry("limit", limit + ""), Map.entry("timestamp", timestamp + ""));
......
......@@ -222,10 +222,7 @@ public class MessageController {
HttpServletRequest request,
Model model) {
List<Long> messageIdList = Commons.toLongList(idString);
if (inboxService.readed(mbean.getMid(), messageIdList)>0) {
return TipMessage.ofSuccess("标记成功");
}
return TipMessage.ofError("标记为阅读操作失败");
return TipMessage.Builder.or(()->inboxService.readed(mbean.getMid(), messageIdList)>0).success("标记成功").error("标记为阅读操作失败");
}
//收件人将消息标为删除
......@@ -239,10 +236,7 @@ public class MessageController {
HttpServletRequest request,
Model model) {
List<Long> messageIdList = Commons.toLongList(idString);
if (inboxService.remove(mbean.getMid(), messageIdList)>0) {
return TipMessage.ofSuccess("删除成功");
}
return TipMessage.ofError("删除消息操作失败");
return TipMessage.Builder.or(()->inboxService.remove(mbean.getMid(), messageIdList)>0).success("删除成功").error("删除消息操作失败");
}
//收件箱中的查看
......@@ -320,18 +314,8 @@ public class MessageController {
MemberSessionBean mbean,
HttpServletRequest request,
Model model) {
//1=收件箱(member=发件人),0发件箱(member=收件人),2=收件箱(member=-1)
boolean data = false;
if (direction == 1) { //将两个会员之间(指定发件人发来)的未读消息标为已读
data = inboxService.readed(mbean.getMid(), memberId).isPresent();
}
if (memberId == -1 && direction == 2) { //将会员的未读消息标记为已读
data = inboxService.readed(mbean.getMid())>0;
}
if (data) {
return TipMessage.ofSuccess("标记成功");
}
return TipMessage.ofError("标记为阅读操作失败");
final long othMember =(direction == 1)?memberId:-1;
return TipMessage.Builder.condition(()->inboxService.compositeReaded(mbean.getMid(), othMember, direction)).success("标记成功").error("标记为阅读操作失败");
}
//今天的公告
......
......@@ -316,11 +316,7 @@ public class PostsController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = postsService.remove(postsId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题回复成功删除");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->postsService.remove(postsId, aec)).success("话题回复成功删除").error("操作失败");
}
// 返回引用的回复内容
......@@ -411,10 +407,7 @@ public class PostsController {
reportTypeSymbol,
reportContent,
btc.get()));
if (result.isPresent()) {
return TipMessage.ofSuccess("回复举报成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.or(()->result.isPresent()).success("回复举报成功").error("操作失败");
}
//引用回复时,引用的内容
private String quoteContent(Optional<Posts> quotePosts) {
......
......@@ -69,11 +69,7 @@ public class PostsMoodController {
// 移至StrategyInterceptorAdapter
//----------------------------------
boolean liked = (moodStatus == 1);
long result = postsMoodRecordsService.toggleMoodRecord(postsId, tpObj.getId(), liked, aec);
if (result>0) {
return TipMessage.ofSuccess("回复点赞成功");
}
return TipMessage.ofError("点赞失败");
return TipMessage.Builder.or(()->postsMoodRecordsService.toggleMoodRecord(postsId, tpObj.getId(), liked, aec)>0).success("回复点赞成功").error("点赞失败");
}
//查看点赞的计数
......
......@@ -181,11 +181,7 @@ public class TopicController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = topicService.editTop(topicId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题置顶成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.editTop(topicId, aec)).success("话题置顶成功").error("操作失败");
}
// 版主话题加精
......@@ -208,11 +204,7 @@ public class TopicController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = topicService.editGoods(topicId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题加精成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.editGoods(topicId, aec)).success("话题加精成功").error("操作失败");
}
// 版主锁定话题
......@@ -235,11 +227,7 @@ public class TopicController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = topicService.lock(topicId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题成功锁定");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.lock(topicId, aec)).success("话题成功锁定").error("操作失败");
}
// 版主解锁话题
......@@ -262,11 +250,7 @@ public class TopicController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = topicService.releaseLock(topicId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题解锁成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.releaseLock(topicId, aec)).success("话题解锁成功").error("操作失败");
}
// 版主删除话题
......@@ -289,11 +273,7 @@ public class TopicController {
//----------------------------------策略检查开始,限制角色:管理员,版主,大版主都可以
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol = topicService.remove(topicId, aec).orElse(false);
if (symbol) {
return TipMessage.ofSuccess("话题成功删除");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.remove(topicId, aec)).success("话题成功删除").error("操作失败");
}
// 版主移动话题
......@@ -407,16 +387,7 @@ public class TopicController {
//----------------------------------策略检查开始,不限制角色
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol;
try{
symbol = topicService.removeFavorite(id, aec).orElse(false);
}catch(IllegalStateException e){
return TipMessage.ofError(e.getMessage()).toJsonString();
}
if (symbol) {
return TipMessage.ofSuccess("已成功取消收藏").toJsonString(); //(extOutputCacheParames);
}
return TipMessage.ofError("收藏取消失败").toJsonString();
return TipMessage.Builder.condition(()->topicService.removeFavorite(id, aec)).success("已成功取消收藏").error("收藏取消失败").toJsonString();
}
// 话题点赞
@PostMapping(path = "/like", produces = "application/json;charset=UTF-8")
......@@ -446,10 +417,7 @@ public class TopicController {
}catch(IllegalStateException e){
return TipMessage.ofError(e.getMessage(), TopicReplica.generateConnectString(topicId, topic.getBoardId(), topic.getVolumesId())).toJsonString();
}
if (symbol) {
return TipMessage.ofSuccess("话题点赞成功").toJsonString(); //(extOutputCacheParames);
}
return TipMessage.ofError("点赞失败").toJsonString();
return TipMessage.Builder.or(()->symbol).success("话题点赞成功").error("点赞失败").toJsonString();
}
//取消点赞
......@@ -470,16 +438,7 @@ public class TopicController {
//----------------------------------策略检查开始,不限制角色
// 移至StrategyInterceptorAdapter
//----------------------------------策略检查结束
boolean symbol;
try{
symbol = topicService.removeLike(id, aec).orElse(false);
}catch(IllegalStateException e){
return TipMessage.ofError(e.getMessage()).toJsonString();
}
if (symbol) {
return TipMessage.ofSuccess("赞已成功取消").toJsonString(); //(extOutputCacheParames);
}
return TipMessage.ofError("赞取消失败").toJsonString();
return TipMessage.Builder.condition(()->topicService.removeLike(id, aec)).success("赞已成功取消").error("赞取消失败").toJsonString();
}
// 浏览话题
@GetMapping(path = "/browse", produces = "application/json;charset=UTF-8")
......@@ -497,10 +456,7 @@ public class TopicController {
long topicId = tpObj.getId();
//-------------------------------------------------
ActionEventCulpritor aec = BoardController.getInstance(mbean.getMid(), mbean.getNickname(), request, token);
if (topicService.browse(topicId, aec).orElse(false)) {
return TipMessage.ofSuccess("话题浏览成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicService.browse(topicId, aec)).success("话题浏览成功").error("操作失败");
}
// 话题配置
......@@ -885,10 +841,7 @@ public class TopicController {
reportTypeSymbol,
reportContent,
btc.get()));
if (result.isPresent()) {
return TipMessage.ofSuccess("话题举报成功");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.or(()->result.isPresent()).success("话题举报成功").error("操作失败");
}
//
private Optional<MemberProfileBean> queryMemberProfileBean(long memberId){
......
......@@ -72,10 +72,7 @@ public class TopicTagController {
// 移至StrategyInterceptorAdapter
//------------------------------
ActionEventCulpritor aec = BoardController.getInstance(mbean.getMid(), mbean.getNickname(), request, token);
if (topicTagService.deleteForTopic(tpObj.getId(), tagId, aec).isPresent()) {
return TipMessage.ofSuccess("标签成功删除");
}
return TipMessage.ofError("操作失败");
return TipMessage.Builder.condition(()->topicTagService.deleteForTopic(tpObj.getId(), tagId, aec)).success("标签成功删除").error("操作失败");
}
//添加(并统计词频)(版主和管理员)
......
......@@ -443,7 +443,7 @@ public final class DateTimeUtils {
if (null == dateTime) {
return false;
}
return dateTime.isBefore(LocalDateTime.now());
return LocalDateTime.now().isBefore(dateTime);
}
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册