From 82ea601baf4d22349eeceb15679b02e0443a6016 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 23 Apr 2023 17:03:05 +0800
Subject: [PATCH] 智能外呼接口修改
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java | 144 +++++++++++++++--------------------------------
1 files changed, 47 insertions(+), 97 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
index 4896522..b03191c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -16,6 +16,9 @@
import java.text.SimpleDateFormat;
import java.util.*;
+import static cn.gistack.sm.intelligentCall.util.CallUtil.getRandom;
+import static cn.gistack.sm.intelligentCall.util.CallUtil.getToken;
+
/**
* 智能呼叫控制层
* @author zhongrj
@@ -32,56 +35,44 @@
* 创建任务
* @return
*/
- @GetMapping("/createCall2")
- public R createCall2(){
- String url2 = CallConstant.HOST + CallConstant.createTaskUrl1;
- // 请求2
+ @GetMapping("/createCall")
+ public R createCall(){
+ // 请求
Map<String, Object> map = new HashMap<>();
- map.put("p2",createCall(url2));
+ map.put("p1",createCallUtil());
// 返回
return R.data(map);
}
/**
* 创建任务
- * @param url
* @return
*/
- public String createCall(String url){
- // 计算token
+ public String createCallUtil(){
Date date = new Date();
- String dateFormat0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
- String dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date);
- String dateFormats = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date);
- Random random = new Random();
- //把随机生成的数字转成字符串
- String str = String.valueOf(random.nextInt(9));
- for (int i = 0; i < 5; i++) {
- str += random.nextInt(9);
- }
- String formatString ="appId" + CallConstant.AppKey
- + "timestamp" + dateFormat
- + "transId" + dateFormats
- + str;
- // 请求参数拼接
+ String dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
+ String timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date);
+ String transId = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date) + getRandom();
+
Map<String, Object> map = new HashMap<>();
map.put("taskName","测试");
- map.put("sceneId",1);
- map.put("callingNumbers", Arrays.asList(101,102));
- map.put("taskScheduleTime",dateFormat0);
- List<User> list = new ArrayList<>();
- User user = new User();
- user.setName("张三");
- user.setPhone("15170720695");
- user.setName("先生");
- list.add(user);
+ map.put("sceneId",230);
+ map.put("callingNumbers", Arrays.asList("00862787222298"));
+ map.put("taskScheduleTime",dateFormat);
+ List<Map<String,Object>> list = new ArrayList<>();
+ Map<String,Object> maps = new HashMap<>();
+ maps.put("被叫号码","15170720695");
+ maps.put("水库名称","测试水库");
+ maps.put("超汛限多少米","0");
+ maps.put("水库编码","1241241122");
+ maps.put("用户名","zrj");
+ maps.put("用户id","123456");
+ list.add(maps);
map.put("calleeData",list);
- String jsonString = JSON.toJSONString(map);
- String lastString = formatString + jsonString + CallConstant.AppSecret;
- // md5 小写,md5 生成token
- String encryption = encryption(lastString);
- String httpPost = HttpClientUtils.httpPost(url, CallConstant.AppKey, dateFormat, dateFormats + str, encryption, map);
+ String token = getToken(timestamp, transId, map);
+ String url = CallConstant.HOST + CallConstant.createTaskUrl1;
+ String httpPost = HttpClientUtils.httpPost(url, CallConstant.AppKey, timestamp, transId, token, map);
// 返回
return httpPost;
}
@@ -93,72 +84,31 @@
// * @param args
// */
// public static void main(String[] args) {
-// // 计算token
// Date date = new Date();
-// String dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date);
-// String dateFormats = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date);
-// Random random = new Random();
-// //把随机生成的数字转成字符串
-// String str = String.valueOf(random.nextInt(9));
-// for (int i = 0; i < 5; i++) {
-// str += random.nextInt(9);
-// }
-// String formatString ="appId" + CallConstant.AppKey
-// + "timestamp" + dateFormat
-// + "transId" + dateFormats
-// + str;
-// // 请求参数拼接
+// String dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
+// String timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date);
+// String transId = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date) + getRandom();
+//
// Map<String, Object> map = new HashMap<>();
// map.put("taskName","测试");
-// map.put("sceneId",1);
-// map.put("callingNumbers", Arrays.asList(101,102));
-// map.put("taskScheduleTime","2020-02-29 14:00:00");
-// List<User> list = new ArrayList<>();
-// User user = new User();
-// user.setName("张三");
-// user.setPhone("15170720695");
-// user.setName("先生");
-// list.add(user);
+// map.put("sceneId",230);
+// map.put("callingNumbers", Arrays.asList("00862787222298"));
+// map.put("taskScheduleTime",dateFormat);
+// List<Map<String,Object>> list = new ArrayList<>();
+// Map<String,Object> maps = new HashMap<>();
+// maps.put("被叫号码","15170720695");
+// maps.put("水库名称","测试水库");
+// maps.put("超汛限多少米","0");
+// maps.put("水库编码","1241241122");
+// maps.put("用户名","zrj");
+// maps.put("用户id","123456");
+// list.add(maps);
// map.put("calleeData",list);
-// String jsonString = JSON.toJSONString(map);
-// String lastString = formatString + jsonString + CallConstant.AppSecret;
-// // md5 小写,md5 生成token
-// String encryption = encryption(lastString);
-// String url = CallConstant.HOST + CallConstant.createTaskUrl;
-// String httpPost = HttpClientUtils.httpPost(url, CallConstant.AppKey, dateFormat, dateFormats + str, encryption, map);
//
-//
-// System.out.println("encryption = " + encryption);
-//
+// String token = getToken(timestamp, transId, map);
+// String url = CallConstant.HOST + CallConstant.createTaskUrl1;
+// String httpPost = HttpClientUtils.httpPost(url, CallConstant.AppKey, timestamp, transId, token, map);
+// System.out.println("httpPost = " + httpPost);
// }
- /**
- * md5加密 32位 小写
- * @param plainText
- * @return
- */
- public static String encryption(String plainText) {
- String re_md5 = new String();
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- md.update(plainText.getBytes());
- byte b[] = md.digest();
- int i;
- StringBuffer buf = new StringBuffer("");
- for (int offset = 0; offset < b.length; offset++) {
- i = b[offset];
- if (i < 0) {
- i += 256;
- }
- if (i < 16) {
- buf.append("0");
- }
- buf.append(Integer.toHexString(i));
- }
- re_md5 = buf.toString();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return re_md5;
- }
}
--
Gitblit v1.9.3