diff --git a/src/main/java/com/whdc/controller/autocall/AutoCallController.java b/src/main/java/com/whdc/controller/autocall/AutoCallController.java index 3607c7a..2f0163f 100644 --- a/src/main/java/com/whdc/controller/autocall/AutoCallController.java +++ b/src/main/java/com/whdc/controller/autocall/AutoCallController.java @@ -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)); } diff --git a/src/main/java/com/whdc/model/autocall/aicc/AICCCallRespDetail.java b/src/main/java/com/whdc/model/autocall/aicc/AICCCallRespDetail.java index ca3bb50..b4efa05 100644 --- a/src/main/java/com/whdc/model/autocall/aicc/AICCCallRespDetail.java +++ b/src/main/java/com/whdc/model/autocall/aicc/AICCCallRespDetail.java @@ -36,7 +36,7 @@ public class AICCCallRespDetail { private Integer status; //0进行中 2结束 4暂停 private Integer totalCount; private Integer sendCount; - private boolean isComplete; + private boolean isCompleted; private RawVarListMap rawVarListMap; private List tags; diff --git a/src/main/java/com/whdc/model/entity/WarningResponder.java b/src/main/java/com/whdc/model/entity/WarningResponder.java index 77d429c..cef7e5f 100644 --- a/src/main/java/com/whdc/model/entity/WarningResponder.java +++ b/src/main/java/com/whdc/model/entity/WarningResponder.java @@ -125,7 +125,8 @@ public class WarningResponder extends Model implements Seriali //18607251280 熊胜 //18507191276 李陶 //18607251169 王锐 - a.setPhone("18607181767"); + //杨喆 18872619396 15327337261 + a.setPhone("15327337261"); a.encryptPhone(); System.out.println(a.salt); System.out.println(a.phone); diff --git a/src/main/java/com/whdc/service/autocall/AutoCallTaskService2.java b/src/main/java/com/whdc/service/autocall/AutoCallTaskService2.java index 5e36850..af3a923 100644 --- a/src/main/java/com/whdc/service/autocall/AutoCallTaskService2.java +++ b/src/main/java/com/whdc/service/autocall/AutoCallTaskService2.java @@ -59,8 +59,6 @@ public class AutoCallTaskService2 { List taskList; AutoCallTask task; - - warn = qxWarningMapper.selectOne( new QueryWrapper() .orderByDesc("WARNID") @@ -75,22 +73,22 @@ public class AutoCallTaskService2 { task.setWarnCnnm("钟祥 "); taskMapper.insert(task); generatePerson(task); - - warn = qxWarningMapper.selectOne( - new QueryWrapper() - .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() +// .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() .orderByDesc("WARNID") @@ -126,6 +124,7 @@ public class AutoCallTaskService2 { // .orderByDesc("WARNID") // .last("limit 1") // ); + // warn.setCtnm("荆州市"); // warn.setCnnm("英山 "); // taskList = newTask(warn); @@ -150,7 +149,7 @@ public class AutoCallTaskService2 { // task.setWarnCnnm("应城 "); // taskMapper.insert(task); // generatePerson(task); -// + // warn = qxWarningMapper.selectOne( // new QueryWrapper() // .orderByDesc("WARNID") @@ -165,7 +164,7 @@ public class AutoCallTaskService2 { // task.setWarnCnnm("阳新 "); // taskMapper.insert(task); // generatePerson(task); -// + // warn = qxWarningMapper.selectOne( // new QueryWrapper() // .orderByDesc("WARNID") @@ -272,20 +271,20 @@ public class AutoCallTaskService2 { taskMapper.insert(task); generatePerson(task); - warn = qxWarningMapper.selectOne( - new QueryWrapper() - .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() +// .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() @@ -356,6 +355,32 @@ public class AutoCallTaskService2 { } } + public List getPersonByWarnId(Integer warnId) { + QXWarning warn = qxWarningMapper.selectOne( + new QueryWrapper() + .eq("warnid", warnId) + .last("limit 1") + ); + List warnLevels = mapWarnSignalLevel(warn.getWarnSignalLevel()); + String cnnm = warn.getCnnm(); + List wrList = warningResponderMapper.listByCnnmAndLevelOrderByLevelAsc(cnnm, warnLevels); + doSomethingWith(cnnm, wrList); + wrList.sort(Comparator.comparingInt(WarningResponder::getLevel)); + + List 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 newTask(QXWarning warn) { String cnnmStr = warn.getCnnm(); Integer warnId = warn.getWarnid(); @@ -402,6 +427,7 @@ public class AutoCallTaskService2 { List 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); @@ -448,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 wrList) { //预警包含高新等字符,可跳出 @@ -513,7 +539,7 @@ public class AutoCallTaskService2 { task.getWarnLevel() + "预警信号:" + task.getWarnContent() + - ",相关信息以短信发送给您。" + "相关信息以短信发送给您。" ); person.setSmsContent( "我是省防办智能外呼系统," + @@ -620,7 +646,7 @@ public class AutoCallTaskService2 { detail.getResult().getData() == null || detail.getResult().getData().getRecords() == null || detail.getResult().getData().getRecords().isEmpty() || - !detail.getResult().getData().getRecords().get(0).isComplete() + !detail.getResult().getData().getRecords().get(0).isCompleted() ) { return null; //tags为空代表联通平台还未或正在呼叫,还没有结果信息,应继续刷接口 } @@ -630,14 +656,17 @@ public class AutoCallTaskService2 { String dialRemark = record.getRemark(); AICCCallRespDetail.RawVarListMap rawVarListMap = record.getRawVarListMap(); //已产生结果信息 - person.setIsComplete(record.isComplete() ? 1 : 0); + person.setIsComplete(record.isCompleted() ? 1 : 0); person.setDetailRemark(dialRemark); person.setDetailTalkTimes(record.getTalkTimes()); person.setDetailSipTermCause(rawVarListMap.getSipTermCause()); fillTimeData(person, record); //话术部分 - String tag = record.getTags().get(record.getTags().size() - 1).getTagName(); - person.setTag(tag); + String tag = null; + if (record.getTags() != null && record.getTags().size() > 0) { + tag = record.getTags().get(record.getTags().size() - 1).getTagName(); + person.setTag(tag); + } //再判断状态 // if ("接通".equals(dialRemark)) { diff --git a/src/main/java/com/whdc/utils/AICCHelper.java b/src/main/java/com/whdc/utils/AICCHelper.java index d00e3eb..dc74b17 100644 --- a/src/main/java/com/whdc/utils/AICCHelper.java +++ b/src/main/java/com/whdc/utils/AICCHelper.java @@ -163,7 +163,6 @@ public class AICCHelper { Map 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); - log.info("apiGetTaskCallDetail: {}", resp); TypeReference> type = new TypeReference>() { }; AICCCallRespWrapper aICCCallRespWrapper = null; diff --git a/src/main/resources/mapper/WarningResponderMapper.xml b/src/main/resources/mapper/WarningResponderMapper.xml index 80041f8..6b27fdb 100644 --- a/src/main/resources/mapper/WarningResponderMapper.xml +++ b/src/main/resources/mapper/WarningResponderMapper.xml @@ -101,8 +101,8 @@ select * from ADDRESS_BOOK_OLD A where 1=1 - - and A.CNNM = #{cnnm} + and A.CNNM like CONCAT('%',#{cnnm},'%') + and level in