Merge branch 'feature/noticews'

This commit is contained in:
Theo
2024-09-24 15:33:21 +08:00
44 changed files with 1831 additions and 92 deletions

View File

@@ -0,0 +1,63 @@
<?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.youlai.boot.system.mapper.NoticeMapper">
<!-- 获取通知公告分页列表 -->
<select id="getNoticePage" resultType="com.youlai.boot.system.model.bo.NoticeBO">
SELECT
sn.id,
sn.title,
sn.notice_type,
su.nickname AS release_by,
sn.priority,
sn.tar_type,
sn.release_status,
sn.release_time,
sn.recall_time
FROM
sys_notice sn
LEFT JOIN
sys_user su ON su.id = sn.release_by
where
sn.is_deleted = 0
<if test="queryParams.title != null and queryParams.title != ''">
AND sn.title LIKE CONCAT('%',#{queryParams.title},'%')
</if>
<if test="queryParams.releaseStatus != null">
AND sn.release_status = #{queryParams.releaseStatus}
</if>
<if test="queryParams.releaseTime != null">
<if test="queryParams.releaseTime[0] != null and queryParams.releaseTime[0] != ''">
<bind name="startDate" value="queryParams.releaseTime[0].length() == 10 ? queryParams.releaseTime[0] + ' 00:00:00' : queryParams.releaseTime[0]"/>
AND sn.release_time &gt;= #{startDate}
</if>
<if test="queryParams.releaseTime[1] != null and queryParams.releaseTime[1] != ''">
<bind name="endDate" value="queryParams.releaseTime[1].length() == 10 ? queryParams.releaseTime[1] + ' 23:59:59' : queryParams.releaseTime[1]"/>
AND sn.release_time &lt;= #{endDate}
</if>
</if>
ORDER BY
id
DESC
</select>
<select id="getReadNoticeVO" resultType="com.youlai.boot.system.model.vo.NoticeDetailVO">
SELECT
sn.id,
sn.title,
sn.content,
sn.notice_type,
su.nickname AS release_by,
sn.priority,
sn.release_status,
sn.release_time
FROM
sys_notice sn
LEFT JOIN
sys_user su ON su.id = sn.release_by
where
sn.is_deleted = 0
AND sn.id = #{id}
</select>
</mapper>

View File

@@ -0,0 +1,49 @@
<?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.youlai.boot.system.mapper.NoticeStatusMapper">
<select id="listUnreadNotices" resultType="com.youlai.boot.system.model.vo.NoticeStatusVO">
SELECT
sn.id,
sn.title,
sns.read_status
FROM
sys_notice_status sns
LEFT JOIN
sys_notice sn
ON
sn.id = sns.notice_id
WHERE
user_id = #{userId}
AND sns.read_status = 0
ORDER BY
sn.release_time DESC
</select>
<select id="getMyNoticePage" resultType="com.youlai.boot.system.model.vo.NoticeStatusVO">
SELECT
sn.id,
sn.title,
sn.notice_type,
sn.release_by,
sn.priority,
sn.release_time,
sns.read_status
FROM
sys_notice sn
LEFT JOIN
sys_notice_status sns
ON
sn.id = sns.notice_id
<where>
<if test="queryParams.userId != null">
sns.user_id = #{queryParams.userId}
</if>
<if test="queryParams.title != null and queryParams.title != ''">
AND sn.title LIKE CONCAT('%',#{queryParams.title},'%')
</if>
</where>
ORDER BY
sn.release_time DESC
</select>
</mapper>

View File

@@ -122,7 +122,8 @@
key="$fieldConfig.fieldName"
label="$fieldConfig.fieldComment"
prop="$fieldConfig.fieldName"
min-width="100"
min-width="150"
align="center"
/>
#end
#end