zhongrj
2023-10-31 85b366e87d9fc91b638ff592752b9f6f36364f3f
房屋查询,更新,标签操作相关接口新增
14 files modified
180 ■■■■■ changed files
src/main/java/org/springblade/modules/house/controller/HouseController.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/controller/HouseLabelController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml 22 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/IHouseLabelService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/IHouseService.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/vo/HouseVO.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/controller/LabelController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/mapper/LabelMapper.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/mapper/LabelMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/service/ILabelService.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
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")
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")
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);
}
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>
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);
}
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);
}
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);
    }
}
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);
    }
}
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<>();
}
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")
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);
}
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>
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);
}
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);
    }
}