| | |
| | | package com.ruoyi.web.controller.common; |
| | | |
| | | import com.ruoyi.common.config.RuoYiConfig; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.gson.Gson; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | | import com.ruoyi.common.utils.HttpUtil; |
| | | import com.ruoyi.common.utils.RSAPublicKeyExample; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.file.FileUtils; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | import com.ruoyi.common.utils.sms.smsUtils; |
| | | import com.ruoyi.framework.config.ServerConfig; |
| | | import com.smartor.domain.HtmlContentVO; |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.domain.ServiceOutPath; |
| | | import com.smartor.domain.smsVO; |
| | | import com.smartor.mapper.UtilsMapper; |
| | |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @Api(description = "知信接口") |
| | |
| | | public class SmsController { |
| | | @Value("${xhsmsPath}") |
| | | private String xhsmsPath; |
| | | |
| | | @Autowired |
| | | private MtSubmitSmUtil mtSubmitSmUtil; |
| | | |
| | | @Value("${xhsmsAccount}") |
| | | private String xhsmsAccount; |
| | |
| | | @Autowired |
| | | private IServiceOutPathService iServiceOutPathService; |
| | | |
| | | @Autowired |
| | | private UtilsMapper utilsMapper; |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | /** |
| | | * @param |
| | |
| | | @ApiOperation("短信发送") |
| | | @PostMapping("/sendTest") |
| | | public AjaxResult send(@RequestBody smsVO vo) { |
| | | String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent()); |
| | | String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent()); |
| | | return AjaxResult.success(sendMsg); |
| | | } |
| | | |
| | | /** |
| | | * @param |
| | | * @return |
| | |
| | | @ApiOperation("短信发送") |
| | | @PostMapping("/send") |
| | | public AjaxResult sendAsk(@RequestBody smsVO vo) throws UnsupportedEncodingException { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key); |
| | | Integer radix=iServiceOutPathService.selectAutoId(); |
| | | String format = String.format("%03X", radix); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(vo.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String content = ""; |
| | | if (StringUtils.isNotEmpty(vo.getTaskId()) && StringUtils.isNotEmpty(vo.getPatId()) && StringUtils.isNotEmpty(vo.getSubId())) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key); |
| | | Integer radix = iServiceOutPathService.selectAutoId(); |
| | | String format = String.format("%03X", radix); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(vo.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | content = "您好,邀请您填写出院调查表,请点击" + url + "填写。感谢您配合!"; |
| | | } |
| | | |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | if (ObjectUtils.isNotEmpty(vo.getContent())) content = vo.getContent(); |
| | | |
| | | String content = "您好,邀请您填写出院调查表,请点击" + url + "填写。感谢您配合!"; |
| | | if (ObjectUtils.isNotEmpty(vo.getContent())) |
| | | content = vo.getContent(); |
| | | // else |
| | | // sendChat(vo); |
| | | String sendMsg = ""; |
| | | String sendMsg = "false"; |
| | | try { |
| | | sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); |
| | | if (active.equals("hzszlyy")) { |
| | | sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); |
| | | } else if (active.equals("nhfy")) { |
| | | Map<String, Object> smsResult = mtSubmitSmUtil.submitSm(vo.getPhone(), content); |
| | | if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) { |
| | | sendMsg = "true"; |
| | | } |
| | | } else if (active.equals("sltd")) { |
| | | String data = MessageSend.sendMsg(content, "6", vo.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | if (StringUtils.isNotEmpty(data)) { |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | JsonNode root = mapper.readTree(data); |
| | | String status = root.get("result").get(0).get("status").asText(); |
| | | if (status.equals("00000")) { |
| | | sendMsg = "true"; |
| | | } |
| | | } |
| | | } else if (active.equals("xh")) { |
| | | Map<String, String> req = new HashMap<>(); |
| | | req.put("phone", vo.getPhone()); |
| | | req.put("content", vo.getContent()); |
| | | sendMsg = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); |
| | | } else if (active.equals("ls")) { |
| | | //丽水13家医院,有点不方便,有空再接 |
| | | return AjaxResult.error("该短信功能还未开通"); |
| | | } |
| | | log.info(sendMsg); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | |
| | | @ApiOperation("微信发送") |
| | | @PostMapping("/sendChat") |
| | | public AjaxResult sendChat(@RequestBody smsVO vo) throws UnsupportedEncodingException { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key); |
| | | Integer radix=iServiceOutPathService.selectAutoId(); |
| | | String format = String.format("%03X", radix); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(vo.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | |
| | | |
| | | String sendMsg = smsUtils.sendChat(url,vo.getPhone(),vo.getIdCard()); |
| | | String sendMsg = ""; |
| | | if (StringUtils.isNotEmpty(vo.getTaskId()) && StringUtils.isNotEmpty(vo.getPatId()) && StringUtils.isNotEmpty(vo.getSubId())) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key); |
| | | Integer radix = iServiceOutPathService.selectAutoId(); |
| | | String format = String.format("%03X", radix); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(vo.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | sendMsg = smsUtils.sendChat(url, vo.getPhone(), vo.getIdCard()); |
| | | } |
| | | return AjaxResult.success(sendMsg); |
| | | } |
| | | } |