This commit is contained in:
efren
2025-06-27 10:04:23 +08:00
parent ff16a4b633
commit 717bd5834a
3 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package com.chinaunicom.mall.ebtp.common.mail.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.constant.ServiceNameConstants;
import com.chinaunicom.mall.ebtp.common.mail.entity.MailRequest;
import com.chinaunicom.mall.ebtp.common.mail.fallback.MailFeignClientFallback;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = ServiceNameConstants.EXTEND_SERVICE, fallback = MailFeignClientFallback.class)
public interface MailFeignClient {
@PostMapping("/v1/mails/simple")
BaseResponse<String> sendSimpleMail(@RequestBody MailRequest request);
@PostMapping("/v1/mails/html")
@ApiOperation(value = "发送HTML格式邮件", notes = "发送HTML格式的邮件支持富文本内容")
BaseResponse<String> sendHtmlMail(@RequestBody MailRequest request);
}

View File

@ -0,0 +1,19 @@
package com.chinaunicom.mall.ebtp.common.mail.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("邮件请求参数")
public class MailRequest {
@ApiModelProperty(value = "收件人邮箱", required = true, example = "recipient@example.com")
private String to;
@ApiModelProperty(value = "邮件主题", required = true, example = "测试邮件")
private String subject;
@ApiModelProperty(value = "邮件内容", required = true,
example = "这是一封测试邮件")
private String content;
}

View File

@ -0,0 +1,23 @@
package com.chinaunicom.mall.ebtp.common.mail.fallback;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.mail.client.MailFeignClient;
import com.chinaunicom.mall.ebtp.common.mail.entity.MailRequest;
import org.springframework.stereotype.Component;
@Component
public class MailFeignClientFallback implements MailFeignClient {
@Override
public BaseResponse<String> sendSimpleMail(MailRequest request) {
return BaseResponse.success("邮件发送成功");
}
@Override
public BaseResponse<String> sendHtmlMail(MailRequest request) {
return BaseResponse.success("HTML邮件发送成功");
}
}