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

删除TopicConfigReplyCheckStrategy

上级 b83bf27e
......@@ -112,6 +112,10 @@ public final class TopicConfigStrategy extends AbstractConfigStrategy<Topic, Top
}
private static boolean checkCulpritorRGForWriteMode(TopicConfig entityConfig, Member culpritor) throws StrategyException {
//配置文件是否开启了禁止回复
if (!entityConfig.isReply()) {
throw new WriteStrategyException("话题配置文件关闭了回复功能");
}
//组
if (culpritor.getMgroup().getSymbol() < entityConfig.getWriteLowMemberGroup().getSymbol()) {
throw new WriteStrategyException("您当前的组不满足话题写入要求");
......
package com.apobates.forum.core.security.exposure.config.supply;
import com.apobates.forum.core.entity.Topic;
import com.apobates.forum.core.entity.TopicConfig;
import com.apobates.forum.core.security.exception.WriteStrategyException;
import com.apobates.forum.core.security.exposure.config.ConfigPlugTriPredicate;
import com.apobates.forum.core.security.strategy.StrategyMode;
import com.apobates.forum.member.entity.Member;
import com.apobates.forum.utils.lang.TriPredicate;
import java.util.Set;
import java.util.function.Supplier;
/**
* 话题回复开启检查策略
*
* @author xiaofanku
* @since 20200818
*/
public class TopicConfigReplyCheckStrategy implements ConfigPlugTriPredicate<Topic, TopicConfig, Member>{
@Override
public Set<StrategyMode> allowModes() {
return Set.of(StrategyMode.WRITE);
}
@Override
public Supplier<TriPredicate<Topic, TopicConfig, Member>> condition() {
return ()->(Topic entity, TopicConfig entityConfig, Member culpritor)->{
if (!entityConfig.isReply()) {
throw new WriteStrategyException("话题已关闭回复功能");
}
return true;
};
}
}
\ No newline at end of file
......@@ -23,7 +23,6 @@ import com.apobates.forum.utils.TipMessage;
import com.apobates.forum.utils.lang.EnumArchitecture;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......
......@@ -20,7 +20,6 @@ import com.apobates.forum.core.security.exposure.config.supply.BoardConfigInterr
import com.apobates.forum.core.security.exposure.config.supply.TopicConfigAtomPosterStrategy;
import com.apobates.forum.core.security.exposure.config.supply.TopicConfigInterruptStrategy;
import com.apobates.forum.core.security.exposure.config.supply.TopicConfigPrivacyProtectedStrategry;
import com.apobates.forum.core.security.exposure.config.supply.TopicConfigReplyCheckStrategy;
import com.apobates.forum.core.security.exposure.impl.BoardDetectionStrategy;
import com.apobates.forum.core.security.exposure.impl.PostsDetectionStrategy;
import com.apobates.forum.core.security.exposure.impl.TopicDetectionStrategy;
......@@ -189,7 +188,6 @@ public class StrategyInterceptorAdapter extends HandlerInterceptorAdapter{
.initial(tc, mode)
.profile(mpb, new TopicConfigMemberProfileStrategy(true, managerModeratorFun.apply(t.getVolumesId(), t.getBoardId(), member.getId())))
.plug(new TopicConfigPrivacyProtectedStrategry())
.plug(new TopicConfigReplyCheckStrategy())
.plug(getB(tc.getWriteMinInterrupt(), t.getId()))
.plug(getC(t.getId(), member.getId()));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册