Commit 14c3d9a5 authored by Kevin Kaminski's avatar Kevin Kaminski

[AFP-25] 🚧 Add email content creation methods

parent 15e8c66e
Pipeline #1701 failed with stage
in 38 seconds
......@@ -13,7 +13,11 @@ public class EmailController {
@GetMapping(value = "/sendmail")
public String sendmail() {
emailService.sendMail("kate@example.com", "Getting Things Working!", "We are Working Now");
emailService.sendMail(
"kkaminski@nisum.com",
"Email sent successfully!",
"Emails seem to be working properly, yay!"
);
return "sent";
}
......
......@@ -36,5 +36,75 @@ public class Order {
this.orderStatus = status;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getOrderTrackingCode() {
return orderTrackingCode;
}
public void setOrderTrackingCode(String orderTrackingCode) {
this.orderTrackingCode = orderTrackingCode;
}
public OrderStatus getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(OrderStatus orderStatus) {
this.orderStatus = orderStatus;
}
public long getOrderCreatedAt() {
return orderCreatedAt;
}
public void setOrderCreatedAt(long orderCreatedAt) {
this.orderCreatedAt = orderCreatedAt;
}
public long getOrderUpdatedAt() {
return orderUpdatedAt;
}
public void setOrderUpdatedAt(long orderUpdatedAt) {
this.orderUpdatedAt = orderUpdatedAt;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getCustomerEmailAddress() {
return customerEmailAddress;
}
public void setCustomerEmailAddress(String customerEmailAddress) {
this.customerEmailAddress = customerEmailAddress;
}
public List<Item> getOrderItems() {
return orderItems;
}
public void setOrderItems(List<Item> orderItems) {
this.orderItems = orderItems;
}
public CustomerAddress getCustomerAddress() {
return customerAddress;
}
public void setCustomerAddress(CustomerAddress customerAddress) {
this.customerAddress = customerAddress;
}
}
package com.afp.ordermanagement.service;
import com.afp.ordermanagement.model.Order;
import com.afp.ordermanagement.model.OrderStatus;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
......@@ -24,4 +26,53 @@ public class EmailService {
javaMailSender.send(mailMessage);
}
public String messageCreator(Order order) {
OrderStatus status = order.getOrderStatus();
String message1 = "message ", message2 = "build failed.";
switch (status) {
case RECEIVED:
message1 = "Hello, you order #" + order.getId() + " has been received!";
message2 = "We hope to have your order fulfilled soon.";
break;
case CANCELLED:
message1 = "I'm sorry, your order #" + order.getId() + " has been canceled.";
message2 = "For more information, contact {NULL}.";
break;
case FULFILLED:
message1 = "Good news everyone! Your order #" + order.getId() + " has been fulfilled.";
message2 = "Your tracking number is: " + order.getOrderTrackingCode();
break;
}
return message1 + message2;
}
public String subjectCreator(Order order) {
String status = "NULL";
switch (order.getOrderStatus()) {
case RECEIVED:
status = "RECEIVED";
break;
case CANCELLED:
status = "CANCELLED";
break;
case FULFILLED:
status = "FULFILLED";
break;
}
return "Your order #" + order.getId() + " has been" + status;
}
public String toCreator(Order order) {
return order.getCustomerEmailAddress();
}
public String emailCreator(Order order) {
String message = messageCreator(order);
String subject = subjectCreator(order);
String to = toCreator(order);
sendMail(to, subject, message);
return "Email sent to customer!";
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment