RoomMemberDao.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.ym.dao;
  2. import com.ym.pojo.RoomMember;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.data.jpa.repository.Lock;
  5. import org.springframework.data.jpa.repository.Modifying;
  6. import org.springframework.data.jpa.repository.Query;
  7. import org.springframework.stereotype.Repository;
  8. import javax.persistence.LockModeType;
  9. import java.util.List;
  10. /**
  11. * Created by weiqinxiao on 2019/2/25.
  12. */
  13. @Repository
  14. public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
  15. List<RoomMember> findByRid(String rid);
  16. @Lock(value = LockModeType.PESSIMISTIC_WRITE)
  17. RoomMember findByRidAndUid(String rid, String uid);
  18. List<RoomMember> findByRidAndRole(String rid, int role);
  19. List<RoomMember> findByUid(String uid);
  20. @Modifying
  21. int deleteByRid(String roomId);
  22. @Query(value = "select count(*) from rongyun_room_member where rid=?1", nativeQuery = true)
  23. int countByRid(String roomId);
  24. @Query(value = "select count(*) from rongyun_room_member where rid=?1 and role!=?2", nativeQuery = true)
  25. int countByRidAndExcludeRole(String roomId, int excludeRole);
  26. @Modifying
  27. @Query(value = "delete from rongyun_room_member where rid=?1 and uid=?2", nativeQuery = true)
  28. int deleteUserByRidAndUid(String rid, String uid);
  29. @Modifying
  30. @Query(value = "update rongyun_room_member set role=?3 where rid=?1 and uid=?2", nativeQuery = true)
  31. int updateRoleByRidAndUid(String rid, String uid, int role);
  32. @Modifying
  33. @Query(value = "update rongyun_room_member set camera=?3 where rid=?1 and uid=?2", nativeQuery = true)
  34. int updateCameraByRidAndUid(String rid, String uid, boolean camera);
  35. @Modifying
  36. @Query(value = "update rongyun_room_member set mic=?3 where rid=?1 and uid=?2", nativeQuery = true)
  37. int updateMicByRidAndUid(String rid, String uid, boolean mic);
  38. @Modifying
  39. @Query(value = "update rongyun_room_member set hand=?3 where rid=?1 and uid=?2", nativeQuery = true)
  40. int updateHandByRidAndUid(String rid, String uid, boolean hand);
  41. @Modifying
  42. @Query(value = "update rongyun_room_member set music_mode=?3 where rid=?1 and uid=?2", nativeQuery = true)
  43. int updateMusicByRidAndUid(String rid, String uid, boolean musicMode);
  44. boolean existsByRidAndUid(String rid, String uid);
  45. @Modifying
  46. @Query(value = "update rongyun_room_member set camera=?3 where rid=?1 and role=?2", nativeQuery = true)
  47. void updateCameraByRidAndRole(String roomId, int role, boolean enable);
  48. @Modifying
  49. @Query(value = "update rongyun_room_member set mic=?3 where rid=?1 and role=?2", nativeQuery = true)
  50. void updateMicByRidAndRole(String roomId, int role, boolean enable);
  51. @Modifying
  52. @Query(value = "update rongyun_room_member set music_mode=?3 where rid=?1 and role=?2", nativeQuery = true)
  53. void updateMusicByRidAndRole(String roomId, int role, boolean enable);
  54. @Modifying
  55. @Query(value = "update rongyun_room_member set hand=?3 where rid=?1 and role=?2", nativeQuery = true)
  56. void updateHandByRidAndRole(String roomId, int role, boolean enable);
  57. }