Procházet zdrojové kódy

修改外呼结果

lilt085163@126.com před 3 roky
rodič
revize
17fb54cc61

+ 8 - 10
src/main/java/com/care/bms/controller/EventHandleController.java

@@ -45,21 +45,19 @@ public class EventHandleController {
 
 
     /**
-     *未处理事件查询 分页
+     *未处理事件查询
      * @param request
-     * @param pageReqVo
      * @return
      */
     @GetMapping("/not-handle/list")
-    @ApiOperation(tags = {"未处理事件"},value = "未处理事件查询-分页")
-    public PageResult<List<EventOrderVO>> listNotHandle(HttpServletRequest request, @RequestHeader(value = "token") String token,
-                                                        PageReqVO pageReqVo){
+    @ApiOperation(tags = {"未处理事件"},value = "未处理事件查询")
+    public Result<List<EventOrderVO>> listNotHandle(HttpServletRequest request, @RequestHeader(value = "token") String token){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent(OrderStatusEnum.TODO.getValue(), null,loginUser ,pageReqVo);
-            return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
+            List<EventOrderVO> datas = this.bmsEventOrderService.listTodoOrder(OrderStatusEnum.TODO.getValue(), null,loginUser);
+            return PageResult.success(datas);
         }catch (BDException e) {
-            log.error("未处理事件查询-分页列表出现异常",e);
+            log.error("未处理事件查询列表出现异常",e);
             return  PageResult.error(e.getMessage());
         } catch (Exception e) {
             log.error("事件处理: 未处理事件查询出现异常",e);
@@ -185,7 +183,7 @@ public class EventHandleController {
     }
     @GetMapping("/getSmsTemplate/{orderId}")
     @ApiOperation(tags = {"事件处理"},value = "查询要发送的短息内容")
-    public Result<String> getChamberlain( @PathVariable("orderId") Long orderId){
+    public Result<String> getSmsTemplate( @PathVariable("orderId") Long orderId){
         return  Result.success("查询成功!",this.bmsEventOrderService.getSmsTemplate(orderId));
     }
     @PostMapping("/sendSms/{orderContactId}")
@@ -203,7 +201,7 @@ public class EventHandleController {
     }
     @GetMapping("/getCallRadio/{hisId}")
     @ApiOperation(tags = {"事件处理"},value = "获取通话录音")
-    public Result<Object> getCallRadio(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("hisId") Long hisId){
+    public Result<CcCallResultVO> getCallRadio(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("hisId") Long hisId){
         CcCallResultVO ccCallResultVO = this.bmsEventOrderService.getCallRadio(hisId);
         if (ccCallResultVO != null) {
             return  Result.success("获取通话录音!");

+ 34 - 0
src/main/java/com/care/bms/service/BmsEventOrderService.java

@@ -101,7 +101,34 @@ public class BmsEventOrderService {
         }
         return results;
     }
+    /**
+     * 工单查询
+     * @param orderStatus
+     * @param olderName
+     * @param loginUser
+     * @return
+     */
+    public List<EventOrderVO> listTodoOrder(String orderStatus, String olderName, UserLogindConvertVO loginUser) {
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus),CareEventOrder::getStatus, orderStatus)
+                .like(StrUtil.isNotEmpty(olderName),CareEventOrder::getOlderName,olderName)
+                .eq(CareEventOrder::getOrgId,loginUser.getOrgId())
+                .eq(loginUser.getStationId()!=null,CareEventOrder::getStationId,loginUser.getStationId())
+                .orderByAsc(CareEventOrder::getCreateTime);
 
+        List<CareEventOrder> datas = this.careEventOrderService.list(queryWrapper);
+        List<EventOrderVO> results = Lists.newArrayList();
+        if(CollUtil.isNotEmpty(datas)){
+            datas.forEach(item -> {
+                EventOrderVO  resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item,resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                results.add(resVO);
+            });
+        }
+        return results;
+    }
     /**
      * 我的处理事件 - 坐席
      *
@@ -238,6 +265,13 @@ public class BmsEventOrderService {
             datas.forEach(item ->{
                 OrderHandleHisVO hisVO = new OrderHandleHisVO();
                 BeanUtil.copyProperties(item,hisVO);
+                hisVO.setHasAudioUrl(false);
+                if(hisVO.getCallResultId() != null){
+                    CcCallResultVO callResultVO = this.ccCallResultService.getCallResult(hisVO.getCallResultId());
+                    if (StrUtil.isNotEmpty(callResultVO.getAudioUrl())){
+                        hisVO.setHasAudioUrl(true);
+                    }
+                }
                 result.add(hisVO);
             });
         }

+ 2 - 1
src/main/java/com/care/common/vo/order/OrderHandleHisVO.java

@@ -70,5 +70,6 @@ public class OrderHandleHisVO implements Serializable {
     @ApiModelProperty("呼叫结果ID")
     private Long callResultId;
 
-
+    @ApiModelProperty("是否有录音URL")
+    private Boolean hasAudioUrl;
 }

+ 9 - 0
src/main/java/com/care/common/vo/outcall/CcCallResultVO.java

@@ -73,6 +73,15 @@ public class CcCallResultVO implements Serializable {
     @ApiModelProperty("更新时间")
     private Date updateTime;
 
+    @ApiModelProperty("录音URL")
     private String audioUrl;
 
+    @ApiModelProperty("通话时长,单位秒")
+    private Integer callDuration;
+
+    @ApiModelProperty("通话结果状态,1成功通话")
+    private String callResultStatus;
+
+    @ApiModelProperty("通话开始时间")
+    private String callStartTime;
 }

+ 4 - 1
src/main/resources/mybatis/CcCallResultMapper.xml

@@ -20,7 +20,10 @@
         t.update_time as updateTime,
         t.relation_type_desc as relationType,
         t.contact_level as contactLevel,
-        ctb.audio_url as audioUrl
+        ctb.audio_url as audioUrl,
+        ctb.call_duration callDuration,
+        ctb.call_result_status callResultStatus,
+        ctb.call_start_time callStartTime
         from cc_call_result t
         left join cc_traffic_billed ctb on t.session_id = ctb.session_id
         where