package com.srs.comprehensive.service.impl;

import java.util.List;

import com.srs.common.utils.DateUtils;
import com.srs.comprehensive.domain.*;
import com.srs.comprehensive.mapper.CphTeacherMapper;
import com.srs.comprehensive.mapper.QuestionnaireMapper;
import com.srs.comprehensive.mapper.SrsStuYearMapper;
import com.srs.comprehensive.service.IQuestionnaireAnswerService;
import com.srs.comprehensive.service.IQuestionnaireReleaseService;
import com.srs.comprehensive.service.IQuestionnaireService;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;


/**
 * 问卷调查Service业务层处理
 *
 * @author srs
 * @date 2024-05-18
 */
@Service
public class QuestionnaireServiceImpl extends ServiceImpl<QuestionnaireMapper, Questionnaire> implements IQuestionnaireService {
    @Autowired
    private QuestionnaireMapper questionnaireMapper;



    @Autowired
    private IQuestionnaireAnswerService answerService;


    @Autowired
    private SrsStuYearMapper srsStuYearMapper;

    @Autowired
    private CphTeacherMapper cphTeacherMapper;

    @Autowired
    private IQuestionnaireReleaseService releaseService;
    /**
     * 查询问卷调查
     *
     * @param id 问卷调查主键
     * @return 问卷调查
     */
    @Override
    public Questionnaire selectQuestionnaireById(Long id) {
        return questionnaireMapper.selectQuestionnaireById(id);
    }

    /**
     * 查询问卷调查列表
     *
     * @param questionnaire 问卷调查
     * @return 问卷调查
     */
    @Override
    public List<Questionnaire> selectQuestionnaireList(Questionnaire questionnaire) {
        return questionnaireMapper.selectQuestionnaireList(questionnaire);
    }

    /**
     * 新增问卷调查
     *
     * @param questionnaire 问卷调查
     * @return 结果
     */
    @Override
    public int insertQuestionnaire(Questionnaire questionnaire) {
                questionnaire.setCreateTime(DateUtils.getNowDate());
            return questionnaireMapper.insertQuestionnaire(questionnaire);
    }

    /**
     * 修改问卷调查
     *
     * @param questionnaire 问卷调查
     * @return 结果
     */
    @Override
    public int updateQuestionnaire(Questionnaire questionnaire) {
                questionnaire.setUpdateTime(DateUtils.getNowDate());
        return questionnaireMapper.updateQuestionnaire(questionnaire);
    }

    /**
     * 批量删除问卷调查
     *
     * @param ids 需要删除的问卷调查主键
     * @return 结果
     */
    @Override
    public int deleteQuestionnaireByIds(Long[] ids) {
        return questionnaireMapper.deleteQuestionnaireByIds(ids);
    }

    /**
     * 删除问卷调查信息
     *
     * @param id 问卷调查主键
     * @return 结果
     */
    @Override
    public int deleteQuestionnaireById(Long id) {
        return questionnaireMapper.deleteQuestionnaireById(id);
    }

    @Override
    public int saveAndRelease(Questionnaire questionnaire) {
//
//        questionnaireMapper.insertQuestionnaire(questionnaire);
//        // 1、构建问卷列表
//        List<Answer> saves = new ArrayList<>();
//        String[] stuNos = questionnaire.getStuNos();
//        for (String stuNo : stuNos) {
//            Answer answer = new Answer();
//            answer.setQuestions(questionnaire.getQuestions());
//            answer.setTitle(questionnaire.getTitle());
//            answer.setUserId( Long.parseLong(stuNo));
//            saves.add(answer);
//        }
//        //批量新增
//        int result = answerService.saveBatch(saves)?1:0;
//        return result;
        return 0;
    }
    public int release(Questionnaire questionnaire) {
//        //根据id 查询
//        Questionnaire queryResult= questionnaireMapper.selectQuestionnaireById(questionnaire.getId());
//        questionnaire.setQuestions(queryResult.getQuestions());
//        questionnaire.setTitle(queryResult.getTitle());
//        questionnaire.setQId(questionnaire.getQId());
//        int result = questionnaireMapper.insertRelease(questionnaire);
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        Long status = 0L;
//        try{
//            Long startTime = format.parse(questionnaire.getStartTime()).getTime();
//            Long currentTime = new Date().getTime();
//            if((currentTime - startTime) > 0){
//                //已经开始了
//                status = 1L;
//            }
//            // 2、问卷列表
//            List<Answer> saves = new ArrayList<>();
//            String[] stuNos = questionnaire.getStuNos();
//            for (String stuNo : stuNos) {
//                Answer answer = new Answer();
//                answer.setQuestions(questionnaire.getQuestions());
//                answer.setTitle(questionnaire.getTitle());
//                answer.setUserId( Long.parseLong(stuNo));
//                answer.setStatus(status);
//                answer.setReleaseId(questionnaire.getId());
//                saves.add(answer);
//            }
//            result = answerService.saveBatch(saves)?1:0;
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//
//
//
//        // 1、添加进发布列表
//
////        // 2、问卷列表
////        List<Answer> saves = new ArrayList<>();
////        String[] stuNos = questionnaire.getStuNos();
////        for (String stuNo : stuNos) {
////            Answer answer = new Answer();
////            answer.setQuestions(questionnaire.getQuestions());
////            answer.setTitle(questionnaire.getTitle());
////            answer.setUserId( Long.parseLong(stuNo));
////            saves.add(answer);
////        }
////        int result = answerService.saveBatch(saves)?1:0;
//        return result;
        return 0;
    }
    @Override
    public int updateAndRelease(Questionnaire questionnaire) {

//        questionnaireMapper.updateQuestionnaire(questionnaire);
//        List<Answer> saves = new ArrayList<>();
//        String[] stuNos = questionnaire.getStuNos();
//        for (String stuNo : stuNos) {
//            Answer answer = new Answer();
//            answer.setQuestions(questionnaire.getQuestions());
//            answer.setTitle(questionnaire.getTitle());
//            answer.setUserId( Long.parseLong(stuNo));
//            saves.add(answer);
//        }
//        //批量新增
//        int result = answerService.saveBatch(saves)?1:0;
//        return result;
        return 0;
    }
    @Override
    public int releaseNew(Questionnaire questionnaire) {
//        if("0".equals(questionnaire.getStatus()) || questionnaire.getStatus() == null){
//            questionnaire.setStatus("1");
//        }else{
//            questionnaire.setStatus("0");
//        }

        //根据id 查询
//        Questionnaire queryResult= questionnaireMapper.selectQuestionnaireById(questionnaire.getId());
//        //获取当前的学年
//        SrsStuYear srsStuYear = srsStuYearMapper.listEnableYear().get(0);
//        CphTeacher teacherParam = new CphTeacher();
//        teacherParam.setStatus("1");//查询在职的
//        List<CphTeacher> teachers = cphTeacherMapper.selectCphTeacherList(teacherParam);
//        List<QuestionnaireRelease> questionnaires = new ArrayList<>();
////        //发布的问卷
//        for (CphTeacher teacher : teachers) {
//            QuestionnaireRelease q = new QuestionnaireRelease();
//            q.setDeptId(teacher.getDeptId());
//            q.setTeacherId(teacher.getTeacherId());
//            q.setTeacherName(teacher.getName());
//            q.setQuestions(queryResult.getQuestions());
//            q.setTitle(queryResult.getTitle());
//            q.setQId(questionnaire.getId());
//            q.setStuYearId(srsStuYear.getId());
//            q.setStuYearName(srsStuYear.getStuYearName());
//            q.setStatus("1");//发布默认先开启
//            questionnaires.add(q);
//        }
        //更新状态
        return questionnaireMapper.updateQuestionnaire(questionnaire);
    }





}
