Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
Order Management for Retail Store
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
Bhargava Rellu
Order Management for Retail Store
Commits
1e8b4ec2
Commit
1e8b4ec2
authored
Jun 08, 2022
by
Bhargava Rellu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test
parent
dfd9e214
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
32 additions
and
49 deletions
+32
-49
vcs.xml
.idea/vcs.xml
+6
-0
README.md
README.md
+1
-1
OrderManagement.java
...l_store/order_management/application/OrderManagement.java
+2
-1
ProductFilter.java
.../retail_store/order_management/service/ProductFilter.java
+0
-11
RetailStore.java
...om/retail_store/order_management/service/RetailStore.java
+2
-6
RetailStoreService.java
...il_store/order_management/service/RetailStoreService.java
+21
-30
No files found.
.idea/vcs.xml
0 → 100644
View file @
1e8b4ec2
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
</component>
</project>
\ No newline at end of file
README.md
View file @
1e8b4ec2
This application is for a retailstore to manage customers orders and to check the stock and availability of products.
This application is for a retailstore using OOP concepts to manage customers orders and to check the stock and availability of products.
\ No newline at end of file
src/main/java/com/retail_store/order_management/application/OrderManagement.java
View file @
1e8b4ec2
...
@@ -47,7 +47,8 @@ public class OrderManagement {
...
@@ -47,7 +47,8 @@ public class OrderManagement {
gap
.
placeOrder
();
gap
.
placeOrder
();
logger
.
info
(
"Please enter 5 for menu\n To exit please enter 4"
);
logger
.
info
(
"Please enter 5 for menu\n To exit please enter 4"
);
break
;
break
;
case
3
:
break
;
case
4
:
case
4
:
flag
=
false
;
flag
=
false
;
break
;
break
;
...
...
src/main/java/com/retail_store/order_management/service/ProductFilter.java
View file @
1e8b4ec2
...
@@ -10,9 +10,6 @@ import java.util.Map;
...
@@ -10,9 +10,6 @@ import java.util.Map;
public
interface
ProductFilter
{
public
interface
ProductFilter
{
// public List<T> getListFromMap(Map<K, V> products);
public
Map
<
Integer
,
Category
>
getCategoriesByGender
(
Gender
gender
);
public
Map
<
Integer
,
Category
>
getCategoriesByGender
(
Gender
gender
);
public
Map
<
Integer
,
Color
>
getColorsByGenderAndCategory
(
Gender
gender
,
Category
category
);
public
Map
<
Integer
,
Color
>
getColorsByGenderAndCategory
(
Gender
gender
,
Category
category
);
...
@@ -20,12 +17,4 @@ public interface ProductFilter {
...
@@ -20,12 +17,4 @@ public interface ProductFilter {
public
Map
<
Integer
,
Product
>
getProductsByGenderAndCategory
(
Gender
gender
,
Category
category
);
public
Map
<
Integer
,
Product
>
getProductsByGenderAndCategory
(
Gender
gender
,
Category
category
);
public
Map
<
Integer
,
Product
>
getProductsByGenderAndColor
(
Collection
<
Product
>
productList
,
Color
color
);
public
Map
<
Integer
,
Product
>
getProductsByGenderAndColor
(
Collection
<
Product
>
productList
,
Color
color
);
// public Map<K, V> getProductsByCategory(List<T> products, Category category);
//
// public Map<K, V> getProductsByColor(List<T> products, Color color);
//
// public Map<K, V> getProductsBySize(List<T> products, Size size);
}
}
src/main/java/com/retail_store/order_management/service/RetailStore.java
View file @
1e8b4ec2
...
@@ -5,18 +5,14 @@ import com.retail_store.order_management.model.OrderedProduct;
...
@@ -5,18 +5,14 @@ import com.retail_store.order_management.model.OrderedProduct;
import
com.retail_store.order_management.model.Product
;
import
com.retail_store.order_management.model.Product
;
import
java.sql.Connection
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.util.Collection
;
import
java.util.Collection
;
public
interface
RetailStore
{
public
interface
RetailStore
{
public
boolean
addProduct
();
public
boolean
addProduct
();
public
Collection
<
OrderedProduct
>
createOrder
(
Connection
connection
);
public
boolean
placeOrder
();
public
boolean
placeOrder
();
public
boolean
addProductToCart
(
Collection
<
OrderedProduct
>
cart
,
Product
product
,
Connection
connection
);
public
Collection
<
OrderedProduct
>
createOrder
(
Connection
connection
);
public
boolean
addProductToCart
(
Collection
<
OrderedProduct
>
cart
,
Product
product
,
PreparedStatement
preparedStatement
);
public
boolean
addProductToCart
(
Collection
<
OrderedProduct
>
cart
,
Product
product
,
Connection
connection
);
}
}
src/main/java/com/retail_store/order_management/service/RetailStoreService.java
View file @
1e8b4ec2
...
@@ -20,11 +20,8 @@ import static com.retail_store.order_management.utils.Database.getConnection;
...
@@ -20,11 +20,8 @@ import static com.retail_store.order_management.utils.Database.getConnection;
public
class
RetailStoreService
extends
Validate
implements
RetailStore
,
ProductFilter
{
public
class
RetailStoreService
extends
Validate
implements
RetailStore
,
ProductFilter
{
// private Connection connection;
public
List
<
Product
>
products
;
public
RetailStoreService
(
Scanner
scanner
,
Logger
logger
)
{
public
RetailStoreService
(
Scanner
scanner
,
Logger
logger
)
{
this
.
products
=
new
ArrayList
<>();
this
.
scanner
=
scanner
;
this
.
scanner
=
scanner
;
this
.
logger
=
logger
;
this
.
logger
=
logger
;
}
}
...
@@ -228,12 +225,6 @@ public class RetailStoreService extends Validate implements RetailStore, Product
...
@@ -228,12 +225,6 @@ public class RetailStoreService extends Validate implements RetailStore, Product
}
}
}
}
@Override
public
boolean
addProductToCart
(
Collection
<
OrderedProduct
>
cart
,
Product
product
,
PreparedStatement
preparedStatement
)
{
return
false
;
}
@Override
@Override
public
Map
<
Integer
,
Category
>
getCategoriesByGender
(
Gender
gender
)
{
public
Map
<
Integer
,
Category
>
getCategoriesByGender
(
Gender
gender
)
{
Map
<
Integer
,
Category
>
categoryMap
=
new
LinkedHashMap
<>();
Map
<
Integer
,
Category
>
categoryMap
=
new
LinkedHashMap
<>();
...
@@ -261,63 +252,63 @@ public class RetailStoreService extends Validate implements RetailStore, Product
...
@@ -261,63 +252,63 @@ public class RetailStoreService extends Validate implements RetailStore, Product
}
}
@Override
@Override
public
Map
<
Integer
,
Color
>
getColor
sByGenderAndCategory
(
Gender
gender
,
Category
category
)
{
public
Map
<
Integer
,
Product
>
getProduct
sByGenderAndCategory
(
Gender
gender
,
Category
category
)
{
Map
<
Integer
,
Color
>
color
Map
=
new
LinkedHashMap
<>();
Map
<
Integer
,
Product
>
product
Map
=
new
LinkedHashMap
<>();
AtomicInteger
number
=
new
AtomicInteger
(
0
);
AtomicInteger
number
=
new
AtomicInteger
(
0
);
Connection
connection
=
getConnection
();
Connection
connection
=
getConnection
();
try
{
try
{
PreparedStatement
preparedStatement
=
connection
.
prepareStatement
(
"select
color from gap.products where gender=? and category=? group by color
"
);
PreparedStatement
preparedStatement
=
connection
.
prepareStatement
(
"select
* from gap.products where gender=? and category =?
"
);
preparedStatement
.
setString
(
1
,
gender
.
getGender
());
preparedStatement
.
setString
(
1
,
gender
.
getGender
());
preparedStatement
.
setString
(
2
,
category
.
toString
());
preparedStatement
.
setString
(
2
,
category
.
toString
());
ResultSet
resultSet
=
preparedStatement
.
executeQuery
();
ResultSet
resultSet
=
preparedStatement
.
executeQuery
();
ResultSetMetaData
resultSetMetaData
=
resultSet
.
getMetaData
();
while
(
resultSet
.
next
())
{
while
(
resultSet
.
next
())
{
colorMap
.
put
(
number
.
incrementAndGet
(),
Color
.
valueOf
(
resultSet
.
getString
(
1
)));
Product
product
=
new
Product
(
resultSet
.
getString
(
1
),
resultSet
.
getString
(
2
),
Category
.
valueOf
(
resultSet
.
getString
(
3
)),
Color
.
valueOf
(
resultSet
.
getString
(
4
)),
resultSet
.
getDouble
(
5
),
Gender
.
valueOf
(
resultSet
.
getString
(
6
).
toUpperCase
()),
getProductSizes
(
resultSet
.
getInt
(
7
),
resultSet
.
getInt
(
8
),
resultSet
.
getInt
(
9
),
resultSet
.
getInt
(
10
),
resultSet
.
getInt
(
11
)));
productMap
.
put
(
number
.
incrementAndGet
(),
product
);
}
}
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
logger
.
info
(
e
.
getMessage
());
logger
.
info
(
e
.
getMessage
());
logger
.
info
(
"got error while fetching the gender. please try again"
);
logger
.
info
(
"got error while fetching the gender. please try again"
);
return
get
Color
sByGenderAndCategory
(
gender
,
category
);
return
get
Product
sByGenderAndCategory
(
gender
,
category
);
}
}
if
(
color
Map
.
isEmpty
())
{
if
(
product
Map
.
isEmpty
())
{
logger
.
info
(
"
Colors not found in "
+
category
+
" for "
+
gender
);
logger
.
info
(
"
Products not found in "
+
category
);
}
else
{
}
else
{
String
menu
=
colorMap
.
entrySet
().
stream
().
map
(
entry
->
entry
.
getKey
()
+
". "
+
entry
.
getValue
()).
reduce
(
""
,
(
colors
,
color
)
->
colors
+
"\n"
+
color
);
String
menu
=
productMap
.
entrySet
().
stream
().
map
(
entry
->
entry
.
getKey
()
+
". "
+
entry
.
getValue
().
productShowcaseInMenu
()).
reduce
(
""
,
(
products
,
product
)
->
products
+
"\n"
+
product
);
logger
.
info
(
menu
);
logger
.
info
(
menu
);
}
}
return
color
Map
;
return
product
Map
;
}
}
@Override
@Override
public
Map
<
Integer
,
Product
>
getProduct
sByGenderAndCategory
(
Gender
gender
,
Category
category
)
{
public
Map
<
Integer
,
Color
>
getColor
sByGenderAndCategory
(
Gender
gender
,
Category
category
)
{
Map
<
Integer
,
Product
>
product
Map
=
new
LinkedHashMap
<>();
Map
<
Integer
,
Color
>
color
Map
=
new
LinkedHashMap
<>();
AtomicInteger
number
=
new
AtomicInteger
(
0
);
AtomicInteger
number
=
new
AtomicInteger
(
0
);
Connection
connection
=
getConnection
();
Connection
connection
=
getConnection
();
try
{
try
{
PreparedStatement
preparedStatement
=
connection
.
prepareStatement
(
"select
* from gap.products where gender=? and category =?
"
);
PreparedStatement
preparedStatement
=
connection
.
prepareStatement
(
"select
color from gap.products where gender=? and category=? group by color
"
);
preparedStatement
.
setString
(
1
,
gender
.
getGender
());
preparedStatement
.
setString
(
1
,
gender
.
getGender
());
preparedStatement
.
setString
(
2
,
category
.
toString
());
preparedStatement
.
setString
(
2
,
category
.
toString
());
ResultSet
resultSet
=
preparedStatement
.
executeQuery
();
ResultSet
resultSet
=
preparedStatement
.
executeQuery
();
ResultSetMetaData
resultSetMetaData
=
resultSet
.
getMetaData
();
while
(
resultSet
.
next
())
{
while
(
resultSet
.
next
())
{
Product
product
=
new
Product
(
resultSet
.
getString
(
1
),
resultSet
.
getString
(
2
),
Category
.
valueOf
(
resultSet
.
getString
(
3
)),
Color
.
valueOf
(
resultSet
.
getString
(
4
)),
resultSet
.
getDouble
(
5
),
Gender
.
valueOf
(
resultSet
.
getString
(
6
).
toUpperCase
()),
getProductSizes
(
resultSet
.
getInt
(
7
),
resultSet
.
getInt
(
8
),
resultSet
.
getInt
(
9
),
resultSet
.
getInt
(
10
),
resultSet
.
getInt
(
11
)));
colorMap
.
put
(
number
.
incrementAndGet
(),
Color
.
valueOf
(
resultSet
.
getString
(
1
)));
productMap
.
put
(
number
.
incrementAndGet
(),
product
);
}
}
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
logger
.
info
(
e
.
getMessage
());
logger
.
info
(
e
.
getMessage
());
logger
.
info
(
"got error while fetching the gender. please try again"
);
logger
.
info
(
"got error while fetching the gender. please try again"
);
return
get
Product
sByGenderAndCategory
(
gender
,
category
);
return
get
Color
sByGenderAndCategory
(
gender
,
category
);
}
}
if
(
product
Map
.
isEmpty
())
{
if
(
color
Map
.
isEmpty
())
{
logger
.
info
(
"
Products not found in "
+
category
);
logger
.
info
(
"
Colors not found in "
+
category
+
" for "
+
gender
);
}
else
{
}
else
{
String
menu
=
productMap
.
entrySet
().
stream
().
map
(
entry
->
entry
.
getKey
()
+
". "
+
entry
.
getValue
().
productShowcaseInMenu
()).
reduce
(
""
,
(
products
,
product
)
->
products
+
"\n"
+
product
);
String
menu
=
colorMap
.
entrySet
().
stream
().
map
(
entry
->
entry
.
getKey
()
+
". "
+
entry
.
getValue
()).
reduce
(
""
,
(
colors
,
color
)
->
colors
+
"\n"
+
color
);
logger
.
info
(
menu
);
logger
.
info
(
menu
);
}
}
return
product
Map
;
return
color
Map
;
}
}
@Override
@Override
public
Map
<
Integer
,
Product
>
getProductsByGenderAndColor
(
Collection
<
Product
>
productList
,
Color
color
)
{
public
Map
<
Integer
,
Product
>
getProductsByGenderAndColor
(
Collection
<
Product
>
productList
,
Color
color
)
{
return
null
;
return
null
;
}
}
}
}
\ No newline at end of file
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