skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -1,9 +1,14 @@ package cn.gistack.sm.intelligentCall.controller; import cn.gistack.sm.intelligentCall.entity.CallTask; import cn.gistack.sm.intelligentCall.service.CallService; import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic; import cn.gistack.sm.intelligentCall.vo.CallTaskVO; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; @@ -43,4 +48,17 @@ return R.data(callService.getCallDetail(taskId,calleeNumber)); } /** * 查询呼叫列表信息 * @param callTask * @param query * @return */ @GetMapping("/getCallListPage") public R getCallListPage(CallTaskStatistic callTask, Query query){ // 返回 return R.data(callService.getCallListPage(Condition.getPage(query),callTask)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java
New file @@ -0,0 +1,14 @@ package cn.gistack.sm.intelligentCall.entity; import lombok.Data; import java.io.Serializable; /** * 智能外呼任务 * @author zhongrj * @date 2023-04-25 */ @Data public class CallTask implements Serializable { } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
New file @@ -0,0 +1,28 @@ package cn.gistack.sm.intelligentCall.mapper; import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author zhongrj * @date 2023-04-25 */ @Mapper @DS("ztznwh") public interface CallTaskMapper{ /** * 查詢任务列表数据 * @param page * @param callTask * @return */ @InterceptorIgnore(tenantLine = "true") List<CallTaskStatistic> getCallListPage(@Param("page") IPage<CallTaskStatistic> page, @Param("callTask") CallTaskStatistic callTask); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
New file @@ -0,0 +1,38 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.gistack.sm.intelligentCall.mapper.CallTaskMapper"> <select id="getCallListPage" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic"> select ct."id", ct."task_name" as taskName, ct."gmt_create" as createTime, ct."task_status" as taskStatus, ctr."calling_number" as callingNumber, ctr."callee_number" as calleeNumber, ctr."gmt_create" as executeTime, ctra."callee_number_count" as calleeNumberCount, ctra."connection_count" as connectionCount, ctra."failure_count" as failureCount, ctra."other_status_count" as otherStatusCount, cs."call_scenes_name" as callScenesName from "SJZT_ODS"."call_task" ct left join (select * from "SJZT_ODS"."call_scenes" where "is_deleted" = 0) cs on ct."scene_id" = cs."id" left join "SJZT_ODS"."call_task_result" ctr on ctr."task_id" = ct."id" left join "SJZT_ODS"."call_task_result_analyse" ctra on ctra."task_id" = ct."id" where 1=1 <if test="callTask.taskName!=null and callTask.taskName!=''"> and ct."task_name" like concat(concat('%',#{callTask.taskName}),'%') </if> <if test="callTask.taskStatus!=null"> and ct."task_status" = #{callTask.taskStatus} </if> <if test="callTask.startTime!=null and callTask.startTime!=''"> and date_format(ct."gmt_create",'%Y-%m-%d') >= #{callTask.startTime} </if> <if test="callTask.endTime!=null and callTask.endTime!=''"> and date_format(ct."gmt_create",'%Y-%m-%d') <= #{callTask.endTime} </if> order by ct."gmt_create" desc </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -1,6 +1,11 @@ package cn.gistack.sm.intelligentCall.service; import cn.gistack.sm.intelligentCall.entity.CallTask; import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic; import cn.gistack.sm.intelligentCall.vo.CallTaskVO; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; import java.util.Map; @@ -20,4 +25,12 @@ * @return */ Object getCallDetail(String taskId, String calleeNumber); /** * 查詢任务列表数据 * @param page * @param callTask * @return */ IPage<CallTaskStatistic> getCallListPage(IPage<CallTaskStatistic> page, CallTaskStatistic callTask); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -1,9 +1,14 @@ package cn.gistack.sm.intelligentCall.service.impl; import cn.gistack.sm.intelligentCall.constant.CallConstant; import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper; import cn.gistack.sm.intelligentCall.service.CallService; import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic; import cn.gistack.sm.intelligentCall.vo.CallTaskVO; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.StringUtils; @@ -15,7 +20,6 @@ import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; @@ -23,7 +27,11 @@ @Slf4j @Service @DS("ztznwh") public class CallServiceImpl implements CallService { @Autowired private CallTaskMapper callTaskMapper; @Autowired private RestTemplate restTemplate; @@ -180,4 +188,15 @@ }); return arr; } /** * 查詢任务列表数据 * @param page * @param callTask * @return */ @Override public IPage<CallTaskStatistic> getCallListPage(IPage<CallTaskStatistic> page, CallTaskStatistic callTask) { return page.setRecords(callTaskMapper.getCallListPage(page,callTask)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
New file @@ -0,0 +1,88 @@ package cn.gistack.sm.intelligentCall.vo; import lombok.Data; import java.io.Serializable; /** * 呼叫统计 * @author zhongrj * @date 2023-04-25 */ @Data public class CallTaskStatistic implements Serializable { private static final long serialVersionUID = 1L; /** * 任务id */ private String id; /** * 任务名称 */ private String taskName; /** * 创建时间 */ private String createTime; /** * 任务状态 0:未执行 1:执行中 2:已取消 3:已终止 4:已完成 */ private Integer taskStatus; /** * 主叫号码 */ private String callingNumber; /** * 被叫号码 */ private String calleeNumber; /** * 执行时间 */ private String executeTime; /** * 被叫号码量 */ private String calleeNumberCount; /** * 接通数量 */ private String connectionCount; /** * 失败数量 */ private String failureCount; /** * 其它状态数量 */ private String otherStatusCount; /** * 场景名称 */ private String callScenesName; /** * 开始时间 */ private String startTime; /** * 结束时间 */ private String endTime; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskVO.java
New file @@ -0,0 +1,34 @@ package cn.gistack.sm.intelligentCall.vo; import cn.gistack.sm.intelligentCall.entity.CallTask; import lombok.Data; /** * 智能外呼任务 vo * @author zhongrj * @date 2023-04-25 */ @Data public class CallTaskVO extends CallTask { /** * 任务名称 */ private String taskName; /** * 任务状态 0:未执行 1:执行中 2:已取消 3:已终止 4:已完成 */ private Integer status; /** * 开始时间 */ private String startTime; /** * 结束时间 */ private String endTime; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-dev.yml
@@ -27,4 +27,9 @@ url: ${blade.datasource.dev.zt.url} username: ${blade.datasource.dev.zt.username} password: ${blade.datasource.dev.zt.password} # 智能外呼数据库 ztznwh: url: ${blade.datasource.dev.ztznwh.url} username: ${blade.datasource.dev.ztznwh.username} password: ${blade.datasource.dev.ztznwh.password} skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/application-prod.yml
@@ -27,3 +27,8 @@ url: ${blade.datasource.prod.zt.url} username: ${blade.datasource.prod.zt.username} password: ${blade.datasource.prod.zt.password} # 智能外呼数据库 ztznwh: url: ${blade.datasource.prod.ztznwh.url} username: ${blade.datasource.prod.ztznwh.username} password: ${blade.datasource.prod.ztznwh.password}