Files
pinpoint/web/src/main/resources/mapper/UserGroupMapper.xml
T

103 lines
3.2 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="com.navercorp.pinpoint.web.dao.UserGroupDao">
<insert id="insertUserGroup" parameterType="UserGroup" useGeneratedKeys="true" keyProperty="number">
INSERT INTO user_group (id)
VALUES (#{id})
</insert>
<select id="selectUserGroupList" resultType="UserGroup">
SELECT *
FROM user_group
</select>
<select id="selectUserGroupListByUserId" resultType="UserGroup">
SELECT *
FROM user_group
WHERE id IN ( SELECT DISTINCT(user_group_id)
FROM user_group_member
WHERE member_id = #{userId}
)
</select>
<select id="selectUserGroupByUserGroupId" parameterType="String" resultType="UserGroup">
SELECT *
FROM user_group
WHERE id LIKE CONCAT('%', #{userGroupId}, '%')
</select>
<delete id="deleteUserGroup" parameterType="UserGroup">
DELETE
FROM user_group
WHERE id = #{id}
</delete>
<update id="updateUserGroup" parameterType="UserGroup">
UPDATE user_group
SET id = #{id}
WHERE number = #{number}
</update>
<insert id="insertMember" parameterType="UserGroupMember">
INSERT INTO user_group_member(user_group_id, member_id)
VALUES (#{userGroupId}, #{memberId})
</insert>
<delete id="deleteMember" parameterType="UserGroupMember">
DELETE
FROM user_group_member
WHERE user_group_id = #{userGroupId} AND member_id = #{memberId}
</delete>
<delete id="deleteMemberByUserGroupId">
DELETE
FROM user_group_member
WHERE user_group_id = #{userGroupId}
</delete>
<select id="selectMemberList" resultType="UserGroupMember">
SELECT a.user_group_id, a.member_id, b.name, b.department
FROM user_group_member a
INNER JOIN puser b ON a.member_id = b.user_id
WHERE a.user_group_id = #{userGroupId}
</select>
<update id="updateMember" parameterType="UserGroupMember">
UPDATE user_group_member
SET user_group_id = #{userGroupId} , member_id = #{memberId}
WHERE number = #{number}
</update>
<update id="updateUserGroupIdOfMember" parameterType="UserGroup">
UPDATE user_group_member
SET user_group_id = #{id}
WHERE user_group_id = (SELECT id FROM user_group WHERE number = #{number})
</update>
<select id="selectPhoneNumberOfMember" resultType="String" parameterType="String">
SELECT phoneNumber
FROM puser
WHERE user_id IN (
SELECT member_id
FROM user_group_member
WHERE user_group_id = #{userGroupId}
)
</select>
<select id="selectEmailOfMember" resultType="String" parameterType="String">
SELECT email
FROM puser
WHERE user_id IN (
SELECT member_id
FROM user_group_member
WHERE user_group_id = #{userGroupId}
)
</select>
</mapper>