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.
 
 

64 lines
2.0 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.ccsens.tall.persist.dao.ProMemberRoleDao">
<insert id="insertBatch" parameterType="List">
insert into t_pro_member_role (id, member_id, role_id,
created_at, updated_at, rec_status
) values
<foreach collection="list" item="item" separator=",">
(#{item.id,jdbcType=BIGINT}, #{item.memberId,jdbcType=BIGINT}, #{item.roleId,jdbcType=BIGINT}, now(), now(), 0)
</foreach>
</insert>
<select id="selectUserIdByRoleId" parameterType="java.util.Map" resultType="Long">
SELECT
m.user_id
FROM
t_pro_member m LEFT JOIN t_pro_member_role mr on m.id = mr.member_id
LEFT JOIN t_pro_role r on mr.role_id = r.id
where
r.id = #{roleId}
and m.rec_status = 0
and r.rec_status = 0
</select>
<select id="selectUserIdByProjectId" parameterType="java.util.Map" resultType="Long">
select
m.user_id,
m.nickname
from
t_pro_member m LEFT JOIN t_pro_member_role mr on m.id = mr.member_id
LEFT JOIN t_pro_role r on mr.role_id = r.id
WHERE
m.project_id = #{projectId}
and
r.name != 'MoneyStakeholder'
and m.rec_status = 0
and r.rec_status = 0
and m.user_id != 0
GROUP BY m.user_id
</select>
<select id="selectMemberRoleShow" resultType="com.ccsens.tall.bean.po.ProMemberRole">
SELECT
r.id AS roleId
FROM
t_pro_role AS r
LEFT JOIN t_pro_member_role AS mr ON mr.role_id = r.id
AND mr.rec_status = 0
WHERE
mr.member_id = #{memberId}
AND (
SELECT
NAME
FROM
t_pro_role pr
WHERE
r.parent_id = pr.id
AND rec_status = 0
) NOT IN ('MoneyStakeholder','God','ManageRepresent','Stakeholder')
AND r.rec_status = 0
</select>
</mapper>