<?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.HouseResourceMapper">
|
|
|
|
<select id="searchHouseResource" resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHouseResourceListRes">
|
select
|
hr.id,
|
au.user_type as houseResource,
|
hr.house_photo as imgUrl,
|
hr.title,
|
hr.house_area as houseArea,
|
hr.house_model as houseModel,
|
concat(rp.`name`, rc.`name`) as address,
|
hr.longitude,
|
hr.latitude,
|
hr.sale_amount as saleAmount,
|
au.profile_photo as profilePhoto,
|
au.nickname,
|
hr.elevator,
|
hr.drying_area as dryingArea,
|
hr.garden,
|
hr.carport,
|
hr.balcony,
|
hr.keep_pet as keepPet
|
from t_house_resource hr
|
left join t_app_user au on (hr.app_user_id = au.id)
|
left join t_region rc on (hr.district_id = rc.id)
|
left join t_region rp on (rp.id = rc.parent_id)
|
where hr.is_delete = 0 and hr.`status` = 1 and hr.auth_status = 2
|
<if test="null != req.type">
|
and hr.data_type = #{req.type}
|
</if>
|
<if test="null != req.userType and 4 != req.userType">
|
and au.user_type = #{req.userType}
|
</if>
|
<if test="null != req.userType and 4 == req.userType">
|
and hr.firm_house = 1
|
</if>
|
<if test="null != req.content and '' != req.content">
|
and hr.title = CONCAT('%', #{req.content}, '%')
|
</if>
|
<if test="null != cityIds">
|
and hr.city_id in
|
<foreach collection="cityIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != districtIds">
|
and hr.district_id in
|
<foreach collection="districtIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != saleAmountStart and null != saleAmountEnd">
|
and hr.sale_amount >= #{saleAmountStart} and hr.sale_amount < #{saleAmountEnd}
|
</if>
|
<if test="null != houseModels">
|
and hr.house_model in
|
<foreach collection="houseModels" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.elevator">
|
and hr.elevator = #{req.elevator}
|
</if>
|
<if test="null != houseTypeIds">
|
and hr.house_type_id in
|
<foreach collection="houseTypeIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.rentalDuration">
|
and hr.rental_duration = #{req.rentalDuration}
|
</if>
|
<if test="null != req.balcony">
|
and hr.balcony = #{req.balcony}
|
</if>
|
<if test="null != req.keepPet">
|
and hr.keep_pet = #{req.keepPet}
|
</if>
|
<if test="null != req.createTime and req.createTime == 3">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 3 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 7">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 7 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 30">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 1 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 60">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 2 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 90">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 3 MONTH)
|
</if>
|
<if test="null != req.dataType and req.dataType == 1">
|
and hr.good_house = 1
|
</if>
|
<if test="null != req.dataType and req.dataType == 2">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 7 day)
|
</if>
|
<if test="null != req.sort and req.sort == 1">
|
order by hr.insert_time desc
|
</if>
|
<if test="null != req.sort and req.sort == 2">
|
order by hr.good_house desc
|
</if>
|
<if test="null != req.sort and req.sort == 3">
|
order by hr.sale_amount
|
</if>
|
<if test="null != req.sort and req.sort == 4">
|
order by hr.sale_amount desc
|
</if>
|
limit #{req.pageNum}, #{req.pageSize}
|
</select>
|
|
|
|
<select id="searchHouseResourceCount" resultType="int">
|
select
|
count(1)
|
from t_house_resource hr
|
left join t_app_user au on (hr.app_user_id = au.id)
|
where hr.is_delete = 0 and hr.`status` = 1 and hr.auth_status = 2
|
<if test="null != req.type">
|
and hr.data_type = #{req.type}
|
</if>
|
<if test="null != req.userType and 4 != req.userType">
|
and au.user_type = #{req.userType}
|
</if>
|
<if test="null != req.userType and 4 == req.userType">
|
and hr.firm_house = 1
|
</if>
|
<if test="null != req.content and '' != req.content">
|
and hr.title = CONCAT('%', #{req.content}, '%')
|
</if>
|
<if test="null != cityIds">
|
and hr.city_id in
|
<foreach collection="cityIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != districtIds">
|
and hr.district_id in
|
<foreach collection="districtIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != saleAmountStart and null != saleAmountEnd">
|
and hr.sale_amount >= #{saleAmountStart} and hr.sale_amount < #{saleAmountEnd}
|
</if>
|
<if test="null != houseModels">
|
and hr.house_model in
|
<foreach collection="houseModels" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.elevator">
|
and hr.elevator = #{req.elevator}
|
</if>
|
<if test="null != houseTypeIds">
|
and hr.house_type_id in
|
<foreach collection="houseTypeIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != req.rentalDuration">
|
and hr.rental_duration = #{req.rentalDuration}
|
</if>
|
<if test="null != req.balcony">
|
and hr.balcony = #{req.balcony}
|
</if>
|
<if test="null != req.keepPet">
|
and hr.keep_pet = #{req.keepPet}
|
</if>
|
<if test="null != req.createTime and req.createTime == 3">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 3 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 7">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 7 day)
|
</if>
|
<if test="null != req.createTime and req.createTime == 30">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 1 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 60">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 2 MONTH)
|
</if>
|
<if test="null != req.createTime and req.createTime == 90">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 3 MONTH)
|
</if>
|
<if test="null != req.dataType and req.dataType == 1">
|
and hr.good_house = 1
|
</if>
|
<if test="null != req.dataType and req.dataType == 2">
|
and now() <= DATE_ADD(hr.insert_time,INTERVAL 7 day)
|
</if>
|
</select>
|
|
|
|
<select id="getDistrictHouseResourceNumber" resultType="com.stylefeng.guns.modular.system.warpper.res.DistrictHouseResourceNumberRes">
|
select
|
r.name,
|
r.id as districtId,
|
pr.id as cityId,
|
dn.number,
|
r.longitude,
|
r.latitude
|
from (
|
select
|
hr.district_id,
|
count(hr.id) as number
|
from t_house_resource hr
|
left join t_app_user au on (hr.app_user_id = au.id)
|
where hr.is_delete = 0 and hr.`status` = 1 and hr.auth_status = 2
|
<if test="null != userType and 4 != userType">
|
and au.user_type = #{userType} and au.status = 1 and au.audit_status = 2
|
</if>
|
<if test="null != userType and 4 == userType">
|
and hr.firm_house = 1
|
</if>
|
<if test="null != dataType">
|
and hr.data_type = #{dataType}
|
</if>
|
group by hr.district_id
|
) as dn
|
left join t_region r on (dn.district_id = r.id)
|
left join t_region pr on (pr.id = r.parent_id)
|
</select>
|
|
|
</mapper>
|