From 1581e963c9e306ea9bb5de08f098a2a8da4bed6e Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Thu, 2 Jul 2026 18:49:38 +0800 Subject: [PATCH] message --- .../adapter/web/AccountController.java | 33 +++++++++++++++++++ .../safetyeval/client/dto/SendMessageCmd.java | 27 +++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/SendMessageCmd.java diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/AccountController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/AccountController.java index 3ac334f..5f98b79 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/AccountController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/AccountController.java @@ -1,14 +1,22 @@ package org.qinan.safetyeval.adapter.web; +import cn.hutool.json.JSONUtil; +import com.jjb.saas.message.client.message.facede.MessageFacade; +import com.jjb.saas.message.client.message.request.MessageSendCmd; +import com.jjb.saas.message.client.message.request.MessageTargetCmd; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; import org.qinan.safetyeval.client.api.AccountApi; import org.qinan.safetyeval.client.co.AccountCO; import org.qinan.safetyeval.client.dto.AccountAddCmd; import org.qinan.safetyeval.client.dto.AccountModifyCmd; import org.qinan.safetyeval.client.dto.AccountPageQuery; import org.qinan.safetyeval.client.dto.PageResponse; +import org.qinan.safetyeval.client.dto.SendMessageCmd; import org.qinan.safetyeval.client.dto.SingleResponse; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -25,6 +33,7 @@ import javax.annotation.Resource; * * @author safety-eval */ +@Slf4j @Api(tags = "用户管理") @RestController @RequestMapping("/account") @@ -33,6 +42,9 @@ public class AccountController { @Resource private AccountApi accountApi; + @DubboReference + private MessageFacade messageFacade; + @ApiOperation("新增用户") @PostMapping("/save") public SingleResponse add(@Validated @RequestBody AccountAddCmd cmd) { @@ -62,4 +74,25 @@ public class AccountController { public PageResponse page(@Validated AccountPageQuery query) { return accountApi.page(query); } + + @ApiOperation("发送短信") + @PostMapping("/sendMessage") + public com.alibaba.cola.dto.SingleResponse sendMessage(@Validated @RequestBody SendMessageCmd cmd) { + MessageSendCmd messageSendCmd = new MessageSendCmd(); + messageSendCmd.setBusinessId(UUID.randomUUID().toString().replace("-", "")); + + MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); + messageTargetCmd.setUserId(cmd.getUserId()); + messageSendCmd.setTargetCmd(messageTargetCmd); + + messageSendCmd.setSourceCode("MS000146"); + messageSendCmd.setNeedTokenEnum(false); + messageSendCmd.setParams(cmd.getParams()); + + log.info("发送短信参数: messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); + com.alibaba.cola.dto.SingleResponse result = messageFacade.send(messageSendCmd); + log.info("发送短信结果: result: {}", JSONUtil.toJsonStr(result)); + return result; + } + } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/SendMessageCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/SendMessageCmd.java new file mode 100644 index 0000000..6517b99 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/SendMessageCmd.java @@ -0,0 +1,27 @@ +package org.qinan.safetyeval.client.dto; + +import io.swagger.annotations.ApiModelProperty; +import java.util.Map; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 发送短信命令 + * + * @author safety-eval + */ +@Data +public class SendMessageCmd { + + @ApiModelProperty(value = "消息接受人ID", required = true) + @NotNull(message = "消息接受人ID不能为空") + private Long userId; + + @ApiModelProperty(value = "消息模板编码", required = true) + @NotBlank(message = "消息模板编码不能为空") + private String sourceCode; + + @ApiModelProperty(value = "消息模板参数") + private Map params; +} \ No newline at end of file