suntianwu 3 tahun lalu
induk
melakukan
e7d515062a

+ 1 - 1
src/main/java/com/care/common/entity/CcCallResult.java

@@ -63,7 +63,7 @@ public class CcCallResult implements Serializable {
 
 
     @ApiModelProperty("会话id,通话唯一标识")
     @ApiModelProperty("会话id,通话唯一标识")
     @TableField("session_id")
     @TableField("session_id")
-    private String session_Id;
+    private String sessionId;
 
 
 
 
     @ApiModelProperty("外呼结果状态,1成功通话,2废号,3无法接通,4无人接听,5主动挂掉")
     @ApiModelProperty("外呼结果状态,1成功通话,2废号,3无法接通,4无人接听,5主动挂掉")

+ 17 - 2
src/main/java/com/care/outcall/controller/KoalaOutCallController.java

@@ -75,16 +75,31 @@ public class KoalaOutCallController {
         return Result.success();
         return Result.success();
     }
     }
 
 
-    @ApiOperation(value = "增加呼叫结果接口", notes = "增加呼叫结果接口")
+    @ApiOperation(value = "保存呼叫结果接口", notes = "保存呼叫结果接口")
     @PostMapping(value = "/koala/addCallResult", produces = "application/json;charset=UTF-8", consumes = "application/json;charset=UTF-8")
     @PostMapping(value = "/koala/addCallResult", produces = "application/json;charset=UTF-8", consumes = "application/json;charset=UTF-8")
     public Result addCallResult(@RequestBody CcCallResult ccCallResult) {
     public Result addCallResult(@RequestBody CcCallResult ccCallResult) {
         try {
         try {
             if (logger.isDebugEnabled()) {
             if (logger.isDebugEnabled()) {
                 logger.debug(JsonUtil.toJson(ccCallResult));
                 logger.debug(JsonUtil.toJson(ccCallResult));
             }
             }
+            //找到sessionId
+            KoalaLogDomain koalaLogDomain = new KoalaLogDomain();
+            koalaLogDomain.setOrgId(ccCallResult.getOrgId().toString());
+            koalaLogDomain.setSessionId(ccCallResult.getStationId().toString());
+            koalaLogDomain.setOlderId(ccCallResult.getOlderId().toString());
+            koalaLogDomain.setOrderId(ccCallResult.getOrderId().toString());
+            koalaLogDomain.setCalledId(ccCallResult.getCalledId().toString());
+            koalaLogDomain.setCalledType(ccCallResult.getCalledType());
+            koalaLogDomain.setPhone(ccCallResult.getPhone());
+            String sessionId = koalaOutCallService.getSessionId(koalaLogDomain);
+            if(sessionId == null){
+                throw new Exception("会话ID为空,不能保存");
+            }
+            ccCallResult.setSessionId(sessionId);
+
             ccCallResultService.save(ccCallResult);
             ccCallResultService.save(ccCallResult);
         } catch (Exception e) {
         } catch (Exception e) {
-            logger.error("增加呼叫结果接口异常,异常信息:" + e.getMessage());
+            logger.error("保存呼叫结果接口异常,异常信息:" + e.getMessage());
         }
         }
         return Result.success();
         return Result.success();
     }
     }

+ 2 - 0
src/main/java/com/care/outcall/mapper/KoalaOutCallDao.java

@@ -30,6 +30,8 @@ public interface KoalaOutCallDao {
      */
      */
     void addOptLog(KoalaLogDomain kaoLaLogDomain);
     void addOptLog(KoalaLogDomain kaoLaLogDomain);
 
 
+    String getSessionId(KoalaLogDomain koalaLogDomain);
+
     List<KoalaLogDomain> getAllBillInfo();
     List<KoalaLogDomain> getAllBillInfo();
 
 
     int checkSession(@Param("sessionId") String sessionId);
     int checkSession(@Param("sessionId") String sessionId);

+ 14 - 0
src/main/java/com/care/outcall/service/KoalaOutCallService.java

@@ -17,5 +17,19 @@ public interface KoalaOutCallService {
      */
      */
     Map<String, String> getAgentInfo(String userId) throws Exception;
     Map<String, String> getAgentInfo(String userId) throws Exception;
 
 
+    /**
+     * 保存外呼日志
+     * @param koalaLogDomain
+     * @throws Exception
+     */
     void addOptLog(KoalaLogDomain koalaLogDomain) throws Exception;
     void addOptLog(KoalaLogDomain koalaLogDomain) throws Exception;
+
+    /**
+     * 获取sessionId
+     * @param koalaLogDomain
+     * @return
+     * @throws Exception
+     */
+    String getSessionId(KoalaLogDomain koalaLogDomain) throws Exception;
+
 }
 }

+ 11 - 0
src/main/java/com/care/outcall/service/impl/KoalaOutCallServiceImpl.java

@@ -123,4 +123,15 @@ public class KoalaOutCallServiceImpl implements KoalaOutCallService {
         map.put("agentPassword", agentPassword);
         map.put("agentPassword", agentPassword);
         return map;
         return map;
     }
     }
+
+    /**
+     * 获取sessionId
+     * @param koalaLogDomain
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String getSessionId(KoalaLogDomain koalaLogDomain) throws Exception{
+        return this.koalaOutCallDao.getSessionId(koalaLogDomain);
+    }
 }
 }

+ 17 - 0
src/main/resources/mybatis/KoalaOutCallMapper.xml

@@ -409,4 +409,21 @@
         from cc_koala_log ckl
         from cc_koala_log ckl
         where ckl.session_id=#{sessionId}
         where ckl.session_id=#{sessionId}
     </select>
     </select>
+
+    <select id="getSessionId" resultType="java.lang.String">
+        select
+        ckl.session_id as sessionId
+        from cc_koala_log ckl
+        where
+         ckl.org_id=#{orgId}
+         and ckl.station_id=#{stationId}
+         and ckl.older_id=#{olderId}
+         and ckl.called_id=#{calledId}
+          and ckl.called_type=#{calledType}
+         and ckl.order_id=#{orderId}
+         and ckl.phone=#{phone}
+         order by ckl.create_time DESC
+         limit 1
+    </select>
+
 </mapper>
 </mapper>