localhost-back/src/main/resources/mapper/PromemberMapper.xml
2025-03-13 12:13:31 +09:00

55 lines
2.0 KiB
XML

<?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="io.company.localhost.mapper.PromemberMapper">
<!-- 프로젝트 등록 후 모든 사용자 자동 참여 -->
<insert id="insertProjectMember">
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)
SELECT #{projctSeq}, MEMBERSEQ, '1' FROM netmember;
</insert>
<!-- 새로 가입한 회원 모든 프로젝트 멤버에 미참여 상태로 추가 -->
<insert id="insertNewMemberToProjects">
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)
SELECT PROJCTSEQ, #{memberSeq}, '0' FROM netprojct;
</insert>
<!-- 프로젝트 참여 미참여 -->
<update id="updateProjectMember">
UPDATE promember
SET PROJCTYON = #{projctYon}
WHERE PROJCTSEQ = #{projctSeq}
AND MEMBERSEQ = #{memberSeq}
</update>
<!-- 프로젝트 멤버 조회 -->
<select id="selectProjectMembers" resultType="io.company.localhost.common.dto.MapDto">
SELECT pm.PROJCTSEQ,
pm.MEMBERSEQ,
pm.PROJCTYON,
nm.MEMBERNAM,
nm.MEMBERPRF,
nm.MEMBERCOL as usercolor
FROM promember pm
JOIN netmember nm ON pm.MEMBERSEQ = nm.MEMBERSEQ
WHERE pm.PROJCTSEQ = #{projctSeq}
</select>
<!-- 사용자가 속한 프로젝트 조회 -->
<select id="selectMemberProjects" resultType="io.company.localhost.common.dto.MapDto">
SELECT p.PROJCTSEQ, p.PROJCTNAM, c.CMNCODNAM AS projctcolor
FROM promember pm
JOIN netprojct p ON pm.PROJCTSEQ = p.PROJCTSEQ
LEFT JOIN commoncod c ON p.PROJCTCOL = c.CMNCODVAL AND c.CMNCODYNP = '1'
WHERE pm.MEMBERSEQ = #{memberSeq}
AND pm.PROJCTYON = '1'
AND (p.PROJCTEND IS NULL OR p.PROJCTEND >= CURDATE())
ORDER BY p.PROJCTSTR DESC
</select>
<delete id="deletePromember" parameterType="int">
DELETE FROM promember WHERE PROJCTSEQ = #{projctSeq}
</delete>
</mapper>