diff --git a/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java b/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java index 9f3f2a8..2cef53c 100644 --- a/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java +++ b/auto-solution-admin/src/main/java/com/solution/web/controller/behaviour/BehaviortreeController.java @@ -3,6 +3,7 @@ package com.solution.web.controller.behaviour; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.solution.system.domain.AfsimScenario; import com.solution.web.core.BehaviortreeProcessor; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -114,4 +115,16 @@ public class BehaviortreeController extends BaseController { return toAjax(behaviortreeService.deleteBehaviortreeByIds(ids)); } + + + /** + * 保存场景配置 + */ + @ApiOperation("保存场景配置") + @PostMapping("/saveSceneConfig") + @Log(title = "行为树主", businessType = BusinessType.INSERT) + public AjaxResult saveSceneConfig(@RequestBody AfsimScenario afsimScenario) + { + return toAjax(behaviortreeService.insert(afsimScenario)); + } } diff --git a/auto-solution-admin/src/main/java/com/solution/web/controller/rule/FireRuleController.java b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/FireRuleController.java new file mode 100644 index 0000000..9ab473c --- /dev/null +++ b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/FireRuleController.java @@ -0,0 +1,55 @@ +package com.solution.web.controller.rule; + +import com.solution.common.core.controller.BaseController; +import com.solution.common.core.domain.AjaxResult; +import com.solution.rule.domain.FireRuleExecuteDTO; +import com.solution.rule.service.FireRuleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + + +@Api("火力规则") +@RestController +@RequestMapping("/api/system/firerule") +public class FireRuleController extends BaseController { + + + @Autowired + private FireRuleService ruleService; + + + /** + * 开始执行规则匹配 + * @param fireRuleExecuteDTO 敌方参数 + * @return + */ + @PostMapping("/start") + @ApiOperation("开始执行规则匹配") + public AjaxResult execute(@RequestBody FireRuleExecuteDTO fireRuleExecuteDTO){ + return success(ruleService.execute(fireRuleExecuteDTO)); + } + + /** + * 获取所有武器平台和组件 + * @return + */ + @GetMapping("/weapon") + @ApiOperation("获取所有武器平台和组件") + public AjaxResult getPlatformComponentNames(){ + return success(ruleService.getPlatformComponentNames()); + } + + /** + * 获取通信组件的所有平台和组件 + * @param scenarioId + * @return + */ + @GetMapping("/comm") + @ApiOperation("获取通信组件的所有平台和组件") + public AjaxResult getCommPlatformComponentNames(Integer scenarioId){ + return success(ruleService.getCommPlatformComponentNames(scenarioId)); + } +} diff --git a/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java index f9a3115..a7ef814 100644 --- a/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java +++ b/auto-solution-admin/src/main/java/com/solution/web/controller/rule/RuleController.java @@ -1,51 +1,65 @@ package com.solution.web.controller.rule; +import com.solution.common.annotation.Log; import com.solution.common.core.controller.BaseController; import com.solution.common.core.domain.AjaxResult; -import com.solution.rule.domain.dto.RequestDTO; -import com.solution.rule.domain.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; -import com.solution.rule.service.RuleService; +import com.solution.common.core.page.TableDataInfo; +import com.solution.common.enums.BusinessType; +import com.solution.rule.domain.Rule; +import com.solution.rule.service.IRuleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; -import java.util.HashMap; import java.util.List; -@Api("火力规则") +@Api("红蓝对抗规则管理") @RestController -@RequestMapping("/api/system/firerule") +@RequestMapping("/api/system/rule") public class RuleController extends BaseController { - @Autowired - private RuleService ruleService; + private IRuleService ruleService; - - /** - * 开始执行规则匹配 - * @param sceneType 场景参数 - * @param weaponModelDTO 敌方参数 - * @return - */ - @PostMapping("/start") - @ApiOperation("开始执行规则匹配") - public AjaxResult execute(Integer sceneType, WeaponModelDTO weaponModelDTO){ - return success(ruleService.execute(sceneType,weaponModelDTO)); + @PreAuthorize("@ss.hasPermi('system:rule:list')") + @GetMapping("/list") + @ApiOperation("查询规则列表") + public TableDataInfo list(Rule rule) { + startPage(); + List list = ruleService.selectRuleList(rule); + return getDataTable(list); } - /** - * 获取所有武器平台和组件 - * @return - */ - @GetMapping("/weapon") - @ApiOperation("获取所有武器平台和组件") - public AjaxResult getPlatformComponentNames(){ - return success(ruleService.getPlatformComponentNames()); + @PreAuthorize("@ss.hasPermi('system:rule:query')") + @GetMapping("/{id}") + @ApiOperation("获取规则详情") + public AjaxResult getInfo(@PathVariable Integer id) { + return success(ruleService.selectRuleById(id)); } -} + + @PreAuthorize("@ss.hasPermi('system:rule:add')") + @Log(title = "规则管理", businessType = BusinessType.INSERT) + @PostMapping + @ApiOperation("新增规则") + public AjaxResult add(@RequestBody Rule rule) { + return toAjax(ruleService.insertRule(rule)); + } + + @PreAuthorize("@ss.hasPermi('system:rule:edit')") + @Log(title = "规则管理", businessType = BusinessType.UPDATE) + @PutMapping + @ApiOperation("修改规则") + public AjaxResult edit(@RequestBody Rule rule) { + return toAjax(ruleService.updateRule(rule)); + } + + @PreAuthorize("@ss.hasPermi('system:rule:remove')") + @Log(title = "规则管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + @ApiOperation("删除规则") + public AjaxResult remove(@PathVariable Integer[] ids) { + return toAjax(ruleService.deleteRuleByIds(ids)); + } +} \ No newline at end of file diff --git a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java index d91fd67..d51d846 100644 --- a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java +++ b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java @@ -170,4 +170,5 @@ public class BehaviortreeProcessor { return instance; } + } diff --git a/auto-solution-algo/src/main/resources/mapper/algo/AlgorithmMapper.xml b/auto-solution-algo/src/main/resources/mapper/algo/FireRuleService.xml similarity index 100% rename from auto-solution-algo/src/main/resources/mapper/algo/AlgorithmMapper.xml rename to auto-solution-algo/src/main/resources/mapper/algo/FireRuleService.xml diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java b/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java new file mode 100644 index 0000000..b44dc08 --- /dev/null +++ b/auto-solution-behaviour/src/main/java/com/solution/system/domain/AfsimScenario.java @@ -0,0 +1,64 @@ +package com.solution.system.domain; + +/** + * 场景配置表 + * 对应表 afsim_scenario + */ +public class AfsimScenario { + private Integer id; + private String name; + private String description; + private String scenarioPath; + private String communicationGraph; // 用于存储场景中的通讯关系 + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getScenarioPath() { + return scenarioPath; + } + + public void setScenarioPath(String scenarioPath) { + this.scenarioPath = scenarioPath; + } + + public String getCommunicationGraph() { + return communicationGraph; + } + + public void setCommunicationGraph(String communicationGraph) { + this.communicationGraph = communicationGraph; + } + + @Override + public String toString() { + return "AfsimScenario{" + + "id=" + id + + ", name='" + name + '\'' + + ", description='" + description + '\'' + + ", scenarioPath='" + scenarioPath + '\'' + + ", communicationGraph='" + communicationGraph + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java index 95defef..6609ca1 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java @@ -1,6 +1,8 @@ package com.solution.system.mapper; import java.util.List; + +import com.solution.system.domain.AfsimScenario; import com.solution.system.domain.Behaviortree; /** @@ -58,4 +60,11 @@ public interface BehaviortreeMapper * @return 结果 */ public int deleteBehaviortreeByIds(Long[] ids); + + /** + * 保存场景配置 + * @param afsimScenario + * @return + */ + int insert(AfsimScenario afsimScenario); } diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java index fb94314..c6958da 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java @@ -1,6 +1,8 @@ package com.solution.system.service; import java.util.List; + +import com.solution.system.domain.AfsimScenario; import com.solution.system.domain.Behaviortree; /** @@ -58,4 +60,11 @@ public interface IBehaviortreeService * @return 结果 */ public int deleteBehaviortreeById(Long id); + + /** + * 保存场景配置 + * @param afsimScenario + * @return + */ + int insert(AfsimScenario afsimScenario); } diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java index 307bb3a..dc2705c 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java @@ -1,6 +1,10 @@ package com.solution.system.service.impl; import java.util.List; + +import cn.hutool.core.util.ObjectUtil; +import com.solution.common.constant.ExceptionConstants; +import com.solution.system.domain.AfsimScenario; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.solution.system.mapper.BehaviortreeMapper; @@ -90,4 +94,17 @@ public class BehaviortreeServiceImpl implements IBehaviortreeService { return behaviortreeMapper.deleteBehaviortreeById(id); } + + /** + * 保存场景配置 + * @param afsimScenario + * @return + */ + @Override + public int insert(AfsimScenario afsimScenario) { + if(ObjectUtil.isEmpty(afsimScenario) || ObjectUtil.isEmpty(afsimScenario.getCommunicationGraph())){ + throw new RuntimeException(ExceptionConstants.SCENE_CONFIG_NOT_NULL); + } + return behaviortreeMapper.insert(afsimScenario); + } } diff --git a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml index 54c7b3b..260da7b 100644 --- a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml +++ b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml @@ -55,6 +55,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + INSERT INTO afsim_scenario (name, description, scenario_path, communication_graph) + VALUES (#{name}, #{description}, #{scenarioPath}, #{communicationGraph}) + + update behaviortree diff --git a/auto-solution-behaviour/src/main/resources/mapper/system/TemplateparameterdefMapper.xml b/auto-solution-behaviour/src/main/resources/mapper/system/FireRuleService.xml similarity index 100% rename from auto-solution-behaviour/src/main/resources/mapper/system/TemplateparameterdefMapper.xml rename to auto-solution-behaviour/src/main/resources/mapper/system/FireRuleService.xml diff --git a/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java b/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java index 56add30..7299a1e 100644 --- a/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java +++ b/auto-solution-common/src/main/java/com/solution/common/constant/ExceptionConstants.java @@ -13,4 +13,6 @@ public class ExceptionConstants { public static final String NOT_FOUND_F22_COMPONENT = "未找到 F-22 组件"; + public static final String SCENE_CONFIG_NOT_NULL = "场景配置不能为空"; + } diff --git a/auto-solution-common/src/main/java/com/solution/common/constant/PlatformAndModuleConstants.java b/auto-solution-common/src/main/java/com/solution/common/constant/PlatformAndModuleConstants.java index b92c30a..26181cf 100644 --- a/auto-solution-common/src/main/java/com/solution/common/constant/PlatformAndModuleConstants.java +++ b/auto-solution-common/src/main/java/com/solution/common/constant/PlatformAndModuleConstants.java @@ -3,5 +3,7 @@ package com.solution.common.constant; public class PlatformAndModuleConstants { - public static final String F22 = "f22"; + public static final String RED_NEBO_M_1 = "red_nebo_m_1"; + + public static final String RED_NEBO_M_2 = "red_nebo_m_2"; } diff --git a/auto-solution-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/auto-solution-generator/src/main/resources/mapper/generator/FireRuleService.xml similarity index 100% rename from auto-solution-generator/src/main/resources/mapper/generator/GenTableMapper.xml rename to auto-solution-generator/src/main/resources/mapper/generator/FireRuleService.xml diff --git a/solution-rule/pom.xml b/auto-solution-rule/pom.xml similarity index 100% rename from solution-rule/pom.xml rename to auto-solution-rule/pom.xml diff --git a/auto-solution-rule/src/main/java/com/solution/rule/domain/FireRuleExecuteDTO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/FireRuleExecuteDTO.java new file mode 100644 index 0000000..da1803f --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/domain/FireRuleExecuteDTO.java @@ -0,0 +1,17 @@ +package com.solution.rule.domain; + +import com.solution.rule.domain.dto.WeaponModelDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class FireRuleExecuteDTO { + + @ApiModelProperty("场景类型") + private Integer sceneType; + + @ApiModelProperty("武器模型数据") + private List weaponModelDTOs; +} diff --git a/solution-rule/src/main/java/com/solution/rule/domain/PlatformComponent.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/PlatformComponent.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/domain/PlatformComponent.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/PlatformComponent.java diff --git a/auto-solution-rule/src/main/java/com/solution/rule/domain/Rule.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/Rule.java new file mode 100644 index 0000000..0df5018 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/domain/Rule.java @@ -0,0 +1,37 @@ +package com.solution.rule.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; + +@Data +@ApiModel("红蓝对抗规则") +public class Rule { + @ApiModelProperty("规则ID") + private Integer id; + + @ApiModelProperty("规则名称") + private String name; + + @ApiModelProperty("场景类型:0-防御,1-空降,null表示通用") + private Integer sceneType; + + @ApiModelProperty("触发条件(JSON格式)") + private String conditions; + + @ApiModelProperty("响应动作(JSON格式)") + private String actions; + + @ApiModelProperty("优先级(数值越小优先级越高)") + private Integer priority; + + @ApiModelProperty("是否启用(0禁用,1启用)") + private Boolean enabled; + + @ApiModelProperty("创建时间") + private Date createdTime; + + @ApiModelProperty("更新时间") + private Date updatedTime; +} \ No newline at end of file diff --git a/auto-solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java new file mode 100644 index 0000000..8506678 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java @@ -0,0 +1,22 @@ +package com.solution.rule.domain; + +import com.solution.rule.domain.dto.WeaponModelDTO; +import com.solution.rule.domain.vo.ComponentCountVO; +import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; +import com.solution.rule.domain.vo.WeaponModelVO; +import lombok.Data; + +import java.util.List; + + +@Data +public class RuleParam { + + private List resultWeapons; + + private WeaponModelVO weaponModelVO; + + private List weaponModelDTOList; + + private List databaseWeapons; +} diff --git a/solution-rule/src/main/java/com/solution/rule/domain/dto/RequestDTO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/dto/RequestDTO.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/domain/dto/RequestDTO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/dto/RequestDTO.java diff --git a/solution-rule/src/main/java/com/solution/rule/domain/dto/WeaponModelDTO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/dto/WeaponModelDTO.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/domain/dto/WeaponModelDTO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/dto/WeaponModelDTO.java diff --git a/solution-rule/src/main/java/com/solution/rule/domain/vo/ComponentCountVO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/ComponentCountVO.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/domain/vo/ComponentCountVO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/vo/ComponentCountVO.java diff --git a/solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformComponentNamesVO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformComponentNamesVO.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformComponentNamesVO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformComponentNamesVO.java diff --git a/solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java similarity index 67% rename from solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java index f602600..4c09576 100644 --- a/solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/PlatformWeaponAggregateVO.java @@ -1,5 +1,6 @@ package com.solution.rule.domain.vo; +import com.solution.rule.domain.PlatformComponent; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,5 +15,8 @@ public class PlatformWeaponAggregateVO { private String platformName; @ApiModelProperty("该平台下的组件列表") - private List components; + private List components; + + @ApiModelProperty("返回数据库数据") + private List componentCountVOS; } \ No newline at end of file diff --git a/solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java similarity index 87% rename from solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java rename to auto-solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java index 8388741..528f709 100644 --- a/solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/domain/vo/WeaponModelVO.java @@ -1,6 +1,5 @@ package com.solution.rule.domain.vo; -import com.solution.rule.domain.dto.WeaponModelDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/solution-rule/src/main/java/com/solution/rule/enums/SceneType.java b/auto-solution-rule/src/main/java/com/solution/rule/enums/SceneType.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/enums/SceneType.java rename to auto-solution-rule/src/main/java/com/solution/rule/enums/SceneType.java diff --git a/solution-rule/src/main/java/com/solution/rule/handler/AbstractRuleChainHandler.java b/auto-solution-rule/src/main/java/com/solution/rule/handler/AbstractRuleChainHandler.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/handler/AbstractRuleChainHandler.java rename to auto-solution-rule/src/main/java/com/solution/rule/handler/AbstractRuleChainHandler.java diff --git a/solution-rule/src/main/java/com/solution/rule/handler/RuleChainHandler.java b/auto-solution-rule/src/main/java/com/solution/rule/handler/RuleChainHandler.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/handler/RuleChainHandler.java rename to auto-solution-rule/src/main/java/com/solution/rule/handler/RuleChainHandler.java diff --git a/auto-solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java b/auto-solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java new file mode 100644 index 0000000..759102f --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java @@ -0,0 +1,80 @@ +package com.solution.rule.handler; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.solution.common.constant.ExceptionConstants; +import com.solution.common.constant.PlatformAndModuleConstants; +import com.solution.rule.domain.PlatformComponent; +import com.solution.rule.domain.RuleParam; +import com.solution.rule.domain.dto.WeaponModelDTO; +import com.solution.rule.domain.vo.ComponentCountVO; +import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * 战斗机处理链 + * 规则:针对 F22 平台,后端返回的组件数量比前端传递的大1, + * 如果数据库中 F22 平台所有组件总数小于前端数量+1,则返回该总数。 + */ +@Component +public class WarplaneHandler extends AbstractRuleChainHandler { + + // 组件数量增量常量 + private static final long COMPONENT_COUNT_INCREMENT = 1; + + @Override + public RuleParam doHandler(RuleParam ruleParam) { + // 1. 参数校验 + if (ObjectUtil.isEmpty(ruleParam) || CollUtil.isEmpty(ruleParam.getWeaponModelDTOList())) { + throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); + } + + List dtoList = ruleParam.getWeaponModelDTOList(); + List databaseWeapons = ruleParam.getDatabaseWeapons(); + + List resultWeapons = new ArrayList<>(); + + //TODO获取所有组件以及count + + Iterator iterator = dtoList.iterator(); + while (iterator.hasNext()) { + WeaponModelDTO dto = iterator.next(); + if(PlatformAndModuleConstants.RED_NEBO_M_1.equals(dto.getName())){ + List components = dto.getComponents(); + List componentList = new ArrayList<>(); + + //遍历前端数据的组件 + for (PlatformComponent component : components) { + //遍历数据库数据 + for (ComponentCountVO databaseWeapon : databaseWeapons) { + if(component.getName().equals(databaseWeapon.getComponentName())){ + PlatformComponent component1 = new PlatformComponent(); + component1.setName(databaseWeapon.getComponentName()); + if(databaseWeapon.getCount() > component.getNum()){ + component1.setNum(component.getNum() + COMPONENT_COUNT_INCREMENT); + }else { + component1.setNum(databaseWeapon.getCount()); + } + //TODO 补充基本信息 暂未完成 + componentList.add(component1); + } + } + } + PlatformWeaponAggregateVO platformVO = new PlatformWeaponAggregateVO(); + platformVO.setPlatformName(dto.getName()); + platformVO.setComponents(componentList); + resultWeapons.add(platformVO); + iterator.remove(); + } + } + ruleParam.setResultWeapons(resultWeapons); + return ruleParam; + +// return super.doNextHandler(ruleParam); + } + +} \ No newline at end of file diff --git a/auto-solution-rule/src/main/java/com/solution/rule/mapper/FireRuleMapper.java b/auto-solution-rule/src/main/java/com/solution/rule/mapper/FireRuleMapper.java new file mode 100644 index 0000000..12f4a74 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/mapper/FireRuleMapper.java @@ -0,0 +1,35 @@ +package com.solution.rule.mapper; + +import com.solution.rule.domain.vo.ComponentCountVO; +import com.solution.rule.domain.vo.PlatformComponentNamesVO; +import com.solution.rule.domain.vo.WeaponModelVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface FireRuleMapper { + + /** + * 获取所有武器平台和组件 + * @return + */ + List getWeapon(); + + List getPlatformComponentNames(); + + /** + * 获取所有组件以及数量 + * @return + */ + List getModuleAndCount(); + + /** + * 获取通信组件的所有平台和组件 + * @param scenarioId + * @return + */ + List getCommPlatformComponentNames(Integer scenarioId); + + +} diff --git a/solution-rule/src/main/java/com/solution/rule/mapper/ModelDetailMapper.java b/auto-solution-rule/src/main/java/com/solution/rule/mapper/ModelDetailMapper.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/mapper/ModelDetailMapper.java rename to auto-solution-rule/src/main/java/com/solution/rule/mapper/ModelDetailMapper.java diff --git a/auto-solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java b/auto-solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java new file mode 100644 index 0000000..d540b94 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java @@ -0,0 +1,38 @@ +package com.solution.rule.mapper; + +import com.solution.rule.domain.Rule; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface RuleMapper { + /** + * 根据ID查询规则 + */ + Rule selectRuleById(Integer id); + + /** + * 查询规则列表(支持分页) + */ + List selectRuleList(Rule rule); + + /** + * 新增规则 + */ + int insertRule(Rule rule); + + /** + * 修改规则 + */ + int updateRule(Rule rule); + + /** + * 删除规则 + */ + int deleteRuleById(Integer id); + + /** + * 批量删除规则 + */ + int deleteRuleByIds(@Param("ids")Integer[] ids); +} \ No newline at end of file diff --git a/solution-rule/src/main/java/com/solution/rule/service/RuleService.java b/auto-solution-rule/src/main/java/com/solution/rule/service/FireRuleService.java similarity index 52% rename from solution-rule/src/main/java/com/solution/rule/service/RuleService.java rename to auto-solution-rule/src/main/java/com/solution/rule/service/FireRuleService.java index 694da7d..1993655 100644 --- a/solution-rule/src/main/java/com/solution/rule/service/RuleService.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/service/FireRuleService.java @@ -1,23 +1,19 @@ package com.solution.rule.service; -import com.solution.rule.domain.dto.RequestDTO; -import com.solution.rule.domain.dto.WeaponModelDTO; +import com.solution.rule.domain.FireRuleExecuteDTO; import com.solution.rule.domain.vo.PlatformComponentNamesVO; import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; -import com.solution.rule.domain.vo.WeaponModelVO; -import java.util.HashMap; import java.util.List; -public interface RuleService { +public interface FireRuleService { /** * 开始执行规则匹配 - * @param sceneType - * @param weaponModelDTO + * @param fireRuleExecuteDTO * @return */ - WeaponModelVO execute(Integer sceneType, WeaponModelDTO weaponModelDTO); + List execute(FireRuleExecuteDTO fireRuleExecuteDTO); List getWeapon(); @@ -26,4 +22,11 @@ public interface RuleService { * @return */ List getPlatformComponentNames(); + + /** + * 获取通信组件的所有平台和组件 + * @param scenarioId + * @return + */ + List getCommPlatformComponentNames(Integer scenarioId); } diff --git a/auto-solution-rule/src/main/java/com/solution/rule/service/IRuleService.java b/auto-solution-rule/src/main/java/com/solution/rule/service/IRuleService.java new file mode 100644 index 0000000..fdd1c11 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/service/IRuleService.java @@ -0,0 +1,36 @@ +package com.solution.rule.service; + +import com.solution.rule.domain.Rule; +import java.util.List; + +public interface IRuleService { + /** + * 根据ID查询规则 + */ + Rule selectRuleById(Integer id); + + /** + * 查询规则列表 + */ + List selectRuleList(Rule rule); + + /** + * 新增规则 + */ + int insertRule(Rule rule); + + /** + * 修改规则 + */ + int updateRule(Rule rule); + + /** + * 删除规则 + */ + int deleteRuleById(Integer id); + + /** + * 批量删除规则 + */ + int deleteRuleByIds(Integer[] ids); +} \ No newline at end of file diff --git a/solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java b/auto-solution-rule/src/main/java/com/solution/rule/service/impl/FireRuleServiceImpl.java similarity index 65% rename from solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java rename to auto-solution-rule/src/main/java/com/solution/rule/service/impl/FireRuleServiceImpl.java index 1dd9545..0554f36 100644 --- a/solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/service/impl/FireRuleServiceImpl.java @@ -3,13 +3,15 @@ package com.solution.rule.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.solution.common.constant.ExceptionConstants; +import com.solution.rule.domain.FireRuleExecuteDTO; +import com.solution.rule.domain.RuleParam; import com.solution.rule.domain.dto.WeaponModelDTO; import com.solution.rule.domain.vo.ComponentCountVO; import com.solution.rule.domain.vo.PlatformComponentNamesVO; import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; import com.solution.rule.domain.vo.WeaponModelVO; -import com.solution.rule.mapper.RuleMapper; -import com.solution.rule.service.RuleService; +import com.solution.rule.mapper.FireRuleMapper; +import com.solution.rule.service.FireRuleService; import com.solution.rule.strategy.SceneStrategy; import com.solution.rule.strategy.SceneStrategyFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -21,15 +23,17 @@ import java.util.Map; import java.util.stream.Collectors; @Service -public class RuleServiceImpl implements RuleService { +public class FireRuleServiceImpl implements FireRuleService { + + private static final long COMPONENT_QUANTITY_THRESHOLD = 1; @Autowired private SceneStrategyFactory strategyFactory; @Autowired - private RuleMapper ruleMapper; + private FireRuleMapper ruleMapper; - @Override + /* @Override public WeaponModelVO execute(Integer sceneType, WeaponModelDTO weaponModelDTO) { if(ObjectUtil.isNull(sceneType) || ObjectUtil.isEmpty(weaponModelDTO)){ throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); @@ -43,12 +47,33 @@ public class RuleServiceImpl implements RuleService { throw new RuntimeException(ExceptionConstants.RESULT_EXCEPTION); } return result; - } - + }*/ @Override - public List getWeapon() { + public List execute(FireRuleExecuteDTO fireRuleExecuteDTO) { + if(ObjectUtil.isEmpty(fireRuleExecuteDTO)){ + throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); + } + List weaponModelDTOs = fireRuleExecuteDTO.getWeaponModelDTOs(); + Integer sceneType = fireRuleExecuteDTO.getSceneType(); + // 查数据库获取我方装备 + List weapon = this.getModuleAndCount(); + + // 创建RuleParam并设置数据 + RuleParam ruleParam = new RuleParam(); + ruleParam.setWeaponModelDTOList(weaponModelDTOs); + ruleParam.setDatabaseWeapons(weapon); + + // 执行策略 + SceneStrategy strategy = strategyFactory.getStrategy(sceneType); + List result = strategy.execute(ruleParam); + + return result; + } + + @Override + public List getWeapon() { List flatList = ruleMapper.getWeapon(); if (CollUtil.isEmpty(flatList)) { throw new RuntimeException(ExceptionConstants.RESULT_EXCEPTION); @@ -70,7 +95,7 @@ public class RuleServiceImpl implements RuleService { return comp; }) .collect(Collectors.toList()); - platformVO.setComponents(components); + platformVO.setComponentCountVOS(components); result.add(platformVO); } @@ -106,4 +131,26 @@ public class RuleServiceImpl implements RuleService { }) .collect(Collectors.toList()); } + + /** + * 获取通信组件的所有平台和组件 + * @param scenarioId + * @return + */ + @Override + public List getCommPlatformComponentNames(Integer scenarioId) { + return ruleMapper.getCommPlatformComponentNames(scenarioId); + } + + /** + * 获取所有组件以及数量 + * @return + */ + private List getModuleAndCount(){ + List componentCountVOS = ruleMapper.getModuleAndCount(); + if(CollUtil.isEmpty(componentCountVOS)){ + return new ArrayList<>(); + } + return componentCountVOS; + } } diff --git a/auto-solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java b/auto-solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java new file mode 100644 index 0000000..d9f7c95 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/service/impl/RuleServiceImpl.java @@ -0,0 +1,46 @@ +package com.solution.rule.service.impl; + +import com.solution.rule.domain.Rule; +import com.solution.rule.mapper.RuleMapper; +import com.solution.rule.service.IRuleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class RuleServiceImpl implements IRuleService { + + @Autowired + private RuleMapper ruleMapper; + + @Override + public Rule selectRuleById(Integer id) { + return ruleMapper.selectRuleById(id); + } + + @Override + public List selectRuleList(Rule rule) { + return ruleMapper.selectRuleList(rule); + } + + @Override + public int insertRule(Rule rule) { + return ruleMapper.insertRule(rule); + } + + @Override + public int updateRule(Rule rule) { + return ruleMapper.updateRule(rule); + } + + @Override + public int deleteRuleById(Integer id) { + return ruleMapper.deleteRuleById(id); + } + + @Override + public int deleteRuleByIds(Integer[] ids) { + return ruleMapper.deleteRuleByIds(ids); + } +} \ No newline at end of file diff --git a/solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java b/auto-solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java similarity index 60% rename from solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java rename to auto-solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java index 6540140..e09879c 100644 --- a/solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/strategy/AirborneStrategy.java @@ -1,15 +1,17 @@ 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.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; +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 AirborneStrategy implements SceneStrategy{ @@ -19,21 +21,20 @@ public class AirborneStrategy implements SceneStrategy{ private RuleChainHandler ruleChainHandler; /** * 空降场景处理 - * @param weaponModelDTO + * @param ruleParam * @return */ + + @Override - public WeaponModelVO execute(WeaponModelDTO weaponModelDTO) { - if(ObjectUtil.isEmpty(weaponModelDTO)){ + public List execute(RuleParam ruleParam) { + if(ObjectUtil.isEmpty(ruleParam) || CollUtil.isEmpty(ruleParam.getWeaponModelDTOList())){ throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); } - RuleParam ruleParam = new RuleParam(); - ruleParam.setWeaponModelDTO(weaponModelDTO); + ruleParam = ruleChainHandler.findRuleParam(ruleParam); - if(ObjectUtil.isEmpty(ruleParam.getWeaponModelVO())){ - throw new RuntimeException(ExceptionConstants.RESULT_EXCEPTION); - } - return ruleParam.getWeaponModelVO(); + + return ruleParam.getResultWeapons(); } @Override diff --git a/solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java b/auto-solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java similarity index 60% rename from solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java rename to auto-solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java index e063702..e649442 100644 --- a/solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java +++ b/auto-solution-rule/src/main/java/com/solution/rule/strategy/DefenseStrategy.java @@ -1,15 +1,17 @@ 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.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; +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{ @@ -18,21 +20,21 @@ public class DefenseStrategy implements SceneStrategy{ private RuleChainHandler ruleChainHandler; /** * 防御场景处理 - * @param weaponModelDTO + * @param * @return */ + + @Override - public WeaponModelVO execute(WeaponModelDTO weaponModelDTO) { - if(ObjectUtil.isEmpty(weaponModelDTO)){ + public List execute(RuleParam ruleParam) { + if(ObjectUtil.isEmpty(ruleParam) || CollUtil.isEmpty(ruleParam.getWeaponModelDTOList())){ throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); } - RuleParam ruleParam = new RuleParam(); - ruleParam.setWeaponModelDTO(weaponModelDTO); + ruleParam = ruleChainHandler.findRuleParam(ruleParam); - if(ObjectUtil.isEmpty(ruleParam.getWeaponModelVO())){ - throw new RuntimeException(ExceptionConstants.RESULT_EXCEPTION); - } - return ruleParam.getWeaponModelVO(); + + + return ruleParam.getResultWeapons(); } @Override diff --git a/auto-solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java b/auto-solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java new file mode 100644 index 0000000..b6c9bb1 --- /dev/null +++ b/auto-solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java @@ -0,0 +1,15 @@ +package com.solution.rule.strategy; + +import com.solution.rule.domain.RuleParam; +import com.solution.rule.domain.vo.PlatformWeaponAggregateVO; +import com.solution.rule.enums.SceneType; + +import java.util.HashMap; +import java.util.List; + +public interface SceneStrategy { + + List execute(RuleParam ruleParam); + + SceneType getSceneType(); +} diff --git a/solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategyFactory.java b/auto-solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategyFactory.java similarity index 100% rename from solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategyFactory.java rename to auto-solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategyFactory.java diff --git a/solution-rule/src/main/resources/mapper/rule/RuleMapper.xml b/auto-solution-rule/src/main/resources/mapper/rule/FireRuleService.xml similarity index 52% rename from solution-rule/src/main/resources/mapper/rule/RuleMapper.xml rename to auto-solution-rule/src/main/resources/mapper/rule/FireRuleService.xml index 38d7dc5..2a01110 100644 --- a/solution-rule/src/main/resources/mapper/rule/RuleMapper.xml +++ b/auto-solution-rule/src/main/resources/mapper/rule/FireRuleService.xml @@ -2,7 +2,7 @@ - + @@ -11,6 +11,13 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/auto-solution-rule/src/main/resources/mapper/rule/RuleMapper.xml b/auto-solution-rule/src/main/resources/mapper/rule/RuleMapper.xml new file mode 100644 index 0000000..f4e4223 --- /dev/null +++ b/auto-solution-rule/src/main/resources/mapper/rule/RuleMapper.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + select id, name, scene_type, conditions, actions, priority, enabled, created_time, updated_time + from rule + + + + + + + + insert into rule + + name, + scene_type, + conditions, + actions, + priority, + enabled, + created_time, + updated_time + + + #{name}, + #{sceneType}, + #{conditions}, + #{actions}, + #{priority}, + #{enabled}, + now(), + now() + + + + + update rule + + name = #{name}, + scene_type = #{sceneType}, + conditions = #{conditions}, + actions = #{actions}, + priority = #{priority}, + enabled = #{enabled}, + updated_time = now() + + where id = #{id} + + + + delete from rule where id = #{id} + + + + + delete from rule where id in + + #{id} + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 61a1632..e906dd3 100644 --- a/pom.xml +++ b/pom.xml @@ -251,7 +251,7 @@ auto-solution-quartz auto-solution-generator auto-solution-common - solution-rule + auto-solution-rule pom diff --git a/solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java b/solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java deleted file mode 100644 index f437c75..0000000 --- a/solution-rule/src/main/java/com/solution/rule/domain/RuleParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.solution.rule.domain; - -import com.solution.rule.domain.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; -import lombok.Data; - - -@Data -public class RuleParam { - - private WeaponModelVO weaponModelVO; - - private WeaponModelDTO weaponModelDTO; -} diff --git a/solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java b/solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java deleted file mode 100644 index 7896673..0000000 --- a/solution-rule/src/main/java/com/solution/rule/handler/WarplaneHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.solution.rule.handler; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.solution.common.constant.ExceptionConstants; -import com.solution.common.constant.PlatformAndModuleConstants; -import com.solution.rule.domain.PlatformComponent; -import com.solution.rule.domain.RuleParam; -import com.solution.rule.domain.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 战斗机处理链 - */ -@Component -public class WarplaneHandler extends AbstractRuleChainHandler{ - - @Override - public RuleParam doHandler(RuleParam ruleParam) { - if(ObjectUtil.isEmpty(ruleParam) || ObjectUtil.isEmpty(ruleParam.getWeaponModelDTO())){ - throw new RuntimeException(ExceptionConstants.PARAMETER_EXCEPTION); - } - WeaponModelDTO weaponModelDTO = ruleParam.getWeaponModelDTO(); - List platformComponents = weaponModelDTO.getComponents().stream() - .filter(component -> PlatformAndModuleConstants.F22.equals(component.getName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(platformComponents)) { - throw new RuntimeException(ExceptionConstants.NOT_FOUND_F22_COMPONENT); - } - return null; - } -} diff --git a/solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java b/solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java deleted file mode 100644 index 2208c46..0000000 --- a/solution-rule/src/main/java/com/solution/rule/mapper/RuleMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.solution.rule.mapper; - -import com.solution.rule.domain.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -@Mapper -public interface RuleMapper { - - /** - * 获取所有武器平台和组件 - * @return - */ - List getWeapon(); - - List getPlatformComponentNames(); -} diff --git a/solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java b/solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java deleted file mode 100644 index 1e30b37..0000000 --- a/solution-rule/src/main/java/com/solution/rule/strategy/SceneStrategy.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.solution.rule.strategy; - -import com.solution.rule.domain.dto.RequestDTO; -import com.solution.rule.domain.dto.WeaponModelDTO; -import com.solution.rule.domain.vo.WeaponModelVO; -import com.solution.rule.enums.SceneType; - -import java.util.HashMap; - -public interface SceneStrategy { - - WeaponModelVO execute(WeaponModelDTO weaponModelDTO); - - SceneType getSceneType(); -}