增加poi室内相关数据
This commit is contained in:
parent
51d2ad3243
commit
d38648d847
|
@ -27,7 +27,7 @@ public class PageParam implements Serializable {
|
||||||
@Min(value = 1, message = "页码最小值为 1")
|
@Min(value = 1, message = "页码最小值为 1")
|
||||||
private Integer pageNo = PAGE_NO;
|
private Integer pageNo = PAGE_NO;
|
||||||
|
|
||||||
@Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
@Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "25")
|
||||||
@NotNull(message = "每页条数不能为空")
|
@NotNull(message = "每页条数不能为空")
|
||||||
@Min(value = 1, message = "每页条数最小值为 1")
|
@Min(value = 1, message = "每页条数最小值为 1")
|
||||||
@Max(value = 100, message = "每页条数最大值为 100")
|
@Max(value = 100, message = "每页条数最大值为 100")
|
||||||
|
|
|
@ -91,5 +91,4 @@ public class KeywordSearchController {
|
||||||
ExcelUtils.write(response, "搜索记录.xls", "数据", KeywordSearchRespVO.class,
|
ExcelUtils.write(response, "搜索记录.xls", "数据", KeywordSearchRespVO.class,
|
||||||
BeanUtils.toBean(list, KeywordSearchRespVO.class));
|
BeanUtils.toBean(list, KeywordSearchRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -30,6 +30,7 @@ import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisIndoorDO;
|
||||||
import cn.iocoder.yudao.module.map.service.pois.PoisService;
|
import cn.iocoder.yudao.module.map.service.pois.PoisService;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 高德POI基础信息")
|
@Tag(name = "管理后台 - 高德POI基础信息")
|
||||||
|
@ -95,6 +96,16 @@ public class PoisController {
|
||||||
BeanUtils.toBean(list, PoisRespVO.class));
|
BeanUtils.toBean(list, PoisRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(高德POI室内信息) ====================
|
||||||
|
|
||||||
|
@GetMapping("/pois-indoor/get-by-pois-id")
|
||||||
|
@Operation(summary = "获得高德POI室内信息")
|
||||||
|
@Parameter(name = "poisId", description = "pois表ID")
|
||||||
|
@PreAuthorize("@ss.hasPermission('map:pois:query')")
|
||||||
|
public CommonResult<PoisIndoorDO> getPoisIndoorByPoisId(@RequestParam("poisId") Long poisId) {
|
||||||
|
return success(poisService.getPoisIndoorByPoisId(poisId));
|
||||||
|
}
|
||||||
|
|
||||||
// ==================== 子表(高德POI商业信息) ====================
|
// ==================== 子表(高德POI商业信息) ====================
|
||||||
|
|
||||||
@GetMapping("/pois-business/get-by-pois-id")
|
@GetMapping("/pois-business/get-by-pois-id")
|
||||||
|
|
|
@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisIndoorDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
||||||
|
@ -64,6 +65,9 @@ public class PoisSaveReqVO {
|
||||||
@NotEmpty(message = "poi唯一标识不能为空")
|
@NotEmpty(message = "poi唯一标识不能为空")
|
||||||
private String poiId;
|
private String poiId;
|
||||||
|
|
||||||
|
@Schema(description = "高德POI室内信息")
|
||||||
|
private PoisIndoorDO poisIndoor;
|
||||||
|
|
||||||
@Schema(description = "高德POI商业信息")
|
@Schema(description = "高德POI商业信息")
|
||||||
private PoisBusinessDO poisBusiness;
|
private PoisBusinessDO poisBusiness;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
package cn.iocoder.yudao.module.map.dal.dataobject.pois;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 高德POI室内信息 DO
|
||||||
|
*
|
||||||
|
* @author AN
|
||||||
|
*/
|
||||||
|
@TableName("map_pois_indoor")
|
||||||
|
@KeySequence("map_pois_indoor_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PoisIndoorDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* pois表ID
|
||||||
|
*/
|
||||||
|
private Long poisId;
|
||||||
|
/**
|
||||||
|
* 室内地图标志(1有,0无)
|
||||||
|
*/
|
||||||
|
private Boolean indoorMap;
|
||||||
|
/**
|
||||||
|
* 如果当前 POI 为建筑物类 POI,则 cpid 为自身 POI ID;如果当前 POI 为商铺类 POI,则 cpid 为其所在建筑物的 POI ID。indoor_map 为0时不返回
|
||||||
|
*/
|
||||||
|
private String cpid;
|
||||||
|
/**
|
||||||
|
* 楼层索引,一般会用数字表示,例如8;indoor_map 为0时不返回
|
||||||
|
*/
|
||||||
|
private String floor;
|
||||||
|
/**
|
||||||
|
* 实际楼层,一般会带有字母,例如F8;indoor_map 为0时不返回
|
||||||
|
*/
|
||||||
|
private String truefloor;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package cn.iocoder.yudao.module.map.dal.mysql.pois;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisIndoorDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 高德POI室内信息 Mapper
|
||||||
|
*
|
||||||
|
* @author AN
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface PoisIndoorMapper extends BaseMapperX<PoisIndoorDO> {
|
||||||
|
|
||||||
|
default PoisIndoorDO selectByPoisId(Long poisId) {
|
||||||
|
return selectOne(PoisIndoorDO::getPoisId, poisId);
|
||||||
|
}
|
||||||
|
|
||||||
|
default int deleteByPoisId(Long poisId) {
|
||||||
|
return delete(PoisIndoorDO::getPoisId, poisId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import java.util.*;
|
||||||
import jakarta.validation.*;
|
import jakarta.validation.*;
|
||||||
import cn.iocoder.yudao.module.map.controller.admin.pois.vo.*;
|
import cn.iocoder.yudao.module.map.controller.admin.pois.vo.*;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisDO;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisIndoorDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
||||||
|
@ -55,6 +56,16 @@ public interface PoisService {
|
||||||
*/
|
*/
|
||||||
PageResult<PoisDO> getPoisPage(PoisPageReqVO pageReqVO);
|
PageResult<PoisDO> getPoisPage(PoisPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
// ==================== 子表(高德POI室内信息) ====================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得高德POI室内信息
|
||||||
|
*
|
||||||
|
* @param poisId pois表ID
|
||||||
|
* @return 高德POI室内信息
|
||||||
|
*/
|
||||||
|
PoisIndoorDO getPoisIndoorByPoisId(Long poisId);
|
||||||
|
|
||||||
// ==================== 子表(高德POI商业信息) ====================
|
// ==================== 子表(高德POI商业信息) ====================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import cn.iocoder.yudao.module.map.controller.admin.pois.vo.*;
|
import cn.iocoder.yudao.module.map.controller.admin.pois.vo.*;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisDO;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisIndoorDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisBusinessDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisNaviDO;
|
||||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
||||||
|
@ -16,6 +17,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisMapper;
|
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisMapper;
|
||||||
|
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisIndoorMapper;
|
||||||
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisBusinessMapper;
|
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisBusinessMapper;
|
||||||
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisNaviMapper;
|
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisNaviMapper;
|
||||||
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisPhotosMapper;
|
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisPhotosMapper;
|
||||||
|
@ -35,6 +37,8 @@ public class PoisServiceImpl implements PoisService {
|
||||||
@Resource
|
@Resource
|
||||||
private PoisMapper poisMapper;
|
private PoisMapper poisMapper;
|
||||||
@Resource
|
@Resource
|
||||||
|
private PoisIndoorMapper poisIndoorMapper;
|
||||||
|
@Resource
|
||||||
private PoisBusinessMapper poisBusinessMapper;
|
private PoisBusinessMapper poisBusinessMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private PoisNaviMapper poisNaviMapper;
|
private PoisNaviMapper poisNaviMapper;
|
||||||
|
@ -49,6 +53,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
poisMapper.insert(pois);
|
poisMapper.insert(pois);
|
||||||
|
|
||||||
// 插入子表
|
// 插入子表
|
||||||
|
createPoisIndoor(pois.getId(), createReqVO.getPoisIndoor());
|
||||||
createPoisBusiness(pois.getId(), createReqVO.getPoisBusiness());
|
createPoisBusiness(pois.getId(), createReqVO.getPoisBusiness());
|
||||||
createPoisNavi(pois.getId(), createReqVO.getPoisNavi());
|
createPoisNavi(pois.getId(), createReqVO.getPoisNavi());
|
||||||
createPoisPhotos(pois.getId(), createReqVO.getPoisPhotos());
|
createPoisPhotos(pois.getId(), createReqVO.getPoisPhotos());
|
||||||
|
@ -66,6 +71,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
poisMapper.updateById(updateObj);
|
poisMapper.updateById(updateObj);
|
||||||
|
|
||||||
// 更新子表
|
// 更新子表
|
||||||
|
updatePoisIndoor(updateReqVO.getId(), updateReqVO.getPoisIndoor());
|
||||||
updatePoisBusiness(updateReqVO.getId(), updateReqVO.getPoisBusiness());
|
updatePoisBusiness(updateReqVO.getId(), updateReqVO.getPoisBusiness());
|
||||||
updatePoisNavi(updateReqVO.getId(), updateReqVO.getPoisNavi());
|
updatePoisNavi(updateReqVO.getId(), updateReqVO.getPoisNavi());
|
||||||
updatePoisPhotos(updateReqVO.getId(), updateReqVO.getPoisPhotos());
|
updatePoisPhotos(updateReqVO.getId(), updateReqVO.getPoisPhotos());
|
||||||
|
@ -80,6 +86,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
poisMapper.deleteById(id);
|
poisMapper.deleteById(id);
|
||||||
|
|
||||||
// 删除子表
|
// 删除子表
|
||||||
|
deletePoisIndoorByPoisId(id);
|
||||||
deletePoisBusinessByPoisId(id);
|
deletePoisBusinessByPoisId(id);
|
||||||
deletePoisNaviByPoisId(id);
|
deletePoisNaviByPoisId(id);
|
||||||
deletePoisPhotosByPoisId(id);
|
deletePoisPhotosByPoisId(id);
|
||||||
|
@ -101,6 +108,34 @@ public class PoisServiceImpl implements PoisService {
|
||||||
return poisMapper.selectPage(pageReqVO);
|
return poisMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(高德POI室内信息) ====================
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PoisIndoorDO getPoisIndoorByPoisId(Long poisId) {
|
||||||
|
return poisIndoorMapper.selectByPoisId(poisId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createPoisIndoor(Long poisId, PoisIndoorDO poisIndoor) {
|
||||||
|
if (poisIndoor == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
poisIndoor.setPoisId(poisId);
|
||||||
|
poisIndoorMapper.insert(poisIndoor);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updatePoisIndoor(Long poisId, PoisIndoorDO poisIndoor) {
|
||||||
|
if (poisIndoor == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
poisIndoor.setPoisId(poisId);
|
||||||
|
poisIndoor.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
||||||
|
poisIndoorMapper.insertOrUpdate(poisIndoor);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deletePoisIndoorByPoisId(Long poisId) {
|
||||||
|
poisIndoorMapper.deleteByPoisId(poisId);
|
||||||
|
}
|
||||||
|
|
||||||
// ==================== 子表(高德POI商业信息) ====================
|
// ==================== 子表(高德POI商业信息) ====================
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -118,7 +153,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
|
|
||||||
private void updatePoisBusiness(Long poisId, PoisBusinessDO poisBusiness) {
|
private void updatePoisBusiness(Long poisId, PoisBusinessDO poisBusiness) {
|
||||||
if (poisBusiness == null) {
|
if (poisBusiness == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
poisBusiness.setPoisId(poisId);
|
poisBusiness.setPoisId(poisId);
|
||||||
poisBusiness.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
poisBusiness.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
||||||
|
@ -146,7 +181,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
|
|
||||||
private void updatePoisNavi(Long poisId, PoisNaviDO poisNavi) {
|
private void updatePoisNavi(Long poisId, PoisNaviDO poisNavi) {
|
||||||
if (poisNavi == null) {
|
if (poisNavi == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
poisNavi.setPoisId(poisId);
|
poisNavi.setPoisId(poisId);
|
||||||
poisNavi.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
poisNavi.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
||||||
|
@ -174,7 +209,7 @@ public class PoisServiceImpl implements PoisService {
|
||||||
|
|
||||||
private void updatePoisPhotos(Long poisId, PoisPhotosDO poisPhotos) {
|
private void updatePoisPhotos(Long poisId, PoisPhotosDO poisPhotos) {
|
||||||
if (poisPhotos == null) {
|
if (poisPhotos == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
poisPhotos.setPoisId(poisId);
|
poisPhotos.setPoisId(poisId);
|
||||||
poisPhotos.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
poisPhotos.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.iocoder.yudao.module.map.dal.mysql.keywordsearch.KeywordSearchMapper">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||||
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||||
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
|
-->
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue