| | |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.config.RabbitMqConfig; |
| | | import com.smartor.domain.IvrLibaTemplate; |
| | | import com.smartor.domain.IvrLibaTemplateVO; |
| | | import com.smartor.service.IIvrLibaTemplateService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.amqp.AmqpException; |
| | | import org.springframework.amqp.core.Message; |
| | | import org.springframework.amqp.core.MessagePostProcessor; |
| | | import org.springframework.amqp.rabbit.core.RabbitTemplate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | * @author ruoyi |
| | | * @date 2023-12-23 |
| | | */ |
| | | @Slf4j |
| | | @Api(description = "随访模板库") |
| | | @RestController |
| | | @RequestMapping("/smartor/template") |
| | | public class IvrLibaTemplateController extends BaseController { |
| | | @Autowired |
| | | private IIvrLibaTemplateService ivrLibaTemplateService; |
| | | |
| | | @Autowired |
| | | private RabbitTemplate rabbitTemplate; |
| | | |
| | | /** |
| | | * 查询模板库列表 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增或修改问题详情 |
| | | * 新增或修改随访模板库详情 |
| | | */ |
| | | @ApiOperation("新增或修改随访模板库详情") |
| | | @PreAuthorize("@ss.hasPermi('smartor:script:list')") |
| | | @PostMapping("/saveOrUpdateScript") |
| | | public AjaxResult saveOrUpdateScript(@RequestBody IvrLibaTemplateVO ivrLibaTemplateVO) { |
| | | if (ObjectUtils.isEmpty(ivrLibaTemplateVO)) { |
| | |
| | | } |
| | | return success(ivrLibaTemplateService.selectInfoByCondition(ivrLibaTemplateVO)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 开始执行(测试用) |
| | | */ |
| | | @GetMapping("/queryRabbitmq") |
| | | public AjaxResult queryRabbitmq(@RequestParam("routintKey") String routintKey, @RequestParam("content") String content, @RequestParam("times") Long times) { |
| | | |
| | | // rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.001", "测试数据001"); |
| | | // rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.002", "测试数据002"); |
| | | // rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.003", "测试数据003"); |
| | | // rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, routintKey, message, new MessagePostProcessor() { |
| | | // @Override |
| | | // public Message postProcessMessage(Message message) throws AmqpException { |
| | | //// message.getMessageProperties().setDelay(times); |
| | | // message.getMessageProperties().getHeaders().put("x-delay", times); |
| | | ////message.getMessageProperties().setExpiration(); |
| | | // return message; |
| | | // } |
| | | // }); |
| | | |
| | | log.info("-------------启动咨询应答超时提醒延迟队列-------------"); |
| | | this.rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, content, message -> { |
| | | //注意这里时间可以使long,而且是设置header |
| | | message.getMessageProperties().setHeader("x-delay", times); |
| | | return message; |
| | | }); |
| | | log.info("-------------延迟队列{}ms后执行.-------------", times); |
| | | return success(); |
| | | } |
| | | } |