diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/client/MailFeignClient.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/client/MailFeignClient.java new file mode 100644 index 0000000..f35006b --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/client/MailFeignClient.java @@ -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 sendSimpleMail(@RequestBody MailRequest request); + + @PostMapping("/v1/mails/html") + @ApiOperation(value = "发送HTML格式邮件", notes = "发送HTML格式的邮件,支持富文本内容") + BaseResponse sendHtmlMail(@RequestBody MailRequest request); +} \ No newline at end of file diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/entity/MailRequest.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/entity/MailRequest.java new file mode 100644 index 0000000..d54a252 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/entity/MailRequest.java @@ -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; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/fallback/MailFeignClientFallback.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/fallback/MailFeignClientFallback.java new file mode 100644 index 0000000..2e57fa0 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/mail/fallback/MailFeignClientFallback.java @@ -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 sendSimpleMail(MailRequest request) { + return BaseResponse.success("邮件发送成功"); + } + + @Override + public BaseResponse sendHtmlMail(MailRequest request) { + return BaseResponse.success("HTML邮件发送成功"); + } +} \ No newline at end of file