fix(store-service, owner-vue): item 저장 및 수정
- item 조회후 DTO로 변환하는 과정에서 N+1 해결 - Category 조회시 N+1 해결
This commit is contained in:
34
owner-vue/src/api/store.js
Normal file
34
owner-vue/src/api/store.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
getCategoryList(){
|
||||
return axios.get(process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/category');
|
||||
},
|
||||
putCategoryList(data){
|
||||
return this.$axios({
|
||||
method:'put',
|
||||
url:process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/category',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
},
|
||||
data: data,
|
||||
responseType:'json'
|
||||
})
|
||||
},
|
||||
getItemById(itemId){
|
||||
return axios.get(process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/item/'+itemId)
|
||||
},
|
||||
saveItem(method, itemData){
|
||||
return axios({
|
||||
method:method,
|
||||
url: process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/item',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
},
|
||||
data: itemData,
|
||||
responseType:'json'
|
||||
})
|
||||
},
|
||||
}
|
||||
@@ -56,6 +56,7 @@
|
||||
|
||||
<script>
|
||||
import draggable from 'vuedraggable'
|
||||
import store from "@/api/store";
|
||||
import {
|
||||
mdiContentSave, mdiDelete,
|
||||
mdiPlus,
|
||||
@@ -114,41 +115,23 @@ export default {
|
||||
}
|
||||
data.categoryList.push(category)
|
||||
})
|
||||
console.log(data)
|
||||
|
||||
this.$axios({
|
||||
method:'put',
|
||||
url:process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/category',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
},
|
||||
data: data,
|
||||
responseType:'json'
|
||||
})
|
||||
.then(function (response) {
|
||||
console.log(response)
|
||||
vm.deletedList=[]
|
||||
vm.getCategoryList()
|
||||
store.putCategoryList(data)
|
||||
.then(function () {
|
||||
vm.deletedList=[]
|
||||
vm.getCategoryList()
|
||||
});
|
||||
|
||||
},
|
||||
getCategoryList:function(){
|
||||
var vm =this;
|
||||
console.log(process.env.OWNER_SERVICE_BASEURL)
|
||||
this.$axios({
|
||||
method:'get',
|
||||
url: process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/category',
|
||||
responseType:'json'
|
||||
})
|
||||
store.getCategoryList()
|
||||
.then(function (response) {
|
||||
console.log(response.data.data)
|
||||
vm.categoryList = response.data.data;
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
alert()
|
||||
this.getCategoryList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ import {
|
||||
} from '@mdi/js'
|
||||
// import axios from "axios";
|
||||
import MenuItem from "@/views/MenuItem";
|
||||
import store from "@/api/store";
|
||||
|
||||
export default {
|
||||
name: "Menu",
|
||||
@@ -170,41 +171,31 @@ export default {
|
||||
otherOption : []
|
||||
}
|
||||
|
||||
this.$axios({
|
||||
method:'get',
|
||||
url: process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/category',
|
||||
responseType:'json'
|
||||
})
|
||||
.then(function (response) {
|
||||
response.data.data.forEach(function (ele){
|
||||
vm.modalData.categoryList.push(ele)
|
||||
})
|
||||
});
|
||||
store.getCategoryList()
|
||||
.then(function (response) {
|
||||
response.data.data.forEach(function (ele){
|
||||
vm.modalData.categoryList.push(ele)
|
||||
})
|
||||
});
|
||||
},
|
||||
editModalOpen:function(item){
|
||||
var vm = this
|
||||
this.getModalData();
|
||||
// var vm =this;
|
||||
this.$axios({
|
||||
method:'get',
|
||||
url: process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/item/'+item.id,
|
||||
responseType:'json'
|
||||
})
|
||||
.then(function (response) {
|
||||
var item = response.data.data;
|
||||
vm.modalData.itemId = item.id;
|
||||
vm.modalData.itemName = item.name;
|
||||
vm.modalData.itemPrice = item.price;
|
||||
vm.modalData.categoryId = item.categoryId;
|
||||
item.itemOptions.forEach(function(ele){
|
||||
|
||||
console.log(ele)
|
||||
if(ele.optionType === "REQUIRED")
|
||||
vm.modalData.requiredOption.push(ele)
|
||||
else
|
||||
vm.modalData.otherOption.push(ele)
|
||||
})
|
||||
});
|
||||
store.getItemById(item.id)
|
||||
.then(function (response) {
|
||||
var item = response.data.data;
|
||||
vm.modalData.itemId = item.id;
|
||||
vm.modalData.itemName = item.name;
|
||||
vm.modalData.itemPrice = item.price;
|
||||
vm.modalData.categoryId = item.categoryId;
|
||||
item.itemOptions.forEach(function(ele){
|
||||
if(ele.optionType === "REQUIRED")
|
||||
vm.modalData.requiredOption.push(ele)
|
||||
else
|
||||
vm.modalData.otherOption.push(ele)
|
||||
})
|
||||
});
|
||||
},
|
||||
itemSave:function(){
|
||||
var method =''
|
||||
@@ -214,16 +205,7 @@ export default {
|
||||
else
|
||||
method='post'
|
||||
|
||||
this.$axios({
|
||||
method:method,
|
||||
url: process.env.VUE_APP_OWNER_SERVICE_BASEURL+'/store-service/item',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
},
|
||||
data: itemData,
|
||||
responseType:'json'
|
||||
})
|
||||
store.saveItem(method,itemData)
|
||||
.then(response => console.log(response))
|
||||
.catch(reason => console.log(reason))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user