liusheng
2023-12-28 ac79f032745c975eb77d6fb148ed390f2373559e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.smartor.service.impl;
 
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.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 {
    @Autowired
    private SvyLibTopicMapper svyLibTopicMapper;
 
    @Autowired
    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
 
    /**
     * 查询问卷题目
     *
     * @param topicid 问卷题目主键
     * @return 问卷题目
     */
    @Override
    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid) {
        return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
    }
 
    /**
     * 查询问卷题目列表
     *
     * @param svyLibTopic 问卷题目
     * @return 问卷题目
     */
    @Override
    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) {
        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) {
        svyLibTopic.setUpdateTime(DateUtils.getNowDate());
        return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
    }
 
    /**
     * 批量删除问卷题目
     *
     * @param topicids 需要删除的问卷题目主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTopicByTopicids(Long[] topicids) {
        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
    }
 
    /**
     * 删除问卷题目信息
     *
     * @param topicid 问卷题目主键
     * @return 结果
     */
    @Override
    public int deleteSvyLibTopicByTopicid(Long topicid) {
        return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
    }
 
 
}