<?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="com.stylefeng.guns.modular.system.dao.HousingDemandMapper">
|
|
|
<select id="searchHousingDemand" resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHousingDemandListRes">
|
select
|
hd.id,
|
hd.app_user_id as appuserId,
|
hd.title,
|
hd.house_model as houseModel,
|
hd.rental_duration as rentalDuration,
|
hd.sale_amount as saleAmount,
|
au.profile_photo as profilePhoto,
|
au.nickname,
|
hd.elevator,
|
hd.drying_area as dryingArea,
|
hd.garden,
|
hd.carport,
|
hd.balcony,
|
hd.air,
|
hd.type,
|
hd.data_type as dataType,
|
hd.views_number as viewsNumber,
|
hd.type as `type`,
|
hd.keep_pet as keepPet
|
from t_housing_demand hd
|
left join t_app_user au on (hd.app_user_id = au.id)
|
where hd.`status` = 1 and hd.is_delete = 0
|
<if test="null != req.type">
|
and hd.data_type = #{req.type}
|
</if>
|
<if test="null != req.content and '' != req.content">
|
and hd.title like CONCAT('%', #{req.content}, '%')
|
</if>
|
<if test="null != district and district.size()>0">
|
and hd.id in (select housing_demand_id from t_housing_demand_district
|
where t_housing_demand_district.city_id in
|
<foreach collection="district" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
<if test="null != cityIds and cityIds.size()>0">
|
and hd.id in (select housing_demand_id from t_housing_demand_district
|
where t_housing_demand_district.district_id in
|
<foreach collection="cityIds" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
<if test="null != saleAmountStart and null != saleAmountEnd">
|
and CAST(SUBSTRING_INDEX(hd.sale_amount, '-', 1) AS DECIMAL) <= #{saleAmountStart}
|
and CAST(SUBSTRING_INDEX(hd.sale_amount, '-', -1) AS DECIMAL) >= #{saleAmountEnd}
|
</if>
|
<if test="null != houseModels">
|
and hd.house_model in
|
<foreach collection="houseModels" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != houseTypeIds">
|
and hd.house_type_id in
|
<foreach collection="houseTypeIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.elevator">
|
and hd.elevator = #{req.elevator}
|
</if>
|
|
<if test="null != req.balcony">
|
and hd.balcony = #{req.balcony}
|
</if>
|
<if test="null != req.keepPet">
|
and hd.keep_pet = #{req.keepPet}
|
</if>
|
<if test="null != req.createTime and req.createTime == 3">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 3 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 7">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 7 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 30">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 1 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 60">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 2 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 90">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 3 MONTH)
|
</if>
|
<if test="null != req.sort and req.sort == 1">
|
order by hd.insert_time desc
|
</if>
|
<if test="null != req.sort and req.sort == 2">
|
order by hd.views_number desc
|
</if>
|
<if test="null != req.sort and req.sort == 3">
|
order by hd.sale_amount
|
</if>
|
<if test="null != req.sort and req.sort == 4">
|
order by hd.sale_amount desc
|
</if>
|
limit #{req.pageNum}, #{req.pageSize}
|
</select>
|
|
<select id="searchHousingDemandCount" resultType="int">
|
select
|
count(1)
|
from t_housing_demand hd
|
where hd.`status` = 1 and hd.is_delete = 0
|
<if test="null != req.type">
|
and hd.data_type = #{req.type}
|
</if>
|
<if test="null != req.content and '' != req.content">
|
and hd.title = CONCAT('%', #{req.content}, '%')
|
</if>
|
<if test="null != cityIds and cityIds.size()>0">
|
and hd.id in (select housing_demand_id from t_housing_demand_district
|
where t_housing_demand_district.city_id in
|
<foreach collection="cityIds" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
<if test="null != district and district.size()>0">
|
and hd.id in (select housing_demand_id from t_housing_demand_district
|
where t_housing_demand_district.district_id in
|
<foreach collection="district" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
<if test="null != saleAmountStart and null != saleAmountEnd">
|
and hd.sale_amount >= #{saleAmountStart} and hd.sale_amount < #{saleAmountEnd}
|
</if>
|
<if test="null != houseModels">
|
and hd.house_model in
|
<foreach collection="houseModels" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != houseTypeIds">
|
and hd.house_type_id in
|
<foreach collection="houseTypeIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.elevator">
|
and hd.elevator = #{req.elevator}
|
</if>
|
<if test="null != req.rentalDuration">
|
and hd.rental_duration = #{req.rentalDuration}
|
</if>
|
<if test="null != req.balcony">
|
and hd.balcony = #{req.balcony}
|
</if>
|
<if test="null != req.keepPet">
|
and hd.keep_pet = #{req.keepPet}
|
</if>
|
<if test="null != req.createTime and req.createTime == 3">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 3 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 7">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 7 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 30">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 1 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 60">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 2 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 90">
|
and now() <= DATE_ADD(hd.insert_time,INTERVAL 3 MONTH)
|
</if>
|
</select>
|
<select id="searchHousingDemand1"
|
resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHousingDemandListRes">
|
select
|
hd.id,
|
hd.app_user_id as appuserId,
|
hd.title,
|
hd.house_model as houseModel,
|
hd.sale_amount as saleAmount,
|
au.profile_photo as profilePhoto,
|
au.nickname,
|
hd.elevator,
|
hd.house_type_id as houseTypeId,
|
hd.rental_duration as rentalDuration,
|
hd.drying_area as dryingArea,
|
hd.garden,
|
hd.carport,
|
hd.balcony,
|
hd.views_number as viewsNumber,
|
hd.type,
|
hd.status,
|
hd.data_type as dataType,
|
hd.insert_time as insertTime,
|
hd.type as `type`,
|
hd.upTime as upTime,
|
hd.keep_pet as keepPet
|
from t_housing_demand hd
|
left join t_app_user au on (hd.app_user_id = au.id)
|
where hd.is_delete = 0
|
and hd.app_user_id = #{id}
|
</select>
|
<select id="searchHousingDemand2"
|
resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHousingDemandListRes">
|
select
|
hd.id,
|
hd.app_user_id as appuserId,
|
hd.title,
|
hd.house_model as houseModel,
|
hd.house_type_id as houseTypeId,
|
hd.sale_amount as saleAmount,
|
au.profile_photo as profilePhoto,
|
au.nickname,
|
hd.elevator,
|
hd.rental_duration as rentalDuration,
|
hd.drying_area as dryingArea,
|
hd.garden,
|
hd.carport,
|
hd.balcony,
|
hd.views_number as viewsNumber,
|
hd.type,
|
hd.status,
|
hd.data_type as dataType,
|
hd.insert_time as insertTime,
|
hd.type as `type`,
|
hd.keep_pet as keepPet
|
from t_housing_demand hd
|
left join t_app_user au on (hd.app_user_id = au.id)
|
where hd.`status` = 1 and hd.is_delete = 0
|
|
<if test="null != ids and ids.size()>0">
|
and hd.id in
|
<foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
|
</select>
|
</mapper>
|