liusheng
2026-10-12 0c1f8c479065739f3c7a5126de8e667035d00b58
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/BaseSmsaccountController.java
@@ -1,5 +1,9 @@
package com.ruoyi.web.controller.smartor.tools;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
@@ -7,6 +11,9 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.message.SendResult;
import com.ruoyi.message.sms.SmsSendRequest;
import com.ruoyi.message.sms.SmsSenderFactory;
import com.smartor.domain.BaseSmsRequest;
import com.smartor.domain.BaseSmsaccount;
import com.smartor.domain.BatchBaseSmsRequest;
@@ -16,11 +23,13 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
 * 短信账号Controller
@@ -35,11 +44,21 @@
    @Autowired
    private IBaseSmsaccountService baseSmsaccountService;
    @Value("${spring.profiles.active}")
    private String active;
    /**
     * 消息发送方工厂(短信),替代原来直接注入 xhsms* 配置 + 各站点分支的写法
     */
    @Autowired
    private SmsSenderFactory smsSenderFactory;
    /**
     * 查询短信账号列表
     */
    //@PreAuthorize("@ss.hasPermi('smartor:smsaccount:list')")
   @PostMapping("/list")
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("list")
    public TableDataInfo list(@RequestBody BaseSmsaccount baseSmsaccount) {
        startPage();
        List<BaseSmsaccount> list = baseSmsaccountService.selectBaseSmsaccountList(baseSmsaccount);
@@ -82,6 +101,7 @@
     */
    //@PreAuthorize("@ss.hasPermi('smartor:smsaccount:edit')")
    @Log(title = "短信账号", businessType = BusinessType.UPDATE)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody BaseSmsaccount baseSmsaccount) {
        return toAjax(baseSmsaccountService.updateBaseSmsaccount(baseSmsaccount));
@@ -105,10 +125,31 @@
    @PostMapping("/sendMsg")
    @RepeatSubmit
    public AjaxResult sendMsg(@RequestBody BaseSmsRequest baseSmsRequest) {
        if (baseSmsaccountService.sendMsg(baseSmsRequest) == null) {
            return error();
        String sendMsg = "";
        if (active.equals("hzszlyy")) {
            try {
                JSONObject jsTemp = JSON.parseObject(baseSmsRequest.getTemplateParam());
                String content = jsTemp.getString("name");
                //短信发送已收口到 ruoyi-message 模块;原实现调用的是 smsUtils.sendSms(吴山签名)
                SmsSendRequest request = SmsSendRequest.of(baseSmsRequest.getPhoneNumber(), content);
                request.setCampus("2");
                SendResult sendResult = smsSenderFactory.send("hzszlyy", request);
                sendMsg = sendResult.getRawResponse();
            } catch (Exception ex) {
                return AjaxResult.error(ex.getMessage());
            }
            return AjaxResult.success(sendMsg);
        } else if (active.equals("nhfy")) {
            SmsSendRequest request = SmsSendRequest.of(baseSmsRequest.getPhoneNumber(), baseSmsRequest.getTemplateCode());
            SendResult sendResult = smsSenderFactory.send("nhfy", request);
            return AjaxResult.success(sendResult.getCode());
        } else {
            if (baseSmsaccountService.sendMsg(baseSmsRequest) == null) {
                return error();
            }
            return success(baseSmsaccountService.sendMsg(baseSmsRequest));
        }
        return success(baseSmsaccountService.sendMsg(baseSmsRequest));
    }
    /**