package com.smartor.service.impl; import java.util.Date; import java.util.List; import java.util.UUID; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.RSAPublicKeyExample; import com.smartor.domain.IvrTaskSingle; import com.smartor.domain.IvrTaskcalldetailReq; import com.smartor.mapper.IvrTaskSingleMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.smartor.mapper.IvrTaskcalldetailMapper; import com.smartor.domain.IvrTaskcalldetail; import com.smartor.service.IIvrTaskcalldetailService; /** * 语音任务呼叫明细Service业务层处理 * * @author smartor * @date 2023-03-24 */ @Slf4j @Service public class IvrTaskcalldetailServiceImpl implements IIvrTaskcalldetailService { @Autowired private IvrTaskcalldetailMapper ivrTaskcalldetailMapper; @Autowired private IvrTaskSingleMapper ivrTaskSingleMapper; @Value("${pri_key}") private String pri_key; /** * 查询语音任务呼叫明细 * * @param calldetailid 语音任务呼叫明细主键 * @return 语音任务呼叫明细 */ @Override public IvrTaskcalldetail selectIvrTaskcalldetailByCalldetailid(String calldetailid) { return ivrTaskcalldetailMapper.selectIvrTaskcalldetailByCalldetailid(calldetailid); } /** * 查询语音任务呼叫明细列表 * * @param ivrTaskcalldetail 语音任务呼叫明细 * @return 语音任务呼叫明细 */ @Override public List selectIvrTaskcalldetailList(IvrTaskcalldetail ivrTaskcalldetail) { return ivrTaskcalldetailMapper.selectIvrTaskcalldetailList(ivrTaskcalldetail); } /** * 新增语音任务呼叫明细 * * @param ivrTaskcalldetail 语音任务呼叫明细 * @return 结果 */ @Override public int insertIvrTaskcalldetail(IvrTaskcalldetail ivrTaskcalldetail) { ivrTaskcalldetail.setCreateTime(DateUtils.getNowDate()); return ivrTaskcalldetailMapper.insertIvrTaskcalldetail(ivrTaskcalldetail); } /** * 修改语音任务呼叫明细 * * @param ivrTaskcalldetail 语音任务呼叫明细 * @return 结果 */ @Override public int updateIvrTaskcalldetail(IvrTaskcalldetail ivrTaskcalldetail) { ivrTaskcalldetail.setUpdateTime(DateUtils.getNowDate()); return ivrTaskcalldetailMapper.updateIvrTaskcalldetail(ivrTaskcalldetail); } /** * 批量删除语音任务呼叫明细 * * @param calldetailids 需要删除的语音任务呼叫明细主键 * @return 结果 */ @Override public int deleteIvrTaskcalldetailByCalldetailids(String[] calldetailids) { return ivrTaskcalldetailMapper.deleteIvrTaskcalldetailByCalldetailids(calldetailids); } /** * 删除语音任务呼叫明细信息 * * @param calldetailid 语音任务呼叫明细主键 * @return 结果 */ @Override public int deleteIvrTaskcalldetailByCalldetailid(String calldetailid) { return ivrTaskcalldetailMapper.deleteIvrTaskcalldetailByCalldetailid(calldetailid); } @Override public Integer saveQuestionAnswer(IvrTaskcalldetailReq ivrTaskcalldetailReq) { RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(ivrTaskcalldetailReq.getParam1(), pri_key)); Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(ivrTaskcalldetailReq.getParam2(), pri_key)); IvrTaskSingle ivrTaskSingle = new IvrTaskSingle(); ivrTaskSingle.setTaskid(tid); ivrTaskSingle.setPatid(pid); List ivrTaskSingles = ivrTaskSingleMapper.selectIvrTaskcallList(ivrTaskSingle); if (CollectionUtils.isEmpty(ivrTaskSingles) || ivrTaskSingles.size() == 0) { log.error("报错了,ivrTaskSingles数据为空了:{}", ivrTaskSingle); return 0; } for (IvrTaskcalldetail ivrTaskcalldetail : ivrTaskcalldetailReq.getIvrTaskcalldetailList()) { ivrTaskcalldetail.setCallid(ivrTaskSingles.get(0).getId().toString()); ivrTaskcalldetail.setCalldetailid(UUID.randomUUID().toString()); ivrTaskcalldetail.setCreateTime(new Date()); ivrTaskcalldetailMapper.insertIvrTaskcalldetail(ivrTaskcalldetail); } return 1; } }