package com.solution.rule.strategy; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.solution.common.constant.ExceptionConstants; import com.solution.rule.domain.RuleParam; import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; import com.solution.rule.enums.SceneType; import com.solution.rule.handler.RuleChainHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; @Component public class DefenseStrategy implements SceneStrategy{ @Autowired private RuleChainHandler ruleChainHandler; /** * 防御场景处理 * @param * @return */ @Override public List execute(RuleParam ruleParam) { if(ObjectUtil.isEmpty(ruleParam) || CollUtil.isEmpty(ruleParam.getWeaponModelDTOList())){ throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); } ruleParam = ruleChainHandler.findRuleParam(ruleParam); return ruleParam.getResultWeapons(); } @Override public SceneType getSceneType() { return SceneType.DEFENSE; } }