package com.smartor.service.impl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.IvrLibaTemplateScriptVO; import com.smartor.domain.SvyTaskTemplateScript; import com.smartor.domain.SvyTaskTemplateScriptVO; import com.smartor.domain.SvyTaskTemplateTargetoption; import com.smartor.mapper.SvyTaskTemplateScriptMapper; import com.smartor.mapper.SvyTaskTemplateTargetoptionMapper; import com.smartor.service.ISvyTaskTemplateScriptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * 问卷任务模版问题话术库Service业务层处理 * * @author ruoyi * @date 2024-06-19 */ @Service public class SvyTaskTemplateScriptServiceImpl implements ISvyTaskTemplateScriptService { @Autowired private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper; @Autowired private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; /** * 查询问卷任务模版问题话术库 * * @param ID 问卷任务模版问题话术库主键 * @return 问卷任务模版问题话术库 */ @Override public SvyTaskTemplateScript selectSvyTaskTemplateScriptByID(Long ID) { return svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptByID(ID); } /** * 查询问卷任务模版问题话术库列表 * * @param svyTaskTemplateScript 问卷任务模版问题话术库 * @return 问卷任务模版问题话术库 */ @Override public List selectSvyTaskTemplateScriptList(SvyTaskTemplateScript svyTaskTemplateScript) { return svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); } /** * 新增问卷任务模版问题话术库 * * @param svyTaskTemplateScript 问卷任务模版问题话术库 * @return 结果 */ @Override public int insertSvyTaskTemplateScript(SvyTaskTemplateScript svyTaskTemplateScript) { svyTaskTemplateScript.setCreateTime(DateUtils.getNowDate()); return svyTaskTemplateScriptMapper.insertSvyTaskTemplateScript(svyTaskTemplateScript); } /** * 修改问卷任务模版问题话术库 * * @param svyTaskTemplateScript 问卷任务模版问题话术库 * @return 结果 */ @Override public int updateSvyTaskTemplateScript(SvyTaskTemplateScript svyTaskTemplateScript) { svyTaskTemplateScript.setUpdateTime(DateUtils.getNowDate()); return svyTaskTemplateScriptMapper.updateSvyTaskTemplateScript(svyTaskTemplateScript); } /** * 批量删除问卷任务模版问题话术库 * * @param IDs 需要删除的问卷任务模版问题话术库主键 * @return 结果 */ @Override public int deleteSvyTaskTemplateScriptByIDs(Long[] IDs) { return svyTaskTemplateScriptMapper.deleteSvyTaskTemplateScriptByIDs(IDs); } /** * 删除问卷任务模版问题话术库信息 * * @param ID 问卷任务模版问题话术库主键 * @return 结果 */ @Override public int deleteSvyTaskTemplateScriptByID(Long ID) { return svyTaskTemplateScriptMapper.deleteSvyTaskTemplateScriptByID(ID); } @Override public SvyTaskTemplateScriptVO selectInfoByCondition(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO){ SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption(); svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId()); svyTaskTemplateTargetoption.setOrgid(svyTaskTemplateScriptVO.getOrgid()); List svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption); for (SvyTaskTemplateTargetoption svyTaskTemplateTargetoption1 : svyTaskTemplateTargetoptions) { ObjectMapper mapper = new ObjectMapper(); if (!StringUtils.isEmpty(svyTaskTemplateTargetoption1.getDynamiccruxs())) { try { svyTaskTemplateTargetoption1.setDynamiccruxs(mapper.readValue(svyTaskTemplateTargetoption1.getDynamiccruxsJson(), List.class)); } catch (JsonProcessingException e) { e.printStackTrace(); } } if (!StringUtils.isEmpty(svyTaskTemplateTargetoption1.getNodynamiccruxs())) { try { svyTaskTemplateTargetoption1.setNodynamiccruxs(mapper.readValue(svyTaskTemplateTargetoption1.getNodynamiccruxsJson(), List.class)); } catch (JsonProcessingException e) { e.printStackTrace(); } } } //根据序号进行排序 // Collections.sort(svyTaskTemplateTargetoptions, Comparator.comparing(SvyTaskTemplateTargetoption::getId)); svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); return svyTaskTemplateScriptVO; } }