|  |  | 
 |  |  | package com.ruoyi.web.controller.common; | 
 |  |  |  | 
 |  |  | import com.ruoyi.common.config.RuoYiConfig; | 
 |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
 |  |  | 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.domain.ServiceOutPath; | 
 |  |  | import com.smartor.domain.ServiceTask; | 
 |  |  | import com.smartor.domain.smsVO; | 
 |  |  | import com.smartor.mapper.ServiceTaskMapper; | 
 |  |  | 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.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.util.Date; | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | 
 |  |  |     private IServiceOutPathService iServiceOutPathService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ServiceTaskMapper serviceTaskMapper; | 
 |  |  |  | 
 |  |  |     private UtilsMapper utilsMapper; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * @param | 
 |  |  | 
 |  |  |         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()); | 
 |  |  |         String format =""; | 
 |  |  |         if(ObjectUtils.isNotEmpty(vo.getSubId())) { | 
 |  |  |             format = String.format("%03X", Integer.parseInt(vo.getSubId())); | 
 |  |  |             serviceOutPath.setRadix(format); | 
 |  |  |         } | 
 |  |  |         iServiceOutPathService.insertServiceOutPath(serviceOutPath); | 
 |  |  |  | 
 |  |  |         String url = ip + ":" + req_path + "/wt?p=" + format; | 
 |  |  |         ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(Long.valueOf(taskId)); | 
 |  |  |         //如果type是语音随访的话(说明补偿发送方式中有电话随访的方式,这里的外链就地址只能用/sf) | 
 |  |  |         if (serviceTask.getType().equals("1")) { | 
 |  |  |             url = ip + ":" + req_path + "/sf?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); | 
 |  |  |         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){ | 
 |  |  |         } catch (Exception ex) { | 
 |  |  |             log.error(ex.getMessage()); | 
 |  |  |         } | 
 |  |  |         return AjaxResult.success(sendMsg); | 
 |  |  | 
 |  |  |         RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); | 
 |  |  |         String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key); | 
 |  |  |         String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key); | 
 |  |  |         String url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid | 
 |  |  |                 + "¶m3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; | 
 |  |  |         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="您好,邀请您填写出院调查表,请点击" + url + "填写。感谢您配合!"; | 
 |  |  |         String url = ip + ":" + req_path + "/wt?p=" + format; | 
 |  |  |  | 
 |  |  |         String urlTemp="http://192.200.54.14:5003/sfjk/SendMessage?sfzh="+vo.getIdCard() | 
 |  |  |                 +"&title=您好,邀请您填写出院调查表,请点击填写。&content="+content+"&phone="+vo.getPhone() | 
 |  |  |                 +"&url="+url+"&key=ff76f8904f5f32b5ee1739e8ea46e60g"; | 
 |  |  |         String sendMsg= ""; | 
 |  |  |         try{ | 
 |  |  |             sendMsg= HttpUtils.sendGet(urlTemp); | 
 |  |  |             log.info(sendMsg); | 
 |  |  |         }catch (Exception ex){ | 
 |  |  |             log.error(ex.getMessage()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         String sendMsg =  smsUtils.sendChat(url,vo.getPhone(),vo.getIdCard()); | 
 |  |  |         return AjaxResult.success(sendMsg); | 
 |  |  |     } | 
 |  |  | } |