44323
2023-12-29 640d1ebf2b738440ab16f8e8954bfeed1472a3b3
guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/HouseResourceMapper.xml
@@ -17,26 +17,39 @@
        hr.latitude,
        hr.platform,
        hr.sale_amount as saleAmount,
        IFNULL(su.`name`,au.nickname) as nickname,
         IFNULL(au.profile_photo,su.avatar) as profilePhoto,
        au.profile_photo as profilePhoto,
        au.nickname,
        hr.elevator,
        hr.drying_area as dryingArea,
        hr.garden,
        hr.carport,
        hr.air,
        hr.balcony,
        hr.is_manage as isManage,
        hr.leaseTime,
        tp.name as houseTypeName,
        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 sys_user su ON hr.insert_user_id = su.id AND hr.is_manage = 1
        left join t_region rc on (hr.district_id = rc.id)
        left join t_region rp on (rp.id = rc.parent_id)
        left join t_house_type tp on hr.house_type_id = tp.id
        where hr.is_delete = 0 and hr.`status` = 1 and hr.auth_status = 2 and hr.type=2
        <if test="null != req.type">
        <if test="null != req.type and 2 == 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 test="null != req.type and 1 == req.type">
            and hr.data_type = #{req.type}
        </if>
        <if test="null != req.userType and 2 == req.userType">
            and au.user_type = 2
        </if>
        <if test="null != req.userType and 3 == req.userType">
            and au.user_type = 3
        </if>
        <if test="null == req.userType">
            and hr.firm_house != 1
        </if>
        <if test="null != req.userType and 4 == req.userType">
            and hr.firm_house = 1
@@ -102,53 +115,80 @@
            and hr.good_house = 1
        </if>
        <if test="null != req.dataType and req.dataType == 2">
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 7 day)
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 21 day)
        </if>
        order by au.user_type desc
        <if test="null != req.sort and req.sort == 1">
            order by hr.insert_time desc
            ,hr.insert_time desc
        </if>
        <if test="null != req.sort and req.sort == 2">
            order by hr.good_house desc
            , hr.views_number desc
        </if>
        <if test="null != req.sort and req.sort == 3">
            order by hr.sale_amount
            , hr.sale_amount
        </if>
        <if test="null != req.sort and req.sort == 4">
            order by hr.sale_amount desc
            , hr.sale_amount desc
        </if>
        order by au.user_type desc, hr.insert_time desc
        limit #{req.pageNum}, #{req.pageSize}
    </select>
    <select id="searchHouseResourceCount" resultType="int">
    <select id="searchHouseResource1" resultType="com.stylefeng.guns.modular.system.warpper.res.SearchHouseResourceListRes">
        select
        count(1)
        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.platform,
        hr.sale_amount as saleAmount,
        au.profile_photo as profilePhoto,
        au.nickname,
        hr.elevator,
        hr.drying_area as dryingArea,
        hr.garden,
        hr.carport,
        hr.air,
        hr.balcony,
        hr.leaseTime,
        hr.keep_pet as keepPet
        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">
        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 2 == 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 test="null != req.type and 1 == req.type">
            and hr.data_type = #{req.type}
        </if>
        <if test="null != req.userType and 2 == req.userType">
            and au.user_type = 2
        </if>
        <if test="null != req.userType and 3 == req.userType">
            and au.user_type = 3
        </if>
        <if test="null == req.userType">
            and hr.firm_house != 1
        </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}, '%')
            and hr.title like CONCAT('%', #{req.content}, '%')
        </if>
        <if test="null != cityIds and cityIds.size()>0" >
            and hr.city_id in
            and hr.district_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
            and hr.city_id in
            <foreach collection="districtIds" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
@@ -199,7 +239,156 @@
            and hr.good_house = 1
        </if>
        <if test="null != req.dataType and req.dataType == 2">
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 21 day)
        </if>
        order by au.user_type desc
        <if test="null != req.sort and req.sort == 1">
            ,hr.insert_time desc
        </if>
        <if test="null != req.sort and req.sort == 2">
            , hr.views_number desc
        </if>
        <if test="null != req.sort and req.sort == 3">
            , hr.sale_amount
        </if>
        <if test="null != req.sort and req.sort == 4">
            , hr.sale_amount desc
        </if>
    </select>
    <select id="searchHouseResourceCount" resultType="int">
        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.platform,
        hr.sale_amount as saleAmount,
        au.profile_photo as profilePhoto,
        au.nickname,
        hr.elevator,
        hr.drying_area as dryingArea,
        hr.garden,
        hr.carport,
        hr.air,
        hr.balcony,
        hr.leaseTime,
        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 2 == req.userType">
            and hr.is_manage != 1
        </if>
        <if test="null != req.userType and 4 != req.userType and 5 != 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.userType and 5 == req.userType">
            and hr.firm_house = 0
        </if>
        <if test="null != req.content and '' != req.content">
            and hr.title like CONCAT('%', #{req.content}, '%')
        </if>
        <if test="null != cityIds and cityIds.size()>0" >
            and hr.district_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.city_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 &gt;= #{saleAmountStart} and hr.sale_amount &lt; #{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() &lt;= DATE_ADD(hr.insert_time,INTERVAL 3 day)
        </if>
        <if test="null != req.createTime and req.createTime == 7">
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 7 day)
        </if>
        <if test="null != req.createTime and req.createTime == 30">
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 1 MONTH)
        </if>
        <if test="null != req.createTime and req.createTime == 60">
            and now() &lt;= DATE_ADD(hr.insert_time,INTERVAL 2 MONTH)
        </if>
        <if test="null != req.createTime and req.createTime == 90">
            and now() &lt;= 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">
            order by hr.insert_time desc
            <if test="null != req.sort and req.sort == 1">
                , hr.insert_time desc
            </if>
            <if test="null != req.sort and req.sort == 2">
                , hr.good_house desc
            </if>
            <if test="null != req.sort and req.sort == 3">
                ,hr.sale_amount
            </if>
            <if test="null != req.sort and req.sort == 4">
                , hr.sale_amount desc
            </if>
            ,hr.insert_time desc, au.user_type desc
        </if>
        <if test="null == req.dataType">
            order by au.user_type desc, hr.insert_time desc
            <if test="null != req.sort and req.sort == 1">
                , hr.insert_time desc
            </if>
            <if test="null != req.sort and req.sort == 2">
                , hr.good_house desc
            </if>
            <if test="null != req.sort and req.sort == 3">
                ,hr.sale_amount
            </if>
            <if test="null != req.sort and req.sort == 4">
                , hr.sale_amount desc
            </if>
        </if>
    </select>
@@ -271,6 +460,7 @@
        hr.sale_amount as saleAmount,
        hr.elevator as elevator,
        hr.house_model as houseModel,
        hr.house_type_id as houseTypeId,
        hr.drying_area as dryingArea,
        hr.garden as garden,
        hr.carport as carport,
@@ -284,11 +474,14 @@
        hr.leaseTime as leaseTime,
        hr.data_type as dataType,
        hr.insert_time as insertTime,
        hr.auth_status as authStatus,
        hr.type as `type`,
        hr.upTime as upTime,
        tp.name as houseTypeName,
        2 as `data`,
        hr.status as status
        from t_house_resource hr
        left join t_house_type tp on hr.house_type_id = tp.id
        where hr.is_delete = 0
        and hr.app_user_id = #{id}
    </select>
@@ -315,11 +508,13 @@
        hr.insert_time as insertTime,hr.type as `type`,
        hr.status as status,
        2 as `data`,
        tp.name as houseTypeName,
        au.profile_photo as profilePhoto,
        au.nickname as nickname,
        au.user_type as userType
        from t_house_resource hr
        left join t_app_user au on hr.app_user_id = au.id
        left join t_house_type tp on hr.house_type_id = tp.id
        where hr.is_delete = 0 and hr.`status` = 1
        <if test="null != ids and ids.size()>0">
            and hr.id in