From 79b353760dfce7af9587d5d9881a6cf6bccf7a4d Mon Sep 17 00:00:00 2001 From: wangwenhua <12345678> Date: Sun, 14 Sep 2025 17:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baseData/entity/WeatherResource.java | 6 ++++ .../controller/ResourceController.java | 23 +++++++++++++++ .../hivekion/scenario/entity/Resource.java | 17 ++++++++--- .../scenario/entity/ResourceVehicleRela.java | 3 ++ .../com/hivekion/scenario/entity/Vehicle.java | 10 +++++++ .../scenario/service/IResourceService.java | 3 ++ .../service/impl/ResourceServiceImpl.java | 29 ++++++++++++++++++- 7 files changed, 86 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hivekion/baseData/entity/WeatherResource.java b/src/main/java/com/hivekion/baseData/entity/WeatherResource.java index ccd84ae..50c801b 100644 --- a/src/main/java/com/hivekion/baseData/entity/WeatherResource.java +++ b/src/main/java/com/hivekion/baseData/entity/WeatherResource.java @@ -1,6 +1,7 @@ package com.hivekion.baseData.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; @@ -27,18 +28,23 @@ public class WeatherResource implements Serializable { private Integer id; @ApiModelProperty("想定房间编号") + @TableField(value="room_id") private String roomId; @ApiModelProperty("想定场景编号") + @TableField(value="scenario_id") private Integer scenarioId; @ApiModelProperty("天气类型") + @TableField(value = "weather_type") private String weatherType; @ApiModelProperty("持续开始时间") + @TableField(value = "last_beg_time") private LocalDateTime lastBegTime; @ApiModelProperty("持续结束时间") + @TableField(value = "last_end_time") private LocalDateTime lastEndTime; public Integer getId() { diff --git a/src/main/java/com/hivekion/scenario/controller/ResourceController.java b/src/main/java/com/hivekion/scenario/controller/ResourceController.java index ad3646b..63fc62b 100644 --- a/src/main/java/com/hivekion/scenario/controller/ResourceController.java +++ b/src/main/java/com/hivekion/scenario/controller/ResourceController.java @@ -1,7 +1,15 @@ package com.hivekion.scenario.controller; +import com.hivekion.scenario.entity.Vehicle; +import com.hivekion.scenario.service.IResourceService; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; /** *

@@ -15,4 +23,19 @@ import org.springframework.stereotype.Controller; @RequestMapping("/scenario/resource") public class ResourceController { + @Resource + private IResourceService resourceService; + + + @GetMapping("/listVehiclesByType") + public List listVehiclesByType(@RequestParam("type") Integer type, @RequestParam("resourceId") Integer resourceId){ + List vehicleList = new ArrayList<>(); + try{ + vehicleList = this.resourceService.listAllVehiclesByType(type,resourceId); + }catch (Exception e){ + e.printStackTrace(); + } + return vehicleList; + } + } diff --git a/src/main/java/com/hivekion/scenario/entity/Resource.java b/src/main/java/com/hivekion/scenario/entity/Resource.java index a9a8468..c0c778f 100644 --- a/src/main/java/com/hivekion/scenario/entity/Resource.java +++ b/src/main/java/com/hivekion/scenario/entity/Resource.java @@ -1,5 +1,6 @@ package com.hivekion.scenario.entity; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -31,28 +32,35 @@ public class Resource implements Serializable { private Integer id; @ApiModelProperty("设施名称") + @TableField(value = "resource_name") private String resourceName; @ApiModelProperty("设施图标") + @TableField(value = "icon") private String icon; @ApiModelProperty("纬度") + @TableField(value = "lat") private String lat; @ApiModelProperty("经度") + @TableField(value = "lng") private String lng; @ApiModelProperty("设施属性") - @TableField(typeHandler = JacksonTypeHandler.class) - private Map resourceAttribut; + @TableField(value = "resource_attribut") + private String resourceAttribut; @ApiModelProperty("创建人") + @TableField(value = "create_oper") private String createOper; @ApiModelProperty("更新人") + @TableField(value = "upd_oper") private String updOper; @ApiModelProperty("保障建筑资源类型") + @TableField(value = "resource_type") private Integer resourceType; public Integer getId() { @@ -95,11 +103,12 @@ public class Resource implements Serializable { this.lng = lng; } - public Map getResourceAttribut() { + + public String getResourceAttribut() { return resourceAttribut; } - public void setResourceAttribut(Map resourceAttribut) { + public void setResourceAttribut(String resourceAttribut) { this.resourceAttribut = resourceAttribut; } diff --git a/src/main/java/com/hivekion/scenario/entity/ResourceVehicleRela.java b/src/main/java/com/hivekion/scenario/entity/ResourceVehicleRela.java index 7e45cc4..dec2603 100644 --- a/src/main/java/com/hivekion/scenario/entity/ResourceVehicleRela.java +++ b/src/main/java/com/hivekion/scenario/entity/ResourceVehicleRela.java @@ -1,5 +1,6 @@ package com.hivekion.scenario.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import io.swagger.annotations.ApiModel; @@ -20,9 +21,11 @@ public class ResourceVehicleRela implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("资源id") + @TableField(value = "resource_id") private Integer resourceId; @ApiModelProperty("车辆id") + @TableField(value = "vehicle_id") private Integer vehicleId; public Integer getResourceId() { diff --git a/src/main/java/com/hivekion/scenario/entity/Vehicle.java b/src/main/java/com/hivekion/scenario/entity/Vehicle.java index 0bfcb6b..93382ae 100644 --- a/src/main/java/com/hivekion/scenario/entity/Vehicle.java +++ b/src/main/java/com/hivekion/scenario/entity/Vehicle.java @@ -1,5 +1,6 @@ package com.hivekion.scenario.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import io.swagger.annotations.ApiModel; @@ -20,30 +21,39 @@ public class Vehicle implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("物理主键id") + @TableField(value = "id") private Integer id; @ApiModelProperty("名称") + @TableField(value="vehicle_name") private String vehicleName; @ApiModelProperty("速度") + @TableField(value = "vehicle_spreed") private String vehicleSpreed; @ApiModelProperty("类型") + @TableField(value = "vehicle_type") private String vehicleType; @ApiModelProperty("运油能力") + @TableField(value = "fuel_ability") private Integer fuelAbility; @ApiModelProperty("运药能力") + @TableField(value = "medical_ability") private Integer medicalAbility; @ApiModelProperty("运弹药能力") + @TableField(value = "ammunition_ability") private Integer ammunitionAbility; @ApiModelProperty("创建人") + @TableField(value = "create_oper") private String createOper; @ApiModelProperty("更新人") + @TableField(value = "upd_oper") private String updOper; public Integer getId() { diff --git a/src/main/java/com/hivekion/scenario/service/IResourceService.java b/src/main/java/com/hivekion/scenario/service/IResourceService.java index ebfe574..623f78b 100644 --- a/src/main/java/com/hivekion/scenario/service/IResourceService.java +++ b/src/main/java/com/hivekion/scenario/service/IResourceService.java @@ -2,6 +2,7 @@ package com.hivekion.scenario.service; import com.hivekion.scenario.entity.Resource; import com.baomidou.mybatisplus.extension.service.IService; +import com.hivekion.scenario.entity.Vehicle; import java.util.List; @@ -17,4 +18,6 @@ public interface IResourceService extends IService { public List listAllBuildResourceByType(Integer type); + public List listAllVehiclesByType(Integer type,Integer resourceId); + } diff --git a/src/main/java/com/hivekion/scenario/service/impl/ResourceServiceImpl.java b/src/main/java/com/hivekion/scenario/service/impl/ResourceServiceImpl.java index 5940788..e94478e 100644 --- a/src/main/java/com/hivekion/scenario/service/impl/ResourceServiceImpl.java +++ b/src/main/java/com/hivekion/scenario/service/impl/ResourceServiceImpl.java @@ -2,12 +2,20 @@ package com.hivekion.scenario.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hivekion.scenario.entity.Resource; +import com.hivekion.scenario.entity.ResourceVehicleRela; +import com.hivekion.scenario.entity.Vehicle; import com.hivekion.scenario.mapper.ResourceMapper; import com.hivekion.scenario.service.IResourceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hivekion.scenario.service.IResourceVehicleRelaService; +import com.hivekion.scenario.service.IVehicleService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -20,10 +28,29 @@ import java.util.List; @Service public class ResourceServiceImpl extends ServiceImpl implements IResourceService { + @Autowired + private IResourceVehicleRelaService resourceVehicleRelaService; + + @Autowired + private ResourceMapper resourceMapper; + @Autowired + private IVehicleService vehicleService; + @Override public List listAllBuildResourceByType(Integer type) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(type != null,"resource_type",type); - return this.list(queryWrapper); + return this.resourceMapper.selectList(queryWrapper); + } + + @Override + public List listAllVehiclesByType(Integer type, Integer resourceId) { + List rVRela = this.resourceVehicleRelaService.list(new QueryWrapper().eq("resource_id",resourceId)); + List vehicleIds = rVRela.stream().map(ResourceVehicleRela::getResourceId).collect(Collectors.toList()); + List qryResult = new ArrayList<>(); + if(!CollectionUtils.isEmpty(vehicleIds)){ + qryResult = this.vehicleService.list(new QueryWrapper().in("id",vehicleIds)); + } + return qryResult; } }