diff --git a/client/src/Components/OrderCard.js b/client/src/Components/OrderCard.js
new file mode 100644
index 0000000000000000000000000000000000000000..5e6c6152651bb9fdd8b43e7619f0ec3572c865df
--- /dev/null
+++ b/client/src/Components/OrderCard.js
@@ -0,0 +1,44 @@
+import React from 'react'
+import { Card, Col, Row } from 'react-bootstrap'
+
+
+
+function OrderCard(props) {
+
+ return (
+
+ 주문 현황
+ {
+ props.ordered.map((e) => (
+
+ {e.products.length > 1 ?
+
+ {e.products[0].productId.pro_name} 외 {e.products.length - 1}개
+
+ : (
+
+ {e.products[0].productId.pro_name}
+ )}
+
+
+ 주문번호 : {e._id}
+
+
+ 결제금액 : {e.total}원
+
+
+ 배송지 : {e.receiverInfo.address} - {e.receiverInfo.address2}
+
+
+ 주문날짜 : {e.createdAt.substring(0, 10)}
+
+
+
+ )
+ )
+ }
+
+ )
+}
+
+export default OrderCard
diff --git a/client/src/Pages/Account.js b/client/src/Pages/Account.js
index 9ca54fda55232c0a78899b3f2bceac6399d94b1b..8b738606abd2c561e6d34ac9e05d56ed37ffbad0 100644
--- a/client/src/Pages/Account.js
+++ b/client/src/Pages/Account.js
@@ -4,6 +4,7 @@ import { Link } from 'react-router-dom';
import axios from 'axios';
import catchError from '../utils/catchErrors';
import { isAuthenticated } from '../utils/auth';
+import OrderCard from '../Components/OrderCard';
const INIT_ACCOUNT = {
name: "",
@@ -16,7 +17,7 @@ function Account() {
const [proshow, setProshow] = useState(false)
const [error, setError] = useState("")
const userId = isAuthenticated()
- const [ordered, setOrdered] = useState('')
+ const [ordered, setOrdered] = useState([])
async function getUsername(user) {
try {
@@ -29,7 +30,7 @@ function Account() {
useEffect(() => {
getUsername(userId)
- getOrdered(userId)
+ getOrdered()
}, [userId])
const handleChange = (event) => {
@@ -77,11 +78,15 @@ function Account() {
}
}
- async function getOrdered({}) {
+ async function getOrdered() {
console.log("object")
try {
- const response = await axios.get(`/api/users/addorder`)
- setOrdered(response.data)
+ const response = await axios.post(`/api/users/addorder`,{
+ userId:userId
+ })
+ const a=response.data
+ setOrdered(a)
+ console.log("what=", response.data)
} catch (error) {
catchError(error, setError)
}
@@ -181,35 +186,9 @@ function Account() {
-
-
-
-
-
- 주문현황 |
- 배송중 |
- 배송완료 |
-
-
-
-
- 케이시앵글부츠(SH) |
- Mark |
- Otto |
-
-
- 2 |
- Jacob |
- Thornton |
-
-
- 3 |
- Larry the Bird |
-
-
-
-
-
+
+
+
)
}
diff --git a/server/controllers/user.controller.js b/server/controllers/user.controller.js
index 0dde4991049aa70913add62148202f444da5fb5e..1b7ceb92400f884d5a1a7458a33367035ac53898 100644
--- a/server/controllers/user.controller.js
+++ b/server/controllers/user.controller.js
@@ -3,6 +3,7 @@ import User from "../schemas/User.js";
import isLength from 'validator/lib/isLength.js';
import bcrypt from 'bcryptjs';
import multer from "multer";
+import Order from "../schemas/Order.js";
const uploadimg = multer({ dest: 'uploads/' });
@@ -85,4 +86,20 @@ const update = async (req, res) => {
}
}
-export default { signup, username, imgUpload, userById, update }
\ No newline at end of file
+const addorder = async (req, res) => {
+ const {userId}=req.body
+ try {
+ const order = await Order.find({ userId: userId }).populate({
+ path: 'products.productId',
+ model: 'Product'
+ })
+ console.log("hey", order)
+ res.status(200).json(order)
+ } catch (error) {
+ console.log(error)
+ res.status(500).send('주문현황을 불러오지 못했습니다.')
+ }
+}
+
+
+export default { signup, username, imgUpload, userById,update, addorder }
\ No newline at end of file
diff --git a/server/routes/user.routes.js b/server/routes/user.routes.js
index f6edfdb26aa951a2efde56b9510034a87284a743..e217dcef965c3ef759a0e89efeb2e00cc9e33f98 100644
--- a/server/routes/user.routes.js
+++ b/server/routes/user.routes.js
@@ -10,6 +10,9 @@ router.route('/account/:userId')
.get(userCtrl.username)
.put(userCtrl.imgUpload, userCtrl.update)
+router.route('/addorder')
+ .post(userCtrl.addorder)
+
router.param('userId', userCtrl.userById)
export default router
\ No newline at end of file