feat: 移植工程
This commit is contained in:
138
home-service/src/main/resources/mapper/TravelMapper.xml
Normal file
138
home-service/src/main/resources/mapper/TravelMapper.xml
Normal file
@@ -0,0 +1,138 @@
|
||||
<?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.cxx.home.dao.TravelDao">
|
||||
<resultMap id="travelSpotResultMap" type="com.cxx.home.dto.travel.TravelSpotDto">
|
||||
<id property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="area" column="area"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="address" column="address"/>
|
||||
<result property="recommendRate" column="recommendRate"/>
|
||||
<result property="traffic" column="traffic"/>
|
||||
<result property="router" column="router"/>
|
||||
<result property="foods" column="foods"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<result property="projects" column="projects"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<collection property="recordList" ofType="com.cxx.home.dto.travel.TravelRecordDto"
|
||||
column="id" select="queryTravelRecordById">
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="travelSummaryResultMap" type="com.cxx.home.dto.travel.TravelSummaryDto">
|
||||
<id property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="area" column="area"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<result property="recommendRate" column="recommendRate"/>
|
||||
<collection property="recordList" ofType="com.cxx.home.dto.travel.TravelRecordDto"
|
||||
column="id" select="queryTravelRecordById">
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="travelRecordResultMap" type="com.cxx.home.dto.travel.TravelRecordDto">
|
||||
<id property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="area" column="area"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<result property="date" column="date"/>
|
||||
<result property="persons" column="persons"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||
<collection property="imageList" ofType="java.lang.String"
|
||||
column="id" select="queryRecordImage"/>
|
||||
<collection property="videoList" ofType="java.lang.String"
|
||||
column="id" select="queryRecordVideo"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryRecordImage" resultType="java.lang.String">
|
||||
SELECT image_url AS imageUrl
|
||||
FROM travel_image
|
||||
WHERE record_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="queryRecordVideo" resultType="java.lang.String">
|
||||
SELECT video_url AS videoUrl
|
||||
FROM travel_video
|
||||
WHERE record_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="queryTravelRecordById" resultMap="travelRecordResultMap">
|
||||
SELECT id AS id,
|
||||
date AS date,
|
||||
persons AS persons
|
||||
FROM travel_record
|
||||
WHERE travel_id = #{id}
|
||||
ORDER BY date DESC
|
||||
</select>
|
||||
|
||||
<select id="queryTravelRecord" resultMap="travelRecordResultMap">
|
||||
SELECT a.id AS id,
|
||||
b.name AS name,
|
||||
b.area AS area,
|
||||
a.date AS date,
|
||||
a.persons AS persons
|
||||
FROM travel_record AS a
|
||||
LEFT JOIN travel_spot AS b ON a.travel_id = b.id
|
||||
WHERE a.date <![CDATA[ >=]]> STR_TO_DATE(#{startDate}, '%Y-%m-%d')
|
||||
AND a.date <![CDATA[ <=]]> STR_TO_DATE(#{endDate}, '%Y-%m-%d')
|
||||
ORDER BY date DESC
|
||||
</select>
|
||||
|
||||
<select id="queryTravelSpot" resultMap="travelSpotResultMap">
|
||||
SELECT a.id AS id,
|
||||
a.name AS name,
|
||||
a.area AS area,
|
||||
a.address AS address,
|
||||
a.price AS price,
|
||||
a.recommend_rate AS recommendRate,
|
||||
a.traffic AS traffic,
|
||||
a.router AS router,
|
||||
a.foods AS foods,
|
||||
a.projects AS projects,
|
||||
a.remark AS remake
|
||||
FROM travel_spot a
|
||||
WHERE a.id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="queryTravelSummary" resultMap="travelSummaryResultMap">
|
||||
SELECT a.id AS id,
|
||||
a.name AS name,
|
||||
a.area AS area,
|
||||
a.recommend_rate AS recommendRate
|
||||
FROM travel_spot a
|
||||
<where>
|
||||
<if test="query.category != null and query.category != ''">
|
||||
a.city = #{query.category}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="queryTravelStats" resultType="com.cxx.home.dto.travel.TravelStatsDto">
|
||||
SELECT COUNT(DISTINCT a.name) AS spotCount,
|
||||
COUNT(DISTINCT a.area) AS cityCount,
|
||||
COUNT(b.id) AS recordCount
|
||||
FROM travel_spot a
|
||||
LEFT JOIN travel_record b ON a.id = b.travel_id
|
||||
</select>
|
||||
|
||||
<select id="queryTravelCategory" resultType="string">
|
||||
SELECT DISTINCT a.city AS city
|
||||
FROM travel_spot a
|
||||
</select>
|
||||
|
||||
<insert id="insertTravelImage">
|
||||
INSERT INTO travel_image (record_id, image_url) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{recordId}, #{item})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertTravelVideo">
|
||||
INSERT INTO travel_video (record_id, video_url) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{recordId}, #{item})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user