Browse Source

外呼机器人-外呼记录

yangzian 3 years ago
parent
commit
04e5cdfd36

+ 11 - 4
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/SaleClueInfoController.java

@@ -3,6 +3,7 @@ package com.ruixuan.salesLeads.controller;
 
 import com.alibaba.excel.util.ConverterUtils;
 import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.common.annotation.RateLimiter;
 import com.ruixuan.common.core.controller.BaseController;
 import com.ruixuan.common.core.domain.ResultResponse;
 import com.ruixuan.common.core.redis.RedisCache;
@@ -11,6 +12,7 @@ import com.ruixuan.common.utils.StringUtils;
 import com.ruixuan.common.utils.file.FileTypeUtils;
 import com.ruixuan.common.utils.http.HttpUtil;
 import com.ruixuan.salesLeads.listener.ImportExcelListener;
+import com.ruixuan.salesLeads.pojo.SaleClueCallRecordPojo;
 import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
 import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
 import com.ruixuan.salesLeads.pojo.TestPojo;
@@ -259,19 +261,24 @@ public class SaleClueInfoController extends BaseController {
 
 
     @ApiOperation(value = "外呼机器人-导入号码",notes = "外呼机器人-导入号码")
+    @RateLimiter(count = 1)
     @PostMapping(value = "/importRobotTelephone")
     public ResultResponse importRobotTelephone(@ApiParam(value = "卖家ids") @RequestParam(value = "sellerIds") List<Long> sellerIds,
-                                               @ApiParam(value = "用户id") @RequestParam(value = "userId") String userId
-                                               ){
-
+                                               @ApiParam(value = "用户id") @RequestParam(value = "userId") String userId){
         if (sellerIds.size() > 5000){
             return ResultResponse.error("单次最大导入号码数量不能超过5000条!");
         }
-
         return telephoneRobotService.importRobotTelephone(sellerIds,userId);
     }
 
 
+    @ApiOperation(value = "外呼机器人-外呼记录查询",notes = "外呼机器人-外呼记录查询")
+    @GetMapping(value = "/getRobotTelephoneRecordList")
+    public ResultResponse<List<SaleClueCallRecordPojo>> getRobotTelephoneRecordList(){
+        return telephoneRobotService.getRobotTelephoneRecordList();
+    }
+
+
 
 
 

+ 1 - 1
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueCallRecordMapper.java

@@ -19,7 +19,7 @@ public interface SaleClueCallRecordMapper {
 
     void addSaleCallRecord(String str);
 
-    SaleClueCallRecordPojo getSaleClueCallRecordInfo();
+    List<SaleClueCallRecordPojo> getSaleClueCallRecordInfo();
 
     void updateCallRecordUser(String userId);
 

+ 11 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleClueCallRecordPojo.java

@@ -3,6 +3,7 @@ package com.ruixuan.salesLeads.pojo;
 
 import com.ruixuan.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -22,10 +23,20 @@ public class SaleClueCallRecordPojo {
 
 
     private int id;
+
+    @ApiModelProperty("原始内容")
     private String content;
+
+    @ApiModelProperty("创建人")
     private int createUserId;
+
+    @ApiModelProperty("创建人姓名")
     private String createUserName;
+
+    @ApiModelProperty("成功集合")
     private List successList;
+
+    @ApiModelProperty("失败集合")
     private List errorList;
 
 

+ 2 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/ITelephoneRobotService.java

@@ -23,4 +23,6 @@ public interface ITelephoneRobotService {
 
     ResultResponse importRobotTelephone(List<Long> sellerIds,String userId);
 
+    ResultResponse getRobotTelephoneRecordList();
+
 }

+ 41 - 17
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/TelephoneRobotServiceImpl.java

@@ -98,6 +98,15 @@ public class TelephoneRobotServiceImpl implements ITelephoneRobotService {
 
 
 
+    /**
+     *
+     * @description: 外呼机器人-导入号码
+     *
+     * @param sellerIds
+     * @param userId
+     * @return: com.ruixuan.common.core.domain.ResultResponse
+     * @author: zianY
+     */
     @Override
     public ResultResponse importRobotTelephone(List<Long> sellerIds,String userId){
         Map<String,String> headers = new HashMap<>();
@@ -119,38 +128,53 @@ public class TelephoneRobotServiceImpl implements ITelephoneRobotService {
             customerList.add(param);
         }
         result.put("customerList",customerList);
-
         //headers.put("Auth-Token","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJndW95YW5saW5nIiwiZXhwIjoxNjU4MTMyMjEyfQ.OyhpastRRzBxAlSc8JOfdxO3rK3NG592U3Qlh752xDQ");
-
         JSONObject tokenObj = redisCache.getCacheObject("salesLeads:robotToken:str");
         if (!StringUtils.isEmpty(tokenObj)){
             log.info("导入时获取redis中的token信息----->>>{}",tokenObj);
-            headers.put("Auth-Token",tokenObj.getString("token"));
+
         }else {
-            getTelephoneRobotToken();
+            tokenObj = getTelephoneRobotToken();
             log.info("导入时redis中的token信息已失效,重新获取token----->>>{}");
         }
+        headers.put("Auth-Token",JSONObject.parseObject(tokenObj.getString("data")).getString("token"));
         String content = HttpUtil.httpPostRequest(RobotConstant.CUSTOMER_IMPORT,result,headers);
         JSONObject jsonObject = JSONObject.parseObject(content);
         if (!"0".equals(jsonObject.getString("code"))){
-            return ResultResponse.error("导入数据接口异常======>>>>>"+jsonObject);
+            log.info("导入数据接口异常======>>>>>{}"+jsonObject);
+            return ResultResponse.error("第三方接口异常,请稍候再试");
         }
 
-
         //更新记录 用户
         saleClueCallRecordMapper.updateCallRecordUser(userId);
+        JSONArray success = jsonObject.getJSONArray("success");
+        JSONArray error = jsonObject.getJSONArray("error");
+        return ResultResponse.successMsg("本次导入记录,成功"+success.size()+"条;失败"+error.size()+"条。",null);
+    }
 
-        //查询导入回调记录
-        SaleClueCallRecordPojo callRecordPojo = saleClueCallRecordMapper.getSaleClueCallRecordInfo();
-        String record = callRecordPojo.getContent();
-        JSONObject recordJson = JSONObject.parseObject(record);
-        JSONArray success = recordJson.getJSONArray("success");
-        JSONArray error = recordJson.getJSONArray("error");
-
-        Map<String,Object> map = new HashMap();
-        map.put("successList",success);
-        map.put("errorList",error);
-        return ResultResponse.successMsg("导入记录查询成功。",map);
+
+
+    /**
+     *
+     * @description: 外呼记录查询
+     *
+     * @param
+     * @return: com.ruixuan.common.core.domain.ResultResponse
+     * @author: zianY
+     */
+    @Override
+    public ResultResponse getRobotTelephoneRecordList(){
+
+        PageUtils.startPage();
+        //查询导入记录
+        List<SaleClueCallRecordPojo> callRecordList = saleClueCallRecordMapper.getSaleClueCallRecordInfo();
+        for (SaleClueCallRecordPojo recordPojo : callRecordList) {
+            String record = recordPojo.getContent();
+            JSONObject recordJson = JSONObject.parseObject(record);
+            recordPojo.setSuccessList(recordJson.getJSONArray("success"));
+            recordPojo.setErrorList(recordJson.getJSONArray("error"));
+        }
+        return ResultResponse.successMsg("查询导入记录成功。",callRecordList);
     }
 
 

+ 1 - 3
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueCallRecordMapper.xml

@@ -19,7 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</insert>
 
 
-
+<!-- 查询 导入记录-->
 	<select id="getSaleClueCallRecordInfo" resultType="com.ruixuan.salesLeads.pojo.SaleClueCallRecordPojo">
 		SELECT
 		id,content,create_user_id,
@@ -27,7 +27,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		FROM
 		sale_clue_call_record
 		ORDER BY create_time DESC
-		limit 1
 	</select>
 
 
@@ -38,7 +37,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			ORDER BY
 		create_time DESC
 		LIMIT 1
-
 	</update>