|
@@ -1811,23 +1811,23 @@
|
|
|
<result property="hasInstrument" column="has_instrument_"/>
|
|
|
</resultMap>
|
|
|
<select id="queryMusicStudentInstrument" resultMap="MusicStudentInstrumentDto">
|
|
|
- SELECT sr.user_id_,su.username_,su.avatar_,CASE WHEN si.id_ IS NULL THEN 0 ELSE 1 END has_instrument_ FROM student_registration sr
|
|
|
+ SELECT sr.user_id_,su.username_,su.avatar_,CASE WHEN spo.id_ IS NULL THEN 0 ELSE 1 END has_instrument_ FROM student_registration sr
|
|
|
LEFT JOIN student_instrument si ON sr.user_id_ = si.student_id_ AND si.del_flag_ = 0 AND si.end_time_ > NOW()
|
|
|
LEFT JOIN student_payment_order spo ON spo.id_ = si.order_id_ AND spo.music_group_id_ = sr.music_group_id_ AND spo.status_ = 'SUCCESS'
|
|
|
LEFT JOIN sys_user su ON su.id_ = sr.user_id_
|
|
|
- WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ = #{musicGroupId}
|
|
|
+ WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ = #{musicGroupId} AND (si.order_id_ IS NULL OR spo.id_ IS NOT NULL)
|
|
|
<if test="search != null and search != ''">
|
|
|
AND (sr.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
|
|
|
</if>
|
|
|
+ GROUP BY sr.user_id_
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
|
<select id="countMusicStudentInstrument" resultType="int">
|
|
|
- SELECT DISTINCT sr.user_id_ FROM student_registration sr
|
|
|
+ SELECT COUNT(DISTINCT sr.user_id_) FROM student_registration sr
|
|
|
LEFT JOIN sys_user su ON su.id_ = sr.user_id_
|
|
|
WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ = #{musicGroupId}
|
|
|
<if test="search != null and search != ''">
|
|
|
AND (sr.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
|
|
|
</if>
|
|
|
</select>
|
|
|
-
|
|
|
</mapper>
|