增加poi室内相关数据
This commit is contained in:
parent
51d2ad3243
commit
d38648d847
|
@ -27,7 +27,7 @@ public class PageParam implements Serializable {
|
|||
@Min(value = 1, message = "页码最小值为 1")
|
||||
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 = "每页条数不能为空")
|
||||
@Min(value = 1, message = "每页条数最小值为 1")
|
||||
@Max(value = 100, message = "每页条数最大值为 100")
|
||||
|
|
|
@ -91,5 +91,4 @@ public class KeywordSearchController {
|
|||
ExcelUtils.write(response, "搜索记录.xls", "数据", 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.PoisNaviDO;
|
||||
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;
|
||||
|
||||
@Tag(name = "管理后台 - 高德POI基础信息")
|
||||
|
@ -95,6 +96,16 @@ public class PoisController {
|
|||
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商业信息) ====================
|
||||
|
||||
@GetMapping("/pois-business/get-by-pois-id")
|
||||
|
|
|
@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||
import lombok.*;
|
||||
import java.util.*;
|
||||
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.PoisNaviDO;
|
||||
import cn.iocoder.yudao.module.map.dal.dataobject.pois.PoisPhotosDO;
|
||||
|
@ -64,6 +65,9 @@ public class PoisSaveReqVO {
|
|||
@NotEmpty(message = "poi唯一标识不能为空")
|
||||
private String poiId;
|
||||
|
||||
@Schema(description = "高德POI室内信息")
|
||||
private PoisIndoorDO poisIndoor;
|
||||
|
||||
@Schema(description = "高德POI商业信息")
|
||||
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 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.PoisIndoorDO;
|
||||
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.PoisPhotosDO;
|
||||
|
@ -55,6 +56,16 @@ public interface PoisService {
|
|||
*/
|
||||
PageResult<PoisDO> getPoisPage(PoisPageReqVO pageReqVO);
|
||||
|
||||
// ==================== 子表(高德POI室内信息) ====================
|
||||
|
||||
/**
|
||||
* 获得高德POI室内信息
|
||||
*
|
||||
* @param poisId pois表ID
|
||||
* @return 高德POI室内信息
|
||||
*/
|
||||
PoisIndoorDO getPoisIndoorByPoisId(Long poisId);
|
||||
|
||||
// ==================== 子表(高德POI商业信息) ====================
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.util.*;
|
||||
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.PoisIndoorDO;
|
||||
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.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.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.PoisNaviMapper;
|
||||
import cn.iocoder.yudao.module.map.dal.mysql.pois.PoisPhotosMapper;
|
||||
|
@ -35,6 +37,8 @@ public class PoisServiceImpl implements PoisService {
|
|||
@Resource
|
||||
private PoisMapper poisMapper;
|
||||
@Resource
|
||||
private PoisIndoorMapper poisIndoorMapper;
|
||||
@Resource
|
||||
private PoisBusinessMapper poisBusinessMapper;
|
||||
@Resource
|
||||
private PoisNaviMapper poisNaviMapper;
|
||||
|
@ -49,6 +53,7 @@ public class PoisServiceImpl implements PoisService {
|
|||
poisMapper.insert(pois);
|
||||
|
||||
// 插入子表
|
||||
createPoisIndoor(pois.getId(), createReqVO.getPoisIndoor());
|
||||
createPoisBusiness(pois.getId(), createReqVO.getPoisBusiness());
|
||||
createPoisNavi(pois.getId(), createReqVO.getPoisNavi());
|
||||
createPoisPhotos(pois.getId(), createReqVO.getPoisPhotos());
|
||||
|
@ -66,6 +71,7 @@ public class PoisServiceImpl implements PoisService {
|
|||
poisMapper.updateById(updateObj);
|
||||
|
||||
// 更新子表
|
||||
updatePoisIndoor(updateReqVO.getId(), updateReqVO.getPoisIndoor());
|
||||
updatePoisBusiness(updateReqVO.getId(), updateReqVO.getPoisBusiness());
|
||||
updatePoisNavi(updateReqVO.getId(), updateReqVO.getPoisNavi());
|
||||
updatePoisPhotos(updateReqVO.getId(), updateReqVO.getPoisPhotos());
|
||||
|
@ -80,6 +86,7 @@ public class PoisServiceImpl implements PoisService {
|
|||
poisMapper.deleteById(id);
|
||||
|
||||
// 删除子表
|
||||
deletePoisIndoorByPoisId(id);
|
||||
deletePoisBusinessByPoisId(id);
|
||||
deletePoisNaviByPoisId(id);
|
||||
deletePoisPhotosByPoisId(id);
|
||||
|
@ -101,6 +108,34 @@ public class PoisServiceImpl implements PoisService {
|
|||
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商业信息) ====================
|
||||
|
||||
@Override
|
||||
|
|
|
@ -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