45 lines
1.2 KiB
Java
45 lines
1.2 KiB
Java
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<PlatformWeaponAggregateVO> 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;
|
|
}
|
|
}
|