陈昶聿
16 小时以前 06feddd673c57d60be77ce8e64c63008605b8502
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -1,10 +1,19 @@
package com.ruoyi.web.controller.common;
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.sms.smsUtils;
import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.ShiyiSmsUtil;
import com.smartor.domain.ServiceOutPath;
import com.smartor.domain.ShiyiSmsRequest;
import com.smartor.domain.ShiyiSmsResponse;
import com.smartor.domain.smsVO;
import com.smartor.mapper.UtilsMapper;
import com.smartor.service.IServiceOutPathService;
@@ -20,7 +29,11 @@
import org.springframework.web.bind.annotation.RestController;
import java.io.UnsupportedEncodingException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@RestController
@Api(description = "知信接口")
@@ -29,6 +42,12 @@
public class SmsController {
    @Value("${xhsmsPath}")
    private String xhsmsPath;
    @Autowired
    private MtSubmitSmUtil mtSubmitSmUtil;
    @Autowired
    private ShiyiSmsUtil shiyiSmsUtil;
    @Value("${xhsmsAccount}")
    private String xhsmsAccount;
@@ -48,8 +67,8 @@
    @Autowired
    private IServiceOutPathService iServiceOutPathService;
    @Autowired
    private UtilsMapper utilsMapper;
    @Value("${spring.profiles.active}")
    private String active;
    /**
     * @param
@@ -60,6 +79,18 @@
    public AjaxResult send(@RequestBody smsVO vo) {
        String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent());
        return AjaxResult.success(sendMsg);
    }
    @ApiOperation("市一HIS短信XML测试")
    @PostMapping("/sendShiyiTest")
    public AjaxResult sendShiyiTest(@RequestBody ShiyiSmsRequest request) {
        try {
            ShiyiSmsResponse response = shiyiSmsUtil.sendSms(request);
            return AjaxResult.success(response);
        } catch (Exception e) {
            log.error("市一HIS短信XML测试失败", e);
            return AjaxResult.error("市一HIS短信XML测试失败: " + e.getMessage());
        }
    }
    /**
@@ -91,9 +122,34 @@
        if (ObjectUtils.isNotEmpty(vo.getContent())) content = vo.getContent();
        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());
@@ -129,4 +185,6 @@
        }
        return AjaxResult.success(sendMsg);
    }
}