liusheng
2024-06-12 6d51501ca93f5bf46759f851988650477cf32e6c
代码提交
已添加44个文件
已删除18个文件
已修改26个文件
已重命名19个文件
已复制2个文件
8533 ■■■■ 文件已修改
ruoyi-admin/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptCategoryController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptController.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptOptionController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTemplateCategoryController.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTemplateController.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleCategoryController.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskScriptController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskScriptoptionController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskSingleController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskTemplateController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTopicController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RedisConfiguration.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/common/SendService.java 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/config/RabbitMQAckConfig.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/config/RabbitMqCallPhoneConfig.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/config/RabbitMqConfig.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/IvrLibaScriptTarget.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/IvrLibaTargetVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/IvrTask.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SendTaskVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibScript.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibScriptCategory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibScriptCategoryVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibScriptOption.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibScriptRes.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibTemplate.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibTemplateCategory.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibTemplateCategoryVO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyLibTemplateReq.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTask.java 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTaskScript.java 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTaskSingle.java 447 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTaskTemplate.java 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/SvyTopic.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibScriptCategoryMapper.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibScriptMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibScriptOptionMapper.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTemplateCategoryMapper.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTemplateMapper.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTitleCategoryMapper.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTopicCategoryMapper.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTaskMapper.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTaskScriptMapper.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTaskScriptoptionMapper.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTaskSingleMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTaskTemplateMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/SvyTopicMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibScriptCategoryService.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibScriptOptionService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibScriptService.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTemplateCategoryService.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTemplateService.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTitleCategoryService.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTopicCategoryService.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTaskScriptService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTaskScriptoptionService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTaskService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTaskSingleService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTaskTemplateService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/ISvyTopicService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/AIRobotPhoneCallBackServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PersonVoiceServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptOptionServiceImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptServiceImpl.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleCategoryServiceImpl.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicCategoryServiceImpl.java 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskScriptServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskScriptoptionServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/SvyTopicServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyLibScriptMapper.xml 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyLibScriptOptionMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyLibTemplageCategoryMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyLibTemplateMapper.xml 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyLibTopicCategoryMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTaskMapper.xml 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTaskScriptMapper.xml 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTaskScriptoptionMapper.xml 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTaskSingleMapper.xml 432 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTaskTemplateMapper.xml 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/SvyTopicMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml
@@ -130,11 +130,6 @@
            <artifactId>nls-sdk-common</artifactId>
            <version>2.1.6</version>
        </dependency>
        <!-- rabbitmq ä¾èµ–-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
    </dependencies>
    <build>
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/com/ruoyi/web/component/RabbitMqReceiver.java ÐÞ¸Ä
@@ -3,32 +3,25 @@
import com.alibaba.fastjson2.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.rabbitmq.client.Channel;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.ServiceFromEnum;
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.web.task.PhoneTask;
import com.smartor.common.SendService;
import com.smartor.config.PhoneUtils;
import com.smartor.config.RabbitMqCallPhoneConfig;
import com.smartor.config.RobotPhoneUtils;
import com.smartor.domain.*;
import com.smartor.mapper.IvrTaskMapper;
import com.smartor.mapper.IvrTaskSingleMapper;
import com.smartor.service.IIvrTaskTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -38,7 +31,7 @@
@Slf4j
@Component//监听此队列
public class RabbitMqReceiver {
public class RedisMqReceiver extends KeyExpirationEventMessageListener {
    @Value("${phonePath}")
    private String phonePath;
@@ -59,56 +52,51 @@
    private static RedisCache redisCache;
    private static RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
    private static RobotPhoneUtils robotPhoneUtils;
    // åˆ›å»ºå›ºå®šå¤§å°çš„线程池
    private static final ExecutorService executorService = Executors.newFixedThreadPool(10);
    public RedisMqReceiver(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
    }
    @Autowired
    public void setIIvrTaskTemplateService(IIvrTaskTemplateService ivrTaskTemplateService) {
        RabbitMqReceiver.ivrTaskTemplateService = ivrTaskTemplateService;
        RedisMqReceiver.ivrTaskTemplateService = ivrTaskTemplateService;
    }
    @Autowired
    public void setRobotPhoneUtilsService(RobotPhoneUtils robotPhoneUtils) {
        RabbitMqReceiver.robotPhoneUtils = robotPhoneUtils;
        RedisMqReceiver.robotPhoneUtils = robotPhoneUtils;
    }
    @Autowired
    public void setSendService(SendService sendService) {
        RabbitMqReceiver.sendService = sendService;
    }
    @Autowired
    public void setRabbitMqCallPhoneConfig(RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig) {
        RabbitMqReceiver.rabbitMqCallPhoneConfig = rabbitMqCallPhoneConfig;
        RedisMqReceiver.sendService = sendService;
    }
    @Autowired
    public void setIvrTaskcallMapper(IvrTaskSingleMapper ivrTaskcallMapper) {
        RabbitMqReceiver.ivrTaskcallMapper = ivrTaskcallMapper;
        RedisMqReceiver.ivrTaskcallMapper = ivrTaskcallMapper;
    }
    @Autowired
    public void setIvrTaskMapper(IvrTaskMapper ivrTaskMapper) {
        RabbitMqReceiver.ivrTaskMapper = ivrTaskMapper;
        RedisMqReceiver.ivrTaskMapper = ivrTaskMapper;
    }
    @Autowired
    public void setRedisCache(RedisCache redisCache) {
        RabbitMqReceiver.redisCache = redisCache;
        RedisMqReceiver.redisCache = redisCache;
    }
    /**
     * ä»»åŠ¡éšè®¿
     * concurrency = "50"  å¹¶å‘数为50
     */
    @RabbitListener(queues = "task_queue", concurrency = "50")
    public void phoneVisit(String content, Message message, Channel channel) throws IOException {
        System.out.println("消息进来了----------------");
    @Override
    public void onMessage(Message message, byte[] pattern) {
        log.info("监听Redis key过期,key:{},channel:{}", message.toString(), new String(pattern));
        String content = message.toString();
        IvrTaskcallMQ ivrTaskcallMQ = null;
        try {
            ObjectMapper mapper = new ObjectMapper();
@@ -125,13 +113,13 @@
            IvrTask ivrTask1 = ivrTaskMapper.selectIvrTaskByTaskid(ivrTaskcallMQ.getTaskid());
            if (ivrTask1.getStopState() != ivrTaskcallMQ.getStopState()) {
                //将消息从队列中剔除
                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                return;
            }
            if (StringUtils.isNotEmpty(ivrTaskcallMQ.getPreachform())) {
                //如何任务发送方式不为空
                String[] split = ivrTaskcallMQ.getPreachform().split(",");
                System.out.println("split的值为:" + split);
                for (String serviceFrom : split) {
                    String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom));
                    //这里可以考虑用策略模式优化一下,不然太难看了
@@ -153,7 +141,7 @@
                                break;
                            }
                            //通过多线程的方式去打电话
                            executorService.submit(new PhoneTask(ivrTaskcall1, ivrTaskTemplateVO1, redisCache, rabbitMqCallPhoneConfig, message, sendService, phonePath, robotPhoneUtils));
                            executorService.submit(new PhoneTask(ivrTaskcall1, ivrTaskTemplateVO1, redisCache, sendService, phonePath, robotPhoneUtils));
                        }
                    } else if (descByCode.equals("多媒体")) {
                        //多媒体
@@ -193,13 +181,12 @@
                        }
                    }
                    //通知 MQ æ¶ˆæ¯å·²è¢«æŽ¥æ”¶,可以ACK(从队列中删除)了   ï¼ˆè¿™ä¸ªéœ€è¦æ ¹æ®ä¸šåŠ¡å†åŽ»å¤„ç†ACK)
                    channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                }
            }
        } catch (Exception e) {
            Integer integer = redisCache.getCacheObject(ivrTaskcallMQ.getTaskid().toString());
            if (integer != null && integer == 2) {
                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                //将消息从队列中删除
            } else if (integer == null) {
                redisCache.setCacheObject(ivrTaskcallMQ.getTaskid().toString(), 1, 120, TimeUnit.MINUTES);
            } else {
@@ -208,53 +195,45 @@
            log.error("============消费失败,尝试消息补发再次消费!==============");
            log.error(e.getMessage());
            channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
            redisCache.setCacheObject(message.toString(), message.toString(), 60, TimeUnit.SECONDS);
        }
    }
    /**
     * æœºå™¨äººç¬¬ä¸€å¥è¯è¯­éŸ³
     * concurrency = "50"  å¹¶å‘数为50
     */
    @RabbitListener(queues = "ob_queue", concurrency = "50")
    public void obVisit(String content, Message message, Channel channel) throws IOException {
        try {
            IvrTaskcallPhoneMQ ivrTaskcallMQ = null;
            ObjectMapper mapper = new ObjectMapper();
            ivrTaskcallMQ = mapper.readValue(content, IvrTaskcallPhoneMQ.class);
            //判断患者是否已经接电话
            String str = redisCache.getCacheObject(ivrTaskcallMQ.getUuid() + "state_id");
            System.out.println("-----------------" + str);
            if (StringUtils.isNotEmpty(str) && str.equals("0")) {
                //患者已经接听了电话
                new PhoneUtils().ttsPlayback(ivrTaskcallMQ.getScript(), ivrTaskcallMQ.getUuid());
            } else if (StringUtils.isNotEmpty(str) && str.equals("-10")) {
                //这个说明,已经打了指定遍数还是没有人接,可以将消息从队列中移除了
                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                return;
            } else {
                //进行队列尾部,进行下一次校验
//                channel.basicRecover(false);
                channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
                System.out.println("++++++++++++++++++++++" + str);
                return;
            }
            //通知 MQ æ¶ˆæ¯å·²è¢«æŽ¥æ”¶,可以ACK(从队列中删除)了   ï¼ˆè¿™ä¸ªéœ€è¦æ ¹æ®ä¸šåŠ¡å†åŽ»å¤„ç†ACK)
            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
        } catch (Exception e) {
            log.error("============消费失败,尝试消息补发再次消费!==============");
            log.error(e.getMessage());
            channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
        }
    }
//    /**
//     * æœºå™¨äººç¬¬ä¸€å¥è¯è¯­éŸ³
//     * concurrency = "50"  å¹¶å‘数为50
//     */
//    @RabbitListener(queues = "ob_queue", concurrency = "50")
//    public void obVisit(String content, Message message, Channel channel) throws IOException {
//        try {
//            IvrTaskcallPhoneMQ ivrTaskcallMQ = null;
//            ObjectMapper mapper = new ObjectMapper();
//            ivrTaskcallMQ = mapper.readValue(content, IvrTaskcallPhoneMQ.class);
//            //判断患者是否已经接电话
//            String str = redisCache.getCacheObject(ivrTaskcallMQ.getUuid() + "state_id");
//            System.out.println("-----------------" + str);
//            if (StringUtils.isNotEmpty(str) && str.equals("0")) {
//                //患者已经接听了电话
//                new PhoneUtils().ttsPlayback(ivrTaskcallMQ.getScript(), ivrTaskcallMQ.getUuid());
//            } else if (StringUtils.isNotEmpty(str) && str.equals("-10")) {
//                //这个说明,已经打了指定遍数还是没有人接,可以将消息从队列中移除了
//                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//                return;
//            } else {
//                //进行队列尾部,进行下一次校验
////                channel.basicRecover(false);
//                channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
//                System.out.println("++++++++++++++++++++++" + str);
//                return;
//            }
//            //通知 MQ æ¶ˆæ¯å·²è¢«æŽ¥æ”¶,可以ACK(从队列中删除)了   ï¼ˆè¿™ä¸ªéœ€è¦æ ¹æ®ä¸šåŠ¡å†åŽ»å¤„ç†ACK)
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//        } catch (Exception e) {
//            log.error("============消费失败,尝试消息补发再次消费!==============");
//            log.error(e.getMessage());
//            channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
//        }
//    }
    @Bean
    public SimpleRabbitListenerContainerFactory jsonContainerFactory(ConnectionFactory connectionFactory) {
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        factory.setMessageConverter(new Jackson2JsonMessageConverter());
        return factory;
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java
@@ -1,7 +1,6 @@
package com.ruoyi.web.controller.smartor;
import com.alibaba.fastjson2.JSON;
import com.github.pagehelper.util.StringUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -11,7 +10,6 @@
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.config.PhoneUtils;
import com.smartor.config.RabbitMqCallPhoneConfig;
import com.smartor.domain.IvrLibaTemplate;
import com.smartor.domain.IvrLibaTemplateVO;
import com.smartor.domain.Test1Vo;
@@ -47,8 +45,6 @@
    @Autowired
    private PhoneUtils phoneUtils;
    @Autowired
    private RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
    /**
     * æŸ¥è¯¢æ¨¡æ¿åº“列表
@@ -143,21 +139,21 @@
        return success(ivrLibaTemplateService.selectInfoByCondition(ivrLibaTemplateVO));
    }
    /**
     * å¼€å§‹æ‰§è¡Œ(测试用)
     */
    @PostMapping("/queryRabbitmq")
    public AjaxResult queryRabbitmq(@RequestBody Test1Vo test1Vo) {
        log.info("-------------启动咨询应答超时提醒延迟队列-------------");
        String data = JSON.toJSONString(test1Vo.getTestVo());
        String substring = data.substring(1, data.length() - 1);
        rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", substring, test1Vo.getTimes());
        log.info("-------------延迟队列{}ms后执行.-------------", test1Vo.getTimes());
        return success();
    }
//
//    /**
//     * å¼€å§‹æ‰§è¡Œ(测试用)
//     */
//    @PostMapping("/queryRabbitmq")
//    public AjaxResult queryRabbitmq(@RequestBody Test1Vo test1Vo) {
//
//        log.info("-------------启动咨询应答超时提醒延迟队列-------------");
//        String data = JSON.toJSONString(test1Vo.getTestVo());
//        String substring = data.substring(1, data.length() - 1);
//        rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", substring, test1Vo.getTimes());
//
//        log.info("-------------延迟队列{}ms后执行.-------------", test1Vo.getTimes());
//        return success();
//    }
    @GetMapping("/tts")
    public AjaxResult tts(@RequestParam("fileText") String fileText, @RequestParam("uuid") String uuid) {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java
@@ -1,9 +1,7 @@
package com.ruoyi.web.controller.smartor;
import com.github.pagehelper.ISelect;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java
@@ -6,6 +6,7 @@
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.smartor.domain.Question;
import com.smartor.domain.SvyLibTemplate;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
@@ -48,7 +49,7 @@
    public String generateStaticHtml(@PathVariable("reqid") String reqid, @PathVariable("userid") String userid) throws IOException, TemplateException {
        // åˆ›å»ºFreemarker配置
        Configuration configuration = new Configuration(Configuration.VERSION_2_3_31);
        configuration.setClassForTemplateLoading(SvyLibTitleController.class, "/template");
        configuration.setClassForTemplateLoading(SvyLibTemplateController.class, "/template");
        configuration.setDefaultEncoding("UTF-8");
        try {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptCategoryController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicCategoryController.java ÐÞ¸Ä
@@ -6,9 +6,9 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyLibTopicCategory;
import com.smartor.domain.SvyLibTopicCategoryVO;
import com.smartor.service.ISvyLibTopicCategoryService;
import com.smartor.domain.SvyLibScriptCategory;
import com.smartor.domain.SvyLibScriptCategoryVO;
import com.smartor.service.ISvyLibScriptCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,10 +26,10 @@
 */
@Api(description = "问卷题库分类")
@RestController
@RequestMapping("/smartor/svyLibTopicCategory")
public class SvyLibTopicCategoryController extends BaseController {
@RequestMapping("/smartor/svyLibScriptCategory")
public class SvyLibScriptCategoryController extends BaseController {
    @Autowired
    private ISvyLibTopicCategoryService svyLibTopicCategoryService;
    private ISvyLibScriptCategoryService svyLibScriptCategoryService;
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»åˆ—表
@@ -37,9 +37,9 @@
    @ApiOperation("查询问卷题目分类列表")
    @PreAuthorize("@ss.hasPermi('smartor:category:list')")
    @PostMapping("/list")
    public TableDataInfo list(@RequestBody SvyLibTopicCategory svyLibTopicCategory) {
    public TableDataInfo list(@RequestBody SvyLibScriptCategory svyLibScriptCategory) {
        startPage();
        List<SvyLibTopicCategoryVO> list = svyLibTopicCategoryService.selectSvyLibTopicCategoryList(svyLibTopicCategory);
        List<SvyLibScriptCategoryVO> list = svyLibScriptCategoryService.selectSvyLibScriptCategoryList(svyLibScriptCategory);
        return getDataTable(list);
    }
@@ -49,9 +49,9 @@
    @PreAuthorize("@ss.hasPermi('smartor:category:export')")
    @Log(title = "问卷题目分类", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyLibTopicCategory svyLibTopicCategory) {
        List<SvyLibTopicCategoryVO> list = svyLibTopicCategoryService.selectSvyLibTopicCategoryList(svyLibTopicCategory);
        ExcelUtil<SvyLibTopicCategoryVO> util = new ExcelUtil<SvyLibTopicCategoryVO>(SvyLibTopicCategoryVO.class);
    public void export(HttpServletResponse response, SvyLibScriptCategory svyLibScriptCategory) {
        List<SvyLibScriptCategoryVO> list = svyLibScriptCategoryService.selectSvyLibScriptCategoryList(svyLibScriptCategory);
        ExcelUtil<SvyLibScriptCategoryVO> util = new ExcelUtil<SvyLibScriptCategoryVO>(SvyLibScriptCategoryVO.class);
        util.exportExcel(response, list, "问卷题目分类数据");
    }
@@ -62,7 +62,7 @@
    @PreAuthorize("@ss.hasPermi('smartor:category:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(svyLibTopicCategoryService.selectSvyLibTopicCategoryById(id));
        return success(svyLibScriptCategoryService.selectSvyLibScriptCategoryById(id));
    }
//    /**
@@ -71,8 +71,8 @@
//    @PreAuthorize("@ss.hasPermi('smartor:category:add')")
//    @Log(title = "问卷题目分类", businessType = BusinessType.INSERT)
//    @PostMapping("/add")
//    public AjaxResult add(@RequestBody SvyLibTopicCategory svyLibTopicCategory) {
//        return toAjax(svyLibTopicCategoryService.insertSvyLibTopicCategory(svyLibTopicCategory));
//    public AjaxResult add(@RequestBody SvyLibScriptCategory svyLibScriptCategory) {
//        return toAjax(svyLibScriptCategoryService.insertSvyLibScriptCategory(svyLibScriptCategory));
//    }
    /**
@@ -81,8 +81,8 @@
    @PreAuthorize("@ss.hasPermi('smartor:category:edit')")
    @Log(title = "问卷题目分类", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyLibTopicCategory svyLibTopicCategory) {
        return toAjax(svyLibTopicCategoryService.updateSvyLibTopicCategory(svyLibTopicCategory));
    public AjaxResult edit(@RequestBody SvyLibScriptCategory svyLibScriptCategory) {
        return toAjax(svyLibScriptCategoryService.updateSvyLibScriptCategory(svyLibScriptCategory));
    }
    /**
@@ -93,7 +93,7 @@
    @Log(title = "问卷题目分类", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(svyLibTopicCategoryService.deleteSvyLibTopicCategoryByIds(ids));
        return toAjax(svyLibScriptCategoryService.deleteSvyLibScriptCategoryByIds(ids));
    }
    /**
@@ -103,7 +103,7 @@
    @Log(title = "问卷题目分类树", businessType = BusinessType.INSERT)
    @ApiOperation("问卷题目分类树")
    @PostMapping("/addtree")
    public AjaxResult addtree(@RequestBody SvyLibTopicCategoryVO svyLibTopicCategoryVO) {
        return toAjax(svyLibTopicCategoryService.insertSvyLibTopicCategoryTree(svyLibTopicCategoryVO));
    public AjaxResult addtree(@RequestBody SvyLibScriptCategoryVO svyLibScriptCategoryVO) {
        return toAjax(svyLibScriptCategoryService.insertSvyLibScriptCategoryTree(svyLibScriptCategoryVO));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
package com.ruoyi.web.controller.smartor;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.PageUtils;
import com.smartor.domain.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.smartor.service.ISvyLibScriptService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * é—®å·é¢˜ç›®Controller
 *
 * @author ruoyi
 * @date 2023-03-03
 */
@Api(description = "问卷题目")
@RestController
@RequestMapping("/smartor/svyscript")
public class SvyLibScriptController extends BaseController {
    @Autowired
    private ISvyLibScriptService svyLibScriptService;
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ—表
     */
    @ApiOperation("查询问卷题目列表")
    @PreAuthorize("@ss.hasPermi('smartor:svyScript:list')")
    @PostMapping("/list")
    public TableDataInfo list(@RequestBody SvyLibScript svyLibScript) {
        PageUtils.startPageByPost(svyLibScript.getPageNum(), svyLibScript.getPageSize());
        List<SvyLibScript> list = svyLibScriptService.selectSvyLibScriptList(svyLibScript);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºé—®å·é¢˜ç›®åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('smartor:svyScript:export')")
    @Log(title = "问卷题目", businessType = BusinessType.EXPORT)
    @ApiOperation("导出问卷题目列表")
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyLibScript svyLibScript) {
        List<SvyLibScript> list = svyLibScriptService.selectSvyLibScriptList(svyLibScript);
        ExcelUtil<SvyLibScript> util = new ExcelUtil<SvyLibScript>(SvyLibScript.class);
        util.exportExcel(response, list, "问卷题目数据");
    }
//    /**
//     * èŽ·å–é—®å·é¢˜ç›®è¯¦ç»†ä¿¡æ¯
//     */
//    @ApiOperation("获取问卷题目详细信息")
//    @PreAuthorize("@ss.hasPermi('smartor:svyScript:query')")
//    @GetMapping(value = "/getInfo/{Scriptid}")
//    public AjaxResult getInfo(@PathVariable("Scriptid") Long Scriptid) {
//        return success(svyLibScriptService.selectSvyLibScriptByScriptid(Scriptid));
//    }
    /**
     * æ–°å¢žé—®å·é¢˜ç›®
     */
    @ApiOperation("新增问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svyScript:add')")
    @Log(title = "问卷题目", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@RequestBody SvyLibScript svyLibScript) {
        return toAjax(svyLibScriptService.insertSvyLibScript(svyLibScript));
    }
    /**
     * æ–°å¢žæˆ–修改问卷详情信息
     */
    @ApiOperation("新增或修改问卷详情信息")
    @PreAuthorize("@ss.hasPermi('system:script:list')")
    @PostMapping("/saveOrUpdateScript")
    public AjaxResult saveOrUpdateScript(@RequestBody SvyLibScript svyLibScript) {
        if (ObjectUtils.isEmpty(svyLibScript)) {
            throw new BaseException("入参为空,请检查入参");
        }
        return success(svyLibScriptService.saveOrUpdateScript(svyLibScript));
    }
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®
     */
    @ApiOperation("修改问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svyScript:edit')")
    @Log(title = "问卷题目", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyLibScript svyLibScript) {
        return toAjax(svyLibScriptService.updateSvyLibScript(svyLibScript));
    }
    /**
     * åˆ é™¤é—®å·é¢˜ç›®
     */
    @ApiOperation("删除问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svyScript:remove')")
    @Log(title = "问卷题目", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{scriptids}")
    public AjaxResult remove(@PathVariable Long[] scriptids) {
        return toAjax(svyLibScriptService.deleteSvyLibScriptByScriptids(scriptids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibScriptOptionController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicoptionController.java ÐÞ¸Ä
@@ -6,8 +6,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,8 +14,8 @@
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.smartor.domain.SvyLibTopicoption;
import com.smartor.service.ISvyLibTopicoptionService;
import com.smartor.domain.SvyLibScriptOption;
import com.smartor.service.ISvyLibScriptOptionService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -28,21 +26,21 @@
 * @date 2023-03-02
 */
@RestController
@RequestMapping("/smartor/svytopicoption")
public class SvyLibTopicoptionController extends BaseController
@RequestMapping("/smartor/svytscroption")
public class SvyLibScriptOptionController extends BaseController
{
    @Autowired
    private ISvyLibTopicoptionService svyLibTopicoptionService;
    private ISvyLibScriptOptionService svyLibTopicoptionService;
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:list')")
   @PostMapping("/list")
    public TableDataInfo list(@RequestBody SvyLibTopicoption svyLibTopicoption)
    public TableDataInfo list(@RequestBody SvyLibScriptOption svyLibTopicoption)
    {
        startPage();
        List<SvyLibTopicoption> list = svyLibTopicoptionService.selectSvyLibTopicoptionList(svyLibTopicoption);
        List<SvyLibScriptOption> list = svyLibTopicoptionService.selectSvyLibScriptOptionList(svyLibTopicoption);
        return getDataTable(list);
    }
@@ -52,10 +50,10 @@
    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:export')")
    @Log(title = "问卷问题选项", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyLibTopicoption svyLibTopicoption)
    public void export(HttpServletResponse response, SvyLibScriptOption svyLibTopicoption)
    {
        List<SvyLibTopicoption> list = svyLibTopicoptionService.selectSvyLibTopicoptionList(svyLibTopicoption);
        ExcelUtil<SvyLibTopicoption> util = new ExcelUtil<SvyLibTopicoption>(SvyLibTopicoption.class);
        List<SvyLibScriptOption> list = svyLibTopicoptionService.selectSvyLibScriptOptionList(svyLibTopicoption);
        ExcelUtil<SvyLibScriptOption> util = new ExcelUtil<SvyLibScriptOption>(SvyLibScriptOption.class);
        util.exportExcel(response, list, "问卷问题选项数据");
    }
@@ -66,7 +64,7 @@
    @GetMapping(value = "/{optionid}")
    public AjaxResult getInfo(@PathVariable("optionid") Long optionid)
    {
        return success(svyLibTopicoptionService.selectSvyLibTopicoptionByOptionid(optionid));
        return success(svyLibTopicoptionService.selectSvyLibScriptOptionByOptionid(optionid));
    }
    /**
@@ -75,9 +73,9 @@
    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:add')")
    @Log(title = "问卷问题选项", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@RequestBody SvyLibTopicoption svyLibTopicoption)
    public AjaxResult add(@RequestBody SvyLibScriptOption svyLibTopicoption)
    {
        return toAjax(svyLibTopicoptionService.insertSvyLibTopicoption(svyLibTopicoption));
        return toAjax(svyLibTopicoptionService.insertSvyLibScriptOption(svyLibTopicoption));
    }
    /**
@@ -86,9 +84,9 @@
    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:edit')")
    @Log(title = "问卷问题选项", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyLibTopicoption svyLibTopicoption)
    public AjaxResult edit(@RequestBody SvyLibScriptOption svyLibTopicoption)
    {
        return toAjax(svyLibTopicoptionService.updateSvyLibTopicoption(svyLibTopicoption));
        return toAjax(svyLibTopicoptionService.updateSvyLibScriptOption(svyLibTopicoption));
    }
    /**
@@ -99,6 +97,6 @@
    @GetMapping("/remove/{optionids}")
    public AjaxResult remove(@PathVariable Long[] optionids)
    {
        return toAjax(svyLibTopicoptionService.deleteSvyLibTopicoptionByOptionids(optionids));
        return toAjax(svyLibTopicoptionService.deleteSvyLibScriptOptionByOptionids(optionids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTemplateCategoryController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyLibTemplateCategory;
import com.smartor.domain.SvyLibTemplateCategoryVO;
import com.smartor.service.ISvyLibTemplateCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»Controller
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Api(description = "问卷模板分类")
@RestController
@RequestMapping("/smartor/svyLibTemplateCategory")
public class SvyLibTemplateCategoryController extends BaseController {
    @Autowired
    private ISvyLibTemplateCategoryService svyLibTemplateCategoryService;
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»åˆ—表
     */
    @ApiOperation("查询问卷模板分类列表")
    @PreAuthorize("@ss.hasPermi('smartor:category:list')")
    @PostMapping("/list")
    public TableDataInfo list(@RequestBody SvyLibTemplateCategory svyLibTemplateCategory) {
        startPage();
        List<SvyLibTemplateCategoryVO> list = svyLibTemplateCategoryService.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºé—®å·æ¨¡æ¿åˆ†ç±»åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('smartor:category:export')")
    @Log(title = "问卷模板分类", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyLibTemplateCategory svyLibTemplateCategory) {
        List<SvyLibTemplateCategoryVO> list = svyLibTemplateCategoryService.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
        ExcelUtil<SvyLibTemplateCategoryVO> util = new ExcelUtil<SvyLibTemplateCategoryVO>(SvyLibTemplateCategoryVO.class);
        util.exportExcel(response, list, "问卷模板分类数据");
    }
    /**
     * èŽ·å–é—®å·æ¨¡æ¿åˆ†ç±»è¯¦ç»†ä¿¡æ¯
     */
    @ApiOperation("获取问卷模板分类详细信息")
    @PreAuthorize("@ss.hasPermi('smartor:category:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(svyLibTemplateCategoryService.selectSvyLibTemplateCategoryById(id));
    }
//    /**
//     * æ–°å¢žé—®å·æ¨¡æ¿åˆ†ç±»
//     */
//    @ApiOperation("新增问卷模板分类")
//    @PreAuthorize("@ss.hasPermi('smartor:category:add')")
//    @Log(Template = "问卷模板分类", businessType = BusinessType.INSERT)
//    @PostMapping("/add")
//    public AjaxResult add(@RequestBody SvyLibTemplateCategory svyLibTemplateCategory) {
//        return toAjax(svyLibTemplateCategoryService.insertSvyLibTemplateCategory(svyLibTemplateCategory));
//    }
    /**
     * ä¿®æ”¹é—®å·æ¨¡æ¿åˆ†ç±»
     */
    @ApiOperation("修改问卷模板分类")
    @PreAuthorize("@ss.hasPermi('smartor:category:edit')")
    @Log(title = "问卷模板分类", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyLibTemplateCategory svyLibTemplateCategory) {
        return toAjax(svyLibTemplateCategoryService.updateSvyLibTemplateCategory(svyLibTemplateCategory));
    }
    /**
     * åˆ é™¤é—®å·æ¨¡æ¿åˆ†ç±»
     */
    @ApiOperation("删除问卷模板分类")
    @PreAuthorize("@ss.hasPermi('smartor:category:remove')")
    @Log(title = "问卷模板分类", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(svyLibTemplateCategoryService.deleteSvyLibTemplateCategoryByIds(ids));
    }
    /**
     * é—®å·æ¨¡æ¿åˆ†ç±»æ ‘
     */
    @PreAuthorize("@ss.hasPermi('smartor:assort:add')")
    @Log(title = "问卷模板分类树", businessType = BusinessType.INSERT)
    @ApiOperation("问卷模板分类树")
    @PostMapping("/addtree")
    public AjaxResult addtree(@RequestBody SvyLibTemplateCategoryVO svyLibTemplateCategoryVO) {
        return toAjax(svyLibTemplateCategoryService.insertSvyLibTemplateCategoryTree(svyLibTemplateCategoryVO));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTemplateController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleController.java ÐÞ¸Ä
@@ -8,9 +8,9 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.base.BaseException;
import com.smartor.domain.SvyLibTitle;
import com.smartor.domain.SvyLibTitleReq;
import com.smartor.service.ISvyLibTitleService;
import com.smartor.domain.SvyLibTemplate;
import com.smartor.domain.SvyLibTemplateReq;
import com.smartor.service.ISvyLibTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
@@ -28,19 +28,19 @@
 */
@Api(description = "问卷模板")
@RestController
@RequestMapping("/smartor/svytitle")
public class SvyLibTitleController extends BaseController {
@RequestMapping("/smartor/svyTemplate")
public class SvyLibTemplateController extends BaseController {
    @Autowired
    private ISvyLibTitleService svyLibTitleService;
    private ISvyLibTemplateService svyLibTemplateService;
    /**
     * æŸ¥è¯¢é—®å·åˆ—表
     */
    @ApiOperation("查询问卷列表详情")
    @PostMapping("/selectSvyLibTitlelist")
    public TableDataInfo selectSvyLibTitlelist(@RequestBody SvyLibTitleReq svyLibTitleReq) {
    @PostMapping("/selectSvyLibTemplatelist")
    public TableDataInfo selectSvyLibTemplatelist(@RequestBody SvyLibTemplateReq svyLibTemplateReq) {
        startPage();
        List<SvyLibTitle> list = svyLibTitleService.selectSvyLibTitleList(svyLibTitleReq);
        List<SvyLibTemplate> list = svyLibTemplateService.selectSvyLibTemplateList(svyLibTemplateReq);
        return getDataTable(list);
    }
@@ -49,19 +49,19 @@
//     * èŽ·å–é—®å·è¯¦ç»†ä¿¡æ¯(单表)
//     */
//    @ApiOperation("获取问卷详细信息")
//    @PreAuthorize("@ss.hasPermi('smartor:svytitle:query')")
//    @PreAuthorize("@ss.hasPermi('smartor:svyTemplate:query')")
//    @GetMapping(value = "/{svyid}")
//    public AjaxResult getInfo(@PathVariable("svyid") Long svyid) {
//        return success(svyLibTitleService.selectSvyLibTitleBySvyid(svyid));
//        return success(svyLibTemplateService.selectSvyLibTemplateBySvyid(svyid));
//    }
    /**
     * æ–°å¢žé—®å·
     */
    @ApiOperation("新增问卷")
    @PostMapping("/addSvyLibTitle")
    public AjaxResult addSvyLibTitle(@RequestBody SvyLibTitle svyLibTitle) {
        return toAjax(svyLibTitleService.insertSvyLibTitle(svyLibTitle));
    @PostMapping("/addSvyLibTemplate")
    public AjaxResult addSvyLibTemplate(@RequestBody SvyLibTemplate svyLibTemplate) {
        return toAjax(svyLibTemplateService.insertSvyLibTemplate(svyLibTemplate));
    }
    /**
@@ -69,41 +69,41 @@
     */
    @ApiOperation("新增或修改问卷模板信息")
    @PreAuthorize("@ss.hasPermi('system:script:list')")
    @PostMapping("/saveOrUpdateTitle")
    public AjaxResult saveOrUpdateTitle(@RequestBody SvyLibTitle svyLibTitle) {
        if (ObjectUtils.isEmpty(svyLibTitle)) {
    @PostMapping("/saveOrUpdateTemplate")
    public AjaxResult saveOrUpdateTemplate(@RequestBody SvyLibTemplate svyLibTemplate) {
        if (ObjectUtils.isEmpty(svyLibTemplate)) {
            throw new BaseException("入参为空,请检查入参");
        }
        return success(svyLibTitleService.saveOrUpdateTitle(svyLibTitle));
        return success(svyLibTemplateService.saveOrUpdateTemplate(svyLibTemplate));
    }
    /**
     * ä¿®æ”¹é—®å·
     */
    @ApiOperation("修改问卷")
    @PreAuthorize("@ss.hasPermi('smartor:svytitle:edit')")
    @PreAuthorize("@ss.hasPermi('smartor:svyTemplate:edit')")
    @Log(title = "问卷", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyLibTitle svyLibTitle) {
        return toAjax(svyLibTitleService.updateSvyLibTitle(svyLibTitle));
    public AjaxResult edit(@RequestBody SvyLibTemplate svyLibTemplate) {
        return toAjax(svyLibTemplateService.updateSvyLibTemplate(svyLibTemplate));
    }
    /**
     * åˆ é™¤é—®å·
     */
    @ApiOperation("删除问卷")
    @PreAuthorize("@ss.hasPermi('smartor:svytitle:remove')")
    @PreAuthorize("@ss.hasPermi('smartor:svyTemplate:remove')")
    @Log(title = "问卷", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{svyids}")
    public AjaxResult remove(@PathVariable Long[] svyids) {
        return toAjax(svyLibTitleService.deleteSvyLibTitleBySvyids(svyids));
        return toAjax(svyLibTemplateService.deleteSvyLibTemplateBySvyids(svyids));
    }
    /**
     * å‘送短信
     */
    @ApiOperation("发送短信")
    @PreAuthorize("@ss.hasPermi('smartor:svytitle:remove')")
    @PreAuthorize("@ss.hasPermi('smartor:svyTemplate:remove')")
    @Log(title = "问卷", businessType = BusinessType.DELETE)
    @PostMapping("/sendMessage")
    public AjaxResult sendMessage(@PathVariable Long[] svyids) {
@@ -123,7 +123,7 @@
//        } catch (Exception e) {
//            System.err.println("发送短信失败:" + e.getMessage());
//        }
        return toAjax(svyLibTitleService.deleteSvyLibTitleBySvyids(svyids));
        return toAjax(svyLibTemplateService.deleteSvyLibTemplateBySvyids(svyids));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleCategoryController.java
ÎļþÒÑɾ³ý
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java
ÎļþÒÑɾ³ý
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyTask;
import com.smartor.service.ISvyTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰Controller
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@RestController
@RequestMapping("/smartor/svytask")
public class SvyTaskController extends BaseController
{
    @Autowired
    private ISvyTaskService svyTaskService;
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:task:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyTask svyTask)
    {
        startPage();
        List<SvyTask> list = svyTaskService.selectSvyTaskList(svyTask);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:task:export')")
    @Log(title = "综合问卷任务(任务)", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTask svyTask)
    {
        List<SvyTask> list = svyTaskService.selectSvyTaskList(svyTask);
        ExcelUtil<SvyTask> util = new ExcelUtil<SvyTask>(SvyTask.class);
        util.exportExcel(response, list, "综合问卷任务(任务)数据");
    }
    /**
     * èŽ·å–ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:task:query')")
    @GetMapping(value = "/{taskid}")
    public AjaxResult getInfo(@PathVariable("taskid") Long taskid)
    {
        return success(svyTaskService.selectSvyTaskByTaskid(taskid));
    }
    /**
     * æ–°å¢žç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    @PreAuthorize("@ss.hasPermi('system:task:add')")
    @Log(title = "综合问卷任务(任务)", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyTask svyTask)
    {
        return toAjax(svyTaskService.insertSvyTask(svyTask));
    }
    /**
     * ä¿®æ”¹ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    @PreAuthorize("@ss.hasPermi('system:task:edit')")
    @Log(title = "综合问卷任务(任务)", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyTask svyTask)
    {
        return toAjax(svyTaskService.updateSvyTask(svyTask));
    }
    /**
     * åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    @PreAuthorize("@ss.hasPermi('system:task:remove')")
    @Log(title = "综合问卷任务(任务)", businessType = BusinessType.DELETE)
    @DeleteMapping("/{taskids}")
    public AjaxResult remove(@PathVariable Long[] taskids)
    {
        return toAjax(svyTaskService.deleteSvyTaskByTaskids(taskids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskScriptController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyTaskScript;
import com.smartor.service.ISvyTaskScriptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é¢˜ç›®Controller
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@RestController
@RequestMapping("/smartor/svyTaskScript")
public class SvyTaskScriptController extends BaseController
{
    @Autowired
    private ISvyTaskScriptService svyTaskScriptService;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:script:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyTaskScript svyTaskScript)
    {
        startPage();
        List<SvyTaskScript> list = svyTaskScriptService.selectSvyTaskScriptList(svyTaskScript);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºä»»åŠ¡é—®å·é¢˜ç›®åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:script:export')")
    @Log(title = "任务问卷题目", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTaskScript svyTaskScript)
    {
        List<SvyTaskScript> list = svyTaskScriptService.selectSvyTaskScriptList(svyTaskScript);
        ExcelUtil<SvyTaskScript> util = new ExcelUtil<SvyTaskScript>(SvyTaskScript.class);
        util.exportExcel(response, list, "任务问卷题目数据");
    }
    /**
     * èŽ·å–ä»»åŠ¡é—®å·é¢˜ç›®è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:script:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(svyTaskScriptService.selectSvyTaskScriptById(id));
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é¢˜ç›®
     */
    @PreAuthorize("@ss.hasPermi('system:script:add')")
    @Log(title = "任务问卷题目", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyTaskScript svyTaskScript)
    {
        return toAjax(svyTaskScriptService.insertSvyTaskScript(svyTaskScript));
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é¢˜ç›®
     */
    @PreAuthorize("@ss.hasPermi('system:script:edit')")
    @Log(title = "任务问卷题目", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyTaskScript svyTaskScript)
    {
        return toAjax(svyTaskScriptService.updateSvyTaskScript(svyTaskScript));
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®
     */
    @PreAuthorize("@ss.hasPermi('system:script:remove')")
    @Log(title = "任务问卷题目", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(svyTaskScriptService.deleteSvyTaskScriptByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskScriptoptionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyTaskScriptoption;
import com.smartor.service.ISvyTaskScriptoptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹Controller
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@RestController
@RequestMapping("/smartor/svyscriptoption")
public class SvyTaskScriptoptionController extends BaseController
{
    @Autowired
    private ISvyTaskScriptoptionService svyTaskScriptoptionService;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyTaskScriptoption svyTaskScriptoption)
    {
        startPage();
        List<SvyTaskScriptoption> list = svyTaskScriptoptionService.selectSvyTaskScriptoptionList(svyTaskScriptoption);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:export')")
    @Log(title = "任务问卷问题选项", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTaskScriptoption svyTaskScriptoption)
    {
        List<SvyTaskScriptoption> list = svyTaskScriptoptionService.selectSvyTaskScriptoptionList(svyTaskScriptoption);
        ExcelUtil<SvyTaskScriptoption> util = new ExcelUtil<SvyTaskScriptoption>(SvyTaskScriptoption.class);
        util.exportExcel(response, list, "任务问卷问题选项数据");
    }
    /**
     * èŽ·å–ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(svyTaskScriptoptionService.selectSvyTaskScriptoptionById(id));
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:add')")
    @Log(title = "任务问卷问题选项", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyTaskScriptoption svyTaskScriptoption)
    {
        return toAjax(svyTaskScriptoptionService.insertSvyTaskScriptoption(svyTaskScriptoption));
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:edit')")
    @Log(title = "任务问卷问题选项", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyTaskScriptoption svyTaskScriptoption)
    {
        return toAjax(svyTaskScriptoptionService.updateSvyTaskScriptoption(svyTaskScriptoption));
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    @PreAuthorize("@ss.hasPermi('system:scriptoption:remove')")
    @Log(title = "任务问卷问题选项", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(svyTaskScriptoptionService.deleteSvyTaskScriptoptionByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskSingleController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyTaskSingle;
import com.smartor.service.ISvyTaskSingleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * å•一任务(问卷)Controller
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@RestController
@RequestMapping("/smartor/svysingle")
public class SvyTaskSingleController extends BaseController
{
    @Autowired
    private ISvyTaskSingleService svyTaskSingleService;
    /**
     * æŸ¥è¯¢å•一任务(问卷)列表
     */
    @PreAuthorize("@ss.hasPermi('system:single:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyTaskSingle svyTaskSingle)
    {
        startPage();
        List<SvyTaskSingle> list = svyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºå•一任务(问卷)列表
     */
    @PreAuthorize("@ss.hasPermi('system:single:export')")
    @Log(title = "单一任务(问卷)", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTaskSingle svyTaskSingle)
    {
        List<SvyTaskSingle> list = svyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle);
        ExcelUtil<SvyTaskSingle> util = new ExcelUtil<SvyTaskSingle>(SvyTaskSingle.class);
        util.exportExcel(response, list, "单一任务(问卷)数据");
    }
    /**
     * èŽ·å–å•ä¸€ä»»åŠ¡ï¼ˆé—®å·ï¼‰è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:single:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(svyTaskSingleService.selectSvyTaskSingleById(id));
    }
    /**
     * æ–°å¢žå•一任务(问卷)
     */
    @PreAuthorize("@ss.hasPermi('system:single:add')")
    @Log(title = "单一任务(问卷)", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyTaskSingle svyTaskSingle)
    {
        return toAjax(svyTaskSingleService.insertSvyTaskSingle(svyTaskSingle));
    }
    /**
     * ä¿®æ”¹å•一任务(问卷)
     */
    @PreAuthorize("@ss.hasPermi('system:single:edit')")
    @Log(title = "单一任务(问卷)", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyTaskSingle svyTaskSingle)
    {
        return toAjax(svyTaskSingleService.updateSvyTaskSingle(svyTaskSingle));
    }
    /**
     * åˆ é™¤å•一任务(问卷)
     */
    @PreAuthorize("@ss.hasPermi('system:single:remove')")
    @Log(title = "单一任务(问卷)", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(svyTaskSingleService.deleteSvyTaskSingleByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTaskTemplateController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyTaskTemplate;
import com.smartor.service.ISvyTaskTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·æ¨¡æ¿Controller
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@RestController
@RequestMapping("/smartor/svytemplate")
public class SvyTaskTemplateController extends BaseController
{
    @Autowired
    private ISvyTaskTemplateService svyTaskTemplateService;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:template:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyTaskTemplate svyTaskTemplate)
    {
        startPage();
        List<SvyTaskTemplate> list = svyTaskTemplateService.selectSvyTaskTemplateList(svyTaskTemplate);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºä»»åŠ¡é—®å·æ¨¡æ¿åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:template:export')")
    @Log(title = "任务问卷模板", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTaskTemplate svyTaskTemplate)
    {
        List<SvyTaskTemplate> list = svyTaskTemplateService.selectSvyTaskTemplateList(svyTaskTemplate);
        ExcelUtil<SvyTaskTemplate> util = new ExcelUtil<SvyTaskTemplate>(SvyTaskTemplate.class);
        util.exportExcel(response, list, "任务问卷模板数据");
    }
    /**
     * èŽ·å–ä»»åŠ¡é—®å·æ¨¡æ¿è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:template:query')")
    @GetMapping(value = "/{svyid}")
    public AjaxResult getInfo(@PathVariable("svyid") Long svyid)
    {
        return success(svyTaskTemplateService.selectSvyTaskTemplateBySvyid(svyid));
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·æ¨¡æ¿
     */
    @PreAuthorize("@ss.hasPermi('system:template:add')")
    @Log(title = "任务问卷模板", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyTaskTemplate svyTaskTemplate)
    {
        return toAjax(svyTaskTemplateService.insertSvyTaskTemplate(svyTaskTemplate));
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    @PreAuthorize("@ss.hasPermi('system:template:edit')")
    @Log(title = "任务问卷模板", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyTaskTemplate svyTaskTemplate)
    {
        return toAjax(svyTaskTemplateService.updateSvyTaskTemplate(svyTaskTemplate));
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    @PreAuthorize("@ss.hasPermi('system:template:remove')")
    @Log(title = "任务问卷模板", businessType = BusinessType.DELETE)
    @DeleteMapping("/{svyids}")
    public AjaxResult remove(@PathVariable Long[] svyids)
    {
        return toAjax(svyTaskTemplateService.deleteSvyTaskTemplateBySvyids(svyids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyTopicController.java
@@ -8,7 +8,8 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyLibTopicRes;
import com.smartor.domain.SvyLibScript;
import com.smartor.domain.SvyLibScriptRes;
import com.smartor.domain.SvyTopic;
import com.smartor.domain.SvyTopicReq;
import com.smartor.service.ISvyTopicService;
@@ -116,7 +117,7 @@
    @ApiOperation("导入题目模板")
    @PostMapping("/importTopicTemplate")
    public void importTopicTemplate(HttpServletResponse response) {
        ExcelUtil<SvyLibTopicRes> util = new ExcelUtil<SvyLibTopicRes>(SvyLibTopicRes.class);
        ExcelUtil<SvyLibScriptRes> util = new ExcelUtil<SvyLibScriptRes>(SvyLibScriptRes.class);
        util.importTemplateExcel(response, "导入题目");
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java
@@ -1,27 +1,16 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.ServiceThirdData;
import com.smartor.domain.SvyLibTopicRes;
import com.smartor.domain.SvyTopic;
import com.smartor.domain.SvyTopicReq;
import com.smartor.service.IServiceThirdDataService;
import com.smartor.service.ISvyTopicService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RedisConfiguration.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.ruoyi.web.core.config;
import com.ruoyi.web.component.RedisMqReceiver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
@Configuration
public class RedisConfiguration {
    @Autowired
    private RedisConnectionFactory redisConnectionFactory;
//    ç¬¬ä¸€ä¸ª@Bean是创建一个新的Redis消息监听容器,然后指定Redis连接。第二个@Bean是给我们写的监听类指定一个Redis消息监听容器,即第一个@Bean的内容
    @Bean
    public RedisMessageListenerContainer redisMessageListenerContainer() {
        RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer();
        redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory);
        return redisMessageListenerContainer;
    }
    @Bean
    public RedisMqReceiver keyExpiredListener() {
        return new RedisMqReceiver(this.redisMessageListenerContainer());
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/task/PhoneTask.java
@@ -7,16 +7,12 @@
import com.ruoyi.common.utils.uuid.IdUtils;
import com.smartor.common.SendService;
import com.smartor.config.PhoneUtils;
import com.smartor.config.RabbitMqCallPhoneConfig;
import com.smartor.config.RobotPhoneUtils;
import com.smartor.domain.*;
import com.smartor.domain.robot.RobotData;
import com.smartor.domain.robot.RobotDataConfig;
import com.smartor.domain.robot.RobotIdlenumVO;
import com.smartor.domain.robot.RobotScritpTemplateVO;
import org.springframework.amqp.core.Message;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -26,20 +22,16 @@
    private List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVO;
    private RedisCache redisCache;
    private IvrTaskTemplateVO ivrTaskTemplateVO;
    private RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
    private Message message;
    private SendService sendService;
    private String phonePath;
    private RobotPhoneUtils robotPhoneUtils;
    public PhoneTask(IvrTaskSingle ivrTaskSingle, IvrTaskTemplateVO ivrTaskTemplateVO, RedisCache redisCache, RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig, Message message, SendService sendService, String phonePath, RobotPhoneUtils robotPhoneUtils) {
    public PhoneTask(IvrTaskSingle ivrTaskSingle, IvrTaskTemplateVO ivrTaskTemplateVO, RedisCache redisCache, SendService sendService, String phonePath, RobotPhoneUtils robotPhoneUtils) {
        this.ivrTaskSingle = DtoConversionUtils.sourceToTarget(ivrTaskSingle, IvrTaskSingle.class);
        this.ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList(), IvrTaskTemplateScriptVO.class);
        this.ivrTaskTemplateVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplateVO.class);
        this.redisCache = redisCache;
        this.rabbitMqCallPhoneConfig = rabbitMqCallPhoneConfig;
        this.message = message;
        this.sendService = sendService;
        this.phonePath = phonePath;
        this.robotPhoneUtils = robotPhoneUtils;
@@ -105,7 +97,7 @@
                Map<String, String> obMap = objectMapper.readValue(ob, Map.class);
                Thread.sleep(1000);
                redisCache.setCacheObject(uuid + "state_id", "0", 10, TimeUnit.MINUTES);
                rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.ob1", data, 0L);
//                rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.ob1", data, 0L);
//这里先注释,state_id,电话那边,只能返回6,不能返回0,还需要电话那边进行修改,那边修改之后,上面两行可删除,将下面的解开注释
//            if (obMap.get("state_id").equals("0")) {
//                // è¯´æ˜Žæ‰“通了
ruoyi-admin/src/main/resources/application-druid.yml
@@ -1,19 +1,5 @@
# æ•°æ®æºé…ç½®
spring:
  rabbitmq:
    #    host: 116.62.18.175
    host: 192.168.2.8
    password: guest
    port: 5672
    username: guest
    virtual-host: /
    # å¼€å¯æ¶ˆæ¯å‘送确认
    publisher-confirms: true
    publisher-returns: true
    listener:
      simple:
        acknowledge-mode: manual
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #    driverClassName: com.mysql.cj.jdbc.Driver
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
@@ -6,6 +6,7 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.HashOperations;
@@ -20,8 +21,7 @@
 **/
@SuppressWarnings(value = { "unchecked", "rawtypes" })
@Component
public class RedisCache
{
public class RedisCache {
    @Autowired
    public RedisTemplate redisTemplate;
@@ -31,8 +31,7 @@
     * @param key ç¼“存的键值
     * @param value ç¼“存的值
     */
    public <T> void setCacheObject(final String key, final T value)
    {
    public <T> void setCacheObject(final String key, final T value) {
        redisTemplate.opsForValue().set(key, value);
    }
@@ -44,8 +43,7 @@
     * @param timeout æ—¶é—´
     * @param timeUnit æ—¶é—´é¢—粒度
     */
    public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
    {
    public <T> void setCacheObject(final String key, final T value, final long timeout, final TimeUnit timeUnit) {
        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
    }
@@ -56,8 +54,7 @@
     * @param timeout è¶…æ—¶æ—¶é—´
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout)
    {
    public boolean expire(final String key, final long timeout) {
        return expire(key, timeout, TimeUnit.SECONDS);
    }
@@ -69,8 +66,7 @@
     * @param unit æ—¶é—´å•位
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout, final TimeUnit unit)
    {
    public boolean expire(final String key, final long timeout, final TimeUnit unit) {
        return redisTemplate.expire(key, timeout, unit);
    }
@@ -80,8 +76,7 @@
     * @param key Redis键
     * @return æœ‰æ•ˆæ—¶é—´
     */
    public long getExpire(final String key)
    {
    public long getExpire(final String key) {
        return redisTemplate.getExpire(key);
    }
@@ -91,8 +86,7 @@
     * @param key é”®
     * @return true å­˜åœ¨ false不存在
     */
    public Boolean hasKey(String key)
    {
    public Boolean hasKey(String key) {
        return redisTemplate.hasKey(key);
    }
@@ -102,8 +96,7 @@
     * @param key ç¼“存键值
     * @return ç¼“存键值对应的数据
     */
    public <T> T getCacheObject(final String key)
    {
    public <T> T getCacheObject(final String key) {
        ValueOperations<String, T> operation = redisTemplate.opsForValue();
        return operation.get(key);
    }
@@ -113,8 +106,7 @@
     *
     * @param key
     */
    public boolean deleteObject(final String key)
    {
    public boolean deleteObject(final String key) {
        return redisTemplate.delete(key);
    }
@@ -124,8 +116,7 @@
     * @param collection å¤šä¸ªå¯¹è±¡
     * @return
     */
    public boolean deleteObject(final Collection collection)
    {
    public boolean deleteObject(final Collection collection) {
        return redisTemplate.delete(collection) > 0;
    }
@@ -136,8 +127,7 @@
     * @param dataList å¾…缓存的List数据
     * @return ç¼“存的对象
     */
    public <T> long setCacheList(final String key, final List<T> dataList)
    {
    public <T> long setCacheList(final String key, final List<T> dataList) {
        Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
        return count == null ? 0 : count;
    }
@@ -148,8 +138,7 @@
     * @param key ç¼“存的键值
     * @return ç¼“存键值对应的数据
     */
    public <T> List<T> getCacheList(final String key)
    {
    public <T> List<T> getCacheList(final String key) {
        return redisTemplate.opsForList().range(key, 0, -1);
    }
@@ -160,12 +149,10 @@
     * @param dataSet ç¼“存的数据
     * @return ç¼“存数据的对象
     */
    public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet)
    {
    public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) {
        BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
        Iterator<T> it = dataSet.iterator();
        while (it.hasNext())
        {
        while (it.hasNext()) {
            setOperation.add(it.next());
        }
        return setOperation;
@@ -177,8 +164,7 @@
     * @param key
     * @return
     */
    public <T> Set<T> getCacheSet(final String key)
    {
    public <T> Set<T> getCacheSet(final String key) {
        return redisTemplate.opsForSet().members(key);
    }
@@ -188,8 +174,7 @@
     * @param key
     * @param dataMap
     */
    public <T> void setCacheMap(final String key, final Map<String, T> dataMap)
    {
    public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
        if (dataMap != null) {
            redisTemplate.opsForHash().putAll(key, dataMap);
        }
@@ -201,8 +186,7 @@
     * @param key
     * @return
     */
    public <T> Map<String, T> getCacheMap(final String key)
    {
    public <T> Map<String, T> getCacheMap(final String key) {
        return redisTemplate.opsForHash().entries(key);
    }
@@ -213,8 +197,7 @@
     * @param hKey Hash键
     * @param value å€¼
     */
    public <T> void setCacheMapValue(final String key, final String hKey, final T value)
    {
    public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
        redisTemplate.opsForHash().put(key, hKey, value);
    }
@@ -225,8 +208,7 @@
     * @param hKey Hash键
     * @return Hash中的对象
     */
    public <T> T getCacheMapValue(final String key, final String hKey)
    {
    public <T> T getCacheMapValue(final String key, final String hKey) {
        HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
        return opsForHash.get(key, hKey);
    }
@@ -238,8 +220,7 @@
     * @param hKeys Hash键集合
     * @return Hash对象集合
     */
    public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys)
    {
    public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
        return redisTemplate.opsForHash().multiGet(key, hKeys);
    }
@@ -250,8 +231,7 @@
     * @param hKey Hash键
     * @return æ˜¯å¦æˆåŠŸ
     */
    public boolean deleteCacheMapValue(final String key, final String hKey)
    {
    public boolean deleteCacheMapValue(final String key, final String hKey) {
        return redisTemplate.opsForHash().delete(key, hKey) > 0;
    }
@@ -261,8 +241,7 @@
     * @param pattern å­—符串前缀
     * @return å¯¹è±¡åˆ—表
     */
    public Collection<String> keys(final String pattern)
    {
    public Collection<String> keys(final String pattern) {
        return redisTemplate.keys(pattern);
    }
}
smartor/src/main/java/com/smartor/common/SendService.java
smartor/src/main/java/com/smartor/config/RabbitMQAckConfig.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/config/RabbitMqCallPhoneConfig.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/config/RabbitMqConfig.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/domain/IvrLibaScriptTarget.java
@@ -158,4 +158,34 @@
     */
    @ApiModelProperty(value = "是否存在操作:1 æ–°å¢ž 2修改 3删除")
    private Integer isoperation;
    /**
     * é€‰é¡¹æè¿°
     */
    @ApiModelProperty(value = "选项描述")
    private String optiondesc;
    /**
     * é¢„警标识
     */
    @ApiModelProperty(value = "预警标识")
    private Long isabnormal;
    /**
     * é¢„警阀值上限,针对数值型指标类型
     */
    @ApiModelProperty(value = "预警阀值上限,针对数值型指标类型")
    private Long warnup;
    /**
     * é¢„警阀值上限,针对数值型指标类型
     */
    @ApiModelProperty(value = "预警阀值下限,针对数值型指标类型")
    private Long warndown;
    /**
     * é€‰é¡¹å›¾ç‰‡è·¯å¾„
     */
    @ApiModelProperty(value = "选项图片路径")
    private String picturePath;
}
smartor/src/main/java/com/smartor/domain/IvrLibaTargetVO.java
@@ -1,5 +1,6 @@
package com.smartor.domain;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
@@ -170,6 +171,11 @@
    @Excel(name = "适用方式")
    @ApiModelProperty(value = "适用方式")
    private String suitWay;
    @Excel(name = "适用方式(多选)")
    @ApiModelProperty(value = "适用方式(多选)")
    private List<String> suitWayList;
    /**
     * pageNum
     */
smartor/src/main/java/com/smartor/domain/IvrTask.java
@@ -248,7 +248,7 @@
     * å‘送类型: 1指定时间发送 2即刻发送
     */
    @Excel(name = " å‘送类型: 1指定时间发送 2即刻发送 ")
    @ApiModelProperty(value = "发送类型: 1指定时间发送 2即刻发送 ")
    @ApiModelProperty(value = "发送类型: 1指定时间发送 2即刻发送 3时间点")
    private Long sendType;
    /**
smartor/src/main/java/com/smartor/domain/SendTaskVO.java
@@ -16,7 +16,7 @@
    @ApiModelProperty(value = "任务ID")
    private Long taskId;
    @ApiModelProperty(value = "发送类型: 1 æ—¶é—´æ®µ   2 å³åˆ»å‘送")
    @ApiModelProperty(value = "发送类型: 1 æ—¶é—´æ®µ   2 å³åˆ»å‘送 3 æ—¶é—´ç‚¹")
    private String sendType;
    /**
smartor/src/main/java/com/smartor/domain/SvyLibScript.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTopic.java ÐÞ¸Ä
@@ -4,31 +4,28 @@
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * é—®å·é¢˜ç›®å¯¹è±¡ svy_lib_topic
 * é—®å·é¢˜ç›®å¯¹è±¡ svy_lib_script
 *
 * @author ruoyi
 * @date 2023-03-03
 */
@Data
@ApiModel(value = "SvyLibTopic", description = "问卷题目对象")
public class SvyLibTopic extends BaseEntity {
@ApiModel(value = "SvyLibScript", description = "问卷题目对象")
public class SvyLibScript extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * è‡ªå¢žID
     */
    @ApiModelProperty("自增ID")
    private Long topicid;
    private Long id;
    /**
     * è€ç‰ˆæœ¬ID
@@ -54,20 +51,20 @@
     */
    @Excel(name = " é¢˜ç›®ç±»åž‹;枚举 1.单选 2多选 3填空 ")
    @ApiModelProperty("题目类型;枚举 1.单选 2多选 3填空")
    private String topictype = "";
    private String scripttype = "";
    /**
     * é¢˜ç›®Code
     */
    @ApiModelProperty("题目Code")
    private String topiccode;
    private String scriptcode;
    /**
     * é¢˜ç›®
     */
    @Excel(name = " é¢˜ç›® ")
    @ApiModelProperty("题目")
    private String topic;
    private String script;
    /**
     * æŽ’序
@@ -122,16 +119,16 @@
    /**
     * svy_topic题目表的主键ID
     * svy_script题目表的主键ID
     */
    @ApiModelProperty("题目表的主键ID")
    private Long svyTopicId;
    private Long svyscriptId;
    /**
     * é¢˜ç›®å†…容
     */
    @ApiModelProperty("题目内容")
    private String topicContent;
    private String scriptContent;
    /**
     * é€‚用方式:调查表1,智能语音2、人工3
@@ -164,7 +161,7 @@
    private Integer isoperation;
    @ApiModelProperty("问题选项")
    private List<SvyLibTopicoption> svyLibTopicoptions = new ArrayList<>();
    private List<SvyLibScriptOption> svyLibScriptOptions = new ArrayList<>();
    /**
     * å€¼ç±»åž‹ï¼ˆ1 é€‰é¡¹  2 æ–‡æœ¬  3 æ•°å€¼ï¼‰
smartor/src/main/java/com/smartor/domain/SvyLibScriptCategory.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTopicCategory.java ÐÞ¸Ä
@@ -15,8 +15,8 @@
 * @date 2023-12-27
 */
@Data
@ApiModel(value = "SvyLibTopicCategory", description = "问卷题目分类对象")
public class SvyLibTopicCategory extends BaseEntity {
@ApiModel(value = "SvyLibScriptCategory", description = "问卷题目分类对象")
public class SvyLibScriptCategory extends BaseEntity {
    private static final long serialVersionUID = 1L;
smartor/src/main/java/com/smartor/domain/SvyLibScriptCategoryVO.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTopicCategoryVO.java ÐÞ¸Ä
@@ -16,8 +16,8 @@
 * @date 2023-12-27
 */
@Data
@ApiModel(value = "SvyLibTopicCategoryVO", description = "问卷题目分类对象")
public class SvyLibTopicCategoryVO extends BaseEntity {
@ApiModel(value = "SvyLibScriptCategoryVO", description = "问卷题目分类对象")
public class SvyLibScriptCategoryVO extends BaseEntity {
    private static final long serialVersionUID = 1L;
@@ -72,6 +72,6 @@
     * å­å¯¹è±¡
     */
    @ApiModelProperty("子对象集")
    private List<SvyLibTopicCategory> svyLibTopicCategoryList = new ArrayList<>();
    private List<SvyLibScriptCategory> svyLibScriptCategoryList = new ArrayList<>();
}
smartor/src/main/java/com/smartor/domain/SvyLibScriptOption.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java ÐÞ¸Ä
@@ -6,8 +6,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
@@ -18,8 +16,8 @@
 * @date 2023-03-02
 */
@Data
@ApiModel(value = "SvyLibTopicoption", description = "问卷问题选项对象")
public class SvyLibTopicoption extends BaseEntity {
@ApiModel(value = "SvyLibScriptOption", description = "问卷问题选项对象")
public class SvyLibScriptOption extends BaseEntity {
    /**
     * è‡ªå¢žID
smartor/src/main/java/com/smartor/domain/SvyLibScriptRes.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTopicRes.java ÐÞ¸Ä
@@ -13,8 +13,8 @@
 * @date 2023-03-03
 */
@Data
@ApiModel(value = "SvyLibTopicRes", description = "问卷题目返参")
public class SvyLibTopicRes extends BaseEntity {
@ApiModel(value = "SvyLibScriptRes", description = "问卷题目返参")
public class SvyLibScriptRes extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
smartor/src/main/java/com/smartor/domain/SvyLibTemplate.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTitle.java ÐÞ¸Ä
@@ -9,20 +9,18 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * é—®å·å¯¹è±¡ svy_lib_title
 * é—®å·å¯¹è±¡ svy_lib_Template
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Data
@ApiModel(value = "SvyLibTitle", description = "问卷对象")
public class SvyLibTitle extends BaseEntity {
@ApiModel(value = "SvyLibTemplate", description = "问卷对象")
public class SvyLibTemplate extends BaseEntity {
    /**
     * è‡ªå¢žID
@@ -159,7 +157,7 @@
     * é—®å·é¢˜ç›®é›†åˆ
     */
    @ApiModelProperty(value = "问卷题目集合")
    private List<SvyLibTopic> svyLibTopics;
    private List<SvyLibScript> svyLibTopics;
    /**
     * æ¨¡æ¿ç§‘室关联集合
@@ -219,10 +217,10 @@
    private String reply;
    public SvyLibTitle() {
    public SvyLibTemplate() {
    }
    public SvyLibTitle(Long svyid, String icdname) {
    public SvyLibTemplate(Long svyid, String icdname) {
        this.svyid = svyid;
        this.icdname = icdname;
    }
smartor/src/main/java/com/smartor/domain/SvyLibTemplateCategory.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTitleCategory.java ÐÞ¸Ä
@@ -9,14 +9,14 @@
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»å¯¹è±¡ svy_lib_title_category
 * é—®å·æ¨¡æ¿åˆ†ç±»å¯¹è±¡ svy_lib_Template_category
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Data
@ApiModel(value = "SvyLibTitleCategory", description = "问卷模板分类对象")
public class SvyLibTitleCategory extends BaseEntity {
@ApiModel(value = "SvyLibTemplateCategory", description = "问卷模板分类对象")
public class SvyLibTemplateCategory extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
smartor/src/main/java/com/smartor/domain/SvyLibTemplateCategoryVO.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTitleCategoryVO.java ÐÞ¸Ä
@@ -10,14 +10,14 @@
import java.util.List;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»å¯¹è±¡ svy_lib_title_category
 * é—®å·æ¨¡æ¿åˆ†ç±»å¯¹è±¡ svy_lib_Template_category
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Data
@ApiModel(value = "SvyLibTitleCategory", description = "问卷模板分类对象")
public class SvyLibTitleCategoryVO extends BaseEntity {
@ApiModel(value = "SvyLibTemplateCategory", description = "问卷模板分类对象")
public class SvyLibTemplateCategoryVO extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
@@ -61,5 +61,5 @@
    private Long orgid;
    @ApiModelProperty(value = "树的子对象集合")
    private List<SvyLibTitleCategory> svyLibTitleCategoryList = new ArrayList<>();
    private List<SvyLibTemplateCategory> svyLibTemplateCategoryList = new ArrayList<>();
}
smartor/src/main/java/com/smartor/domain/SvyLibTemplateReq.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/domain/SvyLibTitleReq.java ÐÞ¸Ä
@@ -13,14 +13,14 @@
import java.util.Date;
/**
 * é—®å·è¯·æ±‚ svy_lib_title
 * é—®å·è¯·æ±‚ svy_lib_Template
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Data
@ApiModel(value = "SvyLibTitleReq", description = "问卷请求")
public class SvyLibTitleReq {
@ApiModel(value = "SvyLibTemplateReq", description = "问卷请求")
public class SvyLibTemplateReq {
    /**
     * é—®å·åˆ†ç±»ID
smartor/src/main/java/com/smartor/domain/SvyTask.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,256 @@
package com.smartor.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰å¯¹è±¡ svy_task
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Data
public class SvyTask extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     *
     */
    @ApiModelProperty(value = "任务ID")
    private Long taskid;
    /**
     * æ‚£è€…服务任务id
     */
    @Excel(name = "患者服务任务id")
    @ApiModelProperty(value = "患者服务任务id")
    private Long svrtaskid;
    /**
     *
     */
    @Excel(name = "  ")
    @ApiModelProperty(value = "任务名称")
    private String taskname;
    /**
     * æ¨¡æ¿ID
     */
    @Excel(name = "  æ¨¡æ¿ID")
    @ApiModelProperty(value = "模板ID")
    private String templateid;
    /**
     * æ¨¡æ¿åç§°
     */
    @Excel(name = "  æ¨¡æ¿åç§°")
    @ApiModelProperty(value = "模板名称")
    private String templatename;
    /**
     * æ ‡ç­¾ä¿¡æ¯
     */
    @Excel(name = "  æ ‡ç­¾ä¿¡æ¯")
    @ApiModelProperty(value = "标签信息")
    private String labelinfo;
    /**
     * çŠ¶æ€
     */
    @Excel(name = "  çŠ¶æ€")
    @ApiModelProperty(value = "状态")
    private Long state;
    /**
     * æ•°é‡
     */
    @Excel(name = "  æ•°é‡")
    @ApiModelProperty(value = "数量")
    private Long count;
    /**
     * æ‰§è¡Œ
     */
    @Excel(name = "  æ‰§è¡Œ")
    @ApiModelProperty(value = "执行")
    private Long executed;
    /**
     * ä¸æ‰§è¡Œ
     */
    @Excel(name = "  ä¸æ‰§è¡Œ")
    @ApiModelProperty(value = "不执行")
    private Long unexecuted;
    /**
     * æ˜¯å¦å¤±è´¥
     */
    @Excel(name = "  æ˜¯å¦å¤±è´¥")
    @ApiModelProperty(value = "是否失败")
    private Long fail;
    /**
     * æ‚£è€…ID
     */
    @Excel(name = "  æ‚£è€…ID")
    @ApiModelProperty(value = "患者ID")
    private String patientid;
    /**
     * æ‚£è€…名称
     */
    @Excel(name = "  æ‚£è€…名称")
    @ApiModelProperty(value = "患者名称")
    private String patientname;
    /**
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "  ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "新增时间")
    private Date addtime;
    /**
     * å®¡æ ¸äººid
     */
    @Excel(name = "  å®¡æ ¸äººid")
    @ApiModelProperty(value = "审核人id")
    private String checkuserid;
    /**
     * å®¡æ ¸äºº
     */
    @Excel(name = "  å®¡æ ¸äºº")
    @ApiModelProperty(value = "审核人")
    private String checkusername;
    /**
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "  ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date checktime;
    /**
     * 1,出院随访;2,体检通知;3,满意度调查;4,宣教;
     */
    @Excel(name = " 1,出院随访;2,体检通知;3,满意度调查;4,宣教; ")
    @ApiModelProperty(value = "出院随访;2,体检通知;3,满意度调查;4,宣教;")
    private String type;
    /**
     * ç±»åž‹åç§°
     */
    @Excel(name = "  ç±»åž‹åç§°")
    @ApiModelProperty(value = "类型名称")
    private String typename;
    /**
     * 0.不使用播前短信 1.使用播前短信
     */
    @Excel(name = " 0.不使用播前短信 1.使用播前短信 ")
    @ApiModelProperty(value = "0.不使用播前短信 1.使用播前短信")
    private Long usebqsms;
    /**
     * 0.不使用播后短信 1.使用播前短信
     */
    @Excel(name = " 0.不使用播后短信 1.使用播前短信 ")
    @ApiModelProperty(value = " 0.不使用播后短信 1.使用播前短信")
    private Long usebhsms;
    /**
     *
     */
    @Excel(name = "  ")
    @ApiModelProperty(value = "")
    private Long usesendsms;
    /**
     * éƒ¨é—¨code
     */
    @Excel(name = "  éƒ¨é—¨code")
    @ApiModelProperty(value = "部门code")
    private String deptcode;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @ApiModelProperty(value = "删除标记")
    private String delFlag;
    /**
     * ä¸Šä¼ æ ‡è®°
     */
    @Excel(name = " ä¸Šä¼ æ ‡è®° ")
    @ApiModelProperty(value = "上传标记")
    private Long isupload;
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " ä¸Šä¼ æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上传时间")
    private Date uploadTime;
    /**
     * æœºæž„ID
     */
    @Excel(name = " æœºæž„ID ")
    @ApiModelProperty(value = "机构ID")
    private String orgid;
    /**
     * çˆ¶ID
     */
    @Excel(name = "父ID")
    @ApiModelProperty(value = "父ID")
    private Long pid;
    /**
     * GUID
     */
    @Excel(name = "GUID")
    @ApiModelProperty(value = "GUID")
    private String guid;
    /**
     * ä»»åŠ¡å½¢å¼ 1,多媒体   2,纸质  3,电话  4,短信  5.微信公众号 6.微信小程序  7.支付宝  8.智能小程序  9.钉钉
     */
    @Excel(name = " ä»»åŠ¡å½¢å¼ 1,多媒体   2,纸质  3,电话  4,短信  5.微信公众号 6.微信小程序  7.支付宝  8.智能小程序  9.钉钉")
    @ApiModelProperty(value = "任务形式 1,多媒体   2,纸质  3,电话  4,短信  5.微信公众号 6.微信小程序  7.支付宝  8.智能小程序  9.钉钉")
    private String preachform;
    /**
     * æ˜¯å¦å‘送 ï¼š 0 æš‚停发送  1 å®šæ—¶å‘送  2 ç«‹å³å‘送
     */
    @Excel(name = "是否发送 ï¼š 0 æš‚停发送  1 å®šæ—¶å‘送  2 ç«‹å³å‘送  ")
    @ApiModelProperty(value = "是否发送 ï¼š 0 æš‚停发送  1 å®šæ—¶å‘送  2 ç«‹å³å‘送")
    private Long isSend;
    /**
     * å‘送状态:  0  å¤±è´¥   1成功
     */
    @Excel(name = "发送状态:  0  å¤±è´¥   1成功")
    @ApiModelProperty(value = "发送状态:  0  å¤±è´¥   1成功")
    private String sendState;
    /**
     * æ–‡æœ¬å˜é‡å‚æ•°
     */
    @Excel(name = "文本变量参数")
    @ApiModelProperty(value = "文本变量参数")
    private String param;
}
smartor/src/main/java/com/smartor/domain/SvyTaskScript.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,183 @@
package com.smartor.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ä»»åŠ¡é—®å·é¢˜ç›®å¯¹è±¡ svy_task_script
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Data
public class SvyTaskScript extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * è‡ªå¢žID
     */
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * é¢˜ç›®ç±»åž‹;枚举 1.单选 2多选 3填空
     */
    @Excel(name = " é¢˜ç›®ç±»åž‹;枚举 1.单选 2多选 3填空 ")
    @ApiModelProperty(value = "题目类型;枚举 1.单选 2多选 3填空")
    private Long scriptType;
    /**
     * é¢˜ç›®Code
     */
    @Excel(name = " é¢˜ç›®Code ")
    @ApiModelProperty(value = "题目Code")
    private String scriptCode;
    /**
     * é¢˜ç›®æ–‡æœ¬
     */
    @Excel(name = " é¢˜ç›®æ–‡æœ¬")
    @ApiModelProperty(value = "题目文本")
    private String script;
    /**
     * é¢˜ç›®æ ‡ç­¾
     */
    @Excel(name = "题目标签")
    @ApiModelProperty(value = "题目标签")
    private String tag;
    /**
     * é¢˜ç›®åºå·
     */
    @Excel(name = " é¢˜ç›®åºå·")
    @ApiModelProperty(value = "题目序号")
    private Long sort;
    /**
     * æ˜¯å¦å¿…å¡«
     */
    @Excel(name = " æ˜¯å¦å¿…å¡« ")
    @ApiModelProperty(value = "是否必填")
    private Long ismandatory;
    /**
     * æ˜¯å¦éšè—
     */
    @Excel(name = " æ˜¯å¦éšè— ")
    @ApiModelProperty(value = "是否隐藏")
    private Long ishide;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @ApiModelProperty(value = "删除标记")
    private String delFlag;
    /**
     * æœºæž„ID
     */
    @Excel(name = " æœºæž„ID ")
    @ApiModelProperty(value = "机构ID")
    private String orgid;
    /**
     * ä¸Šä¼ æ ‡è®°
     */
    @Excel(name = " ä¸Šä¼ æ ‡è®° ")
    @ApiModelProperty(value = "上传标记")
    private Long isupload;
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " ä¸Šä¼ æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上传时间")
    private Date uploadTime;
    /**
     * ç­”案
     */
    @Excel(name = "答案")
    @ApiModelProperty(value = "答案")
    private String answer;
    /**
     * çˆ¶ID
     */
    @Excel(name = "父ID")
    @ApiModelProperty(value = "父ID")
    private Long pid;
    /**
     * GUID
     */
    @Excel(name = "GUID")
    @ApiModelProperty(value = "GUID")
    private String guid;
    /**
     * ä»»åŠ¡id
     */
    @Excel(name = "任务id")
    @ApiModelProperty(value = "任务id")
    private Long taskid;
    /**
     * é€‰é¡¹æè¿°
     */
    @Excel(name = "选项描述")
    @ApiModelProperty(value = "选项描述")
    private String optiondesc;
    /**
     * ä¸‹ä¸€ä¸ªé¢˜ç›®ID
     */
    @Excel(name = "下一个题目ID")
    @ApiModelProperty(value = "下一个题目ID")
    private Long nexttopicid;
    /**
     * ä¸‹ä¸€ä¸ªé¢˜ç›®åºå·
     */
    @Excel(name = "下一个题目序号")
    @ApiModelProperty(value = "下一个题目序号")
    private Long nexttopicsort;
    /**
     * åˆ†å€¼ç±»åž‹ï¼š1:数字,2:等级
     */
    @Excel(name = "分值类型:1:数字,2:等级")
    @ApiModelProperty(value = "分值类型:1:数字,2:等级")
    private String scoretype;
    /**
     * é¢˜ç›®åˆ†å€¼ï¼šæ•°å­—1,2等;字母A、B,C,D等;
     */
    @Excel(name = "题目分值:数字1,2等;字母A、B,C,D等;")
    @ApiModelProperty(value = " é¢˜ç›®åˆ†å€¼ï¼šæ•°å­—1,2等;字母A、B,C,D等;")
    private String score;
    /**
     * é¢˜ç›®å†…容展示类型:1:文本,2:图,3:语音,4:视频
     */
    @Excel(name = "题目内容展示类型:1:文本,2:图,3:语音,4:视频")
    @ApiModelProperty(value = "题目内容展示类型:1:文本,2:图,3:语音,4:视频")
    private String showtype;
    /**
     * é¢˜ç›®å›¾ç‰‡è·¯å¾„
     */
    @Excel(name = "题目图片路径")
    @ApiModelProperty(value = "题目图片路径")
    private String picturePath;
}
smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,282 @@
package com.smartor.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹å¯¹è±¡ svy_task_scriptoption
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Data
public class SvyTaskScriptoption extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * è‡ªå¢žID
     */
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * é¢˜ç›®ID
     */
    @Excel(name = " é¢˜ç›®ID ")
    @ApiModelProperty(value = "题目ID")
    private Long taskScriptId;
    /**
     * é—®å·ID
     */
    @Excel(name = " é—®å·ID ")
    @ApiModelProperty(value = "问卷ID")
    private Long svyid;
    /**
     * é¢˜ç›®ç±»åž‹
     */
    @Excel(name = " é¢˜ç›®ç±»åž‹ ")
    @ApiModelProperty(value = "题目类型")
    private Long scriptType;
    /**
     * é€‰é¡¹Code
     */
    @Excel(name = " é€‰é¡¹Code ")
    @ApiModelProperty(value = "选项Code")
    private String optioncode;
    /**
     * é€‰é¡¹å†…容
     */
    @Excel(name = " é€‰é¡¹å†…容 ")
    @ApiModelProperty(value = "选项内容")
    private String optioncontent;
    /**
     * é€‰é¡¹æ ‡ç­¾
     */
    @Excel(name = "选项标签")
    @ApiModelProperty(value = "选项标签")
    private String tag;
    /**
     * æ˜¯å¦å­˜åœ¨æ˜Žç»†
     */
    @Excel(name = " æ˜¯å¦å­˜åœ¨æ˜Žç»† ")
    @ApiModelProperty(value = "是否存在明细")
    private Long isexistdetail;
    /**
     * æ˜Žç»†æ˜¯å¦å¿…å¡«
     */
    @Excel(name = " æ˜Žç»†æ˜¯å¦å¿…å¡« ")
    @ApiModelProperty(value = "明细是否必填")
    private Long detailismandatory;
    /**
     * æ˜¯å¦å¼‚常项目
     */
    @Excel(name = " æ˜¯å¦å¼‚常项目 ")
    @ApiModelProperty(value = "是否异常项目")
    private Long isexceptionitem;
    /**
     * æ˜¯å¦è·Ÿè¿›
     */
    @Excel(name = " æ˜¯å¦è·Ÿè¿› ")
    @ApiModelProperty(value = "是否跟进")
    private Long istrack;
    /**
     * æ˜¯å¦å…è®¸é™„加录入
     */
    @Excel(name = "是否允许附加录入")
    @ApiModelProperty(value = "是否允许附加录入")
    private Long withadditional;
    /**
     * åˆ†æ•°
     */
    @Excel(name = " åˆ†æ•° ")
    @ApiModelProperty(value = "分数")
    private Long score;
    /**
     * æç¤º
     */
    @Excel(name = " æç¤º ")
    @ApiModelProperty(value = "提示")
    private String prompt;
    /**
     * è·³è½¬
     */
    @Excel(name = " è·³è½¬ ")
    @ApiModelProperty(value = "跳转")
    private String jump;
    /**
     * çˆ¶é€‰é¡¹ID
     */
    @Excel(name = " çˆ¶é€‰é¡¹ID ")
    @ApiModelProperty(value = "父选项ID")
    private Long parentoptionid;
    /**
     * æ˜¯å¦äº’æ–¥
     */
    @Excel(name = " æ˜¯å¦äº’æ–¥ ")
    @ApiModelProperty(value = "是否互斥")
    private Long ismutex;
    /**
     * éªŒè¯è§„则
     */
    @Excel(name = " éªŒè¯è§„则 ")
    @ApiModelProperty(value = "验证规则")
    private String verifyrule;
    /**
     * æŽ’序
     */
    @Excel(name = " æŽ’序 ")
    @ApiModelProperty(value = "排序")
    private Long sort;
    /**
     * éªŒè¯ç±»åž‹;0.不验证 1.整数 2.小数 3.手机号 4.身份证 5.日期
     */
    @Excel(name = " éªŒè¯ç±»åž‹;0.不验证 1.整数 2.小数 3.手机号 4.身份证 5.日期 ")
    @ApiModelProperty(value = "验证类型;0.不验证 1.整数 2.小数 3.手机号 4.身份证 5.日期")
    private Long verificationtype;
    /**
     * æ˜¯å¦é™åˆ¶èŒƒå›´
     */
    @Excel(name = " æ˜¯å¦é™åˆ¶èŒƒå›´ ")
    @ApiModelProperty(value = "是否限制范围")
    private Long isrange;
    /**
     * æœ€å°èŒƒå›´
     */
    @Excel(name = " æœ€å°èŒƒå›´ ")
    @ApiModelProperty(value = "最小范围")
    private String minrange;
    /**
     * æœ€å¤§èŒƒå›´
     */
    @Excel(name = " æœ€å¤§èŒƒå›´ ")
    @ApiModelProperty(value = "最大范围")
    private String maxrange;
    /**
     * èŒƒå›´é•¿åº¦;用于小数保留位数
     */
    @Excel(name = " èŒƒå›´é•¿åº¦;用于小数保留位数 ")
    @ApiModelProperty(value = "范围长度;用于小数保留位数 ")
    private Long rangelength;
    /**
     * æœºæž„ID
     */
    @Excel(name = " æœºæž„ID ")
    @ApiModelProperty(value = "机构ID")
    private String orgid;
    /**
     * ä¸Šä¸€ç‰ˆæœ¬ID
     */
    @Excel(name = " ä¸Šä¸€ç‰ˆæœ¬ID ")
    @ApiModelProperty(value = "上一版本ID")
    private Long oldid;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @ApiModelProperty(value = "删除标记")
    private String delFlag;
    /**
     * ä¸Šä¼ æ ‡è®°
     */
    @Excel(name = " ä¸Šä¼ æ ‡è®° ")
    @ApiModelProperty(value = "上传标记")
    private Long isupload;
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " ä¸Šä¼ æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上传时间")
    private Date uploadTime;
    /**
     * çˆ¶ID
     */
    @Excel(name = "父ID")
    @ApiModelProperty(value = "父ID")
    private Long pid;
    /**
     * GUID
     */
    @Excel(name = "GUID")
    @ApiModelProperty(value = "GUID")
    private String guid;
    /**
     * ä»»åŠ¡ID
     */
    @Excel(name = "任务ID")
    @ApiModelProperty(value = "任务ID")
    private Long taskid;
    /**
     * ä¸‹ä¸€ä¸ªé¢˜ç›®ID
     */
    @Excel(name = "下一个题目ID")
    @ApiModelProperty(value = "下一个题目ID")
    private Long nexttopicid;
    /**
     * ä¸‹ä¸€ä¸ªé¢˜ç›®åºå·
     */
    @Excel(name = "下一个题目序号")
    @ApiModelProperty(value = "下一个题目序号")
    private Long nexttopicsort;
    /**
     * åˆ†å€¼ç±»åž‹ï¼š1:数字,2:等级
     */
    @Excel(name = "分值类型:1:数字,2:等级")
    @ApiModelProperty(value = "分值类型:1:数字,2:等级")
    private String scoretype;
    /**
     * é¢˜ç›®å†…容展示类型:1:文本,2:图,3:语音,4:视频
     */
    @Excel(name = "题目内容展示类型:1:文本,2:图,3:语音,4:视频")
    @ApiModelProperty(value = "题目内容展示类型:1:文本,2:图,3:语音,4:视频")
    private String showtype;
    /**
     * é¢˜ç›®å›¾ç‰‡è·¯å¾„
     */
    @Excel(name = "题目图片路径")
    @ApiModelProperty(value = "题目图片路径")
    private String picturePath;
}
smartor/src/main/java/com/smartor/domain/SvyTaskSingle.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,447 @@
package com.smartor.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * å•一任务(问卷)对象 svy_task_single
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Data
public class SvyTaskSingle extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * è®°å½•关键值ID
     */
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * å‘送人 ï¼ˆæ‚£è€…)
     */
    @Excel(name = " å‘送人 ", readConverterExp = "患=者")
    @ApiModelProperty(value = "发送人 ï¼ˆæ‚£è€…)")
    private String sendname;
    /**
     * æ‰‹æœºå·
     */
    @Excel(name = " æ‰‹æœºå· ")
    @ApiModelProperty(value = "手机号")
    private String phone;
    /**
     * æ€§åˆ«
     */
    @Excel(name = "  æ€§åˆ«")
    @ApiModelProperty(value = "性别")
    private String sex;
    /**
     * å¹´é¾„
     */
    @Excel(name = " å¹´é¾„ ")
    @ApiModelProperty(value = "年龄")
    private Long age;
    /**
     * èº«ä»½è¯å·
     */
    @Excel(name = " èº«ä»½è¯å· ")
    @ApiModelProperty(value = "身份证号")
    private String sfzh;
    /**
     * åœ°å€
     */
    @Excel(name = " åœ°å€ ")
    @ApiModelProperty(value = "地址")
    private String addr;
    /**
     * å‘送人详情
     */
    @Excel(name = "  å‘送人详情")
    @ApiModelProperty(value = "发送人详情")
    private String senderdetail;
    /**
     * ä»»åŠ¡ç±»åž‹(0通知、1宣教、2门诊、3出院、4复诊、5体检、6问卷、7医技……)
     */
    @Excel(name = "任务类型(0通知、1宣教、2门诊、3出院、4复诊、5体检、6问卷、7医技……)")
    @ApiModelProperty(value = "任务类型(0通知、1宣教、2门诊、3出院、4复诊、5体检、6问卷、7医技……)")
    private String type;
    /**
     * ä»»åŠ¡ID
     */
    @Excel(name = " ä»»åŠ¡ID ")
    @ApiModelProperty(value = "任务ID")
    private Long taskid;
    /**
     * æ¨¡æ¿ID
     */
    @Excel(name = "  æ¨¡æ¿ID")
    @ApiModelProperty(value = "模板ID")
    private String templateid;
    /**
     * æ¨¡æ¿å
     */
    @Excel(name = " æ¨¡æ¿å ")
    @ApiModelProperty(value = "模板名")
    private String templatename;
    /**
     * å‘送日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " å‘送日期 ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "发送日期")
    private Date senddate;
    /**
     * ä¸Šåˆå¼€å§‹å‘送时间限制
     */
    @Excel(name = " ä¸Šåˆå¼€å§‹å‘送时间限制")
    @ApiModelProperty(value = "上午开始发送时间限制")
    private String sendlimitabegin;
    /**
     * ä¸Šåˆç»“束发送时间限制
     */
    @Excel(name = " ä¸Šåˆç»“束发送时间限制")
    @ApiModelProperty(value = "上午结束发送时间限制")
    private String sendlimitaend;
    /**
     * ä¸‹åˆå¼€å§‹å‘送时间限制
     */
    @Excel(name = " ä¸‹åˆå¼€å§‹å‘送时间限制")
    @ApiModelProperty(value = "下午开始发送时间限制")
    private String sendlimitpbegin;
    /**
     * ä¸‹åˆç»“束发送时间限制
     */
    @Excel(name = " ä¸‹åˆç»“束发送时间限制")
    @ApiModelProperty(value = "下午结束发送时间限制")
    private String sendlimitpend;
    /**
     * æ™šä¸Šå¼€å§‹å‘送时间限制
     */
    @Excel(name = " æ™šä¸Šå¼€å§‹å‘送时间限制")
    @ApiModelProperty(value = "晚上开始发送时间限制")
    private String sendlimitnbegin;
    /**
     * æ™šä¸Šç»“束发送时间限制
     */
    @Excel(name = " æ™šä¸Šç»“束发送时间限制")
    @ApiModelProperty(value = "晚上结束发送时间限制")
    private String sendlimitnend;
    /**
     * å‘送状态 ï¼š1 è¢«é¢†å–  2 å¾…发送  3 å·²å‘送
     */
    @Excel(name = " å‘送状态 ï¼š1 è¢«é¢†å–  2 å¾…发送  3 å·²å‘送")
    @ApiModelProperty(value = "发送状态 ï¼š1 è¢«é¢†å–  2 å¾…发送  3 å·²å‘送")
    private Long sendstate;
    /**
     * å‘送UUID
     */
    @Excel(name = " å‘送UUID ")
    @ApiModelProperty(value = "发送UUID")
    private String senduuid;
    /**
     * ç»“æžœ
     */
    @Excel(name = " ç»“æžœ ")
    @ApiModelProperty(value = "结果")
    private String result;
    /**
     * å®Œæˆæ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " å®Œæˆæ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "完成时间")
    private Date finishtime;
    /**
     * ç”¨æˆ·ID
     */
    @Excel(name = " ç”¨æˆ·ID ")
    @ApiModelProperty(value = "用户ID")
    private String userid;
    /**
     * ç”¨æˆ·å
     */
    @Excel(name = " ç”¨æˆ·å ")
    @ApiModelProperty(value = "用户名")
    private String username;
    /**
     *
     */
    @Excel(name = "  ")
    @ApiModelProperty(value = "外呼UUID")
    private String outbounduuid;
    /**
     * å°±è¯Šè®°å½•编号 ï¼ˆå¯¹åº”“患者出院记录主键”、“患者门诊记录主键”)
     */
    @Excel(name = " å°±è¯Šè®°å½•编号 ", readConverterExp = "对=应“患者出院记录主键”、“患者门诊记录主键”")
    @ApiModelProperty(value = "就诊记录编号 ï¼ˆå¯¹åº”“患者出院记录主键”、“患者门诊记录主键”)")
    private Long recordid;
    /**
     * é‡æ‹¨æ€»æ•°
     */
    @Excel(name = " é‡æ‹¨æ€»æ•° ")
    @ApiModelProperty(value = "重拨总数")
    private Long recallcount;
    /**
     * å½“前重拨次数
     */
    @Excel(name = " å½“前重拨次数 ")
    @ApiModelProperty(value = "当前重拨次数")
    private Long exrecallcount;
    /**
     * æ‹‰å–æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " æ‹‰å–æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "拉取时间")
    private Date pulltime;
    /**
     *
     */
    @Excel(name = "  ")
    @ApiModelProperty(value = "")
    private Long bqsms;
    /**
     *
     */
    @Excel(name = "  ")
    @ApiModelProperty(value = "")
    private Long bhsms;
    /**
     * éƒ¨é—¨code
     */
    @Excel(name = "  éƒ¨é—¨code")
    @ApiModelProperty(value = "部门code")
    private String deptcode;
    /**
     * æ ‡ç­¾çŠ¶æ€
     */
    @Excel(name = "  æ ‡ç­¾çŠ¶æ€")
    @ApiModelProperty(value = "标签状态")
    private Long labelstatus;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @ApiModelProperty(value = "删除标记")
    private String delFlag;
    /**
     * ä¸Šä¼ æ ‡è®°
     */
    @Excel(name = " ä¸Šä¼ æ ‡è®° ")
    @ApiModelProperty(value = "上传标记")
    private Long isupload;
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " ä¸Šä¼ æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上传时间")
    private Date uploadTime;
    /**
     * æœºæž„ID
     */
    @Excel(name = " æœºæž„ID ")
    @ApiModelProperty(value = "机构ID")
    private String orgid;
    /**
     * çˆ¶ID
     */
    @Excel(name = "父ID")
    @ApiModelProperty(value = "父ID")
    private Long pid;
    /**
     * GUID
     */
    @Excel(name = "GUID")
    @ApiModelProperty(value = "GUID")
    private String guid;
    /**
     * æ–‡æœ¬å˜é‡å‚æ•°
     */
    @Excel(name = "文本变量参数")
    @ApiModelProperty(value = "文本变量参数")
    private String textParam;
    /**
     * 1,短信、2,线下、3,语音、4,视频、5,纸质  6.链接  7.钉钉   8.微信
     */
    @Excel(name = " 1,短信、2,线下、3,语音、4,视频、5,纸质  6.链接  7.钉钉   8.微信")
    @ApiModelProperty(value = "1,短信、2,线下、3,语音、4,视频、5,纸质  6.链接  7.钉钉   8.微信")
    private String serviceform;
    /**
     * åºŠå·
     */
    @Excel(name = "床号")
    @ApiModelProperty(value = "床号")
    private String badNo;
    /**
     * ç–¾ç—…名称
     */
    @Excel(name = "疾病名称")
    @ApiModelProperty(value = "疾病名称")
    private String icdName;
    /**
     * ç—…历号
     */
    @Excel(name = "病历号")
    @ApiModelProperty(value = "病历号")
    private String medicalRecordNo;
    /**
     * å®£æ•™å†…容
     */
    @Excel(name = "宣教内容")
    @ApiModelProperty(value = "宣教内容")
    private String preachcontent;
    /**
     * å‘送类型: 1 æ—¶é—´æ®µ   2 æ—¶é—´ç‚¹   3 å³åˆ»å‘送
     */
    @Excel(name = "发送类型: 1 æ—¶é—´æ®µ   2 æ—¶é—´ç‚¹   3 å³åˆ»å‘送")
    @ApiModelProperty(value = "发送类型: 1 æ—¶é—´æ®µ   2 æ—¶é—´ç‚¹   3 å³åˆ»å‘送")
    private String sendType;
    /**
     * å‘送时间段
     */
    @Excel(name = "发送时间段")
    @ApiModelProperty(value = "发送时间段")
    private String sendTimeSlot;
    /**
     * ä»»åŠ¡åç§°
     */
    @Excel(name = "任务名称")
    @ApiModelProperty(value = "任务名称")
    private String taskName;
    /**
     * ä»»åŠ¡æè¿°
     */
    @Excel(name = "任务描述")
    @ApiModelProperty(value = "任务描述")
    private String taskDesc;
    /**
     * åˆ›å»ºäºº
     */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private String operator;
    /**
     * åˆ›å»ºäººç¼–号
     */
    @Excel(name = "创建人编号")
    @ApiModelProperty(value = "创建人编号")
    private String operatorNo;
    /**
     * å°±è¯Šç¼–号(对应的outhospno、inhospno)
     */
    @Excel(name = "就诊编号", readConverterExp = "对=应的outhospno、inhospno")
    @ApiModelProperty(value = "就诊编号")
    private String hospno;
    /**
     * å°±è¯Šç±»åž‹ï¼ˆ1门诊  2出院)
     */
    @Excel(name = "就诊类型", readConverterExp = "1=门诊,2=出院")
    @ApiModelProperty(value = "就诊类型(1门诊  2出院)")
    private String hospType;
    /**
     * å¾®ä¿¡
     */
    @Excel(name = "微信")
    @ApiModelProperty(value = "微信")
    private String wechat;
    /**
     * è¯Šæ–­åç§°
     */
    @Excel(name = "诊断名称")
    @ApiModelProperty(value = "诊断名称")
    private String diagname;
    /**
     * ç§‘室名称
     */
    @Excel(name = "科室名称")
    @ApiModelProperty(value = "科室名称")
    private String deptname;
    /**
     * å°±è¯Šæ—¥æœŸ
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "就诊日期")
    private Date admindate;
    /**
     * ç—…房号
     */
    @Excel(name = "病房号")
    @ApiModelProperty(value = "病房号")
    private String roomno;
    /**
     * ç—…床号
     */
    @Excel(name = "病床号")
    @ApiModelProperty(value = "病床号")
    private String bedno;
}
smartor/src/main/java/com/smartor/domain/SvyTaskTemplate.java
copy from smartor/src/main/java/com/smartor/domain/SvyLibTitle.java copy to smartor/src/main/java/com/smartor/domain/SvyTaskTemplate.java
Îļþ´Ó smartor/src/main/java/com/smartor/domain/SvyLibTitle.java ¸´ÖÆ
@@ -1,12 +1,9 @@
package com.smartor.domain;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -15,110 +12,117 @@
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * é—®å·å¯¹è±¡ svy_lib_title
 * ä»»åŠ¡é—®å·æ¨¡æ¿å¯¹è±¡ svy_task_template
 *
 * @author ruoyi
 * @date 2023-03-02
 * @date 2024-06-12
 */
@Data
@ApiModel(value = "SvyLibTitle", description = "问卷对象")
public class SvyLibTitle extends BaseEntity {
public class SvyTaskTemplate extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * è‡ªå¢žID
     */
    @ApiModelProperty(value = "自增ID")
    @ApiModelProperty(value = "主键")
    private Long svyid;
    /**
     * æ¨¡æ¿é—®å·ID
     */
    @Excel(name = " æ¨¡æ¿é—®å·ID ")
    @ApiModelProperty(value = "模板问卷ID")
    private Long templateid;
    /**
     * é—®å·åˆ†ç±»ID
     */
    @ApiModelProperty(value = "问卷分类ID", required = true)
    @Excel(name = " é—®å·åˆ†ç±»ID ")
    @ApiModelProperty(value = "问卷分类ID")
    private Long categoryid;
    /**
     * é—®å·ä»£ç 
     */
    @ApiModelProperty(value = "问卷代码")
    @Excel(name = " é—®å·ä»£ç  ")
    @ApiModelProperty(value = "问卷代码")
    private String svycode;
    /**
     * é—®å·åç§°
     */
    @ApiModelProperty(value = "问卷名称", required = true)
    @Excel(name = " é—®å·åç§° ")
    @ApiModelProperty(value = "问卷名称")
    private String svyname;
    /**
     * æè¿°
     */
    @ApiModelProperty(value = "描述", required = true)
    @Excel(name = " æè¿° ")
    @ApiModelProperty(value = "描述")
    private String description;
    /**
     * é—®å·ä»‹ç»
     */
    @ApiModelProperty(value = "问卷介绍")
    @Excel(name = " é—®å·ä»‹ç» ")
    @ApiModelProperty(value = "问卷介绍")
    private String introduce;
    /**
     * é—®å·æç¤º
     */
    @ApiModelProperty(value = "问卷提示")
    @Excel(name = " é—®å·æç¤º ")
    @ApiModelProperty(value = "问卷提示")
    private String submitprompt;
    /**
     * æ¨¡æ¿ID
     * æ ‡ç­¾
     */
    @ApiModelProperty(value = "模板ID")
    @Excel(name = " æ¨¡æ¿ID ")
    private Long templateid;
    @Excel(name = "标签")
    @ApiModelProperty(value = "标签")
    private String tag;
    /**
     * ç‰ˆæœ¬
     */
    @ApiModelProperty(value = "版本")
    @Excel(name = " ç‰ˆæœ¬ ")
    @ApiModelProperty(value = "版本")
    private BigDecimal version;
    /**
     * ä¸­å¿ƒåº“代码
     */
    @ApiModelProperty(value = "中心库代码")
    @Excel(name = " ä¸­å¿ƒåº“代码 ")
    @ApiModelProperty(value = "中心库代码")
    private String centerlibrarycode;
    /**
     * ä¸­å¿ƒåº“ID
     */
    @ApiModelProperty(value = "中心库ID")
    @Excel(name = " ä¸­å¿ƒåº“ID ")
    @ApiModelProperty(value = "中心库ID")
    private Long centerlibraryid;
    /**
     * æ˜¯å¦æœ¬åœ°
     */
    @ApiModelProperty(value = "是否本地")
    @Excel(name = " æ˜¯å¦æœ¬åœ° ")
    @ApiModelProperty(value = "是否本地")
    private Long islocal;
    /**
     * æ˜¯å¦å¯ç”¨
     */
    @ApiModelProperty(value = "是否启用")
    @Excel(name = " æ˜¯å¦å¯ç”¨ ")
    private String isenable = "0";
    @ApiModelProperty(value = "是否启用")
    private String isenable;
    /**
     * æœºæž„ID
     */
    @ApiModelProperty(value = "机构ID")
    @Excel(name = " æœºæž„ID ")
    @ApiModelProperty(value = "机构ID")
    private String orgid;
    /**
@@ -130,100 +134,94 @@
    /**
     * ä¸Šä¼ æ ‡è®°
     */
    @ApiModelProperty(value = "上传标记")
    @Excel(name = " ä¸Šä¼ æ ‡è®° ")
    @ApiModelProperty(value = "上传标记")
    private Long isupload;
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @ApiModelProperty(value = "上传时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " ä¸Šä¼ æ—¶é—´ ", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上传时间")
    private Date uploadTime;
    /**
     * ç–¾ç—…名称
     * é—®é¢˜id
     */
    @ApiModelProperty(value = "疾病名称")
    private String icdname;
    @Excel(name = "问题id")
    @ApiModelProperty(value = "问题id")
    private String taskScriptId;
    /**
     * ç–¾ç—…ID
     * çˆ¶ID
     */
    @ApiModelProperty(value = "疾病ID")
    private List<String> icdID;
    @Excel(name = "父ID")
    @ApiModelProperty(value = "父ID")
    private Long pid;
    /**
     * é—®å·é¢˜ç›®é›†åˆ
     * GUID
     */
    @ApiModelProperty(value = "问卷题目集合")
    private List<SvyLibTopic> svyLibTopics;
    @Excel(name = "GUID")
    @ApiModelProperty(value = "GUID")
    private String guid;
    /**
     * æ¨¡æ¿ç§‘室关联集合
     */
    @ApiModelProperty(value = "模板科室关联集合")
    private List<TempDetpRelevance> tempDetpRelevances = new ArrayList<>();
    /**
     * æ˜¯å¦å­˜åœ¨æ“ä½œï¼š1 æ–°å¢ž 2修改 3删除
     */
    @ApiModelProperty(value = "是否存在操作:1 æ–°å¢ž 2修改 3删除")
    private Integer isoperation;
    /**
     * ç§‘室名称
     */
    @Excel(name = "科室名称")
    @ApiModelProperty("科室名称")
    private String deptNames = "";
    @ApiModelProperty(value = "科室名称")
    private String deptNames;
    /**
     * æ ‡ç­¾ä¿¡æ¯
     */
    @Excel(name = "标签信息")
    @ApiModelProperty("标签信息")
    private String labelInfo = "";
    @ApiModelProperty(value = "标签信息")
    private String labelInfo;
    /**
     * é™¢åŒº
     */
    @Excel(name = "院区")
    @ApiModelProperty("院区")
    private String campus = "";
    @ApiModelProperty(value = "院区")
    private String campus;
    /**
     * é€‚用方式:调查表1,智能语音2、人工3
     */
    @Excel(name = "院适用方式:调查表1,智能语音2、人工3区")
    @ApiModelProperty("适用方式:调查表1,智能语音2、人工3")
    private String suitway = "";
    @Excel(name = "适用方式:调查表1,智能语音2、人工3")
    @ApiModelProperty(value = "适用方式:调查表1,智能语音2、人工3")
    private String suitway;
    /**
     * å…¶å®ƒæ•°æ®ï¼ˆå­˜å‚¨å˜é‡ï¼‰
     */
    @ApiModelProperty("其它数据(存储变量)")
    private String otherdata = "";
    @Excel(name = "其它数据", readConverterExp = "存=储变量")
    @ApiModelProperty(value = "其它数据(存储变量)")
    private String otherdata;
    /**
     * å€¼ç±»åž‹ï¼ˆ1 é€‰é¡¹  2 æ–‡æœ¬  3 æ•°å€¼ï¼‰
     */
    @Excel(name = "值类型", readConverterExp = "1=,选=项,2=,文=本,3=,数=值")
    @ApiModelProperty(value = "值类型(1 é€‰é¡¹  2 æ–‡æœ¬  3 æ•°å€¼ï¼‰")
    @Excel(name = "值类型", readConverterExp = "1=选项,2=文本,3=数值")
    private Long valueType;
    private String valueType;
    /**
     * å›žå¤ï¼ˆæŒ‡é—®é¢˜çš„回复,给问答题用的)
     */
    @Excel(name = "回复", readConverterExp = "指=问题的回复,给问答题用的")
    @ApiModelProperty(value = "回复(指问题的回复,给问答题用的)")
    private String reply;
    /**
     * ä»»åŠ¡ID
     */
    @Excel(name = "任务ID")
    @ApiModelProperty(value = "任务ID")
    private Long taskid;
    public SvyLibTitle() {
    }
    public SvyLibTitle(Long svyid, String icdname) {
        this.svyid = svyid;
        this.icdname = icdname;
    }
}
smartor/src/main/java/com/smartor/domain/SvyTopic.java
@@ -5,8 +5,6 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
smartor/src/main/java/com/smartor/mapper/SvyLibScriptCategoryMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package com.smartor.mapper;
import com.smartor.domain.SvyLibScriptCategory;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * é—®å·é¢˜ç›®åˆ†ç±»Mapper接口
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Mapper
public interface SvyLibScriptCategoryMapper {
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return é—®å·é¢˜ç›®åˆ†ç±»
     */
    public SvyLibScriptCategory selectSvyLibScriptCategoryById(Long id);
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»åˆ—表
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return é—®å·é¢˜ç›®åˆ†ç±»é›†åˆ
     */
    public List<SvyLibScriptCategory> selectSvyLibScriptCategoryList(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * æ–°å¢žé—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    public int insertSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    public int updateSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptCategoryById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptCategoryByIds(Long[] ids);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int selectSeqMax();
}
smartor/src/main/java/com/smartor/mapper/SvyLibScriptMapper.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java ÐÞ¸Ä
@@ -2,9 +2,7 @@
import java.util.List;
import com.smartor.domain.SvyLibTopic;
import com.smartor.domain.SvyLibTopicAndOptionRes;
import com.smartor.domain.SvyTopicReq;
import com.smartor.domain.SvyLibScript;
import org.apache.ibatis.annotations.Mapper;
/**
@@ -14,14 +12,14 @@
 * @date 2023-03-03
 */
@Mapper
public interface SvyLibTopicMapper {
public interface SvyLibScriptMapper {
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®
     *
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return é—®å·é¢˜ç›®
     */
    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
    public SvyLibScript selectSvyLibScriptByScriptid(Long topicid);
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ—表
@@ -29,7 +27,7 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return é—®å·é¢˜ç›®é›†åˆ
     */
    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
    public List<SvyLibScript> selectSvyLibScriptList(SvyLibScript svyLibTopic);
    /**
     * æ–°å¢žé—®å·é¢˜ç›®
@@ -37,7 +35,7 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
    public int insertSvyLibScript(SvyLibScript svyLibTopic);
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®
@@ -45,7 +43,7 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
    public int updateSvyLibScript(SvyLibScript svyLibTopic);
    /**
     * åˆ é™¤é—®å·é¢˜ç›®
@@ -53,7 +51,7 @@
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibTopicByTopicid(Long topicid);
    public int deleteSvyLibScriptByScriptid(Long topicid);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®
@@ -61,7 +59,7 @@
     * @param topicids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyLibTopicByTopicids(Long[] topicids);
    public int deleteSvyLibScriptByScriptids(Long[] ids);
smartor/src/main/java/com/smartor/mapper/SvyLibScriptOptionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.smartor.mapper;
import com.smartor.domain.SvyLibScriptOption;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * é—®å·é—®é¢˜é€‰é¡¹Mapper接口
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Mapper
public interface SvyLibScriptOptionMapper {
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return é—®å·é—®é¢˜é€‰é¡¹
     */
    public SvyLibScriptOption selectSvyLibScriptOptionByOptionid(Long optionid);
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹åˆ—表
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return é—®å·é—®é¢˜é€‰é¡¹é›†åˆ
     */
    public List<SvyLibScriptOption> selectSvyLibScriptOptionList(SvyLibScriptOption svyLibScriptOption);
    /**
     * æ–°å¢žé—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int insertSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption);
    /**
     * ä¿®æ”¹é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int updateSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption);
    /**
     * åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptOptionByOptionid(Long optionid);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptOptionByOptionids(Long[] optionids);
}
smartor/src/main/java/com/smartor/mapper/SvyLibTemplateCategoryMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.smartor.mapper;
import com.smartor.domain.SvyLibTemplateCategory;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»Mapper接口
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Mapper
public interface SvyLibTemplateCategoryMapper {
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param id é—®å·æ¨¡æ¿åˆ†ç±»ä¸»é”®
     * @return é—®å·æ¨¡æ¿åˆ†ç±»
     */
    public SvyLibTemplateCategory selectSvyLibTemplateCategoryById(Long id);
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»åˆ—表
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return é—®å·æ¨¡æ¿åˆ†ç±»é›†åˆ
     */
    public List<SvyLibTemplateCategory> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * æ–°å¢žé—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    public int insertSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * ä¿®æ”¹é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    public int updateSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * åˆ é™¤é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param id é—®å·æ¨¡æ¿åˆ†ç±»ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateCategoryById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateCategoryByIds(Long[] ids);
    /**
     * èŽ·å–åºå·æœ€å¤§å€¼
     *
     * @return
     */
    public int selectSeqMax();
}
smartor/src/main/java/com/smartor/mapper/SvyLibTemplateMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.smartor.mapper;
import java.util.List;
import com.smartor.domain.SvyLibTemplate;
import com.smartor.domain.SvyLibTemplateReq;
import org.apache.ibatis.annotations.Mapper;
/**
 * é—®å·Mapper接口
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Mapper
public interface SvyLibTemplateMapper {
    /**
     * æŸ¥è¯¢é—®å·
     *
     * @param svyid é—®å·ä¸»é”®
     * @return é—®å·
     */
    public SvyLibTemplate selectSvyLibTemplateBySvyid(Long svyid);
    /**
     * æŸ¥è¯¢é—®å·åˆ—表
     *
     * @param svyLibTemplateReq é—®å·
     * @return é—®å·é›†åˆ
     */
    public List<SvyLibTemplate> selectSvyLibTemplateList(SvyLibTemplateReq svyLibTemplateReq);
    /**
     * æ–°å¢žé—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    public int insertSvyLibTemplate(SvyLibTemplate svyLibTemplate);
    /**
     * ä¿®æ”¹é—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    public int updateSvyLibTemplate(SvyLibTemplate svyLibTemplate);
    /**
     * åˆ é™¤é—®å·
     *
     * @param svyid é—®å·ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateBySvyid(Long svyid);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·
     *
     * @param svyids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateBySvyids(Long[] svyids);
}
smartor/src/main/java/com/smartor/mapper/SvyLibTitleCategoryMapper.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/mapper/SvyLibTopicCategoryMapper.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/mapper/SvyTaskMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.smartor.mapper;
import com.smartor.domain.SvyTask;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Mapper
public interface SvyTaskMapper
{
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    public SvyTask selectSvyTaskByTaskid(Long taskid);
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰åˆ—è¡¨
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰é›†åˆ
     */
    public List<SvyTask> selectSvyTaskList(SvyTask svyTask);
    /**
     * æ–°å¢žç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    public int insertSvyTask(SvyTask svyTask);
    /**
     * ä¿®æ”¹ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    public int updateSvyTask(SvyTask svyTask);
    /**
     * åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskByTaskid(Long taskid);
    /**
     * æ‰¹é‡åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyTaskByTaskids(Long[] taskids);
}
smartor/src/main/java/com/smartor/mapper/SvyTaskScriptMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.smartor.mapper;
import com.smartor.domain.SvyTaskScript;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é¢˜ç›®Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Mapper
public interface SvyTaskScriptMapper
{
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®
     */
    public SvyTaskScript selectSvyTaskScriptById(Long id);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®åˆ—è¡¨
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®é›†åˆ
     */
    public List<SvyTaskScript> selectSvyTaskScriptList(SvyTaskScript svyTaskScript);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int insertSvyTaskScript(SvyTaskScript svyTaskScript);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int updateSvyTaskScript(SvyTaskScript svyTaskScript);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptByIds(Long[] ids);
}
smartor/src/main/java/com/smartor/mapper/SvyTaskScriptoptionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.smartor.mapper;
import com.smartor.domain.SvyTaskScriptoption;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Mapper
public interface SvyTaskScriptoptionMapper
{
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    public SvyTaskScriptoption selectSvyTaskScriptoptionById(Long id);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹åˆ—è¡¨
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹é›†åˆ
     */
    public List<SvyTaskScriptoption> selectSvyTaskScriptoptionList(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int insertSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int updateSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptoptionById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptoptionByIds(Long[] ids);
}
smartor/src/main/java/com/smartor/mapper/SvyTaskSingleMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.smartor.mapper;
import com.smartor.domain.SvyTaskSingle;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * å•一任务(问卷)Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Mapper
public interface SvyTaskSingleMapper {
    /**
     * æŸ¥è¯¢å•一任务(问卷)
     *
     * @param id å•一任务(问卷)主键
     * @return å•一任务(问卷)
     */
    public SvyTaskSingle selectSvyTaskSingleById(Long id);
    /**
     * æŸ¥è¯¢å•一任务(问卷)列表
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return å•一任务(问卷)集合
     */
    public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle);
    /**
     * æ–°å¢žå•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle);
    /**
     * ä¿®æ”¹å•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle);
    /**
     * åˆ é™¤å•一任务(问卷)
     *
     * @param id å•一任务(问卷)主键
     * @return ç»“æžœ
     */
    public int deleteSvyTaskSingleById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤å•一任务(问卷)
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyTaskSingleByIds(Long[] ids);
}
smartor/src/main/java/com/smartor/mapper/SvyTaskTemplateMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.smartor.mapper;
import java.util.List;
import com.smartor.domain.SvyTaskTemplate;
import org.apache.ibatis.annotations.Mapper;
/**
 * ä»»åŠ¡é—®å·æ¨¡æ¿Mapper接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Mapper
public interface SvyTaskTemplateMapper {
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    public SvyTaskTemplate selectSvyTaskTemplateBySvyid(Long svyid);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿åˆ—è¡¨
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿é›†åˆ
     */
    public List<SvyTaskTemplate> selectSvyTaskTemplateList(SvyTaskTemplate svyTaskTemplate);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    public int insertSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    public int updateSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskTemplateBySvyid(Long svyid);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteSvyTaskTemplateBySvyids(Long[] svyids);
}
smartor/src/main/java/com/smartor/mapper/SvyTopicMapper.java
@@ -1,6 +1,5 @@
package com.smartor.mapper;
import com.smartor.domain.SvyLibTopic;
import com.smartor.domain.SvyLibTopicAndOptionRes;
import com.smartor.domain.SvyTopic;
import com.smartor.domain.SvyTopicReq;
smartor/src/main/java/com/smartor/service/ISvyLibScriptCategoryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.smartor.service;
import com.smartor.domain.SvyLibScriptCategory;
import com.smartor.domain.SvyLibScriptCategoryVO;
import java.util.List;
/**
 * é—®å·é¢˜ç›®åˆ†ç±»Service接口
 *
 * @author ruoyi
 * @date 2023-12-27
 */
public interface ISvyLibScriptCategoryService {
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return é—®å·é¢˜ç›®åˆ†ç±»
     */
    public SvyLibScriptCategory selectSvyLibScriptCategoryById(Long id);
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»åˆ—表
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return é—®å·é¢˜ç›®åˆ†ç±»é›†åˆ
     */
    public List<SvyLibScriptCategoryVO> selectSvyLibScriptCategoryList(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * æ–°å¢žé—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    public int insertSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    public int updateSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„问卷题目分类主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptCategoryByIds(Long[] ids);
    public int insertSvyLibScriptCategoryTree(SvyLibScriptCategoryVO svyLibScriptCategoryVO);
    /**
     * åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»ä¿¡æ¯
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptCategoryById(Long id);
}
smartor/src/main/java/com/smartor/service/ISvyLibScriptOptionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.smartor.service;
import java.util.List;
import com.smartor.domain.SvyLibScriptOption;
/**
 * é—®å·é—®é¢˜é€‰é¡¹Service接口
 *
 * @author ruoyi
 * @date 2023-03-02
 */
public interface ISvyLibScriptOptionService
{
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return é—®å·é—®é¢˜é€‰é¡¹
     */
    public SvyLibScriptOption selectSvyLibScriptOptionByOptionid(Long optionid);
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹åˆ—表
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return é—®å·é—®é¢˜é€‰é¡¹é›†åˆ
     */
    public List<SvyLibScriptOption> selectSvyLibScriptOptionList(SvyLibScriptOption svyLibScriptOption);
    /**
     * æ–°å¢žé—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int insertSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption);
    /**
     * ä¿®æ”¹é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int updateSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionids éœ€è¦åˆ é™¤çš„问卷问题选项主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptOptionByOptionids(Long[] optionids);
    /**
     * åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹ä¿¡æ¯
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibScriptOptionByOptionid(Long optionid);
}
smartor/src/main/java/com/smartor/service/ISvyLibScriptService.java
ÎļþÃû´Ó smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.smartor.service;
import com.smartor.domain.SvyLibTopic;
import com.smartor.domain.SvyLibScript;
import java.util.List;
@@ -10,14 +10,14 @@
 * @author ruoyi
 * @date 2023-03-03
 */
public interface ISvyLibTopicService {
public interface ISvyLibScriptService {
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®
     *
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return é—®å·é¢˜ç›®
     */
    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
    public SvyLibScript selectSvyLibScriptByScriptid(Long topicid);
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ—表
@@ -25,7 +25,7 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return é—®å·é¢˜ç›®é›†åˆ
     */
    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
    public List<SvyLibScript> selectSvyLibScriptList(SvyLibScript svyLibTopic);
    /**
     * æ–°å¢žé—®å·é¢˜ç›®
@@ -33,9 +33,9 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
    public int insertSvyLibScript(SvyLibScript svyLibTopic);
    public Integer saveOrUpdateTopic(SvyLibTopic svyLibTopic);
    public Integer saveOrUpdateScript(SvyLibScript svyLibTopic);
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®
@@ -43,7 +43,7 @@
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
    public int updateSvyLibScript(SvyLibScript svyLibTopic);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®
@@ -51,7 +51,7 @@
     * @param topicids éœ€è¦åˆ é™¤çš„问卷题目主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyLibTopicByTopicids(Long[] topicids);
    public int deleteSvyLibScriptByScriptids(Long[] topicids);
    /**
     * åˆ é™¤é—®å·é¢˜ç›®ä¿¡æ¯
@@ -59,7 +59,7 @@
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibTopicByTopicid(Long topicid);
    public int deleteSvyLibScriptByScriptid(Long topicid);
}
smartor/src/main/java/com/smartor/service/ISvyLibTemplateCategoryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.smartor.service;
import com.smartor.domain.SvyLibTemplateCategory;
import com.smartor.domain.SvyLibTemplateCategoryVO;
import java.util.List;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»Service接口
 *
 * @author ruoyi
 * @date 2023-12-27
 */
public interface ISvyLibTemplateCategoryService {
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param id é—®å·æ¨¡æ¿åˆ†ç±»ä¸»é”®
     * @return é—®å·æ¨¡æ¿åˆ†ç±»
     */
    public SvyLibTemplateCategory selectSvyLibTemplateCategoryById(Long id);
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»åˆ—表
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return é—®å·æ¨¡æ¿åˆ†ç±»é›†åˆ
     */
    public List<SvyLibTemplateCategoryVO> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * æ–°å¢žé—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    public int insertSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * ä¿®æ”¹é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    public int updateSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„问卷模板分类主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateCategoryByIds(Long[] ids);
    public int insertSvyLibTemplateCategoryTree(SvyLibTemplateCategoryVO svyLibTemplateCategoryVO);
}
smartor/src/main/java/com/smartor/service/ISvyLibTemplateService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package com.smartor.service;
import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.smartor.domain.SvyLibTemplate;
import com.smartor.domain.SvyLibTemplateReq;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * é—®å·Service接口
 *
 * @author ruoyi
 * @date 2023-03-02
 */
public interface ISvyLibTemplateService {
    /**
     * æŸ¥è¯¢é—®å·
     *
     * @param svyid é—®å·ä¸»é”®
     * @return é—®å·
     */
    public SvyLibTemplate selectSvyLibTemplateBySvyid(Long svyid);
    /**
     * æŸ¥è¯¢é—®å·åˆ—表
     *
     * @param svyLibTemplateReq é—®å·
     * @return é—®å·é›†åˆ
     */
    public List<SvyLibTemplate> selectSvyLibTemplateList(SvyLibTemplateReq svyLibTemplateReq);
    /**
     * æ–°å¢žé—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    public int insertSvyLibTemplate(SvyLibTemplate svyLibTemplate);
    /**
     * æ–°å¢žæˆ–修改问卷模板信息
     * @param svyLibTemplate
     * @return
     */
    public Integer saveOrUpdateTemplate(@RequestBody SvyLibTemplate svyLibTemplate);
    /**
     * ä¿®æ”¹é—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    public int updateSvyLibTemplate(SvyLibTemplate svyLibTemplate);
    /**
     * æ‰¹é‡åˆ é™¤é—®å·
     *
     * @param svyids éœ€è¦åˆ é™¤çš„问卷主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateBySvyids(Long[] svyids);
    /**
     * åˆ é™¤é—®å·ä¿¡æ¯
     *
     * @param svyid é—®å·ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyLibTemplateBySvyid(Long svyid);
}
smartor/src/main/java/com/smartor/service/ISvyLibTitleCategoryService.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/ISvyLibTopicCategoryService.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/ISvyTaskScriptService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.smartor.service;
import com.smartor.domain.SvyTaskScript;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é¢˜ç›®Service接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
public interface ISvyTaskScriptService
{
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®
     */
    public SvyTaskScript selectSvyTaskScriptById(Long id);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®åˆ—è¡¨
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®é›†åˆ
     */
    public List<SvyTaskScript> selectSvyTaskScriptList(SvyTaskScript svyTaskScript);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int insertSvyTaskScript(SvyTaskScript svyTaskScript);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    public int updateSvyTaskScript(SvyTaskScript svyTaskScript);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param ids éœ€è¦åˆ é™¤çš„任务问卷题目主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptByIds(Long[] ids);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®ä¿¡æ¯
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptById(Long id);
}
smartor/src/main/java/com/smartor/service/ISvyTaskScriptoptionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.smartor.service;
import com.smartor.domain.SvyTaskScriptoption;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹Service接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
public interface ISvyTaskScriptoptionService
{
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    public SvyTaskScriptoption selectSvyTaskScriptoptionById(Long id);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹åˆ—è¡¨
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹é›†åˆ
     */
    public List<SvyTaskScriptoption> selectSvyTaskScriptoptionList(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int insertSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    public int updateSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param ids éœ€è¦åˆ é™¤çš„任务问卷问题选项主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptoptionByIds(Long[] ids);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¿¡æ¯
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskScriptoptionById(Long id);
}
smartor/src/main/java/com/smartor/service/ISvyTaskService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.smartor.service;
import com.smartor.domain.SvyTask;
import java.util.List;
/**
 * ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰Service接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
public interface ISvyTaskService
{
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    public SvyTask selectSvyTaskByTaskid(Long taskid);
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰åˆ—è¡¨
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰é›†åˆ
     */
    public List<SvyTask> selectSvyTaskList(SvyTask svyTask);
    /**
     * æ–°å¢žç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    public int insertSvyTask(SvyTask svyTask);
    /**
     * ä¿®æ”¹ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    public int updateSvyTask(SvyTask svyTask);
    /**
     * æ‰¹é‡åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskids éœ€è¦åˆ é™¤çš„综合问卷任务(任务)主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyTaskByTaskids(Long[] taskids);
    /**
     * åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¿¡æ¯
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskByTaskid(Long taskid);
}
smartor/src/main/java/com/smartor/service/ISvyTaskSingleService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.smartor.service;
import com.smartor.domain.SvyTaskSingle;
import java.util.List;
/**
 * å•一任务(问卷)Service接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
public interface ISvyTaskSingleService
{
    /**
     * æŸ¥è¯¢å•一任务(问卷)
     *
     * @param id å•一任务(问卷)主键
     * @return å•一任务(问卷)
     */
    public SvyTaskSingle selectSvyTaskSingleById(Long id);
    /**
     * æŸ¥è¯¢å•一任务(问卷)列表
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return å•一任务(问卷)集合
     */
    public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle);
    /**
     * æ–°å¢žå•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle);
    /**
     * ä¿®æ”¹å•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle);
    /**
     * æ‰¹é‡åˆ é™¤å•一任务(问卷)
     *
     * @param ids éœ€è¦åˆ é™¤çš„单一任务(问卷)主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyTaskSingleByIds(Long[] ids);
    /**
     * åˆ é™¤å•一任务(问卷)信息
     *
     * @param id å•一任务(问卷)主键
     * @return ç»“æžœ
     */
    public int deleteSvyTaskSingleById(Long id);
}
smartor/src/main/java/com/smartor/service/ISvyTaskTemplateService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.smartor.service;
import com.smartor.domain.SvyTaskTemplate;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·æ¨¡æ¿Service接口
 *
 * @author ruoyi
 * @date 2024-06-12
 */
public interface ISvyTaskTemplateService
{
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    public SvyTaskTemplate selectSvyTaskTemplateBySvyid(Long svyid);
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿åˆ—è¡¨
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿é›†åˆ
     */
    public List<SvyTaskTemplate> selectSvyTaskTemplateList(SvyTaskTemplate svyTaskTemplate);
    /**
     * æ–°å¢žä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    public int insertSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate);
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    public int updateSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate);
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyids éœ€è¦åˆ é™¤çš„任务问卷模板主键集合
     * @return ç»“æžœ
     */
    public int deleteSvyTaskTemplateBySvyids(Long[] svyids);
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿ä¿¡æ¯
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteSvyTaskTemplateBySvyid(Long svyid);
}
smartor/src/main/java/com/smartor/service/ISvyTopicService.java
@@ -1,8 +1,8 @@
package com.smartor.service;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.smartor.domain.SvyLibScriptRes;
import com.smartor.domain.SvyLibTopicAndOptionRes;
import com.smartor.domain.SvyLibTopicRes;
import com.smartor.domain.SvyTopic;
import com.smartor.domain.SvyTopicReq;
import org.springframework.web.multipart.MultipartFile;
@@ -72,7 +72,7 @@
     * @param multipartFile
     * @return
     */
    public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile);
    public List<SvyLibScriptRes> importLitTopic(SysUser user, MultipartFile multipartFile);
    public Map<String, List<SvyLibTopicAndOptionRes>> showTopic(SvyTopicReq svyTopicReq);
}
smartor/src/main/java/com/smartor/service/impl/AIRobotPhoneCallBackServiceImpl.java
@@ -1,36 +1,11 @@
package com.smartor.service.impl;
import com.alibaba.fastjson2.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.config.PhoneUtils;
import com.smartor.config.RabbitMqCallPhoneConfig;
import com.smartor.domain.*;
import com.smartor.domain.robot.back.RobotAIDialogBack;
import com.smartor.domain.robot.back.RobotCallBack;
import com.smartor.domain.robot.back.RobotcdrInfoBack;
import com.smartor.mapper.*;
import com.smartor.service.AIRobotPhoneCallBackService;
import com.smartor.service.IIvrTaskService;
import com.smartor.service.IIvrTaskSingleService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * å•一任务(随访)Service业务层处理
smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
@@ -1,5 +1,6 @@
package com.smartor.service.impl;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
@@ -140,6 +141,8 @@
    @Transactional(rollbackFor = Exception.class)
    public int saveOrupdateIvrLibaTarget(IvrLibaTargetVO ivrLibaTargetVO) {
        IvrLibaTarget ivrLibaTarget = DtoConversionUtils.sourceToTarget(ivrLibaTargetVO, IvrLibaTarget.class);
        if (ObjectUtils.isEmpty(ivrLibaTargetVO.getSuitWayList()))
            ivrLibaTarget.setSuitWay(JSON.toJSONString(ivrLibaTargetVO.getSuitWayList()));
        ivrLibaTarget.setUpdateTime(DateUtils.getNowDate());
        if (ivrLibaTargetVO.getIsoperation() != null && ivrLibaTargetVO.getIsoperation() == 1) {
            //新增
smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
@@ -267,8 +267,6 @@
            log.info("提供的条件,查询模板详情数据为空:{}", ivrLibaTemplates);
            throw new BaseException("提供的条件,查询模板详情数据为空");
        }
        log.info("ivrLibaTemplates的查询结果为:{},数量为 : {}", ivrLibaTemplates.get(0), ivrLibaTemplates.size());
        //定义IvrLibaTemplateVO ç”¨äºŽè¿”参
        IvrLibaTemplateVO templateVO = DtoConversionUtils.sourceToTarget(ivrLibaTemplates.get(0), IvrLibaTemplateVO.class);
smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
@@ -2,16 +2,17 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.alibaba.fastjson2.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.config.RabbitMqCallPhoneConfig;
import org.apache.commons.lang3.StringUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
import lombok.extern.slf4j.Slf4j;
@@ -46,7 +47,7 @@
    private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
    @Autowired
    private RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
    private RedisCache redisCache;
    /**
     * æŸ¥è¯¢è¯­éŸ³ä»»åŠ¡
@@ -209,7 +210,7 @@
            sendTaskVO.setSendType(ivrTask.getSendType().toString());
        }
        //判断任务是否是立即发送
        if (org.apache.commons.lang3.StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
        if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
            IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ();
            ivrTaskcallMQ.setTaskid(sendTaskVO.getTaskId());
            ivrTaskcallMQ.setSendType(sendTaskVO.getSendType());
@@ -221,14 +222,15 @@
            ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1);
            //立即发送
            rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, 0L);
//            rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, 0L);
            redisCache.setCacheObject(ivrTaskcallMQJson, ivrTaskcallMQJson, 1, TimeUnit.SECONDS);
            //将任务状态修改成执行中
            IvrTask ivrTask2 = new IvrTask();
            ivrTask2.setTaskid(ivrTask.getTaskid());
            ivrTask2.setSendState(2);
            updateIvrTask(ivrTask2);
        } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1")) {
        } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) {
            //时间段发送
            ObjectMapper objectMapper = new ObjectMapper();
            if (org.apache.commons.lang3.StringUtils.isNotEmpty(ivrTask.getSendTimeSlot())) {
@@ -267,7 +269,8 @@
                    Long finalMilliseconds = milliseconds;
                    String ivrTaskcallMQJson = JSON.toJSONString(ivrTaskcallMQ);
                    ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1);
                    rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, milliseconds);
//                    rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, milliseconds);
                    redisCache.setCacheObject(ivrTaskcallMQJson, ivrTaskcallMQJson, milliseconds / 1000, TimeUnit.SECONDS);
                }
                //将任务状态修改成执行中
                IvrTask ivrTask2 = new IvrTask();
smartor/src/main/java/com/smartor/service/impl/PersonVoiceServiceImpl.java
@@ -11,19 +11,10 @@
import com.alibaba.nls.client.protocol.tts.SpeechSynthesizer;
import com.alibaba.nls.client.protocol.tts.SpeechSynthesizerListener;
import com.alibaba.nls.client.protocol.tts.SpeechSynthesizerResponse;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.tea.TeaException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.Common;
import com.aliyun.teautil.models.RuntimeOptions;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
import com.smartor.service.IBaseSmsaccountService;
import com.smartor.service.ISvyLibTitleService;
import com.smartor.service.PersonVoiceService;
import lombok.extern.slf4j.Slf4j;
import org.jsoup.Jsoup;
@@ -37,11 +28,6 @@
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
 * çŸ­ä¿¡è´¦å·Service业务层处理
@@ -59,16 +45,16 @@
    private String accessKeySecret;
    @Autowired
    private SvyLibTitleMapper svyLibTitleMapper;
    private SvyLibTemplateMapper svyLibTitleMapper;
    @Autowired
    private SvyLibTopicMapper svyLibTopicMapper;
    private SvyLibScriptMapper svyLibTopicMapper;
    @Autowired
    private SvyLibTopicdirectionMapper svyLibTopicdirectionMapper;
    @Autowired
    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
    private SvyLibScriptOptionMapper svyLibTopicoptionMapper;
//
//    @Autowired
//    private ISvyLibTitleService svyLibTitleService;
@@ -125,12 +111,12 @@
            //保存title
            String title = parse.title();
            SvyLibTitle svyLibTitle = new SvyLibTitle();
            SvyLibTemplate svyLibTitle = new SvyLibTemplate();
//            svyLibTitle.setCategoryid(System.currentTimeMillis());
            svyLibTitle.setSvyname(title);
            svyLibTitle.setDelFlag("0");
            svyLibTitle.setIsupload(0L);
            svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
            svyLibTitleMapper.insertSvyLibTemplate(svyLibTitle);
            Element body = parse.body();
            Elements elementsByClass = body.getElementsByClass("topic__type-body");
@@ -154,7 +140,7 @@
                String legend = element.getElementsByTag("legend").text();
                System.out.println("题目: " + legend);
                //将题目保存到表中
                SvyLibTopic svyLibTopic = new SvyLibTopic();
                SvyLibScript svyLibTopic = new SvyLibScript();
                svyLibTopic.setSvyid(svyLibTitle.getSvyid());
                //判断该题目下是否有选项
@@ -164,22 +150,22 @@
                    if (spans.size() != 0) {
                        Elements radio__type = spans.get(0).getElementsByClass("radio__type");
                        if (radio__type.size() != 0) {
                            svyLibTopic.setTopictype("1");
                            svyLibTopic.setScripttype("1");
                        } else {
                            Elements checkbox__type = spans.get(0).getElementsByClass("checkbox__type");
                            if (checkbox__type.size() != 0) {
                                svyLibTopic.setTopictype("2");
                                svyLibTopic.setScripttype("2");
                            }
                        }
                    }
                    svyLibTopic.setTopiccode(IdUtils.simpleUUID());
                    svyLibTopic.setTopic(legend);
                    svyLibTopic.setScriptcode(IdUtils.simpleUUID());
                    svyLibTopic.setScript(legend);
                    svyLibTopic.setDelFlag("0");
                    svyLibTopic.setIsupload(0L);
                    svyLibTopic.setOrgid(fileName);
                    try {
                        svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
                        svyLibTopicMapper.insertSvyLibScript(svyLibTopic);
                    } catch (Exception e) {
                        noExpiain(fileName.substring(0, fileName.length() - 5) + "出异常了1", fileContent);
                        continue a;
@@ -194,8 +180,8 @@
                            String text = label.text();
                            //将题目存库
//                            item = item + "------" + text;
                            SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
                            svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
                            SvyLibScriptOption svyLibTopicoption = new SvyLibScriptOption();
                            svyLibTopicoption.setTopicid(svyLibTopic.getId());
                            svyLibTopicoption.setSvyid(svyLibTitle.getSvyid());
                            svyLibTopicoption.setSort(i);
                            svyLibTopicoption.setOptioncode(IdUtils.simpleUUID());
@@ -203,7 +189,7 @@
                            svyLibTopicoption.setDelFlag("0");
                            svyLibTopicoption.setIsupload(0L);
                            try {
                                svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
                                svyLibTopicoptionMapper.insertSvyLibScriptOption(svyLibTopicoption);
                            } catch (Exception e) {
                                noExpiain(fileName.substring(0, fileName.length() - 5) + "出异常了2", fileContent);
                                continue a;
@@ -219,16 +205,16 @@
                    Elements elementsByClass2 = element.getElementsByClass("ui-control-group ui-matrix");
                    if (elementsByClass2.size() > 0) {
                        SvyLibTopic svyLibTopic2 = new SvyLibTopic();
                        SvyLibScript svyLibTopic2 = new SvyLibScript();
                        svyLibTopic2.setSvyid(svyLibTitle.getSvyid());
                        svyLibTopic2.setTopiccode(IdUtils.simpleUUID());
                        svyLibTopic2.setTopic(legend);
                        svyLibTopic2.setScriptcode(IdUtils.simpleUUID());
                        svyLibTopic2.setScript(legend);
                        svyLibTopic2.setDelFlag("0");
                        svyLibTopic.setIsupload(0L);
                        svyLibTopic2.setTopictype("4");
                        svyLibTopic2.setScripttype("4");
                        svyLibTopic2.setOrgid(fileName);
                        try {
                            svyLibTopicMapper.insertSvyLibTopic(svyLibTopic2);
                            svyLibTopicMapper.insertSvyLibScript(svyLibTopic2);
                        } catch (Exception e) {
                            noExpiain(fileName.substring(0, fileName.length() - 5) + "出异常了22", fileContent);
                            continue a;
@@ -246,7 +232,7 @@
                            direction = direction + ele.text() + "☆";
                        }
                        SvyLibTopicdirection svyLibTopicdirection = new SvyLibTopicdirection();
                        svyLibTopicdirection.setTopicid(svyLibTopic2.getTopicid());
                        svyLibTopicdirection.setTopicid(svyLibTopic2.getId());
                        svyLibTopicdirection.setDirection(direction);
                        svyLibTopicdirection.setTransverse(transverse);
                        svyLibTopicdirectionMapper.insertSvyLibTopicdirection(svyLibTopicdirection);
@@ -254,16 +240,16 @@
                        //将题目保存到表中
                        SvyLibTopic svyLibTopic3 = new SvyLibTopic();
                        SvyLibScript svyLibTopic3 = new SvyLibScript();
                        svyLibTopic3.setSvyid(svyLibTitle.getSvyid());
                        svyLibTopic3.setTopiccode(IdUtils.simpleUUID());
                        svyLibTopic3.setTopic(legend);
                        svyLibTopic3.setScriptcode(IdUtils.simpleUUID());
                        svyLibTopic3.setScript(legend);
                        svyLibTopic3.setDelFlag("0");
                        svyLibTopic3.setIsupload(0L);
                        svyLibTopic3.setTopictype("3");
                        svyLibTopic3.setScripttype("3");
                        svyLibTopic3.setOrgid(fileName);
                        try {
                            svyLibTopicMapper.insertSvyLibTopic(svyLibTopic3);
                            svyLibTopicMapper.insertSvyLibScript(svyLibTopic3);
                        } catch (Exception e) {
                            noExpiain(fileName.substring(0, fileName.length() - 5) + "出异常了33", fileContent);
                            continue a;
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptCategoryServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
package com.smartor.service.impl;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.SvyLibScriptCategory;
import com.smartor.domain.SvyLibScriptCategoryVO;
import com.smartor.mapper.SvyLibScriptCategoryMapper;
import com.smartor.service.ISvyLibScriptCategoryService;
import io.jsonwebtoken.lang.Collections;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
 * é—®å·é¢˜ç›®åˆ†ç±»Service业务层处理
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Slf4j
@Service
public class SvyLibScriptCategoryServiceImpl implements ISvyLibScriptCategoryService {
    @Autowired
    private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return é—®å·é¢˜ç›®åˆ†ç±»
     */
    @Override
    public SvyLibScriptCategory selectSvyLibScriptCategoryById(Long id) {
        return svyLibScriptCategoryMapper.selectSvyLibScriptCategoryById(id);
    }
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ†ç±»åˆ—表
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return é—®å·é¢˜ç›®åˆ†ç±»
     */
    @Override
    public List<SvyLibScriptCategoryVO> selectSvyLibScriptCategoryList(SvyLibScriptCategory svyLibScriptCategory) {
        List<SvyLibScriptCategory> svyLibScriptCategories = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory);
        //将pid为空的,过滤掉
        svyLibScriptCategories = svyLibScriptCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
        List<SvyLibScriptCategoryVO> SvyLibScriptCategoryVO = DtoConversionUtils.sourceToTarget(svyLibScriptCategories, SvyLibScriptCategoryVO.class);
        //遍历查出来的数据,通过 id=pid èŽ·å–ä»–ä»¬çš„å­æ•°æ®
        for (SvyLibScriptCategoryVO svyLibScriptCategoryVO : SvyLibScriptCategoryVO) {
            if (svyLibScriptCategoryVO.getPid() != null) {
                continue;
            }
            SvyLibScriptCategory svyLibScriptCategory1 = new SvyLibScriptCategory();
            svyLibScriptCategory1.setPid(svyLibScriptCategoryVO.getId());
            List<SvyLibScriptCategory> svyLibScriptCategories1 = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory1);
            if (!Collections.isEmpty(svyLibScriptCategories1)) {
                svyLibScriptCategoryVO.setSvyLibScriptCategoryList(svyLibScriptCategories1);
            }
        }
        return SvyLibScriptCategoryVO;
    }
    /**
     * æ–°å¢žé—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory) {
        svyLibScriptCategory.setCreateTime(DateUtils.getNowDate());
        return svyLibScriptCategoryMapper.insertSvyLibScriptCategory(svyLibScriptCategory);
    }
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param svyLibScriptCategory é—®å·é¢˜ç›®åˆ†ç±»
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyLibScriptCategory(SvyLibScriptCategory svyLibScriptCategory) {
        svyLibScriptCategory.setUpdateTime(DateUtils.getNowDate());
        return svyLibScriptCategoryMapper.updateSvyLibScriptCategory(svyLibScriptCategory);
    }
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„问卷题目分类主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptCategoryByIds(Long[] ids) {
        Integer i = null;
        for (Long id : ids) {
            if (id < 0) {
                log.info("小于0的值为默认值不能删除:{}", id);
                continue;
            }
            i = svyLibScriptCategoryMapper.deleteSvyLibScriptCategoryById(id);
            SvyLibScriptCategory svyLibScriptCategory = new SvyLibScriptCategory();
            svyLibScriptCategory.setPid(id);
            List<SvyLibScriptCategory> svyLibScriptCategories = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory);
            if (CollectionUtils.isNotEmpty(svyLibScriptCategories)) {
                for (SvyLibScriptCategory svyLibScriptCategory1 : svyLibScriptCategories) {
                    svyLibScriptCategory1.setPid(-1L);
                    svyLibScriptCategoryMapper.updateSvyLibScriptCategory(svyLibScriptCategory1);
                }
            }
        }
        return i;
    }
    @Override
    public int insertSvyLibScriptCategoryTree(SvyLibScriptCategoryVO svyLibScriptCategoryVO) {
        Integer i = null;
        if (ObjectUtils.isEmpty(svyLibScriptCategoryVO)) {
            throw new BaseException("入参为空,请检查后,再新增");
        }
        Integer seqMax = null;
        try {
            seqMax = svyLibScriptCategoryMapper.selectSeqMax();
        } catch (Exception e) {
            seqMax = 0;
        }
        SvyLibScriptCategory svyLibScriptCategory = DtoConversionUtils.sourceToTarget(svyLibScriptCategoryVO, SvyLibScriptCategory.class);
        svyLibScriptCategory.setSeqno(1);
        if (seqMax != null) {
            svyLibScriptCategory.setSeqno(seqMax + 1);
        }
        i = svyLibScriptCategoryMapper.insertSvyLibScriptCategory(svyLibScriptCategory);
        log.info("问题话术分类库一级树的主键:{}", svyLibScriptCategory.getId());
        //新增二级树
        if (CollectionUtils.isNotEmpty(svyLibScriptCategoryVO.getSvyLibScriptCategoryList())) {
            for (SvyLibScriptCategory svyLibScriptCategory1 : svyLibScriptCategoryVO.getSvyLibScriptCategoryList()) {
                Integer seqMax1 = null;
                try {
                    seqMax1 = svyLibScriptCategoryMapper.selectSeqMax();
                } catch (Exception e) {
                    seqMax1 = 0;
                }
                svyLibScriptCategory1.setPid(svyLibScriptCategory.getId());
                svyLibScriptCategory1.setSeqno(1);
                if (seqMax1 != null) {
                    svyLibScriptCategory1.setSeqno(seqMax1 + 1);
                }
                svyLibScriptCategoryMapper.insertSvyLibScriptCategory(svyLibScriptCategory1);
            }
        }
        return i;
    }
    /**
     * åˆ é™¤é—®å·é¢˜ç›®åˆ†ç±»ä¿¡æ¯
     *
     * @param id é—®å·é¢˜ç›®åˆ†ç±»ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptCategoryById(Long id) {
        return svyLibScriptCategoryMapper.deleteSvyLibScriptCategoryById(id);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptOptionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.smartor.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyLibScript;
import com.smartor.mapper.SvyLibScriptOptionMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smartor.mapper.SvyLibScriptOptionMapper;
import com.smartor.domain.SvyLibScriptOption;
import com.smartor.service.ISvyLibScriptOptionService;
/**
 * é—®å·é—®é¢˜é€‰é¡¹Service业务层处理
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Service
public class SvyLibScriptOptionServiceImpl implements ISvyLibScriptOptionService
{
    @Autowired
    private SvyLibScriptOptionMapper svyLibScriptOptionMapper;
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return é—®å·é—®é¢˜é€‰é¡¹
     */
    @Override
    public SvyLibScriptOption selectSvyLibScriptOptionByOptionid(Long optionid)
    {
        return svyLibScriptOptionMapper.selectSvyLibScriptOptionByOptionid(optionid);
    }
    /**
     * æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹åˆ—表
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return é—®å·é—®é¢˜é€‰é¡¹
     */
    @Override
    public List<SvyLibScriptOption> selectSvyLibScriptOptionList(SvyLibScriptOption svyLibScriptOption)
    {
        return svyLibScriptOptionMapper.selectSvyLibScriptOptionList(svyLibScriptOption);
    }
    /**
     * æ–°å¢žé—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption)
    {
        svyLibScriptOption.setCreateTime(DateUtils.getNowDate());
        return svyLibScriptOptionMapper.insertSvyLibScriptOption(svyLibScriptOption);
    }
    /**
     * ä¿®æ”¹é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyLibScriptOption é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyLibScriptOption(SvyLibScriptOption svyLibScriptOption)
    {
        svyLibScriptOption.setUpdateTime(DateUtils.getNowDate());
        return svyLibScriptOptionMapper.updateSvyLibScriptOption(svyLibScriptOption);
    }
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param optionids éœ€è¦åˆ é™¤çš„问卷问题选项主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptOptionByOptionids(Long[] optionids)
    {
        return svyLibScriptOptionMapper.deleteSvyLibScriptOptionByOptionids(optionids);
    }
    /**
     * åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹ä¿¡æ¯
     *
     * @param optionid é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptOptionByOptionid(Long optionid)
    {
        return svyLibScriptOptionMapper.deleteSvyLibScriptOptionByOptionid(optionid);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyLibScriptServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.SvyLibScript;
import com.smartor.domain.SvyLibScriptOption;
import com.smartor.mapper.SvyLibScriptMapper;
import com.smartor.mapper.SvyLibScriptOptionMapper;
import com.smartor.service.ISvyLibScriptService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * é—®å·é¢˜ç›®Service业务层处理
 *
 * @author ruoyi
 * @date 2023-03-03
 */
@Slf4j
@Service
public class SvyLibScriptServiceImpl implements ISvyLibScriptService {
    @Autowired
    private SvyLibScriptMapper svyLibTopicMapper;
    @Autowired
    private SvyLibScriptOptionMapper svyLibScriptOptionMapper;
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®
     *
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return é—®å·é¢˜ç›®
     */
    @Override
    public SvyLibScript selectSvyLibScriptByScriptid(Long topicid) {
        return svyLibTopicMapper.selectSvyLibScriptByScriptid(topicid);
    }
    /**
     * æŸ¥è¯¢é—®å·é¢˜ç›®åˆ—表
     *
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return é—®å·é¢˜ç›®
     */
    @Override
    public List<SvyLibScript> selectSvyLibScriptList(SvyLibScript svyLibTopic) {
        //添加题目
        List<SvyLibScript> svyLibTopics = svyLibTopicMapper.selectSvyLibScriptList(svyLibTopic);
        //获取题目选项
        for (int j = 0; j < svyLibTopics.size(); j++) {
            log.info("问题id为:{}", svyLibTopics.get(j).getSvyscriptId());
            if (StringUtils.isNotEmpty(svyLibTopics.get(j).getScripttype()) && svyLibTopics.get(j).getScripttype().equals("3") || svyLibTopics.get(j).getId() == null) {
                //作答题,不需要选项
                continue;
            } else {
                SvyLibScriptOption svyLibTopicoption = new SvyLibScriptOption();
                svyLibTopicoption.setTopicid(svyLibTopics.get(j).getId());
                List<SvyLibScriptOption> svyLibTopicoptions = svyLibScriptOptionMapper.selectSvyLibScriptOptionList(svyLibTopicoption);
                //将查询出的选项目放到题目中
                svyLibTopics.get(j).setSvyLibScriptOptions(svyLibTopicoptions);
            }
        }
        return svyLibTopics;
    }
    /**
     * æ–°å¢žé—®å·é¢˜ç›®
     *
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyLibScript(SvyLibScript svyLibTopic) {
        svyLibTopic.setCreateTime(DateUtils.getNowDate());
        return svyLibTopicMapper.insertSvyLibScript(svyLibTopic);
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer saveOrUpdateScript(SvyLibScript svyLibTopic) {
        Integer i = null;
        //对题目进行处理
        if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
            //新增
            i = svyLibTopicMapper.insertSvyLibScript(svyLibTopic);
        } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
            //修改
            i = svyLibTopicMapper.updateSvyLibScript(svyLibTopic);
        }
        //对题目选项进行处理
        if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibScriptOptions())) {
            for (SvyLibScriptOption svyLibTopicoption : svyLibTopic.getSvyLibScriptOptions()) {
                if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
                    //新增
                    svyLibTopicoption.setTopicid(svyLibTopic.getId());
                    svyLibTopicoption.setCreateTime(new Date());
                    svyLibScriptOptionMapper.insertSvyLibScriptOption(svyLibTopicoption);
                } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
                    //修改
                    svyLibTopicoption.setTopicid(svyLibTopic.getId());
                    svyLibTopicoption.setUpdateTime(new Date());
                    svyLibScriptOptionMapper.updateSvyLibScriptOption(svyLibTopicoption);
                } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 3) {
                    //删除
                    svyLibScriptOptionMapper.deleteSvyLibScriptOptionByOptionid(svyLibTopicoption.getOptionid());
                }
            }
        }
        return i;
    }
    /**
     * ä¿®æ”¹é—®å·é¢˜ç›®
     *
     * @param svyLibTopic é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyLibScript(SvyLibScript svyLibTopic) {
        svyLibTopic.setUpdateTime(DateUtils.getNowDate());
        return svyLibTopicMapper.updateSvyLibScript(svyLibTopic);
    }
    /**
     * æ‰¹é‡åˆ é™¤é—®å·é¢˜ç›®
     *
     * @param topicids éœ€è¦åˆ é™¤çš„问卷题目主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptByScriptids(Long[] topicids) {
        Integer i = null;
        for (Long topicid : topicids) {
            i = svyLibTopicMapper.deleteSvyLibScriptByScriptid(topicid);
        }
        return i;
    }
    /**
     * åˆ é™¤é—®å·é¢˜ç›®ä¿¡æ¯
     *
     * @param topicid é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibScriptByScriptid(Long topicid) {
        return svyLibTopicMapper.deleteSvyLibScriptByScriptid(topicid);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,169 @@
package com.smartor.service.impl;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.SvyLibTemplateCategory;
import com.smartor.domain.SvyLibTemplateCategoryVO;
import com.smartor.mapper.SvyLibTemplateCategoryMapper;
import com.smartor.service.ISvyLibTemplateCategoryService;
import io.jsonwebtoken.lang.Collections;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
 * é—®å·æ¨¡æ¿åˆ†ç±»Service业务层处理
 *
 * @author ruoyi
 * @date 2023-12-27
 */
@Slf4j
@Service
public class SvyLibTemplateCategoryServiceImpl implements ISvyLibTemplateCategoryService {
    @Autowired
    private SvyLibTemplateCategoryMapper svyLibTemplateCategoryMapper;
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param id é—®å·æ¨¡æ¿åˆ†ç±»ä¸»é”®
     * @return é—®å·æ¨¡æ¿åˆ†ç±»
     */
    @Override
    public SvyLibTemplateCategory selectSvyLibTemplateCategoryById(Long id) {
        return svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryById(id);
    }
    /**
     * æŸ¥è¯¢é—®å·æ¨¡æ¿åˆ†ç±»åˆ—表
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return é—®å·æ¨¡æ¿åˆ†ç±»
     */
    @Override
    public List<SvyLibTemplateCategoryVO> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory) {
        List<SvyLibTemplateCategory> svyLibTemplateCategories = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
        //将pid为空的,过滤掉
        svyLibTemplateCategories = svyLibTemplateCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
        List<SvyLibTemplateCategoryVO> svyLibTemplateCategoryVOList = DtoConversionUtils.sourceToTarget(svyLibTemplateCategories, SvyLibTemplateCategoryVO.class);
        //遍历查出来的数据,通过 id=pid èŽ·å–ä»–ä»¬çš„å­æ•°æ®
        for (SvyLibTemplateCategoryVO svyLibTemplateCategoryVO : svyLibTemplateCategoryVOList) {
            if (svyLibTemplateCategoryVO.getPid() != null) {
                continue;
            }
            SvyLibTemplateCategory svyLibTemplateCategory1 = new SvyLibTemplateCategory();
            svyLibTemplateCategory1.setPid(svyLibTemplateCategoryVO.getId());
            List<SvyLibTemplateCategory> svyLibTemplateCategoryList = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory1);
            if (!Collections.isEmpty(svyLibTemplateCategoryList)) {
                svyLibTemplateCategoryVO.setSvyLibTemplateCategoryList(svyLibTemplateCategoryList);
            }
        }
        return svyLibTemplateCategoryVOList;
    }
    /**
     * æ–°å¢žé—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory) {
        svyLibTemplateCategory.setCreateTime(DateUtils.getNowDate());
        return svyLibTemplateCategoryMapper.insertSvyLibTemplateCategory(svyLibTemplateCategory);
    }
    /**
     * ä¿®æ”¹é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param svyLibTemplateCategory é—®å·æ¨¡æ¿åˆ†ç±»
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyLibTemplateCategory(SvyLibTemplateCategory svyLibTemplateCategory) {
        svyLibTemplateCategory.setUpdateTime(DateUtils.getNowDate());
        return svyLibTemplateCategoryMapper.updateSvyLibTemplateCategory(svyLibTemplateCategory);
    }
    /**
     * æ‰¹é‡åˆ é™¤é—®å·æ¨¡æ¿åˆ†ç±»
     *
     * @param ids éœ€è¦åˆ é™¤çš„问卷模板分类主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibTemplateCategoryByIds(Long[] ids) {
        Integer i = null;
        for (Long id : ids) {
            if (id < 0) {
                log.info("问卷模板分类的ID小于0,为默认分类,不能删除,id:{}", id);
                continue;
            }
            i = svyLibTemplateCategoryMapper.deleteSvyLibTemplateCategoryById(id);
            SvyLibTemplateCategory svyLibTemplateCategory = new SvyLibTemplateCategory();
            svyLibTemplateCategory.setPid(id);
            //放到未分配下面
            List<SvyLibTemplateCategory> svyLibTemplateCategoryList = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory);
            if (CollectionUtils.isNotEmpty(svyLibTemplateCategoryList)) {
                for (SvyLibTemplateCategory svyLibTemplateCategory1 : svyLibTemplateCategoryList) {
                    svyLibTemplateCategory1.setPid(-1L);
                    svyLibTemplateCategoryMapper.updateSvyLibTemplateCategory(svyLibTemplateCategory1);
                }
            }
        }
        return i;
    }
    @Override
    public int insertSvyLibTemplateCategoryTree(SvyLibTemplateCategoryVO svyLibTemplateCategoryVO) {
        Integer i = null;
        if (ObjectUtils.isEmpty(svyLibTemplateCategoryVO)) {
            throw new BaseException("入参为空,请检查后,再新增");
        }
        //获取序号最大值
        Integer seqMax = null;
        try {
            seqMax = svyLibTemplateCategoryMapper.selectSeqMax();
        } catch (Exception e) {
            seqMax = 0;
        }
        SvyLibTemplateCategory svyLibTemplateCategory = DtoConversionUtils.sourceToTarget(svyLibTemplateCategoryVO, SvyLibTemplateCategory.class);
        svyLibTemplateCategory.setSeqno(1);
        if (seqMax != null) {
            svyLibTemplateCategory.setSeqno(seqMax + 1);
        }
        i = svyLibTemplateCategoryMapper.insertSvyLibTemplateCategory(svyLibTemplateCategory);
        log.info("问题话术分类库一级树的主键:{}", svyLibTemplateCategory.getId());
        //新增二级树
        if (CollectionUtils.isNotEmpty(svyLibTemplateCategoryVO.getSvyLibTemplateCategoryList())) {
            for (SvyLibTemplateCategory svyLibTemplateCategory1 : svyLibTemplateCategoryVO.getSvyLibTemplateCategoryList()) {
                Integer seqMax1 = null;
                try {
                    seqMax1 = svyLibTemplateCategoryMapper.selectSeqMax();
                } catch (Exception e) {
                    seqMax1 = 0;
                }
                svyLibTemplateCategory1.setPid(svyLibTemplateCategory.getId());
                svyLibTemplateCategory1.setSeqno(1);
                if (seqMax1 != null) {
                    svyLibTemplateCategory1.setSeqno(seqMax1 + 1);
                }
                svyLibTemplateCategoryMapper.insertSvyLibTemplateCategory(svyLibTemplateCategory1);
            }
        }
        return i;
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,238 @@
package com.smartor.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smartor.service.ISvyLibTemplateService;
import org.springframework.transaction.annotation.Transactional;
/**
 * é—®å·Service业务层处理
 *
 * @author ruoyi
 * @date 2023-03-02
 */
@Slf4j
@Service
public class SvyLibTemplateServiceImpl implements ISvyLibTemplateService {
    @Autowired
    private SvyLibTemplateMapper svyLibTemplateMapper;
    @Autowired
    private Icd10AssociationMapper icd10AssociationMapper;
    @Autowired
    private SvyLibScriptMapper svyLibScriptMapper;
    @Autowired
    private SvyLibScriptOptionMapper svyLibTopicoptionMapper;
    @Autowired
    private TempDetpRelevanceMapper tempDetpRelevanceMapper;
    /**
     * æŸ¥è¯¢é—®å·
     *
     * @param svyid é—®å·ä¸»é”®
     * @return é—®å·
     */
    @Override
    public SvyLibTemplate selectSvyLibTemplateBySvyid(Long svyid) {
        return svyLibTemplateMapper.selectSvyLibTemplateBySvyid(svyid);
    }
    /**
     * æŸ¥è¯¢é—®å·åˆ—表
     *
     * @param svyLibTemplateReq é—®å·
     * @return é—®å·
     */
    @Override
    public List<SvyLibTemplate> selectSvyLibTemplateList(SvyLibTemplateReq svyLibTemplateReq) {
        List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
        //添加题目
        for (int i = 0; i < svyLibTemplates.size(); i++) {
            SvyLibScript svyLibTopic = new SvyLibScript();
            svyLibTopic.setSvyid(svyLibTemplates.get(i).getSvyid());
            List<SvyLibScript> svyLibTopics = svyLibScriptMapper.selectSvyLibScriptList(svyLibTopic);
            //获取题目选项
            a:
            for (int j = 0; j < svyLibTopics.size(); j++) {
                log.info("问题id为:{}", svyLibTopics.get(j).getSvyscriptId());
                if (StringUtils.isNotEmpty(svyLibTopics.get(j).getScripttype()) && svyLibTopics.get(j).getScripttype().equals("3") || svyLibTopics.get(j).getSvyscriptId() == null) {
                    //作答题,不需要选项
                    continue a;
                } else {
                    SvyLibScriptOption svyLibTopicoption = new SvyLibScriptOption();
                    svyLibTopicoption.setTopicid(svyLibTopics.get(j).getSvyscriptId());
                    List<SvyLibScriptOption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibScriptOptionList(svyLibTopicoption);
                    //将查询出的选项目放到题目中
                    svyLibTopics.get(j).setSvyLibScriptOptions(svyLibTopicoptions);
                }
            }
            //将题目放到问卷列表中
            svyLibTemplates.get(i).setSvyLibTopics(svyLibTopics);
            //获取每个问卷对应的科室
            TempDetpRelevance tempDetpRelevance = new TempDetpRelevance();
            tempDetpRelevance.setTempid(svyLibTemplates.get(i).getSvyid());
            List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance);
            svyLibTemplates.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
        }
        //先将相同的id的icdname,整理到一块
        List<SvyLibTemplate> libTemplates = svyLibTemplates.stream().collect(Collectors.groupingBy(SvyLibTemplate::getSvyid, Collectors.mapping(SvyLibTemplate::getIcdname, Collectors.joining(", ")))).entrySet().stream().map(entry -> new SvyLibTemplate(entry.getKey(), entry.getValue())).collect(Collectors.toList());
        //临时变量,用来保存疾病名称
        String icdname = null;
        for (int i = 0; i < libTemplates.size(); i++) {
            for (int j = 0; j < svyLibTemplates.size(); j++) {
                if (ObjectUtils.isNotEmpty(libTemplates.get(i).getSvyid()) && libTemplates.get(i).getSvyid() == svyLibTemplates.get(j).getSvyid()) {
                    icdname = libTemplates.get(i).getIcdname();
                    // å°†åŽŸæ•°æ®æ‹·è´åˆ°æ•´ç†çš„å¥½çš„å¯¹è±¡ä¸Š
                    BeanUtils.copyProperties(svyLibTemplates.get(j), libTemplates.get(i));
                    //再将整理好的“疾病名称”替换
                    libTemplates.get(i).setIcdname(icdname);
                }
            }
        }
        return libTemplates;
    }
    /**
     * æ–°å¢žé—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    @Transactional
    @Override
    public int insertSvyLibTemplate(SvyLibTemplate svyLibTemplate) {
        svyLibTemplate.setCreateTime(DateUtils.getNowDate());
        svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
        //关联问卷疾病
        for (String icdId : svyLibTemplate.getIcdID()) {
            Icd10Association icd10Association = new Icd10Association();
            icd10Association.setIcd10code(icdId);
            icd10Association.setSvyid(svyLibTemplate.getSvyid());
            icd10AssociationMapper.insertIcd10Association(icd10Association);
        }
        //新增问题题目
        for (int i = 0; i < svyLibTemplate.getSvyLibTopics().size(); i++) {
            SvyLibScript svyLibScript = svyLibTemplate.getSvyLibTopics().get(i);
            svyLibScript.setSvyid(svyLibTemplate.getSvyid());
            //题目的选项目,直接用svy_topicoption表,用svyTopicidf去关联
            svyLibScriptMapper.insertSvyLibScript(svyLibScript);
        }
        return 1;
    }
    /**
     * æ–°å¢žæˆ–修改问卷模板信息
     *
     * @param svyLibTemplate
     * @return
     */
    @Override
    public Integer saveOrUpdateTemplate(SvyLibTemplate svyLibTemplate) {
        Integer i = null;
        if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 1) {
            //新增
            svyLibTemplate.setCreateTime(DateUtils.getNowDate());
            i = svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
        } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 2) {
            //修改
            svyLibTemplate.setUpdateTime(DateUtils.getNowDate());
            i = svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
        }
        //处理题目
        if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibTopics())) {
            for (SvyLibScript svyLibTopic : svyLibTemplate.getSvyLibTopics()) {
                //对题目进行处理
                if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) {
                    //新增
                    svyLibTopic.setSvyid(svyLibTemplate.getSvyid());
                    //题目的选项目,直接用svy_topicoption表,用svyTopicid去关联
                    svyLibScriptMapper.insertSvyLibScript(svyLibTopic);
                } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) {
                    //修改
                    svyLibTopic.setSvyid(svyLibTemplate.getSvyid());
                    svyLibScriptMapper.updateSvyLibScript(svyLibTopic);
                }
                //对题目选项进行处理
                if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibScriptOptions())) {
                    for (SvyLibScriptOption svyLibTopicoption : svyLibTopic.getSvyLibScriptOptions()) {
                        if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) {
                            //新增
                            svyLibTopicoption.setTopicid(svyLibTopic.getId());
                            svyLibTopicoptionMapper.insertSvyLibScriptOption(svyLibTopicoption);
                        } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) {
                            //修改
                            svyLibTopicoption.setTopicid(svyLibTopic.getId());
                            svyLibTopicoptionMapper.updateSvyLibScriptOption(svyLibTopicoption);
                        }
                    }
                }
            }
        }
        if (CollectionUtils.isNotEmpty(svyLibTemplate.getTempDetpRelevances())) {
            for (TempDetpRelevance tempDetpRelevance : svyLibTemplate.getTempDetpRelevances()) {
                if (tempDetpRelevance.getId() == null) {
                    //新增
                    tempDetpRelevance.setTempid(svyLibTemplate.getSvyid());
                    tempDetpRelevance.setType(1L);
                    tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
                } else {
                    tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
                }
            }
        }
        return i;
    }
    /**
     * ä¿®æ”¹é—®å·
     *
     * @param svyLibTemplate é—®å·
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyLibTemplate(SvyLibTemplate svyLibTemplate) {
        svyLibTemplate.setUpdateTime(DateUtils.getNowDate());
        return svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
    }
    /**
     * æ‰¹é‡åˆ é™¤é—®å·
     *
     * @param svyids éœ€è¦åˆ é™¤çš„问卷主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibTemplateBySvyids(Long[] svyids) {
        return svyLibTemplateMapper.deleteSvyLibTemplateBySvyids(svyids);
    }
    /**
     * åˆ é™¤é—®å·ä¿¡æ¯
     *
     * @param svyid é—®å·ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyLibTemplateBySvyid(Long svyid) {
        return svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyid);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleCategoryServiceImpl.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicCategoryServiceImpl.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java
ÎļþÒÑɾ³ý
smartor/src/main/java/com/smartor/service/impl/SvyTaskScriptServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyTaskScript;
import com.smartor.mapper.SvyTaskScriptMapper;
import com.smartor.service.ISvyTaskScriptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é¢˜ç›®Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Service
public class SvyTaskScriptServiceImpl implements ISvyTaskScriptService
{
    @Autowired
    private SvyTaskScriptMapper svyTaskScriptMapper;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®
     */
    @Override
    public SvyTaskScript selectSvyTaskScriptById(Long id)
    {
        return svyTaskScriptMapper.selectSvyTaskScriptById(id);
    }
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é¢˜ç›®åˆ—è¡¨
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ä»»åŠ¡é—®å·é¢˜ç›®
     */
    @Override
    public List<SvyTaskScript> selectSvyTaskScriptList(SvyTaskScript svyTaskScript)
    {
        return svyTaskScriptMapper.selectSvyTaskScriptList(svyTaskScript);
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyTaskScript(SvyTaskScript svyTaskScript)
    {
        svyTaskScript.setCreateTime(DateUtils.getNowDate());
        return svyTaskScriptMapper.insertSvyTaskScript(svyTaskScript);
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param svyTaskScript ä»»åŠ¡é—®å·é¢˜ç›®
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyTaskScript(SvyTaskScript svyTaskScript)
    {
        svyTaskScript.setUpdateTime(DateUtils.getNowDate());
        return svyTaskScriptMapper.updateSvyTaskScript(svyTaskScript);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®
     *
     * @param ids éœ€è¦åˆ é™¤çš„任务问卷题目主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskScriptByIds(Long[] ids)
    {
        return svyTaskScriptMapper.deleteSvyTaskScriptByIds(ids);
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é¢˜ç›®ä¿¡æ¯
     *
     * @param id ä»»åŠ¡é—®å·é¢˜ç›®ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskScriptById(Long id)
    {
        return svyTaskScriptMapper.deleteSvyTaskScriptById(id);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyTaskScriptoptionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyTaskScriptoption;
import com.smartor.mapper.SvyTaskScriptoptionMapper;
import com.smartor.service.ISvyTaskScriptoptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Service
public class SvyTaskScriptoptionServiceImpl implements ISvyTaskScriptoptionService
{
    @Autowired
    private SvyTaskScriptoptionMapper svyTaskScriptoptionMapper;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    @Override
    public SvyTaskScriptoption selectSvyTaskScriptoptionById(Long id)
    {
        return svyTaskScriptoptionMapper.selectSvyTaskScriptoptionById(id);
    }
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹åˆ—è¡¨
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     */
    @Override
    public List<SvyTaskScriptoption> selectSvyTaskScriptoptionList(SvyTaskScriptoption svyTaskScriptoption)
    {
        return svyTaskScriptoptionMapper.selectSvyTaskScriptoptionList(svyTaskScriptoption);
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption)
    {
        svyTaskScriptoption.setCreateTime(DateUtils.getNowDate());
        return svyTaskScriptoptionMapper.insertSvyTaskScriptoption(svyTaskScriptoption);
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param svyTaskScriptoption ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyTaskScriptoption(SvyTaskScriptoption svyTaskScriptoption)
    {
        svyTaskScriptoption.setUpdateTime(DateUtils.getNowDate());
        return svyTaskScriptoptionMapper.updateSvyTaskScriptoption(svyTaskScriptoption);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹
     *
     * @param ids éœ€è¦åˆ é™¤çš„任务问卷问题选项主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskScriptoptionByIds(Long[] ids)
    {
        return svyTaskScriptoptionMapper.deleteSvyTaskScriptoptionByIds(ids);
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¿¡æ¯
     *
     * @param id ä»»åŠ¡é—®å·é—®é¢˜é€‰é¡¹ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskScriptoptionById(Long id)
    {
        return svyTaskScriptoptionMapper.deleteSvyTaskScriptoptionById(id);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyTask;
import com.smartor.mapper.SvyTaskMapper;
import com.smartor.service.ISvyTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Service
public class SvyTaskServiceImpl implements ISvyTaskService
{
    @Autowired
    private SvyTaskMapper svyTaskMapper;
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    @Override
    public SvyTask selectSvyTaskByTaskid(Long taskid)
    {
        return svyTaskMapper.selectSvyTaskByTaskid(taskid);
    }
    /**
     * æŸ¥è¯¢ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰åˆ—è¡¨
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     */
    @Override
    public List<SvyTask> selectSvyTaskList(SvyTask svyTask)
    {
        return svyTaskMapper.selectSvyTaskList(svyTask);
    }
    /**
     * æ–°å¢žç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyTask(SvyTask svyTask)
    {
        svyTask.setCreateTime(DateUtils.getNowDate());
        return svyTaskMapper.insertSvyTask(svyTask);
    }
    /**
     * ä¿®æ”¹ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param svyTask ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyTask(SvyTask svyTask)
    {
        svyTask.setUpdateTime(DateUtils.getNowDate());
        return svyTaskMapper.updateSvyTask(svyTask);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰
     *
     * @param taskids éœ€è¦åˆ é™¤çš„综合问卷任务(任务)主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskByTaskids(Long[] taskids)
    {
        return svyTaskMapper.deleteSvyTaskByTaskids(taskids);
    }
    /**
     * åˆ é™¤ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¿¡æ¯
     *
     * @param taskid ç»¼åˆé—®å·ä»»åŠ¡ï¼ˆä»»åŠ¡ï¼‰ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskByTaskid(Long taskid)
    {
        return svyTaskMapper.deleteSvyTaskByTaskid(taskid);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyTaskSingle;
import com.smartor.mapper.SvyTaskSingleMapper;
import com.smartor.service.ISvyTaskSingleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * å•一任务(问卷)Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Service
public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService
{
    @Autowired
    private SvyTaskSingleMapper svyTaskSingleMapper;
    /**
     * æŸ¥è¯¢å•一任务(问卷)
     *
     * @param id å•一任务(问卷)主键
     * @return å•一任务(问卷)
     */
    @Override
    public SvyTaskSingle selectSvyTaskSingleById(Long id)
    {
        return svyTaskSingleMapper.selectSvyTaskSingleById(id);
    }
    /**
     * æŸ¥è¯¢å•一任务(问卷)列表
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return å•一任务(问卷)
     */
    @Override
    public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle)
    {
        return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle);
    }
    /**
     * æ–°å¢žå•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle)
    {
        svyTaskSingle.setCreateTime(DateUtils.getNowDate());
        return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle);
    }
    /**
     * ä¿®æ”¹å•一任务(问卷)
     *
     * @param svyTaskSingle å•一任务(问卷)
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle)
    {
        svyTaskSingle.setUpdateTime(DateUtils.getNowDate());
        return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle);
    }
    /**
     * æ‰¹é‡åˆ é™¤å•一任务(问卷)
     *
     * @param ids éœ€è¦åˆ é™¤çš„单一任务(问卷)主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskSingleByIds(Long[] ids)
    {
        return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids);
    }
    /**
     * åˆ é™¤å•一任务(问卷)信息
     *
     * @param id å•一任务(问卷)主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskSingleById(Long id)
    {
        return svyTaskSingleMapper.deleteSvyTaskSingleById(id);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.SvyTaskTemplate;
import com.smartor.mapper.SvyTaskTemplateMapper;
import com.smartor.service.ISvyTaskTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ä»»åŠ¡é—®å·æ¨¡æ¿Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-12
 */
@Service
public class SvyTaskTemplateServiceImpl implements ISvyTaskTemplateService
{
    @Autowired
    private SvyTaskTemplateMapper svyTaskTemplateMapper;
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    @Override
    public SvyTaskTemplate selectSvyTaskTemplateBySvyid(Long svyid)
    {
        return svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(svyid);
    }
    /**
     * æŸ¥è¯¢ä»»åŠ¡é—®å·æ¨¡æ¿åˆ—è¡¨
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ä»»åŠ¡é—®å·æ¨¡æ¿
     */
    @Override
    public List<SvyTaskTemplate> selectSvyTaskTemplateList(SvyTaskTemplate svyTaskTemplate)
    {
        return svyTaskTemplateMapper.selectSvyTaskTemplateList(svyTaskTemplate);
    }
    /**
     * æ–°å¢žä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    @Override
    public int insertSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate)
    {
        svyTaskTemplate.setCreateTime(DateUtils.getNowDate());
        return svyTaskTemplateMapper.insertSvyTaskTemplate(svyTaskTemplate);
    }
    /**
     * ä¿®æ”¹ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyTaskTemplate ä»»åŠ¡é—®å·æ¨¡æ¿
     * @return ç»“æžœ
     */
    @Override
    public int updateSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate)
    {
        svyTaskTemplate.setUpdateTime(DateUtils.getNowDate());
        return svyTaskTemplateMapper.updateSvyTaskTemplate(svyTaskTemplate);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿
     *
     * @param svyids éœ€è¦åˆ é™¤çš„任务问卷模板主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskTemplateBySvyids(Long[] svyids)
    {
        return svyTaskTemplateMapper.deleteSvyTaskTemplateBySvyids(svyids);
    }
    /**
     * åˆ é™¤ä»»åŠ¡é—®å·æ¨¡æ¿ä¿¡æ¯
     *
     * @param svyid ä»»åŠ¡é—®å·æ¨¡æ¿ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteSvyTaskTemplateBySvyid(Long svyid)
    {
        return svyTaskTemplateMapper.deleteSvyTaskTemplateBySvyid(svyid);
    }
}
smartor/src/main/java/com/smartor/service/impl/SvyTopicServiceImpl.java
@@ -112,8 +112,8 @@
     */
    @Override
    @Transactional
    public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile) {
        List<SvyLibTopicRes> svyLibTopicErrors = new ArrayList<>();
    public List<SvyLibScriptRes> importLitTopic(SysUser user, MultipartFile multipartFile) {
        List<SvyLibScriptRes> svyLibTopicErrors = new ArrayList<>();
        try {
            Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream());
@@ -124,7 +124,7 @@
            for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) {
                SvyLibTopicRes svyLibTopicRes = new SvyLibTopicRes();
                SvyLibScriptRes svyLibTopicRes = new SvyLibScriptRes();
                Row row = sheet.getRow(i);
                //如果行为空,进行下一次循环
smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml
@@ -28,11 +28,21 @@
        <result property="orgid" column="orgid"/>
        <result property="pid" column="pid"/>
        <result property="guid" column="guid"/>
        <result property="optiondesc" column="optiondesc"/>
        <result property="isabnormal" column="isabnormal"/>
        <result property="warnup" column="warnup"/>
        <result property="warndown" column="warndown"/>
        <result property="picturePath" column="picture_path"/>
    </resultMap>
    <sql id="selectIvrLibaScriptTargetVo">
        select id,
               scriptid,
               optiondesc,
               isabnormal,
               warnup,
               warndown,
               picture_path,
               targetID,
               targetType,
               categoryName,
@@ -80,6 +90,11 @@
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="pid != null ">and pid = #{pid}</if>
            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
            <if test="isabnormal != null  and optiondesc != ''">and optiondesc = #{optiondesc}</if>
            <if test="isabnormal != null ">and isabnormal = #{isabnormal}</if>
            <if test="warnup != null ">and warnup = #{warnup}</if>
            <if test="warndown != null">and warndown = #{warndown}</if>
            <if test="picturePath != null  and picturePath != ''">and picture_path = #{picturePath}</if>
        </where>
    </select>
@@ -114,6 +129,11 @@
            <if test="orgid != null">orgid,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="optiondesc != null">optiondesc,</if>
            <if test="isabnormal != null">isabnormal,</if>
            <if test="warnup != null">warnup,</if>
            <if test="warndown != null">warndown,</if>
            <if test="picturePath != null">picture_path,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="scriptid != null ">#{scriptid},</if>
@@ -138,6 +158,11 @@
            <if test="orgid != null">#{orgid},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="optiondesc != null">#{optiondesc},</if>
            <if test="isabnormal != null">#{isabnormal},</if>
            <if test="warnup != null">#{warnup},</if>
            <if test="warndown != null">#{warndown},</if>
            <if test="picturePath != null">#{picturePath},</if>
        </trim>
    </insert>
@@ -166,6 +191,11 @@
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="optiondesc != null">optiondesc = #{optiondesc},</if>
            <if test="isabnormal != null">isabnormal = #{isabnormal},</if>
            <if test="warnup != null">warnup = #{warnup},</if>
            <if test="warndown != null">warndown = #{warndown},</if>
            <if test="picturePath != null">picture_path = #{picturePath},</if>
        </trim>
        where id = #{id}
    </update>
smartor/src/main/resources/mapper/smartor/SvyLibScriptMapper.xml
ÎļþÃû´Ó smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml ÐÞ¸Ä
@@ -2,15 +2,15 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTopicMapper">
<mapper namespace="com.smartor.mapper.SvyLibScriptMapper">
    <resultMap type="com.smartor.domain.SvyLibTopic" id="SvyLibTopicResult">
        <result property="topicid" column="topicid"/>
    <resultMap type="com.smartor.domain.SvyLibScript" id="SvyLibScriptResult">
        <result property="id" column="id"/>
        <result property="oldid" column="oldid"/>
        <result property="svyid" column="svyid"/>
        <result property="topictype" column="topictype"/>
        <result property="topiccode" column="topiccode"/>
        <result property="topic" column="topic"/>
        <result property="scripttype" column="script_type"/>
        <result property="scriptcode" column="script_code"/>
        <result property="script" column="script"/>
        <result property="sort" column="sort"/>
        <result property="ismandatory" column="ismandatory"/>
        <result property="ishide" column="ishide"/>
@@ -24,7 +24,7 @@
        <result property="uploadTime" column="upload_time"/>
        <result property="tag" column="tag"/>
        <result property="categoryid" column="categoryid"/>
        <result property="topicContent" column="topic_content"/>
        <result property="scriptContent" column="script_content"/>
        <result property="suitway" column="suitway"/>
        <result property="isavailable" column="isavailable"/>
        <result property="language" column="language"/>
@@ -33,15 +33,15 @@
        <result property="reply" column="reply"/>
    </resultMap>
    <sql id="selectSvyLibTopicVo">
        select topicid,
    <sql id="selectSvyLibScriptVo">
        select id,
               oldid,
               value_type,
               reply,
               svyid,
               topictype,
               topiccode,
               topic,
               script_type,
               script_code,
               script,
               sort,
               ismandatory,
               ishide,
@@ -55,49 +55,49 @@
               upload_time,
               tag,
               categoryid,
               topic_content,
               script_content,
               suitway,
               isavailable,
               otherdata,
            language,
            svy_topicid as svyTopicId
        from svy_lib_topic
            svy_scriptid as svyscriptId
        from svy_lib_script
    </sql>
    <select id="selectSvyLibTopicList" parameterType="com.smartor.domain.SvyLibTopic" resultMap="SvyLibTopicResult">
        <include refid="selectSvyLibTopicVo"/>
    <select id="selectSvyLibScriptList" parameterType="com.smartor.domain.SvyLibScript" resultMap="SvyLibScriptResult">
        <include refid="selectSvyLibScriptVo"/>
        <where>
            del_flag=0
            <if test="topicid != null ">and topicid = #{topicid}</if>
            <if test="id != null ">and id = #{id}</if>
            <if test="oldid != null ">and oldid = #{oldid}</if>
            <if test="topictype != null and topictype != ''">and topictype = #{topictype}</if>
            <if test="scripttype != null and scripttype != ''">and script_type = #{scripttype}</if>
            <if test="categoryid != null ">and categoryid = #{categoryid}</if>
            <if test="topic != null  and topic != ''">and topic like concat('%', #{topic}, '%')</if>
            <if test="script != null  and script != ''">and script like concat('%', #{script}, '%')</if>
            <if test="ishide != null ">and ishide = #{ishide}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="svyid != null  and svyid != ''">and svyid = #{svyid}</if>
            <if test="topicContent != null  and topicContent != ''">and topic_content = #{topicContent}</if>
            <if test="scriptContent != null  and scriptContent != ''">and script_content = #{scriptContent}</if>
            <if test="suitway != null  and suitway != ''">and suitway = #{suitway}</if>
            <if test="isavailable != null  and isavailable != ''">and isavailable = #{isavailable}</if>
            <if test="language != null  and language != ''">and language = #{language}</if>
        </where>
    </select>
    <select id="selectSvyLibTopicByTopicid" parameterType="Long" resultMap="SvyLibTopicResult">
        <include refid="selectSvyLibTopicVo"/>
        where topicid = #{topicid}
    <select id="selectSvyLibScriptByScriptid" parameterType="Long" resultMap="SvyLibScriptResult">
        <include refid="selectSvyLibScriptVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyLibTopic" parameterType="com.smartor.domain.SvyLibTopic" useGeneratedKeys="true"
            keyProperty="topicid">
        insert into svy_lib_topic
    <insert id="insertSvyLibScript" parameterType="com.smartor.domain.SvyLibScript" useGeneratedKeys="true"
            keyProperty="id">
        insert into svy_lib_script
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="oldid != null">oldid,</if>
            <if test="svyid != null">svyid,</if>
            <if test="topictype != null">topictype,</if>
            <if test="topiccode != null">topiccode,</if>
            <if test="topic != null">topic,</if>
            <if test="scripttype != null">script_type,</if>
            <if test="scriptcode != null">script_code,</if>
            <if test="script != null">script,</if>
            <if test="sort != null">sort,</if>
            <if test="ismandatory != null">ismandatory,</if>
            <if test="ishide != null">ishide,</if>
@@ -110,9 +110,9 @@
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="tag != null">tag,</if>
            <if test="svyTopicId != null">svy_topicid,</if>
            <if test="svyscriptId != null">svy_scriptid,</if>
            <if test="categoryid != null">categoryid,</if>
            <if test="topicContent != null and topicContent != ''">topic_content,</if>
            <if test="scriptContent != null and scriptContent != ''">script_content,</if>
            <if test="suitway != null and suitway != ''">suitway,</if>
            <if test="isavailable != null and isavailable != ''">isavailable,</if>
            <if test="language != null and language!=''">language,</if>
@@ -123,9 +123,9 @@
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="oldid != null">#{oldid},</if>
            <if test="svyid != null">#{svyid},</if>
            <if test="topictype != null">#{topictype},</if>
            <if test="topiccode != null">#{topiccode},</if>
            <if test="topic != null">#{topic},</if>
            <if test="scripttype != null">#{scripttype},</if>
            <if test="scriptcode != null">#{scriptcode},</if>
            <if test="script != null">#{script},</if>
            <if test="sort != null">#{sort},</if>
            <if test="ismandatory != null">#{ismandatory},</if>
            <if test="ishide != null">#{ishide},</if>
@@ -138,9 +138,9 @@
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="tag != null">#{tag},</if>
            <if test="svyTopicId != null">#{svyTopicId},</if>
            <if test="svyscriptId != null">#{svyscriptId},</if>
            <if test="categoryid != null">#{categoryid},</if>
            <if test="topicContent != null and topicContent != ''">#{topicContent},</if>
            <if test="scriptContent != null and scriptContent != ''">#{scriptContent},</if>
            <if test="suitway != null  and suitway != ''">#{suitway},</if>
            <if test="isavailable != null and isavailable != ''">#{isavailable},</if>
            <if test="language != null  and language!=''">#{language},</if>
@@ -150,14 +150,14 @@
        </trim>
    </insert>
    <update id="updateSvyLibTopic" parameterType="com.smartor.domain.SvyLibTopic">
        update svy_lib_topic
    <update id="updateSvyLibScript" parameterType="com.smartor.domain.SvyLibScript">
        update svy_lib_script
        <trim prefix="SET" suffixOverrides=",">
            <if test="oldid != null">oldid = #{oldid},</if>
            <if test="svyid != null">svyid = #{svyid},</if>
            <if test="topictype != null">topictype = #{topictype},</if>
            <if test="topiccode != null">topiccode = #{topiccode},</if>
            <if test="topic != null">topic = #{topic},</if>
            <if test="scripttype != null">script_type = #{scripttype},</if>
            <if test="scriptcode != null">script_code = #{scriptcode},</if>
            <if test="script != null">script = #{script},</if>
            <if test="sort != null">sort = #{sort},</if>
            <if test="ismandatory != null">ismandatory = #{ismandatory},</if>
            <if test="ishide != null">ishide = #{ishide},</if>
@@ -170,7 +170,7 @@
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="categoryid != null">categoryid = #{categoryid},</if>
            <if test="topicContent != null">topic_content = #{topicContent},</if>
            <if test="scriptContent != null">script_content = #{scriptContent},</if>
            <if test="suitway != null">suitway = #{suitway},</if>
            <if test="isavailable != null">isavailable = #{isavailable},</if>
            <if test="tag != null">tag = #{tag},</if>
@@ -179,21 +179,21 @@
            <if test="valueType != null and valueType!=''">value_type = #{valueType},</if>
            <if test="reply != null and reply!=''">therdata =#{therdata},</if>
        </trim>
        where topicid = #{topicid}
        where id = #{id}
    </update>
    <update id="deleteSvyLibTopicByTopicid" parameterType="Long">
        update svy_lib_topic
    <update id="deleteSvyLibScriptByScriptid" parameterType="Long">
        update svy_lib_script
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null and delFlag != ''">del_flag =1,</if>
        </trim>
        where topicid = #{topicid}
        where id = #{id}
    </update>
    <delete id="deleteSvyLibTopicByTopicids" parameterType="String">
        delete from svy_lib_topic where topicid in
        <foreach item="topicid" collection="array" open="(" separator="," close=")">
            #{topicid}
    <delete id="deleteSvyLibScriptByScriptids" parameterType="String">
        delete from svy_lib_script where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
smartor/src/main/resources/mapper/smartor/SvyLibScriptOptionMapper.xml
ÎļþÃû´Ó smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml ÐÞ¸Ä
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTopicoptionMapper">
<mapper namespace="com.smartor.mapper.SvyLibScriptOptionMapper">
    <resultMap type="com.smartor.domain.SvyLibTopicoption" id="SvyLibTopicoptionResult">
    <resultMap type="com.smartor.domain.SvyLibScriptOption" id="SvyLibScriptOptionResult">
        <result property="optionid" column="optionid"/>
        <result property="topicid" column="topicid"/>
        <result property="svyid" column="svyid"/>
@@ -38,7 +38,7 @@
        <result property="uploadTime" column="upload_time"/>
    </resultMap>
    <sql id="selectSvyLibTopicoptionVo">
    <sql id="selectSvyLibScriptOptionVo">
        select optionid,
               topicid,
               svyid,
@@ -70,12 +70,12 @@
               update_time,
               isupload,
               upload_time
        from svy_lib_topicoption
        from svy_lib_ScriptOption
    </sql>
    <select id="selectSvyLibTopicoptionList" parameterType="com.smartor.domain.SvyLibTopicoption"
            resultMap="SvyLibTopicoptionResult">
        <include refid="selectSvyLibTopicoptionVo"/>
    <select id="selectSvyLibScriptOptionList" parameterType="com.smartor.domain.SvyLibScriptOption"
            resultMap="SvyLibScriptOptionResult">
        <include refid="selectSvyLibScriptOptionVo"/>
        <where>
            del_flag=0
            <if test="topicid != null ">and topicid = #{topicid}</if>
@@ -106,14 +106,14 @@
        </where>
    </select>
    <select id="selectSvyLibTopicoptionByOptionid" parameterType="Long" resultMap="SvyLibTopicoptionResult">
        <include refid="selectSvyLibTopicoptionVo"/>
    <select id="selectSvyLibScriptOptionByOptionid" parameterType="Long" resultMap="SvyLibScriptOptionResult">
        <include refid="selectSvyLibScriptOptionVo"/>
        where optionid = #{optionid}
    </select>
    <insert id="insertSvyLibTopicoption" parameterType="com.smartor.domain.SvyLibTopicoption" useGeneratedKeys="true"
    <insert id="insertSvyLibScriptOption" parameterType="com.smartor.domain.SvyLibScriptOption" useGeneratedKeys="true"
            keyProperty="optionid">
        insert into svy_lib_topicoption
        insert into svy_lib_ScriptOption
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="topicid != null">topicid,</if>
            <if test="svyid != null">svyid,</if>
@@ -180,8 +180,8 @@
        </trim>
    </insert>
    <update id="updateSvyLibTopicoption" parameterType="com.smartor.domain.SvyLibTopicoption">
        update svy_lib_topicoption
    <update id="updateSvyLibScriptOption" parameterType="com.smartor.domain.SvyLibScriptOption">
        update svy_lib_ScriptOption
        <trim prefix="SET" suffixOverrides=",">
            <if test="topicid != null">topicid = #{topicid},</if>
            <if test="svyid != null">svyid = #{svyid},</if>
@@ -217,16 +217,16 @@
        where optionid = #{optionid}
    </update>
    <update id="deleteSvyLibTopicoptionByOptionid" parameterType="Long">
        update svy_lib_topicoption
    <update id="deleteSvyLibScriptOptionByOptionid" parameterType="Long">
        update svy_lib_ScriptOption
        <trim prefix="SET" suffixOverrides=",">
           del_flag = 1
        </trim>
        where optionid = #{optionid}
    </update>
    <delete id="deleteSvyLibTopicoptionByOptionids" parameterType="String">
        delete from svy_lib_topicoption where optionid in
    <delete id="deleteSvyLibScriptOptionByOptionids" parameterType="String">
        delete from svy_lib_ScriptOption where optionid in
        <foreach item="optionid" collection="array" open="(" separator="," close=")">
            #{optionid}
        </foreach>
smartor/src/main/resources/mapper/smartor/SvyLibTemplageCategoryMapper.xml
ÎļþÃû´Ó smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml ÐÞ¸Ä
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTitleCategoryMapper">
<mapper namespace="com.smartor.mapper.SvyLibTemplateCategoryMapper">
    <resultMap type="com.smartor.domain.SvyLibTitleCategory" id="SvyLibTitleCategoryResult">
    <resultMap type="com.smartor.domain.SvyLibTemplateCategory" id="SvyLibTemplateCategoryResult">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="pid" column="pid"/>
@@ -18,7 +18,7 @@
        <result property="seqno" column="seqno"/>
    </resultMap>
    <sql id="selectSvyLibTitleCategoryVo">
    <sql id="selectSvyLibTemplateCategoryVo">
        select id,
               name,
               pid,
@@ -30,12 +30,12 @@
               update_time,
               orgid,
               seqno
        from svy_lib_title_category
        from svy_lib_template_category
    </sql>
    <select id="selectSvyLibTitleCategoryList" parameterType="com.smartor.domain.SvyLibTitleCategory"
            resultMap="SvyLibTitleCategoryResult">
        <include refid="selectSvyLibTitleCategoryVo"/>
    <select id="selectSvyLibTemplateCategoryList" parameterType="com.smartor.domain.SvyLibTemplateCategory"
            resultMap="SvyLibTemplateCategoryResult">
        <include refid="selectSvyLibTemplateCategoryVo"/>
        <where>
            del_flag=0
            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
@@ -47,14 +47,14 @@
        </where>
    </select>
    <select id="selectSvyLibTitleCategoryById" parameterType="Long" resultMap="SvyLibTitleCategoryResult">
        <include refid="selectSvyLibTitleCategoryVo"/>
    <select id="selectSvyLibTemplateCategoryById" parameterType="Long" resultMap="SvyLibTemplateCategoryResult">
        <include refid="selectSvyLibTemplateCategoryVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyLibTitleCategory" parameterType="com.smartor.domain.SvyLibTitleCategory"
    <insert id="insertSvyLibTemplateCategory" parameterType="com.smartor.domain.SvyLibTemplateCategory"
            useGeneratedKeys="true" keyProperty="id">
        insert into svy_lib_title_category
        insert into svy_lib_template_category
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">name,</if>
            <if test="pid != null">pid,</if>
@@ -81,8 +81,8 @@
        </trim>
    </insert>
    <update id="updateSvyLibTitleCategory" parameterType="com.smartor.domain.SvyLibTitleCategory">
        update svy_lib_title_category
    <update id="updateSvyLibTemplateCategory" parameterType="com.smartor.domain.SvyLibTemplateCategory">
        update svy_lib_template_category
        <trim prefix="SET" suffixOverrides=",">
            <if test="name != null">name = #{name},</if>
            <if test="pid != null">pid = #{pid},</if>
@@ -98,16 +98,16 @@
        where id = #{id}
    </update>
    <update id="deleteSvyLibTitleCategoryById" parameterType="Long">
        update svy_lib_title_category
    <update id="deleteSvyLibTemplateCategoryById" parameterType="Long">
        update svy_lib_template_category
        <trim prefix="SET" suffixOverrides=",">
           del_flag = 1
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteSvyLibTitleCategoryByIds" parameterType="String">
        delete from svy_lib_title_category where id in
    <delete id="deleteSvyLibTemplateCategoryByIds" parameterType="String">
        delete from svy_lib_template_category where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
smartor/src/main/resources/mapper/smartor/SvyLibTemplateMapper.xml
ÎļþÃû´Ó smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml ÐÞ¸Ä
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTitleMapper">
<mapper namespace="com.smartor.mapper.SvyLibTemplateMapper">
    <resultMap type="com.smartor.domain.SvyLibTitle" id="SvyLibTitleResult">
    <resultMap type="com.smartor.domain.SvyLibTemplate" id="SvyLibTemplateResult">
        <result property="svyid" column="svyid"/>
        <result property="categoryid" column="categoryid"/>
        <result property="svycode" column="svycode"/>
@@ -35,7 +35,7 @@
        <result property="reply" column="reply"/>
    </resultMap>
    <sql id="selectSvyLibTitleVo">
    <sql id="selectSvyLibTemplateVo">
        select svyid,
               categoryid,
               value_type,
@@ -64,16 +64,16 @@
               campus,
               suitway,
               otherdata
        from svy_lib_title
        from svy_lib_template
    </sql>
    <select id="selectSvyLibTitleList" parameterType="com.smartor.domain.SvyLibTitleReq" resultMap="SvyLibTitleResult">
    <select id="selectSvyLibTemplateList" parameterType="com.smartor.domain.SvyLibTemplateReq" resultMap="SvyLibTemplateResult">
        select a.svyid, a.categoryid, a.svycode, a.svyname, a.description, a.introduce,a.submitprompt, a.templateid,
        a.version,a.centerlibrarycode, a.centerlibraryid, a.islocal, a.isenable, a.orgid, a.del_flag, a.create_by,
        a.create_time, a.update_by, a.update_time, a.isupload,
        a.upload_time,a.dept_names,a.value_type,a.label_info,a.reply,
        a.campus,a.suitway,a.otherdata
        ,c.icdname from svy_lib_title
        ,c.icdname from svy_lib_template
        a,icd10_association b,icd10 c
        <where>
            a.del_flag=0 and
@@ -86,14 +86,14 @@
        </where>
    </select>
    <select id="selectSvyLibTitleBySvyid" parameterType="Long" resultMap="SvyLibTitleResult">
        <include refid="selectSvyLibTitleVo"/>
    <select id="selectSvyLibTemplateBySvyid" parameterType="Long" resultMap="SvyLibTemplateResult">
        <include refid="selectSvyLibTemplateVo"/>
        where svyid = #{svyid} and del_flag=0
    </select>
    <insert id="insertSvyLibTitle" parameterType="com.smartor.domain.SvyLibTitle" useGeneratedKeys="true"
    <insert id="insertSvyLibTemplate" parameterType="com.smartor.domain.SvyLibTemplate" useGeneratedKeys="true"
            keyProperty="svyid">
        insert into svy_lib_title
        insert into svy_lib_template
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="categoryid != null">categoryid,</if>
            <if test="svycode != null">svycode,</if>
@@ -156,8 +156,8 @@
        </trim>
    </insert>
    <update id="updateSvyLibTitle" parameterType="com.smartor.domain.SvyLibTitle">
        update svy_lib_title
    <update id="updateSvyLibTemplate" parameterType="com.smartor.domain.SvyLibTemplate">
        update svy_lib_template
        <trim prefix="SET" suffixOverrides=",">
            <if test="categoryid != null">categoryid = #{categoryid},</if>
            <if test="svycode != null">svycode = #{svycode},</if>
@@ -190,14 +190,14 @@
        where svyid = #{svyid}
    </update>
    <delete id="deleteSvyLibTitleBySvyid" parameterType="Long">
    <delete id="deleteSvyLibTemplateBySvyid" parameterType="Long">
        delete
        from svy_lib_title
        from svy_lib_template
        where svyid = #{svyid}
    </delete>
    <delete id="deleteSvyLibTitleBySvyids" parameterType="String">
        delete from svy_lib_title where svyid in
    <delete id="deleteSvyLibTemplateBySvyids" parameterType="String">
        delete from svy_lib_template where svyid in
        <foreach item="svyid" collection="array" open="(" separator="," close=")">
            #{svyid}
        </foreach>
smartor/src/main/resources/mapper/smartor/SvyLibTopicCategoryMapper.xml
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTopicCategoryMapper">
<mapper namespace="com.smartor.mapper.SvyLibScriptCategoryMapper">
    <resultMap type="com.smartor.domain.SvyLibTopicCategory" id="SvyLibTopicCategoryResult">
    <resultMap type="com.smartor.domain.SvyLibScriptCategory" id="SvyLibScriptCategoryResult">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="topicid" column="topicid"/>
@@ -19,7 +19,7 @@
        <result property="seqno" column="seqno"/>
    </resultMap>
    <sql id="selectSvyLibTopicCategoryVo">
    <sql id="selectSvyLibScriptCategoryVo">
        select id,
               name,
               topicid,
@@ -32,12 +32,12 @@
               update_time,
               seqno,
               orgid
        from svy_lib_topic_category
        from svy_lib_script_category
    </sql>
    <select id="selectSvyLibTopicCategoryList" parameterType="com.smartor.domain.SvyLibTopicCategory"
            resultMap="SvyLibTopicCategoryResult">
        <include refid="selectSvyLibTopicCategoryVo"/>
    <select id="selectSvyLibScriptCategoryList" parameterType="com.smartor.domain.SvyLibScriptCategory"
            resultMap="SvyLibScriptCategoryResult">
        <include refid="selectSvyLibScriptCategoryVo"/>
        <where>
            del_flag=0
            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
@@ -50,14 +50,14 @@
        order by seqno asc
    </select>
    <select id="selectSvyLibTopicCategoryById" parameterType="Long" resultMap="SvyLibTopicCategoryResult">
        <include refid="selectSvyLibTopicCategoryVo"/>
    <select id="selectSvyLibScriptCategoryById" parameterType="Long" resultMap="SvyLibScriptCategoryResult">
        <include refid="selectSvyLibScriptCategoryVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyLibTopicCategory" parameterType="com.smartor.domain.SvyLibTopicCategory"
    <insert id="insertSvyLibScriptCategory" parameterType="com.smartor.domain.SvyLibScriptCategory"
            useGeneratedKeys="true" keyProperty="id">
        insert into svy_lib_topic_category
        insert into svy_lib_script_category
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">name,</if>
            <if test="seqno != null">seqno,</if>
@@ -86,8 +86,8 @@
        </trim>
    </insert>
    <update id="updateSvyLibTopicCategory" parameterType="com.smartor.domain.SvyLibTopicCategory">
        update svy_lib_topic_category
    <update id="updateSvyLibScriptCategory" parameterType="com.smartor.domain.SvyLibScriptCategory">
        update svy_lib_script_category
        <trim prefix="SET" suffixOverrides=",">
            <if test="name != null">name = #{name},</if>
            <if test="seqno != null">seqno = #{seqno},</if>
@@ -104,14 +104,14 @@
        where id = #{id}
    </update>
    <delete id="deleteSvyLibTopicCategoryByIds" parameterType="String">
    <delete id="deleteSvyLibScriptCategoryByIds" parameterType="String">
        delete
        from svy_lib_topic_category
        from svy_lib_script_category
        where id = #{id}
    </delete>
    <update id="deleteSvyLibTopicCategoryById" parameterType="Long">
        update svy_lib_topic_category
    <update id="deleteSvyLibScriptCategoryById" parameterType="Long">
        update svy_lib_script_category
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = ,</if>
        </trim>
smartor/src/main/resources/mapper/smartor/SvyTaskMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyTaskMapper">
    <resultMap type="com.smartor.domain.SvyTask" id="SvyTaskResult">
        <result property="taskid"    column="taskid"    />
        <result property="svrtaskid"    column="svrtaskid"    />
        <result property="taskname"    column="taskname"    />
        <result property="templateid"    column="templateid"    />
        <result property="templatename"    column="templatename"    />
        <result property="labelinfo"    column="labelinfo"    />
        <result property="state"    column="state"    />
        <result property="count"    column="count"    />
        <result property="executed"    column="executed"    />
        <result property="unexecuted"    column="unexecuted"    />
        <result property="fail"    column="fail"    />
        <result property="patientid"    column="patientid"    />
        <result property="patientname"    column="patientname"    />
        <result property="addtime"    column="addtime"    />
        <result property="checkuserid"    column="checkuserid"    />
        <result property="checkusername"    column="checkusername"    />
        <result property="checktime"    column="checktime"    />
        <result property="type"    column="type"    />
        <result property="typename"    column="typename"    />
        <result property="usebqsms"    column="usebqsms"    />
        <result property="usebhsms"    column="usebhsms"    />
        <result property="usesendsms"    column="usesendsms"    />
        <result property="deptcode"    column="deptcode"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="isupload"    column="isupload"    />
        <result property="uploadTime"    column="upload_time"    />
        <result property="orgid"    column="orgid"    />
        <result property="pid"    column="pid"    />
        <result property="guid"    column="guid"    />
        <result property="preachform"    column="preachform"    />
        <result property="isSend"    column="is_send"    />
        <result property="sendState"    column="send_state"    />
        <result property="param"    column="param"    />
    </resultMap>
    <sql id="selectSvyTaskVo">
        select taskid, svrtaskid, taskname, templateid, templatename, labelinfo, state, count, executed, unexecuted, fail, patientid, patientname, addtime, checkuserid, checkusername, checktime, type, typename, usebqsms, usebhsms, usesendsms, deptcode, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, preachform, is_send, send_state, param from svy_task
    </sql>
    <select id="selectSvyTaskList" parameterType="com.smartor.domain.SvyTask" resultMap="SvyTaskResult">
        <include refid="selectSvyTaskVo"/>
        <where>
            <if test="svrtaskid != null "> and svrtaskid = #{svrtaskid}</if>
            <if test="taskname != null  and taskname != ''"> and taskname like concat('%', #{taskname}, '%')</if>
            <if test="templateid != null  and templateid != ''"> and templateid = #{templateid}</if>
            <if test="templatename != null  and templatename != ''"> and templatename like concat('%', #{templatename}, '%')</if>
            <if test="labelinfo != null  and labelinfo != ''"> and labelinfo = #{labelinfo}</if>
            <if test="state != null "> and state = #{state}</if>
            <if test="count != null "> and count = #{count}</if>
            <if test="executed != null "> and executed = #{executed}</if>
            <if test="unexecuted != null "> and unexecuted = #{unexecuted}</if>
            <if test="fail != null "> and fail = #{fail}</if>
            <if test="patientid != null  and patientid != ''"> and patientid = #{patientid}</if>
            <if test="patientname != null  and patientname != ''"> and patientname like concat('%', #{patientname}, '%')</if>
            <if test="addtime != null "> and addtime = #{addtime}</if>
            <if test="checkuserid != null  and checkuserid != ''"> and checkuserid = #{checkuserid}</if>
            <if test="checkusername != null  and checkusername != ''"> and checkusername like concat('%', #{checkusername}, '%')</if>
            <if test="checktime != null "> and checktime = #{checktime}</if>
            <if test="type != null  and type != ''"> and type = #{type}</if>
            <if test="typename != null  and typename != ''"> and typename like concat('%', #{typename}, '%')</if>
            <if test="usebqsms != null "> and usebqsms = #{usebqsms}</if>
            <if test="usebhsms != null "> and usebhsms = #{usebhsms}</if>
            <if test="usesendsms != null "> and usesendsms = #{usesendsms}</if>
            <if test="deptcode != null  and deptcode != ''"> and deptcode = #{deptcode}</if>
            <if test="isupload != null "> and isupload = #{isupload}</if>
            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
            <if test="pid != null "> and pid = #{pid}</if>
            <if test="guid != null  and guid != ''"> and guid = #{guid}</if>
            <if test="preachform != null  and preachform != ''"> and preachform = #{preachform}</if>
            <if test="isSend != null "> and is_send = #{isSend}</if>
            <if test="sendState != null  and sendState != ''"> and send_state = #{sendState}</if>
            <if test="param != null  and param != ''"> and param = #{param}</if>
        </where>
    </select>
    <select id="selectSvyTaskByTaskid" parameterType="Long" resultMap="SvyTaskResult">
        <include refid="selectSvyTaskVo"/>
        where taskid = #{taskid}
    </select>
    <insert id="insertSvyTask" parameterType="com.smartor.domain.SvyTask" useGeneratedKeys="true" keyProperty="taskid">
        insert into svy_task
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="svrtaskid != null">svrtaskid,</if>
            <if test="taskname != null">taskname,</if>
            <if test="templateid != null">templateid,</if>
            <if test="templatename != null">templatename,</if>
            <if test="labelinfo != null">labelinfo,</if>
            <if test="state != null">state,</if>
            <if test="count != null">count,</if>
            <if test="executed != null">executed,</if>
            <if test="unexecuted != null">unexecuted,</if>
            <if test="fail != null">fail,</if>
            <if test="patientid != null">patientid,</if>
            <if test="patientname != null">patientname,</if>
            <if test="addtime != null">addtime,</if>
            <if test="checkuserid != null">checkuserid,</if>
            <if test="checkusername != null">checkusername,</if>
            <if test="checktime != null">checktime,</if>
            <if test="type != null">type,</if>
            <if test="typename != null">typename,</if>
            <if test="usebqsms != null">usebqsms,</if>
            <if test="usebhsms != null">usebhsms,</if>
            <if test="usesendsms != null">usesendsms,</if>
            <if test="deptcode != null">deptcode,</if>
            <if test="delFlag != null">del_flag,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="orgid != null">orgid,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="preachform != null">preachform,</if>
            <if test="isSend != null">is_send,</if>
            <if test="sendState != null">send_state,</if>
            <if test="param != null">param,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="svrtaskid != null">#{svrtaskid},</if>
            <if test="taskname != null">#{taskname},</if>
            <if test="templateid != null">#{templateid},</if>
            <if test="templatename != null">#{templatename},</if>
            <if test="labelinfo != null">#{labelinfo},</if>
            <if test="state != null">#{state},</if>
            <if test="count != null">#{count},</if>
            <if test="executed != null">#{executed},</if>
            <if test="unexecuted != null">#{unexecuted},</if>
            <if test="fail != null">#{fail},</if>
            <if test="patientid != null">#{patientid},</if>
            <if test="patientname != null">#{patientname},</if>
            <if test="addtime != null">#{addtime},</if>
            <if test="checkuserid != null">#{checkuserid},</if>
            <if test="checkusername != null">#{checkusername},</if>
            <if test="checktime != null">#{checktime},</if>
            <if test="type != null">#{type},</if>
            <if test="typename != null">#{typename},</if>
            <if test="usebqsms != null">#{usebqsms},</if>
            <if test="usebhsms != null">#{usebhsms},</if>
            <if test="usesendsms != null">#{usesendsms},</if>
            <if test="deptcode != null">#{deptcode},</if>
            <if test="delFlag != null">#{delFlag},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="preachform != null">#{preachform},</if>
            <if test="isSend != null">#{isSend},</if>
            <if test="sendState != null">#{sendState},</if>
            <if test="param != null">#{param},</if>
         </trim>
    </insert>
    <update id="updateSvyTask" parameterType="com.smartor.domain.SvyTask">
        update svy_task
        <trim prefix="SET" suffixOverrides=",">
            <if test="svrtaskid != null">svrtaskid = #{svrtaskid},</if>
            <if test="taskname != null">taskname = #{taskname},</if>
            <if test="templateid != null">templateid = #{templateid},</if>
            <if test="templatename != null">templatename = #{templatename},</if>
            <if test="labelinfo != null">labelinfo = #{labelinfo},</if>
            <if test="state != null">state = #{state},</if>
            <if test="count != null">count = #{count},</if>
            <if test="executed != null">executed = #{executed},</if>
            <if test="unexecuted != null">unexecuted = #{unexecuted},</if>
            <if test="fail != null">fail = #{fail},</if>
            <if test="patientid != null">patientid = #{patientid},</if>
            <if test="patientname != null">patientname = #{patientname},</if>
            <if test="addtime != null">addtime = #{addtime},</if>
            <if test="checkuserid != null">checkuserid = #{checkuserid},</if>
            <if test="checkusername != null">checkusername = #{checkusername},</if>
            <if test="checktime != null">checktime = #{checktime},</if>
            <if test="type != null">type = #{type},</if>
            <if test="typename != null">typename = #{typename},</if>
            <if test="usebqsms != null">usebqsms = #{usebqsms},</if>
            <if test="usebhsms != null">usebhsms = #{usebhsms},</if>
            <if test="usesendsms != null">usesendsms = #{usesendsms},</if>
            <if test="deptcode != null">deptcode = #{deptcode},</if>
            <if test="delFlag != null">del_flag = #{delFlag},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="preachform != null">preachform = #{preachform},</if>
            <if test="isSend != null">is_send = #{isSend},</if>
            <if test="sendState != null">send_state = #{sendState},</if>
            <if test="param != null">param = #{param},</if>
        </trim>
        where taskid = #{taskid}
    </update>
    <delete id="deleteSvyTaskByTaskid" parameterType="Long">
        delete from svy_task where taskid = #{taskid}
    </delete>
    <delete id="deleteSvyTaskByTaskids" parameterType="String">
        delete from svy_task where taskid in
        <foreach item="taskid" collection="array" open="(" separator="," close=")">
            #{taskid}
        </foreach>
    </delete>
</mapper>
smartor/src/main/resources/mapper/smartor/SvyTaskScriptMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyTaskScriptMapper">
    <resultMap type="com.smartor.domain.SvyTaskScript" id="SvyTaskScriptResult">
        <result property="id"    column="id"    />
        <result property="scriptType"    column="script_type"    />
        <result property="scriptCode"    column="script_code"    />
        <result property="script"    column="script"    />
        <result property="tag"    column="tag"    />
        <result property="sort"    column="sort"    />
        <result property="ismandatory"    column="ismandatory"    />
        <result property="ishide"    column="ishide"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="orgid"    column="orgid"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="isupload"    column="isupload"    />
        <result property="uploadTime"    column="upload_time"    />
        <result property="answer"    column="answer"    />
        <result property="pid"    column="pid"    />
        <result property="guid"    column="guid"    />
        <result property="taskid"    column="taskid"    />
        <result property="optiondesc"    column="optiondesc"    />
        <result property="nexttopicid"    column="nexttopicid"    />
        <result property="nexttopicsort"    column="nexttopicsort"    />
        <result property="scoretype"    column="scoretype"    />
        <result property="score"    column="score"    />
        <result property="showtype"    column="showtype"    />
        <result property="picturePath"    column="picture_path"    />
    </resultMap>
    <sql id="selectSvyTaskScriptVo">
        select id, script_type, script_code, script, tag, sort, ismandatory, ishide, del_flag, orgid, create_by, create_time, update_by, update_time, isupload, upload_time, answer, pid, guid, taskid, optiondesc, nexttopicid, nexttopicsort, scoretype, score, showtype, picture_path from svy_task_script
    </sql>
    <select id="selectSvyTaskScriptList" parameterType="com.smartor.domain.SvyTaskScript" resultMap="SvyTaskScriptResult">
        <include refid="selectSvyTaskScriptVo"/>
        <where>
            <if test="scriptType != null "> and script_type = #{scriptType}</if>
            <if test="scriptCode != null  and scriptCode != ''"> and script_code = #{scriptCode}</if>
            <if test="script != null  and script != ''"> and script = #{script}</if>
            <if test="tag != null  and tag != ''"> and tag = #{tag}</if>
            <if test="sort != null "> and sort = #{sort}</if>
            <if test="ismandatory != null "> and ismandatory = #{ismandatory}</if>
            <if test="ishide != null "> and ishide = #{ishide}</if>
            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
            <if test="isupload != null "> and isupload = #{isupload}</if>
            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
            <if test="answer != null  and answer != ''"> and answer = #{answer}</if>
            <if test="pid != null "> and pid = #{pid}</if>
            <if test="guid != null  and guid != ''"> and guid = #{guid}</if>
            <if test="taskid != null "> and taskid = #{taskid}</if>
            <if test="optiondesc != null  and optiondesc != ''"> and optiondesc = #{optiondesc}</if>
            <if test="nexttopicid != null "> and nexttopicid = #{nexttopicid}</if>
            <if test="nexttopicsort != null "> and nexttopicsort = #{nexttopicsort}</if>
            <if test="scoretype != null  and scoretype != ''"> and scoretype = #{scoretype}</if>
            <if test="score != null  and score != ''"> and score = #{score}</if>
            <if test="showtype != null  and showtype != ''"> and showtype = #{showtype}</if>
            <if test="picturePath != null  and picturePath != ''"> and picture_path = #{picturePath}</if>
        </where>
    </select>
    <select id="selectSvyTaskScriptById" parameterType="Long" resultMap="SvyTaskScriptResult">
        <include refid="selectSvyTaskScriptVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyTaskScript" parameterType="com.smartor.domain.SvyTaskScript" useGeneratedKeys="true" keyProperty="id">
        insert into svy_task_script
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="scriptType != null">script_type,</if>
            <if test="scriptCode != null and scriptCode != ''">script_code,</if>
            <if test="script != null">script,</if>
            <if test="tag != null">tag,</if>
            <if test="sort != null">sort,</if>
            <if test="ismandatory != null">ismandatory,</if>
            <if test="ishide != null">ishide,</if>
            <if test="delFlag != null and delFlag != ''">del_flag,</if>
            <if test="orgid != null">orgid,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="answer != null">answer,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="taskid != null">taskid,</if>
            <if test="optiondesc != null">optiondesc,</if>
            <if test="nexttopicid != null">nexttopicid,</if>
            <if test="nexttopicsort != null">nexttopicsort,</if>
            <if test="scoretype != null">scoretype,</if>
            <if test="score != null">score,</if>
            <if test="showtype != null">showtype,</if>
            <if test="picturePath != null">picture_path,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="scriptType != null">#{scriptType},</if>
            <if test="scriptCode != null and scriptCode != ''">#{scriptCode},</if>
            <if test="script != null">#{script},</if>
            <if test="tag != null">#{tag},</if>
            <if test="sort != null">#{sort},</if>
            <if test="ismandatory != null">#{ismandatory},</if>
            <if test="ishide != null">#{ishide},</if>
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="answer != null">#{answer},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="taskid != null">#{taskid},</if>
            <if test="optiondesc != null">#{optiondesc},</if>
            <if test="nexttopicid != null">#{nexttopicid},</if>
            <if test="nexttopicsort != null">#{nexttopicsort},</if>
            <if test="scoretype != null">#{scoretype},</if>
            <if test="score != null">#{score},</if>
            <if test="showtype != null">#{showtype},</if>
            <if test="picturePath != null">#{picturePath},</if>
         </trim>
    </insert>
    <update id="updateSvyTaskScript" parameterType="com.smartor.domain.SvyTaskScript">
        update svy_task_script
        <trim prefix="SET" suffixOverrides=",">
            <if test="scriptType != null">script_type = #{scriptType},</if>
            <if test="scriptCode != null and scriptCode != ''">script_code = #{scriptCode},</if>
            <if test="script != null">script = #{script},</if>
            <if test="tag != null">tag = #{tag},</if>
            <if test="sort != null">sort = #{sort},</if>
            <if test="ismandatory != null">ismandatory = #{ismandatory},</if>
            <if test="ishide != null">ishide = #{ishide},</if>
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="answer != null">answer = #{answer},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="taskid != null">taskid = #{taskid},</if>
            <if test="optiondesc != null">optiondesc = #{optiondesc},</if>
            <if test="nexttopicid != null">nexttopicid = #{nexttopicid},</if>
            <if test="nexttopicsort != null">nexttopicsort = #{nexttopicsort},</if>
            <if test="scoretype != null">scoretype = #{scoretype},</if>
            <if test="score != null">score = #{score},</if>
            <if test="showtype != null">showtype = #{showtype},</if>
            <if test="picturePath != null">picture_path = #{picturePath},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteSvyTaskScriptById" parameterType="Long">
        delete from svy_task_script where id = #{id}
    </delete>
    <delete id="deleteSvyTaskScriptByIds" parameterType="String">
        delete from svy_task_script where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
smartor/src/main/resources/mapper/smartor/SvyTaskScriptoptionMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyTaskScriptoptionMapper">
    <resultMap type="com.smartor.domain.SvyTaskScriptoption" id="SvyTaskScriptoptionResult">
        <result property="id"    column="id"    />
        <result property="taskScriptId"    column="task_script_id"    />
        <result property="svyid"    column="svyid"    />
        <result property="scriptType"    column="script_type"    />
        <result property="optioncode"    column="optioncode"    />
        <result property="optioncontent"    column="optioncontent"    />
        <result property="tag"    column="tag"    />
        <result property="isexistdetail"    column="isexistdetail"    />
        <result property="detailismandatory"    column="detailismandatory"    />
        <result property="isexceptionitem"    column="isexceptionitem"    />
        <result property="istrack"    column="istrack"    />
        <result property="withadditional"    column="withadditional"    />
        <result property="score"    column="score"    />
        <result property="prompt"    column="prompt"    />
        <result property="jump"    column="jump"    />
        <result property="parentoptionid"    column="parentoptionid"    />
        <result property="ismutex"    column="ismutex"    />
        <result property="verifyrule"    column="verifyrule"    />
        <result property="sort"    column="sort"    />
        <result property="verificationtype"    column="verificationtype"    />
        <result property="isrange"    column="isrange"    />
        <result property="minrange"    column="minrange"    />
        <result property="maxrange"    column="maxrange"    />
        <result property="rangelength"    column="rangelength"    />
        <result property="orgid"    column="orgid"    />
        <result property="oldid"    column="oldid"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="isupload"    column="isupload"    />
        <result property="uploadTime"    column="upload_time"    />
        <result property="pid"    column="pid"    />
        <result property="guid"    column="guid"    />
        <result property="taskid"    column="taskid"    />
        <result property="nexttopicid"    column="nexttopicid"    />
        <result property="nexttopicsort"    column="nexttopicsort"    />
        <result property="scoretype"    column="scoretype"    />
        <result property="showtype"    column="showtype"    />
        <result property="picturePath"    column="picture_path"    />
    </resultMap>
    <sql id="selectSvyTaskScriptoptionVo">
        select id, task_script_id, svyid, script_type, optioncode, optioncontent, tag, isexistdetail, detailismandatory, isexceptionitem, istrack, withadditional, score, prompt, jump, parentoptionid, ismutex, verifyrule, sort, verificationtype, isrange, minrange, maxrange, rangelength, orgid, oldid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time, pid, guid, taskid, nexttopicid, nexttopicsort, scoretype, showtype, picture_path from svy_task_scriptoption
    </sql>
    <select id="selectSvyTaskScriptoptionList" parameterType="com.smartor.domain.SvyTaskScriptoption" resultMap="SvyTaskScriptoptionResult">
        <include refid="selectSvyTaskScriptoptionVo"/>
        <where>
            <if test="taskScriptId != null "> and task_script_id = #{taskScriptId}</if>
            <if test="svyid != null "> and svyid = #{svyid}</if>
            <if test="scriptType != null "> and script_type = #{scriptType}</if>
            <if test="optioncode != null  and optioncode != ''"> and optioncode = #{optioncode}</if>
            <if test="optioncontent != null  and optioncontent != ''"> and optioncontent = #{optioncontent}</if>
            <if test="tag != null  and tag != ''"> and tag = #{tag}</if>
            <if test="isexistdetail != null "> and isexistdetail = #{isexistdetail}</if>
            <if test="detailismandatory != null "> and detailismandatory = #{detailismandatory}</if>
            <if test="isexceptionitem != null "> and isexceptionitem = #{isexceptionitem}</if>
            <if test="istrack != null "> and istrack = #{istrack}</if>
            <if test="withadditional != null "> and withadditional = #{withadditional}</if>
            <if test="score != null "> and score = #{score}</if>
            <if test="prompt != null  and prompt != ''"> and prompt = #{prompt}</if>
            <if test="jump != null  and jump != ''"> and jump = #{jump}</if>
            <if test="parentoptionid != null "> and parentoptionid = #{parentoptionid}</if>
            <if test="ismutex != null "> and ismutex = #{ismutex}</if>
            <if test="verifyrule != null  and verifyrule != ''"> and verifyrule = #{verifyrule}</if>
            <if test="sort != null "> and sort = #{sort}</if>
            <if test="verificationtype != null "> and verificationtype = #{verificationtype}</if>
            <if test="isrange != null "> and isrange = #{isrange}</if>
            <if test="minrange != null  and minrange != ''"> and minrange = #{minrange}</if>
            <if test="maxrange != null  and maxrange != ''"> and maxrange = #{maxrange}</if>
            <if test="rangelength != null "> and rangelength = #{rangelength}</if>
            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
            <if test="oldid != null "> and oldid = #{oldid}</if>
            <if test="isupload != null "> and isupload = #{isupload}</if>
            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
            <if test="pid != null "> and pid = #{pid}</if>
            <if test="guid != null  and guid != ''"> and guid = #{guid}</if>
            <if test="taskid != null "> and taskid = #{taskid}</if>
            <if test="nexttopicid != null "> and nexttopicid = #{nexttopicid}</if>
            <if test="nexttopicsort != null "> and nexttopicsort = #{nexttopicsort}</if>
            <if test="scoretype != null  and scoretype != ''"> and scoretype = #{scoretype}</if>
            <if test="showtype != null  and showtype != ''"> and showtype = #{showtype}</if>
            <if test="picturePath != null  and picturePath != ''"> and picture_path = #{picturePath}</if>
        </where>
    </select>
    <select id="selectSvyTaskScriptoptionById" parameterType="Long" resultMap="SvyTaskScriptoptionResult">
        <include refid="selectSvyTaskScriptoptionVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyTaskScriptoption" parameterType="com.smartor.domain.SvyTaskScriptoption" useGeneratedKeys="true" keyProperty="id">
        insert into svy_task_scriptoption
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="taskScriptId != null">task_script_id,</if>
            <if test="svyid != null">svyid,</if>
            <if test="scriptType != null">script_type,</if>
            <if test="optioncode != null">optioncode,</if>
            <if test="optioncontent != null">optioncontent,</if>
            <if test="tag != null">tag,</if>
            <if test="isexistdetail != null">isexistdetail,</if>
            <if test="detailismandatory != null">detailismandatory,</if>
            <if test="isexceptionitem != null">isexceptionitem,</if>
            <if test="istrack != null">istrack,</if>
            <if test="withadditional != null">withadditional,</if>
            <if test="score != null">score,</if>
            <if test="prompt != null">prompt,</if>
            <if test="jump != null">jump,</if>
            <if test="parentoptionid != null">parentoptionid,</if>
            <if test="ismutex != null">ismutex,</if>
            <if test="verifyrule != null">verifyrule,</if>
            <if test="sort != null">sort,</if>
            <if test="verificationtype != null">verificationtype,</if>
            <if test="isrange != null">isrange,</if>
            <if test="minrange != null">minrange,</if>
            <if test="maxrange != null">maxrange,</if>
            <if test="rangelength != null">rangelength,</if>
            <if test="orgid != null">orgid,</if>
            <if test="oldid != null">oldid,</if>
            <if test="delFlag != null and delFlag != ''">del_flag,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="taskid != null">taskid,</if>
            <if test="nexttopicid != null">nexttopicid,</if>
            <if test="nexttopicsort != null">nexttopicsort,</if>
            <if test="scoretype != null">scoretype,</if>
            <if test="showtype != null">showtype,</if>
            <if test="picturePath != null">picture_path,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="taskScriptId != null">#{taskScriptId},</if>
            <if test="svyid != null">#{svyid},</if>
            <if test="scriptType != null">#{scriptType},</if>
            <if test="optioncode != null">#{optioncode},</if>
            <if test="optioncontent != null">#{optioncontent},</if>
            <if test="tag != null">#{tag},</if>
            <if test="isexistdetail != null">#{isexistdetail},</if>
            <if test="detailismandatory != null">#{detailismandatory},</if>
            <if test="isexceptionitem != null">#{isexceptionitem},</if>
            <if test="istrack != null">#{istrack},</if>
            <if test="withadditional != null">#{withadditional},</if>
            <if test="score != null">#{score},</if>
            <if test="prompt != null">#{prompt},</if>
            <if test="jump != null">#{jump},</if>
            <if test="parentoptionid != null">#{parentoptionid},</if>
            <if test="ismutex != null">#{ismutex},</if>
            <if test="verifyrule != null">#{verifyrule},</if>
            <if test="sort != null">#{sort},</if>
            <if test="verificationtype != null">#{verificationtype},</if>
            <if test="isrange != null">#{isrange},</if>
            <if test="minrange != null">#{minrange},</if>
            <if test="maxrange != null">#{maxrange},</if>
            <if test="rangelength != null">#{rangelength},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="oldid != null">#{oldid},</if>
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="taskid != null">#{taskid},</if>
            <if test="nexttopicid != null">#{nexttopicid},</if>
            <if test="nexttopicsort != null">#{nexttopicsort},</if>
            <if test="scoretype != null">#{scoretype},</if>
            <if test="showtype != null">#{showtype},</if>
            <if test="picturePath != null">#{picturePath},</if>
         </trim>
    </insert>
    <update id="updateSvyTaskScriptoption" parameterType="com.smartor.domain.SvyTaskScriptoption">
        update svy_task_scriptoption
        <trim prefix="SET" suffixOverrides=",">
            <if test="taskScriptId != null">task_script_id = #{taskScriptId},</if>
            <if test="svyid != null">svyid = #{svyid},</if>
            <if test="scriptType != null">script_type = #{scriptType},</if>
            <if test="optioncode != null">optioncode = #{optioncode},</if>
            <if test="optioncontent != null">optioncontent = #{optioncontent},</if>
            <if test="tag != null">tag = #{tag},</if>
            <if test="isexistdetail != null">isexistdetail = #{isexistdetail},</if>
            <if test="detailismandatory != null">detailismandatory = #{detailismandatory},</if>
            <if test="isexceptionitem != null">isexceptionitem = #{isexceptionitem},</if>
            <if test="istrack != null">istrack = #{istrack},</if>
            <if test="withadditional != null">withadditional = #{withadditional},</if>
            <if test="score != null">score = #{score},</if>
            <if test="prompt != null">prompt = #{prompt},</if>
            <if test="jump != null">jump = #{jump},</if>
            <if test="parentoptionid != null">parentoptionid = #{parentoptionid},</if>
            <if test="ismutex != null">ismutex = #{ismutex},</if>
            <if test="verifyrule != null">verifyrule = #{verifyrule},</if>
            <if test="sort != null">sort = #{sort},</if>
            <if test="verificationtype != null">verificationtype = #{verificationtype},</if>
            <if test="isrange != null">isrange = #{isrange},</if>
            <if test="minrange != null">minrange = #{minrange},</if>
            <if test="maxrange != null">maxrange = #{maxrange},</if>
            <if test="rangelength != null">rangelength = #{rangelength},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="oldid != null">oldid = #{oldid},</if>
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="taskid != null">taskid = #{taskid},</if>
            <if test="nexttopicid != null">nexttopicid = #{nexttopicid},</if>
            <if test="nexttopicsort != null">nexttopicsort = #{nexttopicsort},</if>
            <if test="scoretype != null">scoretype = #{scoretype},</if>
            <if test="showtype != null">showtype = #{showtype},</if>
            <if test="picturePath != null">picture_path = #{picturePath},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteSvyTaskScriptoptionById" parameterType="Long">
        delete from svy_task_scriptoption where id = #{id}
    </delete>
    <delete id="deleteSvyTaskScriptoptionByIds" parameterType="String">
        delete from svy_task_scriptoption where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
smartor/src/main/resources/mapper/smartor/SvyTaskSingleMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,432 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyTaskSingleMapper">
    <resultMap type="com.smartor.domain.SvyTaskSingle" id="SvyTaskSingleResult">
        <result property="id" column="id"/>
        <result property="sendname" column="sendname"/>
        <result property="phone" column="phone"/>
        <result property="sex" column="sex"/>
        <result property="age" column="age"/>
        <result property="sfzh" column="sfzh"/>
        <result property="addr" column="addr"/>
        <result property="senderdetail" column="senderdetail"/>
        <result property="type" column="type"/>
        <result property="taskid" column="taskid"/>
        <result property="templateid" column="templateid"/>
        <result property="templatename" column="templatename"/>
        <result property="senddate" column="senddate"/>
        <result property="sendlimitabegin" column="sendlimitabegin"/>
        <result property="sendlimitaend" column="sendlimitaend"/>
        <result property="sendlimitpbegin" column="sendlimitpbegin"/>
        <result property="sendlimitpend" column="sendlimitpend"/>
        <result property="sendlimitnbegin" column="sendlimitnbegin"/>
        <result property="sendlimitnend" column="sendlimitnend"/>
        <result property="sendstate" column="sendstate"/>
        <result property="senduuid" column="senduuid"/>
        <result property="result" column="result"/>
        <result property="finishtime" column="finishtime"/>
        <result property="userid" column="userid"/>
        <result property="username" column="username"/>
        <result property="outbounduuid" column="outbounduuid"/>
        <result property="recordid" column="recordid"/>
        <result property="recallcount" column="recallcount"/>
        <result property="exrecallcount" column="exrecallcount"/>
        <result property="pulltime" column="pulltime"/>
        <result property="bqsms" column="bqsms"/>
        <result property="bhsms" column="bhsms"/>
        <result property="deptcode" column="deptcode"/>
        <result property="labelstatus" column="labelstatus"/>
        <result property="delFlag" column="del_flag"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="isupload" column="isupload"/>
        <result property="uploadTime" column="upload_time"/>
        <result property="orgid" column="orgid"/>
        <result property="pid" column="pid"/>
        <result property="guid" column="guid"/>
        <result property="textParam" column="text_param"/>
        <result property="serviceform" column="serviceform"/>
        <result property="badNo" column="bad_no"/>
        <result property="icdName" column="icd_name"/>
        <result property="medicalRecordNo" column="medical_record_no"/>
        <result property="preachcontent" column="preachcontent"/>
        <result property="sendType" column="send_type"/>
        <result property="sendTimeSlot" column="send_time_slot"/>
        <result property="taskName" column="task_name"/>
        <result property="taskDesc" column="task_desc"/>
        <result property="operator" column="operator"/>
        <result property="operatorNo" column="operator_no"/>
        <result property="hospno" column="hospno"/>
        <result property="hospType" column="hosp_type"/>
        <result property="wechat" column="wechat"/>
        <result property="diagname" column="diagname"/>
        <result property="deptname" column="deptname"/>
        <result property="admindate" column="admindate"/>
        <result property="roomno" column="roomno"/>
        <result property="bedno" column="bedno"/>
    </resultMap>
    <sql id="selectSvyTaskSingleVo">
        select id,
               sendname,
               phone,
               sex,
               age,
               sfzh,
               addr,
               senderdetail,
               type,
               taskid,
               templateid,
               templatename,
               senddate,
               sendlimitabegin,
               sendlimitaend,
               sendlimitpbegin,
               sendlimitpend,
               sendlimitnbegin,
               sendlimitnend,
               sendstate,
               senduuid,
               result,
               finishtime,
               userid,
               username,
               outbounduuid,
               recordid,
               recallcount,
               exrecallcount,
               pulltime,
               bqsms,
               bhsms,
               deptcode,
               labelstatus,
               del_flag,
               update_by,
               update_time,
               create_by,
               create_time,
               isupload,
               upload_time,
               orgid,
               pid,
               guid,
               text_param,
               serviceform,
               bad_no,
               icd_name,
               medical_record_no,
               preachcontent,
               send_type,
               send_time_slot,
               task_name,
               task_desc,
               operator,
               operator_no,
               hospno,
               hosp_type,
               wechat,
               diagname,
               deptname,
               admindate,
               roomno,
               bedno
        from svy_task_single
    </sql>
    <select id="selectSvyTaskSingleList" parameterType="com.smartor.domain.SvyTaskSingle"
            resultMap="SvyTaskSingleResult">
        <include refid="selectSvyTaskSingleVo"/>
        <where>
            <if test="sendname != null  and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
            <if test="phone != null  and phone != ''">and phone = #{phone}</if>
            <if test="sex != null  and sex != ''">and sex = #{sex}</if>
            <if test="age != null ">and age = #{age}</if>
            <if test="sfzh != null  and sfzh != ''">and sfzh = #{sfzh}</if>
            <if test="addr != null  and addr != ''">and addr = #{addr}</if>
            <if test="senderdetail != null  and senderdetail != ''">and senderdetail = #{senderdetail}</if>
            <if test="type != null  and type != ''">and type = #{type}</if>
            <if test="taskid != null ">and taskid = #{taskid}</if>
            <if test="templateid != null  and templateid != ''">and templateid = #{templateid}</if>
            <if test="templatename != null  and templatename != ''">and templatename like concat('%', #{templatename},
                '%')
            </if>
            <if test="senddate != null ">and senddate = #{senddate}</if>
            <if test="sendlimitabegin != null  and sendlimitabegin != ''">and sendlimitabegin = #{sendlimitabegin}</if>
            <if test="sendlimitaend != null  and sendlimitaend != ''">and sendlimitaend = #{sendlimitaend}</if>
            <if test="sendlimitpbegin != null  and sendlimitpbegin != ''">and sendlimitpbegin = #{sendlimitpbegin}</if>
            <if test="sendlimitpend != null  and sendlimitpend != ''">and sendlimitpend = #{sendlimitpend}</if>
            <if test="sendlimitnbegin != null  and sendlimitnbegin != ''">and sendlimitnbegin = #{sendlimitnbegin}</if>
            <if test="sendlimitnend != null  and sendlimitnend != ''">and sendlimitnend = #{sendlimitnend}</if>
            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
            <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
            <if test="result != null  and result != ''">and result = #{result}</if>
            <if test="finishtime != null ">and finishtime = #{finishtime}</if>
            <if test="userid != null  and userid != ''">and userid = #{userid}</if>
            <if test="username != null  and username != ''">and username like concat('%', #{username}, '%')</if>
            <if test="outbounduuid != null  and outbounduuid != ''">and outbounduuid = #{outbounduuid}</if>
            <if test="recordid != null ">and recordid = #{recordid}</if>
            <if test="recallcount != null ">and recallcount = #{recallcount}</if>
            <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
            <if test="pulltime != null ">and pulltime = #{pulltime}</if>
            <if test="bqsms != null ">and bqsms = #{bqsms}</if>
            <if test="bhsms != null ">and bhsms = #{bhsms}</if>
            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
            <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
            <if test="isupload != null ">and isupload = #{isupload}</if>
            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="pid != null ">and pid = #{pid}</if>
            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
            <if test="serviceform != null  and serviceform != ''">and serviceform = #{serviceform}</if>
            <if test="badNo != null  and badNo != ''">and bad_no = #{badNo}</if>
            <if test="icdName != null  and icdName != ''">and icd_name like concat('%', #{icdName}, '%')</if>
            <if test="medicalRecordNo != null  and medicalRecordNo != ''">and medical_record_no = #{medicalRecordNo}
            </if>
            <if test="preachcontent != null  and preachcontent != ''">and preachcontent = #{preachcontent}</if>
            <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
            <if test="sendTimeSlot != null  and sendTimeSlot != ''">and send_time_slot = #{sendTimeSlot}</if>
            <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
            <if test="taskDesc != null  and taskDesc != ''">and task_desc = #{taskDesc}</if>
            <if test="operator != null  and operator != ''">and operator = #{operator}</if>
            <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
            <if test="hospno != null  and hospno != ''">and hospno = #{hospno}</if>
            <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
            <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
            <if test="diagname != null  and diagname != ''">and diagname like concat('%', #{diagname}, '%')</if>
            <if test="deptname != null  and deptname != ''">and deptname like concat('%', #{deptname}, '%')</if>
            <if test="admindate != null ">and admindate = #{admindate}</if>
            <if test="roomno != null  and roomno != ''">and roomno = #{roomno}</if>
            <if test="bedno != null  and bedno != ''">and bedno = #{bedno}</if>
        </where>
    </select>
    <select id="selectSvyTaskSingleById" parameterType="Long" resultMap="SvyTaskSingleResult">
        <include refid="selectSvyTaskSingleVo"/>
        where id = #{id}
    </select>
    <insert id="insertSvyTaskSingle" parameterType="com.smartor.domain.SvyTaskSingle" useGeneratedKeys="true"
            keyProperty="id">
        insert into svy_task_single
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="sendname != null">sendname,</if>
            <if test="phone != null">phone,</if>
            <if test="sex != null">sex,</if>
            <if test="age != null">age,</if>
            <if test="sfzh != null">sfzh,</if>
            <if test="addr != null">addr,</if>
            <if test="senderdetail != null">senderdetail,</if>
            <if test="type != null">type,</if>
            <if test="taskid != null">taskid,</if>
            <if test="templateid != null">templateid,</if>
            <if test="templatename != null">templatename,</if>
            <if test="senddate != null">senddate,</if>
            <if test="sendlimitabegin != null">sendlimitabegin,</if>
            <if test="sendlimitaend != null">sendlimitaend,</if>
            <if test="sendlimitpbegin != null">sendlimitpbegin,</if>
            <if test="sendlimitpend != null">sendlimitpend,</if>
            <if test="sendlimitnbegin != null">sendlimitnbegin,</if>
            <if test="sendlimitnend != null">sendlimitnend,</if>
            <if test="sendstate != null">sendstate,</if>
            <if test="senduuid != null">senduuid,</if>
            <if test="result != null">result,</if>
            <if test="finishtime != null">finishtime,</if>
            <if test="userid != null">userid,</if>
            <if test="username != null">username,</if>
            <if test="outbounduuid != null">outbounduuid,</if>
            <if test="recordid != null">recordid,</if>
            <if test="recallcount != null">recallcount,</if>
            <if test="exrecallcount != null">exrecallcount,</if>
            <if test="pulltime != null">pulltime,</if>
            <if test="bqsms != null">bqsms,</if>
            <if test="bhsms != null">bhsms,</if>
            <if test="deptcode != null">deptcode,</if>
            <if test="labelstatus != null">labelstatus,</if>
            <if test="delFlag != null and delFlag != ''">del_flag,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="orgid != null">orgid,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="textParam != null">text_param,</if>
            <if test="serviceform != null">serviceform,</if>
            <if test="badNo != null">bad_no,</if>
            <if test="icdName != null">icd_name,</if>
            <if test="medicalRecordNo != null">medical_record_no,</if>
            <if test="preachcontent != null">preachcontent,</if>
            <if test="sendType != null">send_type,</if>
            <if test="sendTimeSlot != null">send_time_slot,</if>
            <if test="taskName != null">task_name,</if>
            <if test="taskDesc != null">task_desc,</if>
            <if test="operator != null">operator,</if>
            <if test="operatorNo != null">operator_no,</if>
            <if test="hospno != null">hospno,</if>
            <if test="hospType != null">hosp_type,</if>
            <if test="wechat != null">wechat,</if>
            <if test="diagname != null">diagname,</if>
            <if test="deptname != null">deptname,</if>
            <if test="admindate != null">admindate,</if>
            <if test="roomno != null">roomno,</if>
            <if test="bedno != null">bedno,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sendname != null">#{sendname},</if>
            <if test="phone != null">#{phone},</if>
            <if test="sex != null">#{sex},</if>
            <if test="age != null">#{age},</if>
            <if test="sfzh != null">#{sfzh},</if>
            <if test="addr != null">#{addr},</if>
            <if test="senderdetail != null">#{senderdetail},</if>
            <if test="type != null">#{type},</if>
            <if test="taskid != null">#{taskid},</if>
            <if test="templateid != null">#{templateid},</if>
            <if test="templatename != null">#{templatename},</if>
            <if test="senddate != null">#{senddate},</if>
            <if test="sendlimitabegin != null">#{sendlimitabegin},</if>
            <if test="sendlimitaend != null">#{sendlimitaend},</if>
            <if test="sendlimitpbegin != null">#{sendlimitpbegin},</if>
            <if test="sendlimitpend != null">#{sendlimitpend},</if>
            <if test="sendlimitnbegin != null">#{sendlimitnbegin},</if>
            <if test="sendlimitnend != null">#{sendlimitnend},</if>
            <if test="sendstate != null">#{sendstate},</if>
            <if test="senduuid != null">#{senduuid},</if>
            <if test="result != null">#{result},</if>
            <if test="finishtime != null">#{finishtime},</if>
            <if test="userid != null">#{userid},</if>
            <if test="username != null">#{username},</if>
            <if test="outbounduuid != null">#{outbounduuid},</if>
            <if test="recordid != null">#{recordid},</if>
            <if test="recallcount != null">#{recallcount},</if>
            <if test="exrecallcount != null">#{exrecallcount},</if>
            <if test="pulltime != null">#{pulltime},</if>
            <if test="bqsms != null">#{bqsms},</if>
            <if test="bhsms != null">#{bhsms},</if>
            <if test="deptcode != null">#{deptcode},</if>
            <if test="labelstatus != null">#{labelstatus},</if>
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="textParam != null">#{textParam},</if>
            <if test="serviceform != null">#{serviceform},</if>
            <if test="badNo != null">#{badNo},</if>
            <if test="icdName != null">#{icdName},</if>
            <if test="medicalRecordNo != null">#{medicalRecordNo},</if>
            <if test="preachcontent != null">#{preachcontent},</if>
            <if test="sendType != null">#{sendType},</if>
            <if test="sendTimeSlot != null">#{sendTimeSlot},</if>
            <if test="taskName != null">#{taskName},</if>
            <if test="taskDesc != null">#{taskDesc},</if>
            <if test="operator != null">#{operator},</if>
            <if test="operatorNo != null">#{operatorNo},</if>
            <if test="hospno != null">#{hospno},</if>
            <if test="hospType != null">#{hospType},</if>
            <if test="wechat != null">#{wechat},</if>
            <if test="diagname != null">#{diagname},</if>
            <if test="deptname != null">#{deptname},</if>
            <if test="admindate != null">#{admindate},</if>
            <if test="roomno != null">#{roomno},</if>
            <if test="bedno != null">#{bedno},</if>
        </trim>
    </insert>
    <update id="updateSvyTaskSingle" parameterType="com.smartor.domain.SvyTaskSingle">
        update svy_task_single
        <trim prefix="SET" suffixOverrides=",">
            <if test="sendname != null">sendname = #{sendname},</if>
            <if test="phone != null">phone = #{phone},</if>
            <if test="sex != null">sex = #{sex},</if>
            <if test="age != null">age = #{age},</if>
            <if test="sfzh != null">sfzh = #{sfzh},</if>
            <if test="addr != null">addr = #{addr},</if>
            <if test="senderdetail != null">senderdetail = #{senderdetail},</if>
            <if test="type != null">type = #{type},</if>
            <if test="taskid != null">taskid = #{taskid},</if>
            <if test="templateid != null">templateid = #{templateid},</if>
            <if test="templatename != null">templatename = #{templatename},</if>
            <if test="senddate != null">senddate = #{senddate},</if>
            <if test="sendlimitabegin != null">sendlimitabegin = #{sendlimitabegin},</if>
            <if test="sendlimitaend != null">sendlimitaend = #{sendlimitaend},</if>
            <if test="sendlimitpbegin != null">sendlimitpbegin = #{sendlimitpbegin},</if>
            <if test="sendlimitpend != null">sendlimitpend = #{sendlimitpend},</if>
            <if test="sendlimitnbegin != null">sendlimitnbegin = #{sendlimitnbegin},</if>
            <if test="sendlimitnend != null">sendlimitnend = #{sendlimitnend},</if>
            <if test="sendstate != null">sendstate = #{sendstate},</if>
            <if test="senduuid != null">senduuid = #{senduuid},</if>
            <if test="result != null">result = #{result},</if>
            <if test="finishtime != null">finishtime = #{finishtime},</if>
            <if test="userid != null">userid = #{userid},</if>
            <if test="username != null">username = #{username},</if>
            <if test="outbounduuid != null">outbounduuid = #{outbounduuid},</if>
            <if test="recordid != null">recordid = #{recordid},</if>
            <if test="recallcount != null">recallcount = #{recallcount},</if>
            <if test="exrecallcount != null">exrecallcount = #{exrecallcount},</if>
            <if test="pulltime != null">pulltime = #{pulltime},</if>
            <if test="bqsms != null">bqsms = #{bqsms},</if>
            <if test="bhsms != null">bhsms = #{bhsms},</if>
            <if test="deptcode != null">deptcode = #{deptcode},</if>
            <if test="labelstatus != null">labelstatus = #{labelstatus},</if>
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="textParam != null">text_param = #{textParam},</if>
            <if test="serviceform != null">serviceform = #{serviceform},</if>
            <if test="badNo != null">bad_no = #{badNo},</if>
            <if test="icdName != null">icd_name = #{icdName},</if>
            <if test="medicalRecordNo != null">medical_record_no = #{medicalRecordNo},</if>
            <if test="preachcontent != null">preachcontent = #{preachcontent},</if>
            <if test="sendType != null">send_type = #{sendType},</if>
            <if test="sendTimeSlot != null">send_time_slot = #{sendTimeSlot},</if>
            <if test="taskName != null">task_name = #{taskName},</if>
            <if test="taskDesc != null">task_desc = #{taskDesc},</if>
            <if test="operator != null">operator = #{operator},</if>
            <if test="operatorNo != null">operator_no = #{operatorNo},</if>
            <if test="hospno != null">hospno = #{hospno},</if>
            <if test="hospType != null">hosp_type = #{hospType},</if>
            <if test="wechat != null">wechat = #{wechat},</if>
            <if test="diagname != null">diagname = #{diagname},</if>
            <if test="deptname != null">deptname = #{deptname},</if>
            <if test="admindate != null">admindate = #{admindate},</if>
            <if test="roomno != null">roomno = #{roomno},</if>
            <if test="bedno != null">bedno = #{bedno},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteSvyTaskSingleById" parameterType="Long">
        delete
        from svy_task_single
        where id = #{id}
    </delete>
    <delete id="deleteSvyTaskSingleByIds" parameterType="String">
        delete from svy_task_single where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
smartor/src/main/resources/mapper/smartor/SvyTaskTemplateMapper.xml
copy from smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml copy to smartor/src/main/resources/mapper/smartor/SvyTaskTemplateMapper.xml
Îļþ´Ó smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml ¸´ÖÆ
@@ -2,17 +2,18 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.SvyLibTitleMapper">
<mapper namespace="com.smartor.mapper.SvyTaskTemplateMapper">
    <resultMap type="com.smartor.domain.SvyLibTitle" id="SvyLibTitleResult">
    <resultMap type="com.smartor.domain.SvyTaskTemplate" id="SvyTaskTemplateResult">
        <result property="svyid" column="svyid"/>
        <result property="templateid" column="templateid"/>
        <result property="categoryid" column="categoryid"/>
        <result property="svycode" column="svycode"/>
        <result property="svyname" column="svyname"/>
        <result property="description" column="description"/>
        <result property="introduce" column="introduce"/>
        <result property="submitprompt" column="submitprompt"/>
        <result property="templateid" column="templateid"/>
        <result property="tag" column="tag"/>
        <result property="version" column="version"/>
        <result property="centerlibrarycode" column="centerlibrarycode"/>
        <result property="centerlibraryid" column="centerlibraryid"/>
@@ -26,6 +27,9 @@
        <result property="updateTime" column="update_time"/>
        <result property="isupload" column="isupload"/>
        <result property="uploadTime" column="upload_time"/>
        <result property="taskScriptId" column="task_script_id"/>
        <result property="pid" column="pid"/>
        <result property="guid" column="guid"/>
        <result property="deptNames" column="dept_names"/>
        <result property="labelInfo" column="label_info"/>
        <result property="campus" column="campus"/>
@@ -33,19 +37,19 @@
        <result property="otherdata" column="otherdata"/>
        <result property="valueType" column="value_type"/>
        <result property="reply" column="reply"/>
        <result property="taskid" column="taskid"/>
    </resultMap>
    <sql id="selectSvyLibTitleVo">
    <sql id="selectSvyTaskTemplateVo">
        select svyid,
               templateid,
               categoryid,
               value_type,
               reply,
               svycode,
               svyname,
               description,
               introduce,
               submitprompt,
               templateid,
               tag,
               version,
               centerlibrarycode,
               centerlibraryid,
@@ -59,49 +63,73 @@
               update_time,
               isupload,
               upload_time,
               task_script_id,
               pid,
               guid,
               dept_names,
               label_info,
               campus,
               suitway,
               otherdata
        from svy_lib_title
               otherdata,
               value_type,
               reply,
               taskid
        from svy_task_template
    </sql>
    <select id="selectSvyLibTitleList" parameterType="com.smartor.domain.SvyLibTitleReq" resultMap="SvyLibTitleResult">
        select a.svyid, a.categoryid, a.svycode, a.svyname, a.description, a.introduce,a.submitprompt, a.templateid,
        a.version,a.centerlibrarycode, a.centerlibraryid, a.islocal, a.isenable, a.orgid, a.del_flag, a.create_by,
        a.create_time, a.update_by, a.update_time, a.isupload,
        a.upload_time,a.dept_names,a.value_type,a.label_info,a.reply,
        a.campus,a.suitway,a.otherdata
        ,c.icdname from svy_lib_title
        a,icd10_association b,icd10 c
    <select id="selectSvyTaskTemplateList" parameterType="com.smartor.domain.SvyTaskTemplate"
            resultMap="SvyTaskTemplateResult">
        <include refid="selectSvyTaskTemplateVo"/>
        <where>
            a.del_flag=0 and
            a.svyid=b.SVYID and b.ICD10CODE=c.icdcode
            <if test="categoryid != null ">and a.categoryid = #{categoryid}</if>
            <if test="svyid != null ">and a.svyid = #{svyid}</if>
            <if test="svyname != null  and svyname != ''">and a.svyname like concat('%', #{svyname}, '%')</if>
            <if test="description != null  and description != ''">and a.icdname like concat('%', #{description}, '%')
            <if test="templateid != null ">and templateid = #{templateid}</if>
            <if test="categoryid != null ">and categoryid = #{categoryid}</if>
            <if test="svycode != null  and svycode != ''">and svycode = #{svycode}</if>
            <if test="svyname != null  and svyname != ''">and svyname like concat('%', #{svyname}, '%')</if>
            <if test="description != null  and description != ''">and description = #{description}</if>
            <if test="introduce != null  and introduce != ''">and introduce = #{introduce}</if>
            <if test="submitprompt != null  and submitprompt != ''">and submitprompt = #{submitprompt}</if>
            <if test="tag != null  and tag != ''">and tag = #{tag}</if>
            <if test="version != null ">and version = #{version}</if>
            <if test="centerlibrarycode != null  and centerlibrarycode != ''">and centerlibrarycode =
                #{centerlibrarycode}
            </if>
            <if test="centerlibraryid != null ">and centerlibraryid = #{centerlibraryid}</if>
            <if test="islocal != null ">and islocal = #{islocal}</if>
            <if test="isenable != null  and isenable != ''">and isenable = #{isenable}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="isupload != null ">and isupload = #{isupload}</if>
            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
            <if test="taskScriptId != null  and taskScriptId != ''">and task_script_id = #{taskScriptId}</if>
            <if test="pid != null ">and pid = #{pid}</if>
            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
            <if test="deptNames != null  and deptNames != ''">and dept_names = #{deptNames}</if>
            <if test="labelInfo != null  and labelInfo != ''">and label_info = #{labelInfo}</if>
            <if test="campus != null  and campus != ''">and campus = #{campus}</if>
            <if test="suitway != null  and suitway != ''">and suitway = #{suitway}</if>
            <if test="otherdata != null  and otherdata != ''">and otherdata = #{otherdata}</if>
            <if test="valueType != null  and valueType != ''">and value_type = #{valueType}</if>
            <if test="reply != null  and reply != ''">and reply = #{reply}</if>
            <if test="taskid != null ">and taskid = #{taskid}</if>
        </where>
    </select>
    <select id="selectSvyLibTitleBySvyid" parameterType="Long" resultMap="SvyLibTitleResult">
        <include refid="selectSvyLibTitleVo"/>
        where svyid = #{svyid} and del_flag=0
    <select id="selectSvyTaskTemplateBySvyid" parameterType="Long" resultMap="SvyTaskTemplateResult">
        <include refid="selectSvyTaskTemplateVo"/>
        where svyid = #{svyid}
    </select>
    <insert id="insertSvyLibTitle" parameterType="com.smartor.domain.SvyLibTitle" useGeneratedKeys="true"
    <insert id="insertSvyTaskTemplate" parameterType="com.smartor.domain.SvyTaskTemplate" useGeneratedKeys="true"
            keyProperty="svyid">
        insert into svy_lib_title
        insert into svy_task_template
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="templateid != null">templateid,</if>
            <if test="categoryid != null">categoryid,</if>
            <if test="svycode != null">svycode,</if>
            <if test="svyname != null">svyname,</if>
            <if test="description != null">description,</if>
            <if test="introduce != null">introduce,</if>
            <if test="submitprompt != null">submitprompt,</if>
            <if test="templateid != null">templateid,</if>
            <if test="tag != null">tag,</if>
            <if test="version != null">version,</if>
            <if test="centerlibrarycode != null">centerlibrarycode,</if>
            <if test="centerlibraryid != null">centerlibraryid,</if>
@@ -115,6 +143,9 @@
            <if test="updateTime != null">update_time,</if>
            <if test="isupload != null">isupload,</if>
            <if test="uploadTime != null">upload_time,</if>
            <if test="taskScriptId != null">task_script_id,</if>
            <if test="pid != null">pid,</if>
            <if test="guid != null">guid,</if>
            <if test="deptNames != null">dept_names,</if>
            <if test="labelInfo != null">label_info,</if>
            <if test="campus != null">campus,</if>
@@ -122,17 +153,17 @@
            <if test="otherdata != null">otherdata,</if>
            <if test="valueType != null">value_type,</if>
            <if test="reply != null">reply,</if>
            value_type,
            reply,
            <if test="taskid != null">taskid,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="templateid != null">#{templateid},</if>
            <if test="categoryid != null">#{categoryid},</if>
            <if test="svycode != null">#{svycode},</if>
            <if test="svyname != null">#{svyname},</if>
            <if test="description != null">#{description},</if>
            <if test="introduce != null">#{introduce},</if>
            <if test="submitprompt != null">#{submitprompt},</if>
            <if test="templateid != null">#{templateid},</if>
            <if test="tag != null">#{tag},</if>
            <if test="version != null">#{version},</if>
            <if test="centerlibrarycode != null">#{centerlibrarycode},</if>
            <if test="centerlibraryid != null">#{centerlibraryid},</if>
@@ -146,6 +177,9 @@
            <if test="updateTime != null">#{updateTime},</if>
            <if test="isupload != null">#{isupload},</if>
            <if test="uploadTime != null">#{uploadTime},</if>
            <if test="taskScriptId != null">#{taskScriptId},</if>
            <if test="pid != null">#{pid},</if>
            <if test="guid != null">#{guid},</if>
            <if test="deptNames != null">#{deptNames},</if>
            <if test="labelInfo != null">#{labelInfo},</if>
            <if test="campus != null">#{campus},</if>
@@ -153,19 +187,21 @@
            <if test="otherdata != null">#{otherdata},</if>
            <if test="valueType != null">#{valueType},</if>
            <if test="reply != null">#{reply},</if>
            <if test="taskid != null">#{taskid},</if>
        </trim>
    </insert>
    <update id="updateSvyLibTitle" parameterType="com.smartor.domain.SvyLibTitle">
        update svy_lib_title
    <update id="updateSvyTaskTemplate" parameterType="com.smartor.domain.SvyTaskTemplate">
        update svy_task_template
        <trim prefix="SET" suffixOverrides=",">
            <if test="templateid != null">templateid = #{templateid},</if>
            <if test="categoryid != null">categoryid = #{categoryid},</if>
            <if test="svycode != null">svycode = #{svycode},</if>
            <if test="svyname != null">svyname = #{svyname},</if>
            <if test="description != null">description = #{description},</if>
            <if test="introduce != null">introduce = #{introduce},</if>
            <if test="submitprompt != null">submitprompt = #{submitprompt},</if>
            <if test="templateid != null">templateid = #{templateid},</if>
            <if test="tag != null">tag = #{tag},</if>
            <if test="version != null">version = #{version},</if>
            <if test="centerlibrarycode != null">centerlibrarycode = #{centerlibrarycode},</if>
            <if test="centerlibraryid != null">centerlibraryid = #{centerlibraryid},</if>
@@ -179,6 +215,9 @@
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="isupload != null">isupload = #{isupload},</if>
            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
            <if test="taskScriptId != null">task_script_id = #{taskScriptId},</if>
            <if test="pid != null">pid = #{pid},</if>
            <if test="guid != null">guid = #{guid},</if>
            <if test="deptNames != null">dept_names=#{deptNames},</if>
            <if test="labelInfo != null">label_info=#{labelInfo},</if>
            <if test="campus != null">campus=#{campus},</if>
@@ -186,18 +225,19 @@
            <if test="otherdata != null">otherdata=#{otherdata},</if>
            <if test="valueType != null">value_type = #{valueType},</if>
            <if test="reply != null">reply = #{reply},</if>
            <if test="taskid != null">taskid = #{taskid},</if>
        </trim>
        where svyid = #{svyid}
    </update>
    <delete id="deleteSvyLibTitleBySvyid" parameterType="Long">
    <delete id="deleteSvyTaskTemplateBySvyid" parameterType="Long">
        delete
        from svy_lib_title
        from svy_task_template
        where svyid = #{svyid}
    </delete>
    <delete id="deleteSvyLibTitleBySvyids" parameterType="String">
        delete from svy_lib_title where svyid in
    <delete id="deleteSvyTaskTemplateBySvyids" parameterType="String">
        delete from svy_task_template where svyid in
        <foreach item="svyid" collection="array" open="(" separator="," close=")">
            #{svyid}
        </foreach>
smartor/src/main/resources/mapper/smartor/SvyTopicMapper.xml