<?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
|
and hr.type=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 cityIds.size()>0" >
|
and hr.city_id in
|
<foreach collection="cityIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != districtIds and districtIds.size()>0">
|
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
|
and hr.type=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 cityIds.size()>0" >
|
and hr.city_id in
|
<foreach collection="cityIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="null != districtIds and districtIds.size()>0">
|
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
|
and hr.type=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>
|
<select id="listHouse"
|
resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHouseResourceListRes">
|
select
|
hr.id,
|
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,
|
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_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
|
and hr.type=2
|
and hr.app_user_id = #{query.id}
|
and hr.data_type = #{query.type}
|
</select>
|
<select id="collect" resultType="com.stylefeng.guns.modular.system.warpper.res.CollectListRes">
|
select
|
hr.id,
|
hr.title,
|
hr.sale_amount as saleAmount,
|
hr.elevator,
|
hr.drying_area as dryingArea,
|
hr.garden,
|
hr.carport,
|
hr.balcony,
|
hr.city_id as cityId,
|
hr.district_id as districtId,
|
hr.keep_pet as keepPet,
|
hr.views_number as viewsNumber,
|
hr.code as code,
|
hr.leaseTime as leaseTime,
|
hr.data_type as dataType,
|
hr.insert_time as insertTime,hr.type as `type`,
|
hr.status as status
|
from t_house_resource hr
|
left join t_collection_house_resource t1 on hr.id = t1.house_resource_id
|
where hr.is_delete = 0 and hr.`status` = 1 and hr.auth_status = 2
|
<if test="null != ids and ids.size()>0">
|
and hr.id in
|
<foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
</select>
|
<select id="release" resultType="com.stylefeng.guns.modular.system.warpper.res.CollectListRes">
|
select
|
hr.id,
|
hr.title,
|
hr.sale_amount as saleAmount,
|
hr.elevator,
|
hr.drying_area as dryingArea,
|
hr.garden,
|
hr.carport,
|
hr.balcony,
|
hr.app_user_id as appUserId,
|
hr.city_id as cityId,
|
hr.district_id as districtId,
|
hr.keep_pet as keepPet,
|
hr.views_number as viewsNumber,
|
hr.code as code,
|
hr.leaseTime as leaseTime,
|
hr.data_type as dataType,
|
hr.house_photo as housePhoto,
|
hr.house_video as houseVideo,
|
hr.insert_time as insertTime,hr.type as `type`,
|
hr.status as status,
|
au.profile_photo as profilePhoto,
|
au.nickname as nickname,
|
au.user_type as userType
|
from t_house_resource hr
|
left join t_collection_house_resource t1 on hr.id = t1.house_resource_id
|
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 != ids and ids.size()>0">
|
and hr.id in
|
<foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
</select>
|
<select id="list" resultType="com.stylefeng.guns.modular.system.dto.THouseResource">
|
select * from (
|
SELECT hs.insert_time as insertTime, hs.id, hs.cell_name as cellName, hs.house_address as houseAddress,
|
hs.data_type as dataType,
|
CASE
|
WHEN hs.is_manage IS NULL AND ap.user_type = 2 THEN 2
|
WHEN hs.is_manage IS NULL AND ap.user_type = 3 THEN 3
|
ELSE hs.is_manage
|
END AS isManage,
|
IFNULL(ap.nickname,su.`name`) as name, IFNULL(ap.phone,su.phone) as phone,
|
hs.house_model as houseModel, hs.building_orientation as buildingOrientation, hs.sale_amount as saleAmount,
|
hs.house_area as houseArea , hs.status
|
FROM t_house_resource hs
|
LEFT JOIN t_app_user ap ON hs.insert_user_id = ap.id
|
LEFT JOIN sys_user su ON hs.insert_user_id = su.id AND hs.is_manage = 1
|
where hs.is_delete = 0 and hs.auth_status = 2
|
|
) a
|
<where>
|
<if test="null != cellName and '' != cellName">
|
and a.cell_name like CONCAT('%', #{cellName}, '%')
|
</if>
|
<if test="null != dataType">
|
and a.dataType = #{dataType}
|
</if>
|
<if test="null != isManage">
|
and a.isManage = #{isManage}
|
</if>
|
<if test="null != name and '' != name">
|
and a.name like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != min and '' != min">
|
and a.saleAmount between #{min} and #{max}
|
</if>
|
|
<if test="null != status">
|
and a.status = #{status}
|
</if>
|
</where>
|
|
</select>
|
|
|
<select id="aulist" resultType="com.stylefeng.guns.modular.system.dto.THouseResource">
|
select * from (
|
SELECT hs.insert_time as insertTime, hs.id, hs.cell_name as cellName, hs.house_address as houseAddress,
|
hs.data_type as dataType,
|
CASE
|
WHEN hs.is_manage IS NULL AND ap.user_type = 2 THEN 2
|
WHEN hs.is_manage IS NULL AND ap.user_type = 3 THEN 3
|
ELSE hs.is_manage
|
END AS isManage,
|
IFNULL(ap.nickname,su.`name`) as name, IFNULL(ap.phone,su.phone) as phone,
|
hs.house_model as houseModel, hs.building_orientation as buildingOrientation, hs.sale_amount as saleAmount,
|
hs.house_area as houseArea , hs.status,hs.auth_status AS authStatus
|
FROM t_house_resource hs
|
LEFT JOIN t_app_user ap ON hs.insert_user_id = ap.id
|
LEFT JOIN sys_user su ON hs.insert_user_id = su.id AND hs.is_manage = 1
|
where hs.is_delete = 0
|
|
) a
|
<where>
|
|
<if test="null != id">
|
and a.id = #{id}
|
</if>
|
|
<if test="null != cellName and '' != cellName">
|
and a.cellName like CONCAT('%', #{cellName}, '%')
|
</if>
|
<if test="null != dataType">
|
and a.dataType = #{dataType}
|
</if>
|
<if test="null != isManage">
|
and a.isManage = #{isManage}
|
</if>
|
<if test="null != name and '' != name">
|
and a.name like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != min and '' != min">
|
and a.saleAmount between #{min} and #{max}
|
</if>
|
<if test="null != size and '' != size">
|
and a.houseArea = #{size}
|
</if>
|
|
</where>
|
|
</select>
|
<select id="reprotList" resultType="com.stylefeng.guns.modular.system.dto.THouseResource">
|
select * from (
|
SELECT hs.insert_time as insertTime, hs.id, hs.cell_name as cellName, hs.house_address as houseAddress,
|
hs.data_type as dataType,
|
CASE
|
WHEN hs.is_manage IS NULL AND ap.user_type = 2 THEN 2
|
WHEN hs.is_manage IS NULL AND ap.user_type = 3 THEN 3
|
ELSE hs.is_manage
|
END AS isManage,
|
IFNULL(ap.nickname,su.`name`) as name, IFNULL(ap.phone,su.phone) as phone,
|
hs.house_model as houseModel, hs.building_orientation as buildingOrientation, hs.sale_amount as saleAmount,
|
hs.house_area as houseArea , hs.status,hr.content,hr.audit,hr.back_reason as backReason,hr.back_date as backDate
|
from t_report_house_resource hr
|
LEFT JOIN t_house_resource hs on hr.house_resource_id = hs.id
|
LEFT JOIN t_app_user ap ON hs.insert_user_id = ap.id
|
LEFT JOIN sys_user su ON hs.insert_user_id = su.id AND hs.is_manage = 1
|
where hs.is_delete = 0 and hs.auth_status = 2
|
|
) a
|
<where>
|
|
<if test="null != id">
|
and a.id = #{id}
|
</if>
|
|
<if test="null != cellName and '' != cellName">
|
and a.cellName like CONCAT('%', #{cellName}, '%')
|
</if>
|
<if test="null != dataType">
|
and a.dataType = #{dataType}
|
</if>
|
<if test="null != isManage">
|
and a.isManage = #{isManage}
|
</if>
|
<if test="null != name and '' != name">
|
and a.name like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != min and '' != min">
|
and a.saleAmount between #{min} and #{max}
|
</if>
|
<if test="null != size and '' != size">
|
and a.houseArea = #{size}
|
</if>
|
|
</where>
|
|
</select>
|
|
|
</mapper>
|