package jnpf.model.cultivate.dto.offline;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jnpf.model.cultivate.po.offline.FtbCultivateOfflineTrain;
import lombok.Data;

import javax.validation.constraints.NotBlank;


/**
 * 线下培训入参
 *
 * @author fantaibao
 * @date 2023/12/17
 */
@Data
public class FtbCultivateOfflineTrainChangeDTO extends FtbCultivateOfflineTrainDTO {
    /**
     * 线下培训主键
     */
    @NotBlank(message = "主键不能为空")
    private String id;


    public static LambdaUpdateWrapper<FtbCultivateOfflineTrain> convert(FtbCultivateOfflineTrainChangeDTO ftbCultivateOfflineTrainChangeDTO) {
        LambdaUpdateWrapper<FtbCultivateOfflineTrain> updateWrapper = Wrappers.lambdaUpdate();
        updateWrapper.eq(FtbCultivateOfflineTrain::getId, ftbCultivateOfflineTrainChangeDTO.getId());
        updateWrapper.set(FtbCultivateOfflineTrain::getHeadUserId, ftbCultivateOfflineTrainChangeDTO.getHeadUserId());
        updateWrapper.set(FtbCultivateOfflineTrain::getName, ftbCultivateOfflineTrainChangeDTO.getName());
        updateWrapper.set(FtbCultivateOfflineTrain::getOfflinePlace, ftbCultivateOfflineTrainChangeDTO.getOfflinePlace());
        updateWrapper.set(FtbCultivateOfflineTrain::getSignWay, ftbCultivateOfflineTrainChangeDTO.getSignWay());
        updateWrapper.set(FtbCultivateOfflineTrain::getTrainContent, ftbCultivateOfflineTrainChangeDTO.getTrainContent());
        updateWrapper.set(FtbCultivateOfflineTrain::getTrainEndTime, ftbCultivateOfflineTrainChangeDTO.getTrainEndTime());
        updateWrapper.set(FtbCultivateOfflineTrain::getTrainStartTime, ftbCultivateOfflineTrainChangeDTO.getTrainStartTime());
        updateWrapper.set(FtbCultivateOfflineTrain::getUserId, ftbCultivateOfflineTrainChangeDTO.getUserId());
        updateWrapper.set(FtbCultivateOfflineTrain::getParticipants, String.join(",", ftbCultivateOfflineTrainChangeDTO.getUserIds()));
        updateWrapper.set(FtbCultivateOfflineTrain::getState, 0);
        return updateWrapper;
    }

}