|  |  | 
 |  |  | package com.ruoyi.web.controller.common; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.config.RuoYiConfig; | 
 |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.ruoyi.common.utils.file.FileUtils; | 
 |  |  | import com.ruoyi.common.utils.RSAPublicKeyExample; | 
 |  |  | import com.ruoyi.common.utils.sms.smsUtils; | 
 |  |  | import com.ruoyi.framework.config.ServerConfig; | 
 |  |  | import com.smartor.domain.HtmlContentVO; | 
 |  |  | import com.smartor.domain.ServiceOutPath; | 
 |  |  | import com.smartor.domain.smsVO; | 
 |  |  | import com.smartor.mapper.UtilsMapper; | 
 |  |  | import com.smartor.service.IServiceOutPathService; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | 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.util.Date; | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | @Api(description = "知信接口") | 
 |  |  | @RequestMapping("/sms") | 
 |  |  | @Slf4j | 
 |  |  | public class SmsController { | 
 |  |  |     @Value("${xhsmsPath}") | 
 |  |  |     private String xhsmsPath; | 
 |  |  | 
 |  |  |     @Value("${xhsmsPwd}") | 
 |  |  |     private String xhsmsPwd; | 
 |  |  |  | 
 |  |  |     @Value("${localIP}") | 
 |  |  |     private String ip; | 
 |  |  |  | 
 |  |  |     @Value("${req_path}") | 
 |  |  |     private String req_path; | 
 |  |  |  | 
 |  |  |     @Value("${pub_key}") | 
 |  |  |     private String pub_key; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceOutPathService iServiceOutPathService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private UtilsMapper utilsMapper; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * @param | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("短信发送") | 
 |  |  |     @PostMapping("/sendTest") | 
 |  |  |     public AjaxResult send(@RequestBody smsVO vo) { | 
 |  |  |         String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent()); | 
 |  |  |         return AjaxResult.success(sendMsg); | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * @param | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @ApiOperation("短信发送") | 
 |  |  |     @PostMapping("/send") | 
 |  |  |     public AjaxResult send(@RequestBody smsVO vo) { | 
 |  |  |         String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent()); | 
 |  |  |     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 url = ip + ":" + req_path + "/wt?p=" + format; | 
 |  |  |  | 
 |  |  |         String content = "您好,邀请您填写出院调查表,请点击" + url + "填写。感谢您配合!"; | 
 |  |  |         if (ObjectUtils.isNotEmpty(vo.getContent())) | 
 |  |  |             content = vo.getContent(); | 
 |  |  | //        else | 
 |  |  | //            sendChat(vo); | 
 |  |  |         String sendMsg = ""; | 
 |  |  |         try { | 
 |  |  |             sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content); | 
 |  |  |             log.info(sendMsg); | 
 |  |  |         } catch (Exception ex) { | 
 |  |  |             log.error(ex.getMessage()); | 
 |  |  |         } | 
 |  |  |         return AjaxResult.success(sendMsg); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * @param | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @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()); | 
 |  |  |         return AjaxResult.success(sendMsg); | 
 |  |  |     } | 
 |  |  | } |