Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
warehouse-management
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
warehouse-management
Commits
916ec9fe
Commit
916ec9fe
authored
May 11, 2021
by
Alex Pinto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated create to work with OM's order object
parent
34d11898
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
75 additions
and
69 deletions
+75
-69
WarehouseController.java
...nalproject/warehouse/controllers/WarehouseController.java
+6
-10
Address.java
...java/com/ascendfinalproject/warehouse/models/Address.java
+21
-0
OrderResponse.java
...om/ascendfinalproject/warehouse/models/OrderResponse.java
+0
-33
WarehouseOrderRequest.java
...dfinalproject/warehouse/models/WarehouseOrderRequest.java
+23
-0
WarehouseOrderResponse.java
...finalproject/warehouse/models/WarehouseOrderResponse.java
+2
-2
WarehouseOrderRepository.java
...ject/warehouse/repositories/WarehouseOrderRepository.java
+2
-2
SessionService.java
...ascendfinalproject/warehouse/services/SessionService.java
+0
-1
WarehouseOrderService.java
...inalproject/warehouse/services/WarehouseOrderService.java
+21
-21
No files found.
src/main/java/com/ascendfinalproject/warehouse/controllers/WarehouseController.java
View file @
916ec9fe
package
com
.
ascendfinalproject
.
warehouse
.
controllers
;
import
com.ascendfinalproject.warehouse.models.OrderResponse
;
import
com.ascendfinalproject.warehouse.models.Session
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrder
;
import
com.ascendfinalproject.warehouse.services.SessionService
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrderRequest
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrderResponse
;
import
com.ascendfinalproject.warehouse.services.WarehouseOrderService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.*
;
import
reactor.core.publisher.Flux
;
import
reactor.core.publisher.Mono
;
...
...
@@ -23,25 +19,25 @@ public class WarehouseController {
@CrossOrigin
@GetMapping
(
value
=
"/orders"
)
public
Flux
<
WarehouseOrder
>
getOrders
()
{
public
Flux
<
WarehouseOrder
Response
>
getOrders
()
{
return
orderService
.
getOrders
();
}
@CrossOrigin
@GetMapping
(
"/orders/{id}"
)
public
Mono
<
WarehouseOrder
>
findOrder
(
@PathVariable
String
id
){
public
Mono
<
WarehouseOrder
Response
>
findOrder
(
@PathVariable
String
id
){
return
orderService
.
findOrderById
(
id
);
}
@CrossOrigin
@PostMapping
(
value
=
"/orders"
)
public
Mono
<
WarehouseOrder
>
createOrder
(
@Valid
@RequestBody
WarehouseOrder
order
)
{
public
Mono
<
WarehouseOrder
Response
>
createOrder
(
@Valid
@RequestBody
WarehouseOrderRequest
order
)
{
return
orderService
.
createOrder
(
order
);
}
@CrossOrigin
@PutMapping
(
value
=
"/orders/{id}"
)
public
Mono
<
WarehouseOrder
>
updateOrder
(
@RequestBody
WarehouseOrder
order
,
@PathVariable
(
value
=
"id"
)
String
id
)
{
public
Mono
<
WarehouseOrder
Response
>
updateOrder
(
@RequestBody
WarehouseOrderResponse
order
,
@PathVariable
(
value
=
"id"
)
String
id
)
{
return
orderService
.
updateOrder
(
order
,
id
);
}
...
...
src/main/java/com/ascendfinalproject/warehouse/models/Address.java
0 → 100644
View file @
916ec9fe
package
com
.
ascendfinalproject
.
warehouse
.
models
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
Address
{
private
String
street
;
private
String
city
;
private
String
state
;
private
String
zip
;
public
Address
(
String
street
,
String
city
,
String
state
,
String
zip
)
{
this
.
street
=
street
;
this
.
city
=
city
;
this
.
state
=
state
;
this
.
zip
=
zip
;
}
}
src/main/java/com/ascendfinalproject/warehouse/models/OrderResponse.java
deleted
100644 → 0
View file @
34d11898
package
com
.
ascendfinalproject
.
warehouse
.
models
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Getter
@Setter
public
class
OrderResponse
{
private
List
<
String
>
allIds
=
new
ArrayList
<>();
private
Map
<
String
,
WarehouseOrder
>
byId
=
new
HashMap
<>();
public
void
appendId
(
String
id
)
{
allIds
.
add
(
id
);
}
public
void
addOrder
(
WarehouseOrder
order
)
{
byId
.
put
(
order
.
getId
(),
order
);
}
@Override
public
String
toString
()
{
return
"OrderResponse{"
+
"allIds="
+
allIds
+
", byId="
+
byId
+
'}'
;
}
}
src/main/java/com/ascendfinalproject/warehouse/models/WarehouseOrderRequest.java
0 → 100644
View file @
916ec9fe
package
com
.
ascendfinalproject
.
warehouse
.
models
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.springframework.data.annotation.Id
;
import
java.util.List
;
@Getter
@Setter
public
class
WarehouseOrderRequest
{
@Id
private
String
id
;
private
String
orderTrackingCode
;
private
String
orderStatus
;
private
long
orderCreatedAt
;
private
long
orderUpdatedAt
;
private
String
customerId
;
private
String
customerEmailAddress
;
private
List
<
Item
>
orderItems
;
private
Address
customerAddress
;
}
src/main/java/com/ascendfinalproject/warehouse/models/WarehouseOrder.java
→
src/main/java/com/ascendfinalproject/warehouse/models/WarehouseOrder
Response
.java
View file @
916ec9fe
...
...
@@ -9,7 +9,7 @@ import java.util.List;
@Getter
@Setter
public
class
WarehouseOrder
{
public
class
WarehouseOrder
Response
{
@Id
private
String
id
;
private
String
orderId
;
...
...
@@ -19,6 +19,6 @@ public class WarehouseOrder {
private
List
<
Item
>
orderItems
;
private
String
address
;
public
WarehouseOrder
()
{
public
WarehouseOrder
Response
()
{
}
}
src/main/java/com/ascendfinalproject/warehouse/repositories/WarehouseOrderRepository.java
View file @
916ec9fe
package
com
.
ascendfinalproject
.
warehouse
.
repositories
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrder
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrder
Response
;
import
org.springframework.data.mongodb.repository.ReactiveMongoRepository
;
public
interface
WarehouseOrderRepository
extends
ReactiveMongoRepository
<
WarehouseOrder
,
String
>
{
public
interface
WarehouseOrderRepository
extends
ReactiveMongoRepository
<
WarehouseOrder
Response
,
String
>
{
}
src/main/java/com/ascendfinalproject/warehouse/services/SessionService.java
View file @
916ec9fe
...
...
@@ -7,7 +7,6 @@ import org.springframework.stereotype.Service;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.util.Scanner
;
@Service
public
class
SessionService
{
...
...
src/main/java/com/ascendfinalproject/warehouse/services/WarehouseOrderService.java
View file @
916ec9fe
package
com
.
ascendfinalproject
.
warehouse
.
services
;
import
com.ascendfinalproject.warehouse.exceptions.NotFoundException
;
import
com.ascendfinalproject.warehouse.models.
Item
;
import
com.ascendfinalproject.warehouse.models.
OrderResponse
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrder
;
import
com.ascendfinalproject.warehouse.models.
Address
;
import
com.ascendfinalproject.warehouse.models.
WarehouseOrderRequest
;
import
com.ascendfinalproject.warehouse.models.WarehouseOrder
Response
;
import
com.ascendfinalproject.warehouse.repositories.WarehouseOrderRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.reactive.function.server.ServerResponse
;
import
reactor.core.CoreSubscriber
;
import
reactor.core.publisher.Flux
;
import
reactor.core.publisher.Mono
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
@Service
public
class
WarehouseOrderService
{
...
...
@@ -23,28 +19,32 @@ public class WarehouseOrderService {
@Autowired
WarehouseOrderRepository
orderRepository
;
public
Mono
<
WarehouseOrder
>
findOrderById
(
String
id
)
{
public
Mono
<
WarehouseOrder
Response
>
findOrderById
(
String
id
)
{
return
orderRepository
.
findById
(
id
);
// .switchIfEmpty(ServerResponse.notFound().build());
}
public
Flux
<
WarehouseOrder
>
getOrders
()
{
public
Flux
<
WarehouseOrder
Response
>
getOrders
()
{
return
orderRepository
.
findAll
();
}
public
Mono
<
WarehouseOrder
>
createOrder
(
WarehouseOrder
order
)
{
order
.
setStatus
(
"RECEIVED"
);
order
.
setCreatedAt
(
new
Date
(
System
.
currentTimeMillis
()));
List
<
Item
>
itemList
=
Arrays
.
asList
(
new
Item
(
"3"
,
"Hamburger"
,
3
,
3
,
33
),
new
Item
(
"4"
,
"Sausage"
,
4
,
5
,
66
),
new
Item
(
"5"
,
"Fries"
,
3
,
4
,
33
));
order
.
setOrderItems
(
itemList
);
order
.
setAddress
(
"123 apple st"
);
return
orderRepository
.
save
(
order
);
public
Mono
<
WarehouseOrderResponse
>
createOrder
(
WarehouseOrderRequest
order
)
{
WarehouseOrderResponse
response
=
new
WarehouseOrderResponse
();
response
.
setOrderId
(
order
.
getId
());
response
.
setStatus
(
"RECEIVED"
);
response
.
setCreatedAt
(
new
Date
(
order
.
getOrderCreatedAt
()));
response
.
setModifiedAt
(
new
Date
(
order
.
getOrderUpdatedAt
()));
response
.
setOrderItems
(
order
.
getOrderItems
());
Address
address
=
order
.
getCustomerAddress
();
response
.
setAddress
(
address
.
getStreet
()
+
", "
+
address
.
getCity
()
+
", "
+
address
.
getState
()
+
", "
+
address
.
getZip
()
);
return
orderRepository
.
save
(
response
);
}
public
Mono
<
WarehouseOrder
>
updateOrder
(
WarehouseOrder
order
,
String
id
)
{
public
Mono
<
WarehouseOrder
Response
>
updateOrder
(
WarehouseOrderResponse
order
,
String
id
)
{
return
orderRepository
.
findById
(
id
)
.
doOnError
(
error
->
{
throw
new
NotFoundException
(
"Warehouse order of ID: "
+
id
+
" not found"
);
...
...
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