<?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.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.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 = CONCAT('%', #{req.content}, '%')
|
</if>
|
<if test="null != district and '' != district">
|
and hd.id in (select housing_demand_id from t_housing_demand_district where CONCAT('cityId:', city_id, ',districtId:', 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>
|
<if test="null != req.sort and req.sort == 1">
|
order by hd.insert_time 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 != district and '' != district">
|
and hd.id in (select housing_demand_id from t_housing_demand_district where CONCAT('cityId:', city_id, ',districtId:', 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>
|
</mapper>
|