Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
inventory-service
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
0
Merge Requests
0
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
inventory-service
Commits
bc3b1318
Commit
bc3b1318
authored
May 13, 2021
by
John Lam
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
split kafka consumer methods into order and warehouse
parent
385a1be5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
33 deletions
+73
-33
CustomerAddress.java
.../java/com/nisum/ascend/inventory/dto/CustomerAddress.java
+11
-0
Order.java
src/main/java/com/nisum/ascend/inventory/dto/Order.java
+3
-3
WareHouseOrder.java
...n/java/com/nisum/ascend/inventory/dto/WareHouseOrder.java
+3
-4
KafkaListenerService.java
.../nisum/ascend/inventory/service/KafkaListenerService.java
+2
-3
ProductService.java
...va/com/nisum/ascend/inventory/service/ProductService.java
+54
-23
No files found.
src/main/java/com/nisum/ascend/inventory/dto/CustomerAddress.java
0 → 100644
View file @
bc3b1318
package
com
.
nisum
.
ascend
.
inventory
.
dto
;
import
lombok.Data
;
@Data
public
class
CustomerAddress
{
private
String
street
;
private
String
city
;
private
String
state
;
private
String
zip
;
}
src/main/java/com/nisum/ascend/inventory/dto/Order.java
View file @
bc3b1318
...
...
@@ -8,12 +8,12 @@ import java.util.List;
@Data
public
class
Order
{
private
String
id
;
private
Stri
ng
orderUpdatedAt
;
private
Stri
ng
orderCreatedAt
;
private
lo
ng
orderUpdatedAt
;
private
lo
ng
orderCreatedAt
;
private
String
customerId
;
private
String
customerEmailAddress
;
private
String
orderStatus
;
List
<
Item
>
orderItems
;
private
String
orderTrackingCode
;
private
String
customerAddress
;
private
CustomerAddress
customerAddress
;
}
src/main/java/com/nisum/ascend/inventory/dto/WareHouseOrder.java
View file @
bc3b1318
...
...
@@ -3,6 +3,7 @@ package com.nisum.ascend.inventory.dto;
import
com.nisum.ascend.inventory.dto.Item
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
@Data
...
...
@@ -10,11 +11,9 @@ public class WareHouseOrder {
private
String
id
;
private
String
orderId
;
private
String
status
;
//LocalDateTime
private
String
createdAt
;
private
String
modifiedAt
;
private
Date
createdAt
;
private
Date
modifiedAt
;
private
List
<
Item
>
orderItems
;
private
String
address
;
}
src/main/java/com/nisum/ascend/inventory/service/KafkaListenerService.java
View file @
bc3b1318
...
...
@@ -47,9 +47,8 @@ public class KafkaListenerService {
log
.
info
(
"Received this data: {}"
,
warehouseOrder
);
log
.
info
(
"recieved this list: {}"
,
itemList
);
for
(
Item
item
:
itemList
)
{
productService
.
updateProductInventoryBySku
(
item
.
getItemSku
(),
status
,
item
.
getItemQuantity
()).
block
();
productService
.
updateProductInventoryBySku
WareHouse
(
item
.
getItemSku
(),
status
,
item
.
getItemQuantity
()).
subscribe
();
}
}
catch
(
Exception
e
)
{
log
.
error
(
"error"
,
e
);
}
...
...
@@ -74,7 +73,7 @@ public class KafkaListenerService {
log
.
info
(
"Received this data: {}"
,
order
);
log
.
info
(
"recieved this list: {}"
,
itemList
);
for
(
Item
item
:
itemList
)
{
productService
.
updateProductInventoryBySku
(
item
.
getItemSku
(),
status
,
item
.
getItemQuantity
()).
block
();
productService
.
updateProductInventoryBySku
Order
(
item
.
getItemSku
(),
status
,
item
.
getItemQuantity
()).
block
();
}
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/nisum/ascend/inventory/service/ProductService.java
View file @
bc3b1318
...
...
@@ -38,29 +38,6 @@ public class ProductService {
}
public
Mono
<
Product
>
updateProductInventoryBySku
(
String
sku
,
String
status
,
int
itemQuantity
)
{
int
stock
=
itemQuantity
;
if
(
status
.
equals
(
"CANCELLED"
))
{
stock
*=
-
1
;
}
else
if
(
status
.
equals
(
"RECEIVED"
))
{
System
.
out
.
printf
(
"sku = %s, status = %s, itemquanity = %d, stock = %d, finalStock = %d \n"
,
sku
,
status
,
itemQuantity
);
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
+
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
int
finalStock
=
stock
;
System
.
out
.
printf
(
"sku = %s, status = %s, itemquanity = %d, stock = %d, finalStock = %d \n"
,
sku
,
status
,
itemQuantity
,
stock
,
finalStock
);
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setAvailableStock
(
dbProduct
.
getAvailableStock
()
-
finalStock
);
dbProduct
.
setFulfilledStock
(
dbProduct
.
getFulfilledStock
()
+
itemQuantity
);
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
-
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
public
Mono
<
Product
>
updateProductBySku
(
String
sku
,
Product
product
){
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
...
...
@@ -80,4 +57,58 @@ public class ProductService {
return
productRepository
.
save
(
product
);
}
public
Mono
<
Product
>
updateProductInventoryBySkuWareHouse
(
String
sku
,
String
status
,
int
itemQuantity
)
{
System
.
out
.
printf
(
"sku = %s, status = %s, itemquanity = %d \n"
,
sku
,
status
,
itemQuantity
);
if
(
status
.
equals
(
"CANCELED"
))
{
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setAvailableStock
(
dbProduct
.
getAvailableStock
()
+
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
else
if
(
status
.
equals
(
"RECEIVED"
))
{
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
+
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
else
{
// if status.equals("FULFILLED")
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setAvailableStock
(
dbProduct
.
getAvailableStock
()
-
itemQuantity
);
dbProduct
.
setFulfilledStock
(
dbProduct
.
getFulfilledStock
()
+
itemQuantity
);
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
-
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
}
public
Mono
<
Product
>
updateProductInventoryBySkuOrder
(
String
sku
,
String
status
,
int
itemQuantity
)
{
System
.
out
.
printf
(
"sku = %s, status = %s, itemquanity = %d \n"
,
sku
,
status
,
itemQuantity
);
if
(
status
.
equals
(
"CANCELED"
)){
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setAvailableStock
(
dbProduct
.
getAvailableStock
()
+
itemQuantity
);
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
-
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
else
if
(
status
.
equals
(
"RECEIVED"
)){
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
dbProduct
.
setBlockedStock
(
dbProduct
.
getBlockedStock
()
+
itemQuantity
);
return
productRepository
.
save
(
dbProduct
);
});
}
else
{
// if status.equals("FULFILLED")
return
productRepository
.
findBySku
(
sku
)
.
flatMap
(
dbProduct
->
{
return
productRepository
.
save
(
dbProduct
);
});
}
}
}
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