Compare commits
5 Commits
4ff2c12d83
...
36c8945201
| Author | SHA1 | Date |
|---|---|---|
|
|
36c8945201 | |
|
|
fc1f4e7383 | |
|
|
e03374bf32 | |
|
|
1368e2edfa | |
|
|
61a5d43891 |
|
|
@ -28,7 +28,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@Profile({"dev"})
|
||||
@Profile({"default"})
|
||||
public class AutoCallTaskScheduled {
|
||||
|
||||
@Autowired
|
||||
|
|
@ -46,6 +46,9 @@ public class AutoCallTaskScheduled {
|
|||
@EventListener(ApplicationReadyEvent.class)
|
||||
public void initialize() throws Exception {
|
||||
autoCallHelper.getToken();
|
||||
log.info("token1 {}", autoCallHelper.getToken());
|
||||
autoCallHelper.getToken();
|
||||
log.info("token2 {}", autoCallHelper.getToken());
|
||||
initialized.set(true);
|
||||
log.info("AutoCallTaskScheduled初始化完成");
|
||||
}
|
||||
|
|
@ -130,7 +133,8 @@ public class AutoCallTaskScheduled {
|
|||
//fetch status
|
||||
int pendingDuration = 60 * 1000 * 2;
|
||||
int loopGap = 1000;
|
||||
boolean resultFetched = false;
|
||||
boolean isComplete = false;
|
||||
AutoCallPerson _person = null;
|
||||
while (pendingDuration > 0) {
|
||||
try {
|
||||
Thread.sleep(loopGap);
|
||||
|
|
@ -140,14 +144,17 @@ public class AutoCallTaskScheduled {
|
|||
}
|
||||
pendingDuration -= loopGap;
|
||||
|
||||
resultFetched = autoCallTaskService.step4QueryAICCTaskResult(person);
|
||||
if (resultFetched) break;
|
||||
//联通确保tag和remark同时返回
|
||||
_person = autoCallTaskService.step4QueryAICCTaskResult(person);
|
||||
if (_person != null && _person.getIsComplete() == 1) {
|
||||
isComplete = true;
|
||||
}
|
||||
if (isComplete) break;
|
||||
}
|
||||
|
||||
AutoCallPerson _person = autoCallTaskService.getPersonMapper().selectById(person.getId());
|
||||
person = _person;
|
||||
if (_person != null) person = _person;
|
||||
|
||||
if (resultFetched) {
|
||||
if (isComplete) {
|
||||
//获取到任务详情且有话术标签为已知晓,中断循环
|
||||
if (AutoCallPerson.TAG_DONE.equals(person.getTag())) break;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -163,8 +163,13 @@ public class AutoCallController {
|
|||
}
|
||||
}
|
||||
|
||||
@GetMapping("/newPerson")
|
||||
public ResultJson newPerson(@RequestParam("taskId") Integer taskId) {
|
||||
@GetMapping("/newPersonByWarn")
|
||||
public ResultJson newPersonByWarn(@RequestParam("warnId") Integer warnId) {
|
||||
return ResultJson.ok(autoCallTaskService2.getPersonByWarnId(warnId));
|
||||
}
|
||||
|
||||
@GetMapping("/newPersonByTask")
|
||||
public ResultJson newPersonByTask(@RequestParam("taskId") Integer taskId) {
|
||||
AutoCallTask task = autoCallTaskService2.getTaskMapper().selectById(taskId);
|
||||
return ResultJson.ok(autoCallTaskService2.newPerson(task));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,8 @@ public class AutoCallPerson {
|
|||
private String detailSipTermCause; //例如”对方挂机“
|
||||
@TableField(value = "__tag")
|
||||
private String tag; //话术识别:未识别,已知晓
|
||||
@TableField("__is_complete")
|
||||
private Integer isComplete; //default 0
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@TableField(value = "__startring_at")
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class AICCCallRespDetail {
|
|||
private Integer status; //0进行中 2结束 4暂停
|
||||
private Integer totalCount;
|
||||
private Integer sendCount;
|
||||
private boolean isCompleted;
|
||||
|
||||
private RawVarListMap rawVarListMap;
|
||||
private List<Tag> tags;
|
||||
|
|
|
|||
|
|
@ -109,7 +109,24 @@ public class WarningResponder extends Model<WarningResponder> implements Seriali
|
|||
|
||||
public static void main(String[] args) {
|
||||
WarningResponder a = new WarningResponder();
|
||||
a.setPhone("18872619396");
|
||||
//徐 18507181623 13545369643移动
|
||||
//文 18627085672 13707166566移动苹果
|
||||
//梁 18507191089
|
||||
//18507181673,陆
|
||||
//18607181767。孔
|
||||
//18507181586,韩
|
||||
//18507191372 王书坦
|
||||
//18671662204 杨胜利
|
||||
//舒康18607181321
|
||||
//18607181503 冯阳
|
||||
//18607181960 汪登
|
||||
//18607181633 张梁
|
||||
//18607181867 陶亚明
|
||||
//18607251280 熊胜
|
||||
//18507191276 李陶
|
||||
//18607251169 王锐
|
||||
//杨喆 18872619396 15327337261
|
||||
a.setPhone("15327337261");
|
||||
a.encryptPhone();
|
||||
System.out.println(a.salt);
|
||||
System.out.println(a.phone);
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.whdc.mapper.*;
|
||||
import com.whdc.model.autocall.AutoCallPerson;
|
||||
import com.whdc.model.autocall.AutoCallTask;
|
||||
import com.whdc.model.entity.QXWarning;
|
||||
import com.whdc.model.entity.WarningResponder;
|
||||
import com.whdc.model.autocall.aicc.AICCCallRespDetail;
|
||||
import com.whdc.model.autocall.aicc.AICCCallRespTask;
|
||||
import com.whdc.model.autocall.aicc.AICCCallRespWrapper;
|
||||
import com.whdc.model.autocall.aicc.AICCUploadTask;
|
||||
import com.whdc.model.entity.QXWarning;
|
||||
import com.whdc.model.entity.WarningResponder;
|
||||
import com.whdc.utils.AICCHelper;
|
||||
import com.whdc.utils.SmsHelper;
|
||||
import lombok.Getter;
|
||||
|
|
@ -26,7 +26,6 @@ import java.io.UnsupportedEncodingException;
|
|||
import java.security.GeneralSecurityException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -56,20 +55,9 @@ public class AutoCallTaskService2 {
|
|||
private SmsHelper smsHelper;
|
||||
|
||||
public void generateFakeCall() {
|
||||
QXWarning warn = qxWarningMapper.selectOne(
|
||||
new QueryWrapper<QXWarning>()
|
||||
.orderByDesc("WARNID")
|
||||
.last("limit 1")
|
||||
);
|
||||
warn.setCtnm("荆州市");
|
||||
warn.setCnnm("洪湖 ");
|
||||
List<AutoCallTask> taskList = newTask(warn);
|
||||
AutoCallTask task = taskList.get(0);
|
||||
task.setStatus(0);
|
||||
task.setCreateTm(new Date());
|
||||
task.setWarnCnnm("洪湖 ");
|
||||
taskMapper.insert(task);
|
||||
generatePerson(task);
|
||||
QXWarning warn;
|
||||
List<AutoCallTask> taskList;
|
||||
AutoCallTask task;
|
||||
|
||||
warn = qxWarningMapper.selectOne(
|
||||
new QueryWrapper<QXWarning>()
|
||||
|
|
@ -77,14 +65,226 @@ public class AutoCallTaskService2 {
|
|||
.last("limit 1")
|
||||
);
|
||||
warn.setCtnm("荆州市");
|
||||
warn.setCnnm("秭归 ");
|
||||
warn.setCnnm("钟祥 ");
|
||||
taskList = newTask(warn);
|
||||
task = taskList.get(0);
|
||||
task.setStatus(0);
|
||||
task.setCreateTm(new Date());
|
||||
task.setWarnCnnm("秭归 ");
|
||||
task.setWarnCnnm("钟祥 ");
|
||||
taskMapper.insert(task);
|
||||
generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("张湾 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("张湾 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
warn = qxWarningMapper.selectOne(
|
||||
new QueryWrapper<QXWarning>()
|
||||
.orderByDesc("WARNID")
|
||||
.last("limit 1")
|
||||
);
|
||||
warn.setCtnm("荆州市");
|
||||
warn.setCnnm("枣阳 ");
|
||||
taskList = newTask(warn);
|
||||
task = taskList.get(0);
|
||||
task.setStatus(0);
|
||||
task.setCreateTm(new Date());
|
||||
task.setWarnCnnm("枣阳 ");
|
||||
taskMapper.insert(task);
|
||||
generatePerson(task);
|
||||
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("郧西 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("郧西 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("英山 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("英山 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("应城 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("应城 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("阳新 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("阳新 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("宣恩 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("宣恩 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("宜城 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("宜城 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("孝南 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("孝南 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("孝感 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("孝感 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("襄州 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("襄州 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("咸丰 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("咸丰 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
|
||||
|
||||
warn = qxWarningMapper.selectOne(
|
||||
new QueryWrapper<QXWarning>()
|
||||
.orderByDesc("WARNID")
|
||||
.last("limit 1")
|
||||
);
|
||||
warn.setCtnm("荆州市");
|
||||
warn.setCnnm("洪湖 ");
|
||||
taskList = newTask(warn);
|
||||
task = taskList.get(0);
|
||||
task.setStatus(0);
|
||||
task.setCreateTm(new Date());
|
||||
task.setWarnCnnm("洪湖 ");
|
||||
taskMapper.insert(task);
|
||||
generatePerson(task);
|
||||
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("秭归 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("秭归 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
|
|
@ -99,6 +299,21 @@ public class AutoCallTaskService2 {
|
|||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("竹溪 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
//
|
||||
// warn = qxWarningMapper.selectOne(
|
||||
// new QueryWrapper<QXWarning>()
|
||||
// .orderByDesc("WARNID")
|
||||
// .last("limit 1")
|
||||
// );
|
||||
// warn.setCtnm("荆州市");
|
||||
// warn.setCnnm("竹山 ");
|
||||
// taskList = newTask(warn);
|
||||
// task = taskList.get(0);
|
||||
// task.setStatus(0);
|
||||
// task.setCreateTm(new Date());
|
||||
// task.setWarnCnnm("竹山 ");
|
||||
// taskMapper.insert(task);
|
||||
// generatePerson(task);
|
||||
}
|
||||
|
||||
|
|
@ -140,6 +355,32 @@ public class AutoCallTaskService2 {
|
|||
}
|
||||
}
|
||||
|
||||
public List<AutoCallPerson> getPersonByWarnId(Integer warnId) {
|
||||
QXWarning warn = qxWarningMapper.selectOne(
|
||||
new QueryWrapper<QXWarning>()
|
||||
.eq("warnid", warnId)
|
||||
.last("limit 1")
|
||||
);
|
||||
List<Integer> warnLevels = mapWarnSignalLevel(warn.getWarnSignalLevel());
|
||||
String cnnm = warn.getCnnm();
|
||||
List<WarningResponder> wrList = warningResponderMapper.listByCnnmAndLevelOrderByLevelAsc(cnnm, warnLevels);
|
||||
doSomethingWith(cnnm, wrList);
|
||||
wrList.sort(Comparator.comparingInt(WarningResponder::getLevel));
|
||||
|
||||
List<AutoCallPerson> personList = new ArrayList<>();
|
||||
for (WarningResponder wr : wrList) {
|
||||
Integer wrLevel = wr.getLevel();
|
||||
wr.decryptPhone();
|
||||
AutoCallPerson person = new AutoCallPerson();
|
||||
person.setUploadCustName(wr.getName());
|
||||
person.setLevel(wrLevel);
|
||||
person.setPosition(wr.getPosition());
|
||||
person.setUploadNumber(wr.getPhone());
|
||||
personList.add(person);
|
||||
}
|
||||
return personList;
|
||||
}
|
||||
|
||||
private List<AutoCallTask> newTask(QXWarning warn) {
|
||||
String cnnmStr = warn.getCnnm();
|
||||
Integer warnId = warn.getWarnid();
|
||||
|
|
@ -186,6 +427,7 @@ public class AutoCallTaskService2 {
|
|||
List<AutoCallPerson> personList = newPerson(task);
|
||||
if (personList.size() == 0) {
|
||||
task.setRemark("未找到责任人");
|
||||
task.setTag("未找到责任人");
|
||||
task.setStatus(AutoCallTask.STATUS_CANCELLED);
|
||||
task.setErrorCode(AutoCallTask.ERRCODE_NO_PERSON);
|
||||
taskMapper.updateById(task);
|
||||
|
|
@ -232,7 +474,7 @@ public class AutoCallTaskService2 {
|
|||
return ret;
|
||||
}
|
||||
|
||||
private static final String[] excludeNames = new String[]{"高新", "开发", "自治", "技术", "旅游", "管理", "工业", "产业", "示范"};
|
||||
private static final String[] excludeNames = new String[]{"高新", "开发", "技术", "旅游", "管理", "工业", "产业", "示范"};
|
||||
|
||||
private static void doSomethingWith(String cnmm, List<WarningResponder> wrList) {
|
||||
//预警包含高新等字符,可跳出
|
||||
|
|
@ -297,7 +539,7 @@ public class AutoCallTaskService2 {
|
|||
task.getWarnLevel() +
|
||||
"预警信号:" +
|
||||
task.getWarnContent() +
|
||||
",相关信息以短信发送给您。"
|
||||
"相关信息以短信发送给您。"
|
||||
);
|
||||
person.setSmsContent(
|
||||
"我是省防办智能外呼系统," +
|
||||
|
|
@ -394,7 +636,7 @@ public class AutoCallTaskService2 {
|
|||
// }
|
||||
}
|
||||
|
||||
public boolean step4QueryAICCTaskResult(AutoCallPerson person) {
|
||||
public AutoCallPerson step4QueryAICCTaskResult(AutoCallPerson person) {
|
||||
person = personMapper.selectById(person.getId());
|
||||
//切记要设置person的status和task的status
|
||||
AICCCallRespWrapper<AICCCallRespDetail> detail = aiccHelper.apiGetTaskCallDetail(person.getUploadRequestId(), person.getUploadCustId());
|
||||
|
|
@ -404,9 +646,9 @@ public class AutoCallTaskService2 {
|
|||
detail.getResult().getData() == null ||
|
||||
detail.getResult().getData().getRecords() == null ||
|
||||
detail.getResult().getData().getRecords().isEmpty() ||
|
||||
detail.getResult().getData().getRecords().get(0).getRemark() == null
|
||||
!detail.getResult().getData().getRecords().get(0).isCompleted()
|
||||
) {
|
||||
return false; //remark为空代表联通平台还未或正在呼叫,还没有结果信息,应继续刷接口
|
||||
return null; //tags为空代表联通平台还未或正在呼叫,还没有结果信息,应继续刷接口
|
||||
}
|
||||
|
||||
Integer taskId = person.getTaskId();
|
||||
|
|
@ -414,19 +656,18 @@ public class AutoCallTaskService2 {
|
|||
String dialRemark = record.getRemark();
|
||||
AICCCallRespDetail.RawVarListMap rawVarListMap = record.getRawVarListMap();
|
||||
//已产生结果信息
|
||||
person.setIsComplete(record.isCompleted() ? 1 : 0);
|
||||
person.setDetailRemark(dialRemark);
|
||||
person.setDetailTalkTimes(record.getTalkTimes());
|
||||
person.setDetailSipTermCause(rawVarListMap.getSipTermCause());
|
||||
fillTimeData(person, record);
|
||||
//话术部分
|
||||
String tag = null;
|
||||
if (record.getTags() != null &&
|
||||
!record.getTags().isEmpty() &&
|
||||
record.getTags().get(0).getTagName() != null
|
||||
) {
|
||||
tag = record.getTags().get(0).getTagName();
|
||||
if (record.getTags() != null && record.getTags().size() > 0) {
|
||||
tag = record.getTags().get(record.getTags().size() - 1).getTagName();
|
||||
person.setTag(tag);
|
||||
}
|
||||
|
||||
//再判断状态
|
||||
// if ("接通".equals(dialRemark)) {
|
||||
// person.setStatus(AutoCallPerson.STATUS_PUT);
|
||||
|
|
@ -439,10 +680,8 @@ public class AutoCallTaskService2 {
|
|||
// }
|
||||
personMapper.updateById(person);
|
||||
if ("已知晓".equals(tag)) {
|
||||
if ("接通".equals(dialRemark)) {
|
||||
person.setStatus(AutoCallPerson.STATUS_PUT);
|
||||
personMapper.updateById(person);
|
||||
}
|
||||
markRemnantPersonStatus(taskId);
|
||||
taskMapper.setTag(taskId, tag);
|
||||
taskMapper.setStatus(taskId, AutoCallTask.STATUS_ANY_SUCCESS);
|
||||
|
|
@ -452,7 +691,7 @@ public class AutoCallTaskService2 {
|
|||
taskMapper.setStatus(taskId, AutoCallTask.STATUS_ALL_FAIL);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return person;
|
||||
|
||||
// boolean done = false;
|
||||
// log.info("{}", JSON.toJSONString(record));
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ public class AICCHelper {
|
|||
|
||||
public void initToken() throws RuntimeException {
|
||||
if (isAcquiringToken.compareAndSet(false, true)) {
|
||||
latch = new CountDownLatch(1);
|
||||
globalToken.set(null);
|
||||
try {
|
||||
String data = "{\"sysUserId\":\"" + sysUserId + "\",\"expire\":1000000}";
|
||||
|
|
@ -67,7 +68,7 @@ public class AICCHelper {
|
|||
JSONObject request = new JSONObject();
|
||||
request.put("request", encrypt);
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("X-Access-Token", getToken());
|
||||
// headers.put("X-Access-Token", getToken());
|
||||
String resp = httpHelper.postJsonString("https://aicc.cuopen.net:9801/aicc-api/ssb/callout/thirdParty/login", request.toJSONString(), headers);
|
||||
|
||||
TypeReference<AICCCallRespWrapper<AICCLogin>> type = new TypeReference<AICCCallRespWrapper<AICCLogin>>() {
|
||||
|
|
@ -80,11 +81,12 @@ public class AICCHelper {
|
|||
|
||||
AICCLogin result = AICCCallRespWrapper.getResult();
|
||||
String token = result.getToken();
|
||||
if (token != null && !token.isEmpty()) {
|
||||
// if (token != null && !token.isEmpty()) {
|
||||
globalToken.set(token);
|
||||
}
|
||||
// }
|
||||
} finally {
|
||||
isAcquiringToken.set(false);
|
||||
latch.countDown();
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
|
|
@ -161,22 +163,32 @@ public class AICCHelper {
|
|||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("X-Access-Token", token);
|
||||
String resp = httpHelper.postJsonString("https://aicc.cuopen.net:9801/aicc-api/ssb/callout/thirdParty/task/getTaskCallDetail", request.toJSONString(),headers);
|
||||
|
||||
TypeReference<AICCCallRespWrapper<AICCCallRespDetail>> type = new TypeReference<AICCCallRespWrapper<AICCCallRespDetail>>() {
|
||||
};
|
||||
AICCCallRespWrapper<AICCCallRespDetail> AICCCallRespWrapper = JSON.parseObject(resp, type);
|
||||
if (AICCCallRespWrapper == null || !AICCCallRespWrapper.isSuccess()) {
|
||||
AICCCallRespWrapper<AICCCallRespDetail> aICCCallRespWrapper = null;
|
||||
try {
|
||||
aICCCallRespWrapper = JSON.parseObject(resp, type);
|
||||
} catch (Exception e) {
|
||||
log.error("apiGetTaskCallDetail first time: {}", resp);
|
||||
log.error("error: ", e);
|
||||
}
|
||||
if (aICCCallRespWrapper == null || !aICCCallRespWrapper.isSuccess()) {
|
||||
initToken();
|
||||
headers.put("X-Access-Token", getToken());
|
||||
resp = httpHelper.postJsonString("https://aicc.cuopen.net:9801/aicc-api/ssb/callout/thirdParty/task/getTaskCallDetail", request.toJSONString(), headers);
|
||||
AICCCallRespWrapper = JSON.parseObject(resp, type);
|
||||
try {
|
||||
aICCCallRespWrapper = JSON.parseObject(resp, type);
|
||||
} catch (Exception e) {
|
||||
log.error("apiGetTaskCallDetail second time: {}", resp);
|
||||
log.error("error: ", e);
|
||||
}
|
||||
}
|
||||
|
||||
if (AICCCallRespWrapper == null || !AICCCallRespWrapper.isSuccess()) {
|
||||
if (aICCCallRespWrapper == null || !aICCCallRespWrapper.isSuccess()) {
|
||||
log.info("获取任务详情失败:{}", resp);
|
||||
return null;
|
||||
}
|
||||
return AICCCallRespWrapper;
|
||||
return aICCCallRespWrapper;
|
||||
}
|
||||
|
||||
public AICCUploadTask newTask(String requestId, String custId, String custName, String content, List<String> numbers) {
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@
|
|||
select * from ADDRESS_BOOK_OLD A
|
||||
where 1=1
|
||||
<if test="cnnm != null and cnnm != '' ">
|
||||
<!-- and A.CNNM like CONCAT('%',#{cnnm},'%')-->
|
||||
and A.CNNM = #{cnnm}
|
||||
and A.CNNM like CONCAT('%',#{cnnm},'%')
|
||||
<!-- and A.CNNM = #{cnnm}-->
|
||||
</if>
|
||||
and level in
|
||||
<foreach collection="levels" item="item" index="index" open="(" separator="," close=")">
|
||||
|
|
|
|||
Loading…
Reference in New Issue