diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppARController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppARController.java index f431a83b..afd0f0cd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppARController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppARController.java @@ -1,8 +1,11 @@ package com.ruoyi.web.controller.app; +import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.system.domain.SysScenic; import com.ruoyi.system.domain.SysSource; +import com.ruoyi.system.domain.dto.ARSourceDto; +import com.ruoyi.system.domain.dto.Coordinate; import com.ruoyi.system.domain.dto.ShowSysSourceARListDto; import com.ruoyi.system.domain.dto.ShowSysSourceListDto; import com.ruoyi.system.service.ISysSourceService; @@ -13,11 +16,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @RestController @RequestMapping("/app/ar") -public class AppARController { +public class AppARController extends BaseController { @Autowired private ISysSourceService sysSourceService; @@ -30,19 +34,26 @@ public class AppARController { // 发布--获取系统资源位列表, 附带搜索功能 @PostMapping("/getAllSource") - public AjaxResult getAllSource(@RequestBody SysSource sysSource) { + public AjaxResult getAllSource(@RequestBody ARSourceDto sysSource) { + +// SysSource sysSource_1 = new SysSource(); System.out.println("AR发送数据: "+sysSource.getCity()+sysSource.getScenic()); - - List showSysSourceList = sysSourceService.getSysSourceARList(sysSource); + List coordinates = sysSource.getCoordinates(); + List showSysSourceList = sysSourceService.getARSource(sysSource.getCity(), sysSource.getScenic(), coordinates); + +// List showSysSourceList = sysSourceService.getSysSourceARList(sysSource); +// +// AjaxResult ajaxResult = AjaxResult.success(); ajaxResult.put("sourceList", showSysSourceList); return ajaxResult; +// return success(); } @PostMapping("/getPeople") public String getAR(){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/ARSourceDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/ARSourceDto.java new file mode 100644 index 00000000..ef9b7958 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/ARSourceDto.java @@ -0,0 +1,33 @@ +package com.ruoyi.system.domain.dto; + +import java.util.List; + +public class ARSourceDto { + private String city; + private String scenic; + private List coordinates; + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getScenic() { + return scenic; + } + + public void setScenic(String scenic) { + this.scenic = scenic; + } + + public List getCoordinates() { + return coordinates; + } + + public void setCoordinates(List coordinates) { + this.coordinates = coordinates; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/Coordinate.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/Coordinate.java new file mode 100644 index 00000000..611dcb82 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/Coordinate.java @@ -0,0 +1,38 @@ +package com.ruoyi.system.domain.dto; + +import com.fasterxml.jackson.annotation.JsonCreator; + +import java.util.List; + +public class Coordinate { + private Integer x; + private Integer y; + // getters/setters + + // 方法 2:定义接受数组的构造函数 + @JsonCreator + public Coordinate(List array) { + if (array.size() >= 2) { + this.x = array.get(0); + this.y = array.get(1); + } else { + throw new IllegalArgumentException("坐标必须为 [x, y] 格式"); + } + } + + public Integer getX() { + return x; + } + + public void setX(Integer x) { + this.x = x; + } + + public Integer getY() { + return y; + } + + public void setY(Integer y) { + this.y = y; + } +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysSourceService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysSourceService.java index c4e58faa..477ce399 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysSourceService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysSourceService.java @@ -94,4 +94,9 @@ public interface ISysSourceService * 查看我的发布资源位详情 * */ public List getUserPublishWorkSourceList(Long workId); + + /** + * 按xy坐标返回AR资源位图片 + * */ + public List getARSource(String city, String scenic, List coordinates); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSourceServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSourceServiceImpl.java index c68c62a8..3d81dead 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSourceServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSourceServiceImpl.java @@ -135,4 +135,12 @@ public class SysSourceServiceImpl implements ISysSourceService public List getSysSourceARList(SysSource sysSource){ return sysSourceMapper.getSysSourceARList(sysSource); } + + /** + * 按xy坐标返回AR资源位图片 + * */ + @Override + public List getARSource(String city, String scenic, List coordinates){ + return sysSourceMapper.getARSource(city, scenic, coordinates); + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysSourceMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysSourceMapper.xml index 836a2dc4..40a08b62 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysSourceMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysSourceMapper.xml @@ -175,6 +175,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and s.work_id = #{workId} + + + insert into sys_source