package com.ruoyi.service.impl;

import com.ruoyi.domain.ReviewScene;
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 StrategyReviewSceneChangeUpdate implements StrategyReviewSceneChange, InitializingBean {

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


    @Autowired
    private ReviewSceneService reviewSceneService;
    @Override
    public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) {

        ReviewScene reviewScene = reviewSceneService.getById(reviewSceneChangeTask.getReviewSceneId());
        reviewScene.setText(reviewSceneChangeTask.getNewText());

        reviewSceneService.updateById(reviewScene);
    }

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