13404089107
2026-04-20 f4b6843a1b3990453d2aef6d87b5ac30723c5870
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/ActivityNoticeAppService.java
@@ -6,8 +6,10 @@
import com.tcm.training.admin.common.PageResponse;
import com.tcm.training.admin.system.dto.ActivityNoticeCreateRequest;
import com.tcm.training.admin.system.entity.ActivityNotice;
import com.tcm.training.admin.system.event.ActivityNoticeCreatedEvent;
import com.tcm.training.admin.system.mapper.ActivityNoticeMapper;
import com.tcm.training.admin.system.vo.ActivityNoticeListItemVO;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -18,9 +20,15 @@
public class ActivityNoticeAppService {
    private final ActivityNoticeMapper activityNoticeMapper;
    private final ActivityNoticeDispatchService activityNoticeDispatchService;
    private final ApplicationEventPublisher applicationEventPublisher;
    public ActivityNoticeAppService(ActivityNoticeMapper activityNoticeMapper) {
    public ActivityNoticeAppService(ActivityNoticeMapper activityNoticeMapper,
                                    ActivityNoticeDispatchService activityNoticeDispatchService,
                                    ApplicationEventPublisher applicationEventPublisher) {
        this.activityNoticeMapper = activityNoticeMapper;
        this.activityNoticeDispatchService = activityNoticeDispatchService;
        this.applicationEventPublisher = applicationEventPublisher;
    }
    public PageResponse<ActivityNoticeListItemVO> page(int page, int pageSize, String title) {
@@ -44,12 +52,14 @@
        item.setContentHtml(normalizeContent(request.getContentHtml()));
        item.setDeleted(0);
        activityNoticeMapper.insert(item);
        applicationEventPublisher.publishEvent(new ActivityNoticeCreatedEvent(item.getId()));
        return toListItem(requireItem(item.getId()));
    }
    @Transactional
    public void delete(Long id) {
        requireItem(id);
        activityNoticeDispatchService.hideDistributedRecords(id);
        activityNoticeMapper.deleteById(id);
    }