liusheng
2023-12-28 ac79f032745c975eb77d6fb148ed390f2373559e
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
@@ -1,96 +1,160 @@
package com.smartor.service.impl;
import java.util.List;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
import com.smartor.mapper.SvyLibTopicoptionMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.User;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smartor.mapper.SvyLibTopicMapper;
import com.smartor.domain.SvyLibTopic;
import com.smartor.service.ISvyLibTopicService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
/**
 * 问卷题目Service业务层处理
 *
 *
 * @author ruoyi
 * @date 2023-03-03
 */
@Slf4j
@Service
public class SvyLibTopicServiceImpl implements ISvyLibTopicService
{
public class SvyLibTopicServiceImpl implements ISvyLibTopicService {
    @Autowired
    private SvyLibTopicMapper svyLibTopicMapper;
    @Autowired
    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
    /**
     * 查询问卷题目
     *
     *
     * @param topicid 问卷题目主键
     * @return 问卷题目
     */
    @Override
    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid)
    {
    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid) {
        return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
    }
    /**
     * 查询问卷题目列表
     *
     *
     * @param svyLibTopic 问卷题目
     * @return 问卷题目
     */
    @Override
    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic)
    {
        return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) {
        //添加题目
        List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
        //获取题目选项
        for (int j = 0; j < svyLibTopics.size(); j++) {
            log.info("问题id为:{}", svyLibTopics.get(j).getSvyTopicId());
            if (svyLibTopics.get(j).getTopictype() != null && svyLibTopics.get(j).getTopictype() == 3 || svyLibTopics.get(j).getSvyTopicId() == null) {
                //作答题,不需要选项
                continue;
            } else {
                SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
                svyLibTopicoption.setTopicid(svyLibTopics.get(j).getSvyTopicId());
                List<SvyLibTopicoption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption);
                //将查询出的选项目放到题目中
                svyLibTopics.get(j).setSvyLibTopicoptions(svyLibTopicoptions);
            }
        }
        return svyLibTopics;
    }
    /**
     * 新增问卷题目
     *
     *
     * @param svyLibTopic 问卷题目
     * @return 结果
     */
    @Override
    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
    {
    public int insertSvyLibTopic(SvyLibTopic svyLibTopic) {
        svyLibTopic.setCreateTime(DateUtils.getNowDate());
        return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
    }
    @Override
    public Integer saveOrUpdateTopic(SvyLibTopic svyLibTopic) {
        Integer i = null;
        //对题目进行处理
        if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
            //新增
            i = svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
        } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
            //修改
            i = svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
        }
        //对题目选项进行处理
        if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibTopicoptions())) {
            for (SvyLibTopicoption svyLibTopicoption : svyLibTopic.getSvyLibTopicoptions()) {
                if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
                    //新增
                    svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
                    svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
                } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
                    //修改
                    svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
                    svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption);
                }
            }
        }
        return i;
    }
    /**
     * 修改问卷题目
     *
     *
     * @param svyLibTopic 问卷题目
     * @return 结果
     */
    @Override
    public int updateSvyLibTopic(SvyLibTopic svyLibTopic)
    {
    public int updateSvyLibTopic(SvyLibTopic svyLibTopic) {
        svyLibTopic.setUpdateTime(DateUtils.getNowDate());
        return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
    }
    /**
     * 批量删除问卷题目
     *
     *
     * @param topicids 需要删除的问卷题目主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTopicByTopicids(Long[] topicids)
    {
    public int deleteSvyLibTopicByTopicids(Long[] topicids) {
        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
    }
    /**
     * 删除问卷题目信息
     *
     *
     * @param topicid 问卷题目主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTopicByTopicid(Long topicid)
    {
    public int deleteSvyLibTopicByTopicid(Long topicid) {
        return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
    }
}