|
|
@@ -924,6 +924,176 @@
|
|
|
|
|
|
id desc
|
|
|
</select>
|
|
|
+ <select id="getNavigationPackageByPage" parameterType="java.util.Map"
|
|
|
+ resultMap="NavigationPackageResultMap">
|
|
|
+ select
|
|
|
+ <include refid="no_map_Column_List"/>,
|
|
|
+ #{record.buyFlag} as buy_flag, #{record.userId} as user_id
|
|
|
+ from land_mark
|
|
|
+ <where>
|
|
|
+ and del_flag = 'N'
|
|
|
+
|
|
|
+ and id IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT land_mark_id
|
|
|
+ FROM
|
|
|
+ navigation_package
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND shelf_flag = 'Y'
|
|
|
+
|
|
|
+ <if test="record.buyFlag != null and !"".equals(record.buyFlag)">
|
|
|
+ <choose>
|
|
|
+ <when test="record.buyFlag == 'Y'.toString()">
|
|
|
+ AND id IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT package_id
|
|
|
+ FROM
|
|
|
+ user_order
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND status_flag = 1
|
|
|
+ AND user_id = #{record.userId}
|
|
|
+ )
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+
|
|
|
+ AND id NOT IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT package_id
|
|
|
+ FROM
|
|
|
+ user_order
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND status_flag = 1
|
|
|
+ AND user_id = #{record.userId}
|
|
|
+ )
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ )
|
|
|
+
|
|
|
+ <if test="record.distance != null and !"".equals(record.distance)">
|
|
|
+
|
|
|
+ <![CDATA[
|
|
|
+ AND ( ACOS(
|
|
|
+ SIN((#{record.latKey} * PI()) / 180) * SIN((latitude * PI()) / 180) +
|
|
|
+ COS((#{record.latKey} * PI()) / 180) * COS((latitude * PI()) / 180) * COS(
|
|
|
+ (#{record.lngKey} * PI()) / 180 - (longitude * PI()) / 180
|
|
|
+ )
|
|
|
+ ) * 6371.004 ) <= #{record.distance}
|
|
|
+ AND longitude > #{record.lngKey} - 3
|
|
|
+ AND longitude < #{record.lngKey} + 3
|
|
|
+ AND latitude > #{record.latKey} - 3
|
|
|
+ AND latitude < #{record.latKey} + 3
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+
|
|
|
+
|
|
|
+ </where>
|
|
|
+ order by
|
|
|
+
|
|
|
+ <if test="record.orderByStr != null and !"".equals(record.orderByStr)">
|
|
|
+
|
|
|
+
|
|
|
+ <trim suffixOverrides=",">
|
|
|
+ <foreach item="item" index="index" separator="," collection="record.orderByStr.split('_;')">
|
|
|
+ <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
|
|
|
+ ${itemDetail}
|
|
|
+ </foreach>
|
|
|
+ </foreach>
|
|
|
+ </trim>
|
|
|
+ ,
|
|
|
+ </if>
|
|
|
+ id desc
|
|
|
+
|
|
|
+ </select>
|
|
|
+ <select id="getNavigationPackageAll" parameterType="java.util.Map"
|
|
|
+ resultMap="NavigationPackageResultMap">
|
|
|
+ select
|
|
|
+ <include refid="no_map_Column_List"/>,
|
|
|
+ #{buyFlag} as buy_flag, #{userId} as user_id
|
|
|
+ from land_mark
|
|
|
+ <where>
|
|
|
+ and del_flag = 'N'
|
|
|
+
|
|
|
+ and id IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT land_mark_id
|
|
|
+ FROM
|
|
|
+ navigation_package
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND shelf_flag = 'Y'
|
|
|
+
|
|
|
+ <if test="buyFlag != null and !"".equals(buyFlag)">
|
|
|
+ <choose>
|
|
|
+ <when test="buyFlag == 'Y'.toString()">
|
|
|
+ AND id IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT package_id
|
|
|
+ FROM
|
|
|
+ user_order
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND status_flag = 1
|
|
|
+ AND user_id = #{userId}
|
|
|
+ )
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+
|
|
|
+ AND id NOT IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT package_id
|
|
|
+ FROM
|
|
|
+ user_order
|
|
|
+ WHERE
|
|
|
+ del_flag = 'N'
|
|
|
+ AND status_flag = 1
|
|
|
+ AND user_id = #{userId}
|
|
|
+ )
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ )
|
|
|
+
|
|
|
+ <if test="distance != null and !"".equals(distance)">
|
|
|
+
|
|
|
+ <![CDATA[
|
|
|
+ AND ( ACOS(
|
|
|
+ SIN((#{latKey} * PI()) / 180) * SIN((latitude * PI()) / 180) +
|
|
|
+ COS((#{latKey} * PI()) / 180) * COS((latitude * PI()) / 180) * COS(
|
|
|
+ (#{lngKey} * PI()) / 180 - (longitude * PI()) / 180
|
|
|
+ )
|
|
|
+ ) * 6371.004 ) <= #{distance}
|
|
|
+ AND longitude > #{lngKey} - 3
|
|
|
+ AND longitude < #{lngKey} + 3
|
|
|
+ AND latitude > #{latKey} - 3
|
|
|
+ AND latitude < #{latKey} + 3
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+
|
|
|
+
|
|
|
+ </where>
|
|
|
+ order by
|
|
|
+
|
|
|
+ <if test="orderByStr != null and !"".equals(orderByStr)">
|
|
|
+
|
|
|
+
|
|
|
+ <trim suffixOverrides=",">
|
|
|
+ <foreach item="item" index="index" separator="," collection="orderByStr.split('_;')">
|
|
|
+ <foreach item="itemDetail" index="detailIndex" collection="item.split('_,')">
|
|
|
+ ${itemDetail}
|
|
|
+ </foreach>
|
|
|
+ </foreach>
|
|
|
+ </trim>
|
|
|
+ ,
|
|
|
+ </if>
|
|
|
+ id desc
|
|
|
+
|
|
|
+ </select>
|
|
|
<select id="queryLandMarkByPage" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.LandMark">
|
|
|
select
|
|
|
<include refid="Base_Column_List"/>
|
|
|
@@ -2164,5 +2334,14 @@
|
|
|
</collection>
|
|
|
</resultMap>
|
|
|
|
|
|
+ <resultMap id="NavigationPackageResultMap" type="com.izouma.awesomeadmin.model.LandMark" extends="BaseResultMap">
|
|
|
+
|
|
|
+
|
|
|
+ <collection property="navigationPackageList" ofType="com.izouma.awesomeadmin.model.NavigationPackage"
|
|
|
+ select="com.izouma.awesomeadmin.dao.NavigationPackageMapper.queryAllNavigationPackageForLankMark"
|
|
|
+ column="{landMarkId = id, buyFlag=buy_flag, userId = user_id}">
|
|
|
+ </collection>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
</mapper>
|
|
|
|