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.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 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;
|
import java.util.List;
|
|
@RestController
|
@Api(description = "知信接口")
|
@RequestMapping("/sms")
|
@Slf4j
|
public class SmsController {
|
@Value("${xhsmsPath}")
|
private String xhsmsPath;
|
|
@Value("${xhsmsAccount}")
|
private String xhsmsAccount;
|
|
@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 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);
|
}
|
}
|