Files
platform/ruoyi-system/src/main/resources/mapper/wgz/WgzMessageMapper.xml

174 lines
7.2 KiB
XML
Raw Normal View History

2025-02-24 10:18:11 +08:00
<?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.ruoyi.wgz.mapper.WgzMessageMapper">
<resultMap type="com.ruoyi.wgz.domain.WgzMessage" id="WgzMessageResult">
<result property="id" column="id"/>
<result property="senderType" column="sender_type"/>
<result property="senderId" column="sender_id"/>
<result property="recipientType" column="recipient_type"/>
<result property="recipientId" column="recipient_id"/>
<result property="headline" column="headline"/>
<result property="subheading" column="subheading"/>
<result property="tableId" column="table_id"/>
<result property="tableName" column="table_name"/>
<result property="messageLargeType" column="message_large_type"/>
<result property="messageSmallType" column="message_small_type"/>
<result property="readStatus" column="read_status"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
</resultMap>
2025-02-24 19:12:16 +08:00
<!-- 消息类型统计(先分组再统计) -->
<select id="userGetMessageList" resultType="com.ruoyi.wgz.bo.res.WgzAppGetMessageListRes">
2025-02-24 19:12:16 +08:00
SELECT
a.id,
a.headline,
a.subheading,
a.table_id as tableId,
a.table_name as tableName,
a.read_status as readStatus,
2025-02-28 11:29:32 +08:00
a.create_time as createTime,
a.message_large_type as messageLargeType,
a.message_small_type as messageSmallType,
a.is_operation as isOperation
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 0">
,c.recruit_name as recruitName
,c.id as recruitId
</if>
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 1">
,d.id as jsId
,d.recruit_name as jsName
</if>
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 2 and req.smallType == 0">
,e.id as otherId
,e.now_time as otherFillingTime
,e.reason as otherReason
,f.username as otherApplicant
,e.create_time as otherApplicationDate
</if>
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 2 and req.smallType == 3">
,g.id as qjID
,g.start_time as qjStartingTime
,g.end_time as qjEndTime
,g.reason as qjReason
,h.username as qjName
,g.create_time as qjLeaveTime
</if>
2025-02-24 19:12:16 +08:00
FROM
wgz_message as a
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 0">
LEFT JOIN bgt_project_recruit_apply as b ON b.id = a.table_id
LEFT JOIN bgt_project_recruit as c ON c.id = b.recruit_id
</if>
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 1">
LEFT JOIN wgz_pay_calculation as d ON d.id = a.table_id
</if>
2025-02-28 11:29:32 +08:00
<if test="req.largeType == 2 and req.smallType == 0">
LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
LEFT JOIN wgz_user as f ON f.id = e.user_id
</if>
2025-02-28 11:29:32 +08:00
<!-- <if test="req.largeType == 2 and req.smallType == '1'">-->
<!-- LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id-->
<!-- LEFT JOIN wgz_user as f ON f.id = e.user_id-->
<!-- </if>-->
<!-- <if test="req.largeType == 2 and req.smallType == '2'">-->
<!-- LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id-->
<!-- LEFT JOIN wgz_user as f ON f.id = e.user_id-->
<!-- </if>-->
<if test="req.largeType == 2 and req.smallType == 3">
LEFT JOIN wgz_leave as g ON g.id = a.table_id
LEFT JOIN wgz_user as h ON h.id = g.user_id
2025-02-27 10:03:24 +08:00
</if>
2025-02-28 11:29:32 +08:00
<!-- <if test="req.largeType == 2">-->
<!-- LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id-->
<!-- LEFT JOIN wgz_user as f ON f.id = e.user_id-->
<!-- </if>-->
<where>
a.recipient_type = "1" AND
2025-02-27 16:58:57 +08:00
a.recipient_id = #{req.recipientId} AND
a.del_flag = "0"
2025-02-28 11:29:32 +08:00
<if test="req.largeType !=null and req.largeType!=''">
AND a.message_large_type = #{req.largeType}
</if>
2025-02-28 11:29:32 +08:00
<if test="req.smallType !=null and req.smallType!=''">
AND a.message_small_type = #{req.smallType}
</if>
2025-03-21 15:03:49 +08:00
<if test="req.rq!=null">
2025-03-21 15:39:46 +08:00
and DATE_FORMAT(a.create_time, '%Y-%m-%d') = #{req.rq}
2025-03-21 15:03:49 +08:00
</if>
</where>
order by a.create_time desc
2025-02-24 19:12:16 +08:00
</select>
2025-02-24 10:18:11 +08:00
2025-02-25 17:59:04 +08:00
2025-02-28 11:29:32 +08:00
<select id="pagingQueryTheMessageList" resultType="com.ruoyi.wgz.bo.res.WgzAppGetMessageListRes">
SELECT
a.id,
a.headline,
a.subheading,
a.table_id as tableId,
a.table_name as tableName,
a.read_status as readStatus,
a.create_time as createTime,
a.message_large_type as messageLargeType,
a.message_small_type as messageSmallType,
a.is_operation as isOperation
2025-02-28 11:29:32 +08:00
FROM
wgz_message as a
<where>
a.recipient_type = "1" AND
a.recipient_id = #{req.recipientId} AND
<if test="req.largeType !=null and req.largeType!='2'">
a.message_large_type = '2' AND
</if>
<if test="req.largeType !=null and req.largeType!='3'">
a.is_operation = '1' AND
</if>
2025-03-21 15:03:49 +08:00
<if test="req.rq!=null">
DATE_FORMAT(a.create_time, '%Y-%m-%d') = #{req.rq} and
</if>
2025-02-28 11:29:32 +08:00
a.message_small_type is null AND
a.del_flag = "0"
</where>
order by a.create_time desc
2025-02-28 11:29:32 +08:00
</select>
2025-02-25 17:59:04 +08:00
<select id="findByRecruitIdData" resultType="com.ruoyi.wgz.bo.res.WgzAppRegistrationInformationRes">
SELECT
a.id as recruitApplyId,
a.entry_time as entryTime,
2025-03-10 11:45:45 +08:00
a.status as status,
2025-02-25 17:59:04 +08:00
b.id as recruitId,
b.create_time as createTime,
b.recruit_name as recruitName,
b.recruit_amount as recruitAmount,
b.recruit_staff_num as recruitStaffNum,
b.sub_describe as subDescribe,
b.recruit_begin_time as recruitBeginTime,
b.recruit_end_time as recruitEndTime,
2025-02-25 17:59:04 +08:00
b.recruit_work_begin_time as recruitWorkBeginTime,
b.recruit_contact_person as recruitContactPerson,
b.recruit_contact_phone as recruitContactPhone,
b.remark,
c.task_name as taskName,
c.task_address as taskAddress,
c.task_img as taskImg
FROM
bgt_project_recruit_apply as a
LEFT JOIN bgt_project_recruit as b on(a.recruit_id = b.id and b.del_flag = 0 )
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
WHERE
a.id = #{recruitId} AND
a.del_flag = 0
</select>
2025-02-24 19:12:16 +08:00
</mapper>