From 6a58a5a148c27c9ff66901bfbae6e52c1a56b5d2 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 04 七月 2024 17:17:53 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeLibraryController.java | 30 +++------ ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 26 +++++++- smartor/src/main/java/com/smartor/domain/HtmlContentVO.java | 31 ++++++++++ smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java | 74 ++++++++++++++++++++++++ 4 files changed, 137 insertions(+), 24 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java index 208dc59..124b1cb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java @@ -21,6 +21,7 @@ import com.ruoyi.common.enums.PhotoEnum; import com.ruoyi.common.enums.RadioEnum; import com.ruoyi.common.enums.VadioEnum; +import com.smartor.domain.HtmlContentVO; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.PicturesManager; import org.apache.poi.hwpf.converter.WordToHtmlConverter; @@ -32,10 +33,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.Constants; @@ -224,6 +222,26 @@ } } + /** + * @param HtmlContentVO + * @return + */ + @GetMapping("/common/htmlContent") + public AjaxResult htmlContent(@RequestBody HtmlContentVO htmlContentVO) { + // 鑾峰彇鏂囦欢鐨勫師濮嬪悕绉� + String fileName = htmlContentVO.getFileName(); + // 灏嗘枃浠朵繚瀛樺埌鎸囧畾鐩綍 + File outputFile = new File(RuoYiConfig.getUploadPath() + "/show/" + fileName.split("\\.", 2)[0] + fileName); + try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) { + writer.write(htmlContentVO.getContent()); + + } catch (IOException e) { + e.printStackTrace(); + } + return AjaxResult.success(); + } + + public static void convertDocToHtml(String docFilePath, String outputHtmlFilePath) throws TransformerException, IOException, ParserConfigurationException { InputStream inputStream = new FileInputStream(docFilePath); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeLibraryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeLibraryController.java index efedc9a..e542da5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeLibraryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeLibraryController.java @@ -1,32 +1,24 @@ package com.ruoyi.web.controller.smartor; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.HeLibrary; import com.smartor.domain.HeLibraryVO; -import com.smartor.domain.IvrLibaTemplateVO; import com.smartor.service.IHeLibraryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ObjectUtils; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 瀹f暀璧勬枡搴揅ontroller diff --git a/smartor/src/main/java/com/smartor/domain/HtmlContentVO.java b/smartor/src/main/java/com/smartor/domain/HtmlContentVO.java new file mode 100644 index 0000000..c2fbad9 --- /dev/null +++ b/smartor/src/main/java/com/smartor/domain/HtmlContentVO.java @@ -0,0 +1,31 @@ +package com.smartor.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 瀹f暀鍒嗙被瀵硅薄 he_category + * + * @author smartor + * @date 2023-03-04 + */ +@Data +@ApiModel(value = "HtmlContentVO", description = "瀵屾枃鏈唴瀹�") +public class HtmlContentVO extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鍐呭") + private String content; + + @ApiModelProperty(value = "鏂囦欢鍚�") + private String fileName; + +} diff --git a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java index ca3dcf8..a51c4e9 100644 --- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java @@ -54,7 +54,7 @@ return wjSend(sendTaskVO); } else if (sendTaskVO.getTaskType() == 3) { //瀹f暀 - + xjSend(sendTaskVO); } return null; } @@ -202,6 +202,78 @@ return 1; } + public int xjSend(SendTaskVO sendTaskVO) { + ServiceTask serviceTask1 = iServiceTaskService.selectServiceTaskByTaskid(sendTaskVO.getTaskId()); + if (sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 3 || sendTaskVO.getSendState() != null && sendTaskVO.getSendState() == 4) { + //浠诲姟鏆傚仠鎴栫粓姝� + ServiceTask serviceTask = new ServiceTask(); + serviceTask.setTaskid(sendTaskVO.getTaskId()); + serviceTask.setStopState(serviceTask1.getStopState() + 1); + serviceTask.setSendState(sendTaskVO.getSendState()); + iServiceTaskService.updateServiceTask(serviceTask); + return 0; + } + + //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌� + if (StringUtils.isEmpty(sendTaskVO.getSendType())) { + sendTaskVO.setSendType(serviceTask1.getSendType().toString()); + } + //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫� + if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) { + + String content = sendMQContent(sendTaskVO, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), null); + //绔嬪嵆鍙戦�� + redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS); + + //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓� + ServiceTask serviceTask = new ServiceTask(); + serviceTask.setTaskid(serviceTask1.getTaskid()); + serviceTask.setSendState(2); + iServiceTaskService.updateServiceTask(serviceTask); + } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) { + //鏃堕棿娈靛彂閫� + ObjectMapper objectMapper = new ObjectMapper(); + if (StringUtils.isNotEmpty(serviceTask1.getSendTimeSlot())) { + List<TaskSendTimeVO> taskSendTimeVOList = null; + try { + taskSendTimeVOList = objectMapper.readValue(serviceTask1.getSendTimeSlot(), new TypeReference<List<TaskSendTimeVO>>() { + }); + } catch (JsonProcessingException e) { + log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage()); + } + for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) { + //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈� + List<TaskSendTimeVO> list = new ArrayList<>(); + list.add(taskSendTimeVO); + + //鑾峰彇寮�濮嬪彂閫佹椂闂� + String begantime = taskSendTimeVO.getBegantime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級 + Long milliseconds = 1000L; + try { + Date date = sdf.parse(begantime); + milliseconds = date.getTime() - System.currentTimeMillis(); + System.out.println("鏃ユ湡姣鏁帮細" + milliseconds); + } catch (Exception e) { + e.printStackTrace(); + } + + SendTaskVO sendTaskVO1 = DtoConversionUtils.sourceToTarget(sendTaskVO, SendTaskVO.class); + sendTaskVO1.setSendType("1"); + String content = sendMQContent(sendTaskVO1, serviceTask1.getTemplateid().toString(), serviceTask1.getPreachform(), serviceTask1.getStopState(), list); + redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS); + } + //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓� + ServiceTask serviceTask = new ServiceTask(); + serviceTask.setTaskid(serviceTask1.getTaskid()); + serviceTask.setSendState(2); + iServiceTaskService.updateServiceTask(serviceTask); + } + } + return 1; + } + /** * MQ浠诲姟鍒涘缓鍐呭 * -- Gitblit v1.9.3