From 85b366e87d9fc91b638ff592752b9f6f36364f3f Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 31 Oct 2023 21:15:32 +0800
Subject: [PATCH] 房屋查询,更新,标签操作相关接口新增
---
src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml | 6 ++
src/main/java/org/springblade/modules/house/service/IHouseService.java | 12 ++++
src/main/java/org/springblade/modules/house/controller/HouseController.java | 24 ++++++++
src/main/java/org/springblade/modules/house/vo/HouseVO.java | 4 +
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml | 22 +++++++
src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java | 24 +++++++
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java | 10 +++
src/main/java/org/springblade/modules/house/controller/HouseLabelController.java | 11 +++
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java | 30 ++++++++++
src/main/java/org/springblade/modules/label/service/ILabelService.java | 7 ++
src/main/java/org/springblade/modules/label/controller/LabelController.java | 10 +++
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java | 8 ++
src/main/java/org/springblade/modules/label/mapper/LabelMapper.java | 6 ++
src/main/java/org/springblade/modules/house/service/IHouseLabelService.java | 6 ++
14 files changed, 175 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseController.java b/src/main/java/org/springblade/modules/house/controller/HouseController.java
index 5e10d91..501676a 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseController.java
@@ -60,6 +60,19 @@
HouseEntity detail = houseService.getOne(Condition.getQueryWrapper(house));
return R.data(HouseWrapper.build().entityVO(detail));
}
+
+ /**
+ * 房屋自定义详情查询
+ * @param house
+ * @return
+ */
+ @GetMapping("/getHouseDetail")
+ @ApiOperation(value = "房屋自定义详情查询", notes = "传入house")
+ public R<HouseVO> getHouseDetail(HouseVO house) {
+ HouseVO detail = houseService.getHouseDetail(house);
+ return R.data(detail);
+ }
+
/**
* 房屋 分页
*/
@@ -113,6 +126,17 @@
}
/**
+ * 房屋自定义新增或修改
+ * @param house
+ * @return
+ */
+ @PostMapping("/saveOrUpdateHouse")
+ @ApiOperation(value = "新增或修改", notes = "传入house")
+ public R saveOrUpdateHouse(@RequestBody HouseEntity house) {
+ return R.status(houseService.saveOrUpdateHouse(house));
+ }
+
+ /**
* 房屋 删除
*/
@PostMapping("/remove")
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java b/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
index 22eb415..0b1a16b 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
@@ -113,6 +113,17 @@
}
/**
+ * 房屋-标签 自定义新增或修改
+ * @param houseLabel
+ * @return
+ */
+ @PostMapping("/saveOrUpdateHouseLabel")
+ @ApiOperation(value = "自定义新增或修改", notes = "传入houseLabel")
+ public R saveOrUpdateHouseLabel(@Valid @RequestBody HouseLabelEntity houseLabel) {
+ return R.status(houseLabelService.saveOrUpdateHouseLabel(houseLabel));
+ }
+
+ /**
* 房屋-标签 删除
*/
@PostMapping("/remove")
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
index 178bf76..05b102e 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.house.mapper;
+import org.apache.ibatis.annotations.Param;
import org.springblade.modules.house.entity.HouseEntity;
import org.springblade.modules.house.vo.HouseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,5 +40,10 @@
*/
List<HouseVO> selectHousePage(IPage page, HouseVO house);
-
+ /**
+ * 房屋自定义详情查询
+ * @param house
+ * @return
+ */
+ HouseVO getHouseDetail(@Param("house") HouseVO house);
}
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 2328145..370bfd5 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -20,17 +20,37 @@
<result column="building_no" property="buildingNo"/>
<result column="image_urls" property="imageUrls"/>
<result column="create_user" property="createUser"/>
- <result column="created_time" property="createdTime"/>
+ <result column="created_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="remark" property="remark"/>
<result column="is_deleted" property="isDeleted"/>
</resultMap>
+ <!--房屋详情-->
+ <resultMap id="houseAndHouseLabelMap" type="org.springblade.modules.house.vo.HouseVO" autoMapping="true">
+ <id property="id" column="id"/>
+ <collection property="houseLabelVOList" javaType="java.util.List"
+ ofType="org.springblade.modules.house.vo.HouseLabelVO" autoMapping="true">
+ <id property="id" column="cid"/>
+ </collection>
+ </resultMap>
+ <!--自定义分页列表-->
<select id="selectHousePage" resultMap="houseResultMap">
select * from jczz_house where is_deleted = 0
</select>
+ <!--房屋自定义详情查询-->
+ <select id="getHouseDetail" resultMap="houseAndHouseLabelMap">
+ select
+ jh.*,
+ jhl.id as cid,jhl.*
+ from jczz_house jh
+ left join jczz_house_label jhl on jh.house_code = jhl.house_code
+ where jh.is_deleted = 0
+ and jh.house_code = #{house.houseCode}
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java b/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
index 9194483..a64fb2b 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
@@ -40,4 +40,10 @@
IPage<HouseLabelVO> selectHouseLabelPage(IPage<HouseLabelVO> page, HouseLabelVO houseLabel);
+ /**
+ * 房屋-标签 自定义新增或修改
+ * @param houseLabel
+ * @return
+ */
+ boolean saveOrUpdateHouseLabel(HouseLabelEntity houseLabel);
}
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseService.java b/src/main/java/org/springblade/modules/house/service/IHouseService.java
index c512478..448f812 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseService.java
@@ -39,5 +39,17 @@
*/
IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house);
+ /**
+ * 房屋自定义详情查询
+ * @param house
+ * @return
+ */
+ HouseVO getHouseDetail(HouseVO house);
+ /**
+ * 房屋自定义新增或修改
+ * @param house
+ * @return
+ */
+ boolean saveOrUpdateHouse(HouseEntity house);
}
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
index e3af77f..13f6e01 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.house.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.house.entity.HouseLabelEntity;
import org.springblade.modules.house.vo.HouseLabelVO;
@@ -39,5 +40,26 @@
return page.setRecords(baseMapper.selectHouseLabelPage(page, houseLabel));
}
-
+ /**
+ * 房屋-标签 自定义新增或修改
+ * @param houseLabel
+ * @return
+ */
+ @Override
+ public boolean saveOrUpdateHouseLabel(HouseLabelEntity houseLabel) {
+ // 查询标签名称
+ HouseLabelEntity labelEntity = getById(houseLabel.getLabelId());
+ houseLabel.setLabelName(labelEntity.getLabelName());
+ // 判断同一个房屋同一个标签是否已存在,已存在则更新,不存在则新增
+ QueryWrapper<HouseLabelEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("house_code",houseLabel.getHouseCode())
+ .eq("label_id",houseLabel.getLabelId());
+ HouseLabelEntity one = getOne(queryWrapper);
+ if (null != one){
+ // 更新
+ return updateById(houseLabel);
+ }
+ // 插入
+ return save(houseLabel);
+ }
}
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index 707674e..a489ff1 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -16,12 +16,15 @@
*/
package org.springblade.modules.house.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.house.entity.HouseEntity;
import org.springblade.modules.house.vo.HouseVO;
import org.springblade.modules.house.mapper.HouseMapper;
import org.springblade.modules.house.service.IHouseService;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.label.service.ILabelService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -39,5 +42,32 @@
return page.setRecords(baseMapper.selectHousePage(page, house));
}
+ /**
+ * 房屋自定义详情查询
+ * @param house
+ * @return
+ */
+ @Override
+ public HouseVO getHouseDetail(HouseVO house) {
+ return baseMapper.getHouseDetail(house);
+ }
+ /**
+ * 房屋自定义新增或修改
+ * @param house
+ * @return
+ */
+ @Override
+ public boolean saveOrUpdateHouse(HouseEntity house) {
+ // 查询是否已存在房屋数据
+ QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("house_code",house.getHouseCode());
+ HouseEntity one = getOne(wrapper);
+ if (null != one){
+ // 更新数据
+ return updateById(house);
+ }
+ //插入数据
+ return save(house);
+ }
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseVO.java b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
index 8f5a0fb..69a7b1a 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -21,6 +21,9 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* 房屋 视图实体类
*
@@ -32,4 +35,5 @@
public class HouseVO extends HouseEntity {
private static final long serialVersionUID = 1L;
+ private List<HouseLabelVO> houseLabelVOList = new ArrayList<>();
}
diff --git a/src/main/java/org/springblade/modules/label/controller/LabelController.java b/src/main/java/org/springblade/modules/label/controller/LabelController.java
index f95231e..1667af1 100644
--- a/src/main/java/org/springblade/modules/label/controller/LabelController.java
+++ b/src/main/java/org/springblade/modules/label/controller/LabelController.java
@@ -82,6 +82,16 @@
}
/**
+ * 标签查询,按父id查询下级
+ * @param label
+ * @return
+ */
+ @GetMapping("/getLabelList")
+ public R getLabelList(LabelVO label) {
+ return R.data(labelService.getLabelList(label));
+ }
+
+ /**
* 标签管理 新增
*/
@PostMapping("/save")
diff --git a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
index c3417ed..99619d6 100644
--- a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
+++ b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.java
@@ -41,4 +41,10 @@
List<LabelVO> selectLabelPage(IPage page,@Param("label") LabelVO label);
+ /**
+ * 标签查询,按父id查询下级
+ * @param label
+ * @return
+ */
+ List<LabelVO> getLabelList(@Param("label") LabelVO label);
}
diff --git a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
index 0bb9d64..71d276c 100644
--- a/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
+++ b/src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml
@@ -7,5 +7,11 @@
select * from jczz_label where 1=1
</select>
+ <!--标签查询,按父id查询下级-->
+ <select id="getLabelList" resultType="org.springblade.modules.label.vo.LabelVO">
+ select * from jczz_label where is_deleted = 0
+ and parent_id = #{label.parentId}
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/label/service/ILabelService.java b/src/main/java/org/springblade/modules/label/service/ILabelService.java
index ec2e177..72c794b 100644
--- a/src/main/java/org/springblade/modules/label/service/ILabelService.java
+++ b/src/main/java/org/springblade/modules/label/service/ILabelService.java
@@ -39,5 +39,10 @@
*/
IPage<LabelVO> selectLabelPage(IPage<LabelVO> page, LabelVO label);
-
+ /**
+ * 标签查询,按父id查询下级
+ * @param label
+ * @return
+ */
+ Object getLabelList(LabelVO label);
}
diff --git a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
index 404ffb2..2877354 100644
--- a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -39,5 +39,13 @@
return page.setRecords(baseMapper.selectLabelPage(page, label));
}
-
+ /**
+ * 标签查询,按父id查询下级
+ * @param label
+ * @return
+ */
+ @Override
+ public Object getLabelList(LabelVO label) {
+ return baseMapper.getLabelList(label);
+ }
}
--
Gitblit v1.9.3