Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
order-management-backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ascend
order-management-backend
Commits
a9bda431
Commit
a9bda431
authored
May 11, 2021
by
Kevin Kaminski
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'kevin-fix-broken-pom-file' into 'dev'
Kevin fix broken pom file See merge request
!24
parents
c4da26ab
06cc8d1b
Pipeline
#1704
failed with stage
in 38 seconds
Changes
7
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
246 additions
and
2 deletions
+246
-2
pom.xml
pom.xml
+5
-0
MailConfig.java
src/main/java/com/afp/ordermanagement/config/MailConfig.java
+59
-0
EmailController.java
...a/com/afp/ordermanagement/controller/EmailController.java
+24
-0
OrderController.java
...a/com/afp/ordermanagement/controller/OrderController.java
+6
-2
Order.java
src/main/java/com/afp/ordermanagement/model/Order.java
+70
-0
EmailService.java
...in/java/com/afp/ordermanagement/service/EmailService.java
+78
-0
OrderService.java
...in/java/com/afp/ordermanagement/service/OrderService.java
+4
-0
No files found.
pom.xml
View file @
a9bda431
...
...
@@ -92,6 +92,11 @@
<artifactId>
velocity
</artifactId>
<version>
1.5
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-mail
</artifactId>
<version>
2.3.4.RELEASE
</version>
</dependency>
<dependency>
<groupId>
io.projectreactor.kafka
</groupId>
<artifactId>
reactor-kafka
</artifactId>
...
...
src/main/java/com/afp/ordermanagement/config/MailConfig.java
0 → 100644
View file @
a9bda431
package
com
.
afp
.
ordermanagement
.
config
;
import
java.util.Properties
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.mail.SimpleMailMessage
;
import
org.springframework.mail.javamail.JavaMailSender
;
import
org.springframework.mail.javamail.JavaMailSenderImpl
;
@ComponentScan
(
basePackages
=
{
"com.afp.ordermanagement.mail"
})
@PropertySource
(
value
={
"classpath:application.properties"
})
public
class
MailConfig
{
@Value
(
"${spring.mail.host}"
)
private
String
mailServerHost
;
@Value
(
"${spring.mail.port}"
)
private
Integer
mailServerPort
;
@Value
(
"${spring.mail.username}"
)
private
String
mailServerUsername
;
@Value
(
"${spring.mail.password}"
)
private
String
mailServerPassword
;
@Value
(
"${spring.mail.properties.mail.smtp.auth}"
)
private
String
mailServerAuth
;
@Value
(
"${spring.mail.properties.mail.smtp.starttls.enable}"
)
private
String
mailServerStartTls
;
@Bean
public
JavaMailSender
getJavaMailSender
()
{
JavaMailSenderImpl
mailSender
=
new
JavaMailSenderImpl
();
mailSender
.
setHost
(
mailServerHost
);
mailSender
.
setPort
(
mailServerPort
);
mailSender
.
setUsername
(
mailServerUsername
);
mailSender
.
setPassword
(
mailServerPassword
);
Properties
props
=
mailSender
.
getJavaMailProperties
();
props
.
put
(
"mail.transport.protocol"
,
"smtp"
);
props
.
put
(
"mail.smtp.auth"
,
mailServerAuth
);
props
.
put
(
"mail.smtp.starttls.enable"
,
mailServerStartTls
);
props
.
put
(
"mail.debug"
,
"true"
);
return
mailSender
;
}
@Bean
public
SimpleMailMessage
templateSimpleMessage
()
{
SimpleMailMessage
message
=
new
SimpleMailMessage
();
message
.
setText
(
"This is the test email template for your email:\n%s\n"
);
return
message
;
}
}
src/main/java/com/afp/ordermanagement/controller/EmailController.java
0 → 100644
View file @
a9bda431
package
com
.
afp
.
ordermanagement
.
controller
;
import
com.afp.ordermanagement.service.EmailService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
public
class
EmailController
{
@Autowired
private
EmailService
emailService
;
@GetMapping
(
value
=
"/email"
)
public
String
sendmail
()
{
emailService
.
sendMail
(
"kkaminski@nisum.com"
,
"Email sent successfully!"
,
"Emails seem to be working properly, yay!"
);
return
"sent"
;
}
}
\ No newline at end of file
src/main/java/com/afp/ordermanagement/controller/OrderController.java
View file @
a9bda431
...
...
@@ -29,7 +29,7 @@ public class OrderController {
* @param orderObject
* @return
*/
@PostMapping
(
"/orders
FromEcom
"
)
@PostMapping
(
"/orders"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
public
Mono
<
Order
>
getOrderFromEcom
(
@RequestBody
Order
orderObject
)
{
sender
.
sendOrderToWarehouse
(
orderObject
);
...
...
@@ -48,7 +48,7 @@ public class OrderController {
return
orderService
.
getOrderById
(
orderId
);
}
@GetMapping
(
"/orders/
byC
ustomer/{customerId}"
)
@GetMapping
(
"/orders/
c
ustomer/{customerId}"
)
public
Flux
<
Order
>
getAllOrdersByCustomerId
(
@PathVariable
(
"customerId"
)
String
customerId
)
{
return
orderService
.
getAllOrdersByCustomerId
(
customerId
);
}
...
...
@@ -60,5 +60,9 @@ public class OrderController {
.
defaultIfEmpty
(
ResponseEntity
.
notFound
().
build
());
}
@DeleteMapping
(
"/orders/{orderId}"
)
public
void
deleteOrderbyId
(
@PathVariable
(
value
=
"orderId"
)
String
orderId
)
{
orderService
.
deleteOrderById
(
orderId
);
}
}
src/main/java/com/afp/ordermanagement/model/Order.java
View file @
a9bda431
...
...
@@ -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
;
}
}
src/main/java/com/afp/ordermanagement/service/EmailService.java
0 → 100644
View file @
a9bda431
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
;
@Service
public
class
EmailService
{
private
JavaMailSender
javaMailSender
;
public
EmailService
(
JavaMailSender
javaMailSender
)
{
this
.
javaMailSender
=
javaMailSender
;
}
public
void
sendMail
(
String
toEmail
,
String
subject
,
String
message
)
{
SimpleMailMessage
mailMessage
=
new
SimpleMailMessage
();
mailMessage
.
setTo
(
toEmail
);
mailMessage
.
setSubject
(
subject
);
mailMessage
.
setText
(
message
);
mailMessage
.
setFrom
(
"NOREPLY@nisum.com"
);
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!"
;
}
}
src/main/java/com/afp/ordermanagement/service/OrderService.java
View file @
a9bda431
...
...
@@ -50,4 +50,8 @@ public class OrderService {
return
orderRepository
.
save
(
existingOrder
);
});
}
public
void
deleteOrderById
(
String
orderId
)
{
orderRepository
.
deleteById
(
orderId
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment