| | |
| | | package com.smartor.config; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.utils.HttpUtil; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.http.HttpEntity; |
| | | import org.apache.commons.httpclient.methods.PostMethod; |
| | | import org.apache.commons.httpclient.params.HttpMethodParams; |
| | | import org.apache.http.util.EntityUtils; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | import sun.net.www.http.HttpClient; |
| | | |
| | | import javax.mail.Multipart; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | |
| | | |
| | | @Value("${phoneIP}") |
| | | private String phoneIP; |
| | | |
| | | @Value("${phonePort}") |
| | | private String phonePort; |
| | | |
| | | /** |
| | | * 添加分机add_user |
| | |
| | | public String getAgentState(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/get_agent_state"); |
| | | } |
| | | |
| | | /** |
| | |
| | | map.put("dnis", dnis); |
| | | map.put("force_call", force_call); |
| | | if (force_call == null) map.put("force_call", true); |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/manual_outbound"); |
| | | } |
| | | |
| | | /** |
| | |
| | | map.put("text", fileText); |
| | | map.put("uuid", uuid); |
| | | |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/tts_playback"); |
| | | } |
| | | |
| | | /** |
| | |
| | | map.put("wav_file", wav_file); |
| | | map.put("uuid", uuid); |
| | | |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/playback"); |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | public String ob(String kg_uuid, String kg_file, String data, String app_id, String ani, String special_ch, String sign, String extension, String dnis, Boolean call_uuid, Boolean force_call) { |
| | | public String ob(String kg_uuid, String kg_file, String data, String app_id, String ani, String special_ch, String sign, String dnis, String call_uuid, Boolean force_call) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("kg_uuid", kg_uuid); |
| | | map.put("kg_file", kg_file); |
| | |
| | | map.put("ani", ani); |
| | | map.put("special_ch", special_ch); |
| | | map.put("sign", sign); |
| | | map.put("extension", extension); |
| | | map.put("dnis", dnis); |
| | | map.put("call_uuid", call_uuid); |
| | | map.put("force_call", force_call); |
| | | if (force_call == null) map.put("force_call", true); |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/outbound"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 挂断通话 |
| | |
| | | map.put("sign", sign); |
| | | map.put("dnis", dnis); |
| | | map.put("call_uuid", call_uuid); |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | return sendReq(map, "/tel/ai_api/hangup"); |
| | | } |
| | | |
| | | private String sendReq(Map<String, Object> map, String path) { |
| | | HttpEntity<Map<String, Object>> req = new HttpEntity<>(getHead(), map); |
| | | HttpEntity<String> stringHttpEntity = HttpUtil.postJsonRequestV2(phoneIP + path, req, String.class); |
| | | return stringHttpEntity.getBody(); |
| | | if (StringUtils.isEmpty(phoneIP)) { |
| | | phoneIP = "http://124.220.50.51"; |
| | | phonePort = "8001"; |
| | | } |
| | | HttpEntity<String> stringHttpEntity = HttpUtil.postJsonRequestV2(phoneIP + ":" + phonePort + path, req, String.class); |
| | | return new String(stringHttpEntity.getBody().getBytes(StandardCharsets.UTF_8)); |
| | | } |
| | | |
| | | private Map<String, String> getHead() { |