package com.ruoyi.service.impl;

import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.service.StrategyReviewSceneChange;
import com.ruoyi.service.ReviewSceneService;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Transactional
@Service
public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChange, InitializingBean {

    @Autowired
    private StrategyReviewSceneChangeContext strategyReviewSceneChangeContext;
    @Autowired
    private ApplicationContext applicationContext;

    @Autowired
    private ReviewSceneService reviewSceneService;

    @Override
    public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) {
        reviewSceneService.removeById(reviewSceneChangeTask.getReviewSceneId());
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        strategyReviewSceneChangeContext.putResource(ReviewSceneChangeTask.OPERATION_DELETE, applicationContext.getBean(this.getClass()));
    }
}