skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/DailyCallTask.java
New file @@ -0,0 +1,56 @@ package cn.gistack.sm.intelligentCall.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.Date; /** * 日常外呼任务关联 * * @author zhongrj * @date 2023-07-05 */ @Data @TableName("sm_daily_call_task") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "sm_daily_call_task对象", description = "日常外呼任务关联") public class DailyCallTask { /** * 主键id */ @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; /** * 任务ID */ @ApiModelProperty(value = "任务ID") private Integer taskId; /** * 类型 */ @ApiModelProperty(value = "类型") private String type; /** * 创建人 */ @ApiModelProperty(value = "创建人") private Long createUser; /** * 创建时间 */ @ApiModelProperty(value = "创建时间") private Date createTime; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/DailyCallTaskVO.java
New file @@ -0,0 +1,14 @@ package cn.gistack.sm.intelligentCall.vo; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import lombok.Data; /** * 日常外呼任务关联 vo * @author zhongrj * @date 2023-07-05 */ @Data public class DailyCallTaskVO extends DailyCallTask { } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/DailyCallTaskController.java
New file @@ -0,0 +1,134 @@ package cn.gistack.sm.intelligentCall.controller; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService; import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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.*; import java.util.Arrays; import java.util.Date; /** * 日常外呼任务关联 * * @author zhongrj * @date 2023-07-05 */ @Slf4j @Api(tags = "日常外呼任务关联") @RestController @RequestMapping("/dailyCallTask/dailyCallTask") @AllArgsConstructor public class DailyCallTaskController { private IDailyCallTaskService dailyCallTaskService; /** * 分页列表查询 * * @param dailyCallTask * @return */ @ApiOperation(value = "日常外呼任务关联-分页列表查询", notes = "日常外呼任务关联-分页列表查询") @GetMapping(value = "/list") public R queryPageList(DailyCallTask dailyCallTask, Query query) { IPage<DailyCallTask> pageList = dailyCallTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dailyCallTask)); return R.data(pageList); } /** * 自定义分页列表查询 * * @param query * @param dailyCallTask * @return */ @ApiOperation(value = "日常外呼任务关联-自定义分页列表查询", notes = "日常外呼任务关联-自定义分页列表查询") @GetMapping(value = "/page") public R page(DailyCallTaskVO dailyCallTask, Query query) { return R.data(dailyCallTaskService.selectDailyCallTaskPage(Condition.getPage(query), dailyCallTask)); } /** * 获取全部 */ @ApiOperation(value = "日常外呼任务关联-获取全部", notes = "日常外呼任务关联-获取全部") @GetMapping(value = "/all") public R getAll(DailyCallTask dailyCallTask) { return R.data(dailyCallTaskService.list(Condition.getQueryWrapper(dailyCallTask))); } /** * 添加 * * @param dailyCallTask * @return */ @ApiOperation(value = "日常外呼任务关联-添加", notes = "日常外呼任务关联-添加") @PostMapping(value = "/add") public R add(@RequestBody DailyCallTask dailyCallTask) { dailyCallTask.setCreateTime(new Date()); return R.data(dailyCallTaskService.save(dailyCallTask)); } /** * 编辑 * * @param dailyCallTask * @return */ @ApiOperation(value = "日常外呼任务关联-编辑", notes = "日常外呼任务关联-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public R edit(@RequestBody DailyCallTask dailyCallTask) { return R.data(dailyCallTaskService.updateById(dailyCallTask)); } /** * 通过id删除 * * @param id * @return */ @ApiOperation(value = "日常外呼任务关联-通过id删除", notes = "日常外呼任务关联-通过id删除") @PostMapping(value = "/delete") public R delete(@RequestParam(name = "id", required = true) String id) { return R.data(dailyCallTaskService.removeById(id)); } /** * 批量删除 * * @param ids * @return */ @ApiOperation(value = "日常外呼任务关联-批量删除", notes = "日常外呼任务关联-批量删除") @PostMapping(value = "/deleteBatch") public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) { return R.data(this.dailyCallTaskService.removeByIds(Arrays.asList(ids.split(",")))); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value = "日常外呼任务关联-通过id查询", notes = "日常外呼任务关联-通过id查询") @GetMapping(value = "/queryById") public R queryById(@RequestParam(name = "id", required = true) String id) { DailyCallTask dailyCallTask = dailyCallTaskService.getById(id); return R.data(dailyCallTask); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.java
New file @@ -0,0 +1,25 @@ package cn.gistack.sm.intelligentCall.mapper; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author zhongrj * @date 2023-07-05 */ public interface DailyCallTaskMapper extends BaseMapper<DailyCallTask> { /** * 自定义分页列表查询 * @param page * @param dailyCallTask * @return */ List<DailyCallTaskVO> selectDailyCallTaskPage(@Param("page")IPage<DailyCallTaskVO> page, @Param("dailyCallTask")DailyCallTaskVO dailyCallTask); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/DailyCallTaskMapper.xml
New file @@ -0,0 +1,12 @@ <?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.DailyCallTaskMapper"> <!--自定义分页列表查询--> <select id="selectDailyCallTaskPage" resultType="cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO"> select * from YWXT.sm_daily_call_task where 1=1 order by id desc </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/IDailyCallTaskService.java
New file @@ -0,0 +1,21 @@ package cn.gistack.sm.intelligentCall.service; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; /** * @author zhongrj * @date 2023-06-13 */ public interface IDailyCallTaskService extends IService<DailyCallTask> { /** * 自定义分页列表查询 * @param page * @param dailyCallTask * @return */ IPage<DailyCallTaskVO> selectDailyCallTaskPage(IPage<DailyCallTaskVO> page, DailyCallTaskVO dailyCallTask); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/AsyncCallService.java
New file @@ -0,0 +1,34 @@ package cn.gistack.sm.intelligentCall.service.impl; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService; import org.springblade.core.secure.utils.AuthUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import java.util.Date; @Component public class AsyncCallService { @Autowired private IDailyCallTaskService dailyCallTaskService; /** * 保存日常外呼任务关联信息 * @param taskId * @param type */ @Async public void saveDailyCallTask(String taskId, Integer type) { DailyCallTask dailyCallTask = new DailyCallTask(); dailyCallTask.setCreateTime(new Date()); dailyCallTask.setCreateUser(AuthUtil.getUserId()); dailyCallTask.setTaskId(Integer.parseInt(taskId)); dailyCallTask.setType(type.toString()); // 新增 dailyCallTaskService.save(dailyCallTask); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -54,6 +54,9 @@ @Autowired private BladeRedis bladeRedis; @Autowired private AsyncCallService asyncCallService; // @Value("${dial.task.url}") private String url = CallConstant.HOST; @@ -623,6 +626,8 @@ List<String> stringList = everydayCall(params); // 取出数据进行设置 taskId bladeRedis.setEx(CallConstant.call_task_key,stringList.get(1)+","+1,6*60*60L); // 异步保存日常关联呼叫任务信息 asyncCallService.saveDailyCallTask(stringList.get(1),1); // 响应 return stringList; }else { @@ -657,11 +662,15 @@ if (type.equals("1")){ // 取出数据进行设置 taskId bladeRedis.setEx(CallConstant.call_task_key,stringList.get(1)+","+2,6*60*60L); // 异步保存日常关联呼叫任务信息 asyncCallService.saveDailyCallTask(stringList.get(1),2); } // 判断是否发送短信 if (type.equals("2")){ // 新增一个参数代表需要发短信 stringList.add("3"); // 异步保存日常关联呼叫任务信息 asyncCallService.saveDailyCallTask(stringList.get(1),3); } } // 返回 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/DailyCallTaskServiceImpl.java
New file @@ -0,0 +1,28 @@ package cn.gistack.sm.intelligentCall.service.impl; import cn.gistack.sm.intelligentCall.entity.DailyCallTask; import cn.gistack.sm.intelligentCall.mapper.DailyCallTaskMapper; import cn.gistack.sm.intelligentCall.service.IDailyCallTaskService; import cn.gistack.sm.intelligentCall.vo.DailyCallTaskVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * @author zhongrj * @date 2023-06-13 */ @Service public class DailyCallTaskServiceImpl extends ServiceImpl<DailyCallTaskMapper, DailyCallTask> implements IDailyCallTaskService{ /** * 自定义分页列表查询 * @param page * @param dailyCallTask * @return */ @Override public IPage<DailyCallTaskVO> selectDailyCallTaskPage(IPage<DailyCallTaskVO> page, DailyCallTaskVO dailyCallTask) { return page.setRecords(baseMapper.selectDailyCallTaskPage(page,dailyCallTask)); } }