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<IvrTaskcalldetail> 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<IvrTaskSingle> 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;
|
}
|
}
|