liusheng
2025-10-21 5a584a362e7f96cd457b7b06bd6f7f742e7511be
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -2,12 +2,10 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sms.smsUtils;
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;
@@ -21,8 +19,6 @@
import org.springframework.web.bind.annotation.RestController;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Date;
@RestController
@@ -52,8 +48,7 @@
    private IServiceOutPathService iServiceOutPathService;
    @Autowired
    private ServiceTaskMapper serviceTaskMapper;
    private UtilsMapper utilsMapper;
    /**
     * @param
@@ -76,36 +71,29 @@
        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);
@@ -121,21 +109,22 @@
        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 + "&param2=" + patid
                + "&param3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=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);
    }
}