大唐会议项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

130 lines
3.6 KiB

<?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.datangMeeting.system.persist.dao.DmsMeetingDao">
<select id="list" resultType="com.datangMeeting.system.domain.vo.DmsMeetingVo$DmsMeetingResultVo">
SELECT
m.id,
m.title,
m.time,
m.place,
m.create_time as createTime,
m.create_by as createBy
FROM
dms_meeting m
left join
dms_meeting_user u
on
m.id = u.meeting_id
WHERE
m.del_flag = 0
AND time &gt; #{today}
<if test="userId != 1">
and u.username = #{username}
</if>
<if test="title != null and title != ''">
AND title LIKE CONCAT('%', #{title}, '%')
</if>
group by m.id
order by
m.time
</select>
<select id="adminList" resultType="com.datangMeeting.system.domain.vo.DmsMeetingVo$DmsMeetingResultVo">
SELECT
m.id,
m.title,
m.time,
m.place,
m.create_time as createTime,
m.create_by as createBy
FROM
dms_meeting m
left join
dms_meeting_user u
on
m.id = u.meeting_id
WHERE
m.del_flag = 0
<if test="userId != 1">
and u.username = #{username}
</if>
<if test="title != null and title != ''">
AND title LIKE CONCAT('%', #{title}, '%')
</if>
order by
m.time
</select>
<select id="details" resultType="com.datangMeeting.system.domain.vo.DmsMeetingVo$DmsMeetingDetail$DmsMeetingInfoVo">
WITH RECURSIVE cte AS (
SELECT
id,
meeting_id as meetingId,
parent_id as parentId,
type,
title,
richtext,
file_pdf_name as filePdfName,
file_pdf_url as filePdfUrl,
CAST(id AS CHAR(200)) AS path,
1 AS level
FROM dms_meeting_info
WHERE parent_id = 0
UNION ALL
SELECT
t.id,
t.meeting_id as meetingId,
t.parent_id as parentId,
t.type,
t.title,
t.richtext,
t.file_pdf_name as filePdfName,
t.file_pdf_url as filePdfUrl,
CONCAT(cte.path, ',', t.id),
cte.level + 1
FROM dms_meeting_info t
INNER JOIN cte ON t.parent_id = cte.id
)
SELECT
id,
meetingId,
parentId,
type,
title,
richtext,
filePdfName,
filePdfUrl,
level
FROM cte
<where>
<if test="meetingId != null">
meetingId = #{meetingId}
</if>
</where>
ORDER BY path;
</select>
<select id="queryInfo" resultType="com.datangMeeting.system.domain.vo.DmsMeetingVo$DmsMeetingDetail$DmsMeetingInfoVo">
SELECT
id,
meeting_id as meetingId,
parent_id as parentId,
type,
title,
richtext,
file_pdf_name as filePdfName,
file_pdf_url as filePdfUrl
from
dms_meeting_info
<where>
del_flag = 0
<if test="meetingId != null">
and meeting_id = #{meetingId}
</if>
</where>
</select>
</mapper>