package jnpf.model.cultivate.dto.course;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import jnpf.model.cultivate.po.course.FtbCultivateCourseSetting;
import lombok.Data;

/**
 * FTB培养课程设置DTO
 *
 * @author wangchunxiang
 * @date 2024/06/11
 */
@Data
public class FtbCultivateCourseSettingDTO {
    /**
     * 课程水印，0不开启，1开启
     */
    private Integer waterMark;

    /**
     * 开启截屏，0不开启，1开启
     */
    private Integer screenshot;

    /**
     * 复制粘贴，0不开启，1开启
     */
    private Integer paste;

    /**
     * 页面无交互强制退出学习时间，单位秒
     */
    private Integer forcedStudy;

    /**
     * 切屏次数强制退出学习
     */
    private Integer screenTimes;

    public <T extends FtbCultivateCourseSettingDTO> FtbCultivateCourseSetting convertFtbCultivateCourseSetting(T ftbCultivateCourseSettingDTO) {
        if (ftbCultivateCourseSettingDTO == null) {
            return null;
        }
        FtbCultivateCourseSetting ftbCultivateCourseSetting = new FtbCultivateCourseSetting();
        ftbCultivateCourseSetting.setWaterMark(ftbCultivateCourseSettingDTO.getWaterMark());
        ftbCultivateCourseSetting.setScreenshot(ftbCultivateCourseSettingDTO.getScreenshot());
        ftbCultivateCourseSetting.setPaste(ftbCultivateCourseSettingDTO.getPaste());
        ftbCultivateCourseSetting.setForcedStudy(ftbCultivateCourseSettingDTO.getForcedStudy());
        ftbCultivateCourseSetting.setScreenTimes(ftbCultivateCourseSettingDTO.getScreenTimes());
        return ftbCultivateCourseSetting;
    }

    public <T extends FtbCultivateCourseSettingDTO> LambdaUpdateWrapper<FtbCultivateCourseSetting> updateFtbCultivateCourseSetting(T ftbCultivateCourseSettingDTO) {
        if (ftbCultivateCourseSettingDTO == null) {
            return null;
        }
        LambdaUpdateWrapper<FtbCultivateCourseSetting> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.set(FtbCultivateCourseSetting::getWaterMark, ftbCultivateCourseSettingDTO.getWaterMark());
        updateWrapper.set(FtbCultivateCourseSetting::getScreenshot, ftbCultivateCourseSettingDTO.getScreenshot());
        updateWrapper.set(FtbCultivateCourseSetting::getPaste, ftbCultivateCourseSettingDTO.getPaste());
        updateWrapper.set(FtbCultivateCourseSetting::getForcedStudy, ftbCultivateCourseSettingDTO.getForcedStudy());
        updateWrapper.set(FtbCultivateCourseSetting::getScreenTimes, ftbCultivateCourseSettingDTO.getScreenTimes());
        return updateWrapper;
    }

    public static void convertFtbCultivateCourseSetting(
            FtbCultivateCourseSettingDTO ftbCultivateCourseSettingDTO, FtbCultivateCourseSetting ftbCultivateCourseSetting) {
        if (ftbCultivateCourseSetting == null) {
            ftbCultivateCourseSettingDTO.setWaterMark(0);
            ftbCultivateCourseSettingDTO.setScreenshot(0);
            ftbCultivateCourseSettingDTO.setPaste(0);
            ftbCultivateCourseSettingDTO.setForcedStudy(0);
            ftbCultivateCourseSettingDTO.setScreenTimes(0);
            return;
        }
        ftbCultivateCourseSettingDTO.setWaterMark(ftbCultivateCourseSetting.getWaterMark());
        ftbCultivateCourseSettingDTO.setScreenshot(ftbCultivateCourseSetting.getScreenshot());
        ftbCultivateCourseSettingDTO.setPaste(ftbCultivateCourseSetting.getPaste());
        ftbCultivateCourseSettingDTO.setForcedStudy(ftbCultivateCourseSetting.getForcedStudy());
        ftbCultivateCourseSettingDTO.setScreenTimes(ftbCultivateCourseSetting.getScreenTimes());
    }
}
