Skip to content

Commit ea2e334

Browse files
author
heavyrian2012
committed
删除会议时把收藏也给删除了
1 parent e71d65c commit ea2e334

3 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/main/java/cn/wildfirechat/app/conference/ConferenceCleanupService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import cn.wildfirechat.app.jpa.ConferenceEntity;
44
import cn.wildfirechat.app.jpa.ConferenceEntityRepository;
5+
import cn.wildfirechat.app.jpa.UserConferenceRepository;
56
import cn.wildfirechat.common.ErrorCode;
67
import cn.wildfirechat.sdk.ConferenceAdmin;
78
import cn.wildfirechat.sdk.model.IMResult;
@@ -24,6 +25,9 @@ public class ConferenceCleanupService {
2425
@Autowired
2526
private ConferenceServiceImpl conferenceServiceImpl;
2627

28+
@Autowired
29+
private UserConferenceRepository userConferenceRepository;
30+
2731
/**
2832
* 每5分钟检查一次过期会议,并调用SDK销毁
2933
*/
@@ -53,6 +57,10 @@ public void cleanupExpiredConferences() {
5357

5458
// 记录会议结束并更新使用量(使用计划的endTime作为实际结束时间)
5559
conferenceServiceImpl.endConferenceAndUpdateUsage(conference.id, conference.endTime);
60+
61+
// 删除该会议的所有收藏记录
62+
userConferenceRepository.deleteByConferenceId(conference.id);
63+
LOG.info("已删除会议的收藏记录: {}", conference.id);
5664

5765
// 从数据库删除会议记录
5866
conferenceEntityRepository.delete(conference);

src/main/java/cn/wildfirechat/app/conference/ConferenceServiceImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,10 @@ public RestResult destroyConference(String conferenceId) {
231231
long actualEndTime = System.currentTimeMillis() / 1000;
232232
// 记录会议结束,更新使用时长
233233
endConferenceAndUpdateUsage(conferenceId, actualEndTime);
234+
235+
// 删除该会议的所有收藏记录
236+
userConferenceRepository.deleteByConferenceId(conferenceId);
237+
LOG.info("已删除会议的收藏记录: conferenceId={}", conferenceId);
234238

235239
conferenceEntityRepository.deleteById(conferenceId);
236240
LOG.info("会议已从数据库删除: conferenceId={}", conferenceId);

src/main/java/cn/wildfirechat/app/jpa/UserConferenceRepository.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ public interface UserConferenceRepository extends PagingAndSortingRepository<Use
1717
@Query(value = "delete from user_conference where user_id = ?1 and conference_id = ?2", nativeQuery = true)
1818
void deleteByUserIdAndConferenceId(String userId, String conferenceId);
1919

20+
@Transactional
21+
@Modifying
22+
@Query(value = "delete from user_conference where conference_id = ?1", nativeQuery = true)
23+
void deleteByConferenceId(String conferenceId);
24+
2025
@Query(value = "select c.* from user_conference uc, conference c where uc.user_id = ?1 and uc.conference_id = c.id and (c.end_time = 0 or c.end_time > ?2) order by c.id desc", nativeQuery = true)
2126
List<ConferenceDTO> findByUserId(String userId, long now);
2227

0 commit comments

Comments
 (0)