From b6fce30916b9c432df2a46a49e69b21be08b860b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 06 十一月 2026 10:36:03 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java | 94 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
index f11f6b6..9c42669 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -1,8 +1,16 @@
package com.ruoyi.web.controller.common;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.annotation.AddOrgId;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.RSAPublicKeyExample;
+import com.ruoyi.common.utils.ShortCode;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sms.SmsUtils;
import com.ruoyi.message.SendResult;
import com.ruoyi.message.sms.SmsSendRequest;
import com.ruoyi.message.sms.SmsSenderFactory;
@@ -11,9 +19,8 @@
import com.ruoyi.message.sms.provider.shiyi.ShiyiSmsUtil;
import com.ruoyi.message.wechat.WechatSendRequest;
import com.ruoyi.message.wechat.WechatSenderFactory;
+import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
-import com.smartor.service.IServiceOutPathService;
-import com.smartor.service.IServiceSubtaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -27,6 +34,10 @@
import java.io.UnsupportedEncodingException;
import java.util.Date;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.domain.ServiceOutPath;
+import com.ruoyi.task.service.IServiceOutPathService;
+import com.ruoyi.task.service.IServiceSubtaskService;
/**
* 鐭ヤ俊鎺ュ彛锛堝澶栫煭淇� / 寰俊鍏紬鍙峰彂閫佸叆鍙o級銆�
@@ -62,6 +73,8 @@
private IServiceOutPathService iServiceOutPathService;
@Autowired
private IServiceSubtaskService iServiceSubtaskService;
+ @Autowired
+ private ISysConfigService configService;
@Value("${spring.profiles.active}")
private String active;
@@ -110,7 +123,7 @@
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);
+ String format = ShortCode.encode(radix.longValue());
ServiceOutPath serviceOutPath = new ServiceOutPath();
serviceOutPath.setParam1(taskId);
serviceOutPath.setParam2(patid);
@@ -162,7 +175,7 @@
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);
+ String format = ShortCode.encode(radix.longValue());
ServiceOutPath serviceOutPath = new ServiceOutPath();
serviceOutPath.setParam1(taskId);
serviceOutPath.setParam2(patid);
@@ -198,7 +211,7 @@
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);
+ String format = ShortCode.encode(radix.longValue());
ServiceOutPath serviceOutPath = new ServiceOutPath();
serviceOutPath.setParam1(taskId);
serviceOutPath.setParam2(patid);
@@ -221,4 +234,75 @@
return AjaxResult.success(content);
}
+ /**
+ * @param
+ * @return
+ */
+ @ApiOperation("鐭俊鍙戦��")
+ @AddOrgId
+ @PostMapping("/sendYunMasSms")
+ public AjaxResult sendYunMasSms(@RequestBody smsVO vo) throws Exception {
+ String yunMasConfigJson = configService.selectConfigByKey("ls.msg.yunmas", vo.getOrgid());
+ SmsUtils.YunMasConfig yunMasConfig = SmsUtils.YunMasConfig.of(yunMasConfigJson);
+ SmsUtils.SmsResult smsResult = SmsUtils.sendYunMasSms(yunMasConfig, vo.getPhone(), vo.getContent());
+ return AjaxResult.success(smsResult);
+ }
+
+ /**
+ * 涓芥按濡囧辜 寰俊娑堟伅鍙戦��
+ * <p>
+ * 澶栭儴绯荤粺浼犲叆鎮h�呬俊鎭拰閫氱煡鍐呭锛岀敱鏈郴缁熺粺涓�鑾峰彇 token銆佽В鏋愭ā鏉垮苟璋冪敤涓芥按寰俊 sendMessage 鎺ュ彛銆�
+ *
+ * @param request 寰俊娑堟伅璇锋眰
+ * @return 鍙戦�佺粨鏋�
+ */
+ @Anonymous
+ @ApiOperation(value = "涓芥按濡囧辜 寰俊娑堟伅鍙戦��", notes = "渚涗附姘村競濡囧辜淇濆仴闄㈠閮ㄨ皟鐢�")
+ @Log(title = "涓芥按濡囧辜寰俊娑堟伅鍙戦��", businessType = BusinessType.OTHER)
+ @PostMapping("/sendChatFuyou")
+ public AjaxResult sendChatFuyou(@RequestBody LishuiFuyouWxChatRequest request) {
+ if (request == null) {
+ return AjaxResult.error("璇锋眰鍙傛暟涓嶈兘涓虹┖");
+ }
+ try {
+ SmsUtils.LsWxConfig config = SmsUtils.LsWxConfig.defaultLishui();
+
+ SmsUtils.LsWxMessage message = new SmsUtils.LsWxMessage();
+ message.setId(request.getTemplateId());
+ message.setPatientId(request.getPatientId());
+ message.setPatientName(request.getPatientName());
+ message.setIdCard(request.getIdCard());
+ message.setMobile(request.getMobile());
+ message.setMedCardNo(request.getMedCardNo());
+ message.setTitleName(request.getTitleName());
+ message.setContent(request.getContent());
+ message.setUrl(request.getUrl());
+
+ log.info("銆愪附姘村骞煎井淇°�戞敹鍒板閮ㄨ皟鐢紝鎵嬫満鍙凤細{}锛屾ā鏉縄D锛歿}",
+ request.getMobile(), request.getTemplateId());
+ String resp = SmsUtils.sendChatLs(config, message);
+ log.info("銆愪附姘村骞煎井淇°�戝閮ㄨ皟鐢ㄧ粨鏋滐細{}", resp);
+
+ JSONObject result;
+ try {
+ result = JSON.parseObject(resp);
+ } catch (Exception e) {
+ log.error("銆愪附姘村骞煎井淇°�戠涓夋柟鍝嶅簲涓嶆槸鍚堟硶JSON锛歿}", resp, e);
+ return AjaxResult.error("涓芥按濡囧辜寰俊鍙戦�佸け璐ワ細绗笁鏂瑰搷搴斿紓甯�", resp);
+ }
+ if (result == null) {
+ return AjaxResult.error("涓芥按濡囧辜寰俊鍙戦�佸け璐ワ細绗笁鏂瑰搷搴斾负绌�", resp);
+ }
+ if (result.getIntValue("code") != 0) {
+ String msg = result.getString("msg");
+ return AjaxResult.error("涓芥按濡囧辜寰俊鍙戦�佸け璐ワ細"
+ + (StringUtils.isEmpty(msg) ? "绗笁鏂规帴鍙h繑鍥炲け璐�" : msg), result);
+ }
+ return AjaxResult.success("鍙戦�佹垚鍔�", result);
+ } catch (Exception e) {
+ log.error("銆愪附姘村骞煎井淇°�戝閮ㄨ皟鐢ㄥ紓甯革紝鎵嬫満鍙凤細{}", request.getMobile(), e);
+ return AjaxResult.error("涓芥按濡囧辜寰俊鍙戦�佸紓甯革細" + e.getMessage());
+ }
+ }
+
}
--
Gitblit v1.9.3