발주 처리를 위해서 업체별 상품 데이터를 최신으로 가지고 있어야 합니다.
주문으로 들어오는 데이터는 최신으로 반영된 데이터를 가지고 있어야 비교하여 발주를 해주기 때문 입니다.
물론 상품 변경 전 데이터도 가지고 있어야 합니다. 혹시 모를 상품 변경 전에 주문이 들어왔을수도 있기 때문 입니다.
그래서 테이블을 업체 테이블 하나와 상품 테이블 하나를 만들었습니다.
발주처리 전 체크를 해야 합니다.
혹은 상품 데이터를 주기적으로 변경사항을 체크하여 업데이트 해주는 배치가 돌아야 합니다.
변경사항이 많다면 발주처리가 무척 느려질수 있습니다. 하지만 배치를 돌리기에는 서버도 마땅치 않고
우선 실시간적으로 느리지만 괜찮아~버전으로 개발해보겠습니다ㅋㅋ
Json to DataBase
네이버스토어 상품에는 여러가지가 있다..
본상품과 옵션상품 부가상품 등등
아래의 있는 modifiedDate가 하나라도 변경되면 수정되었다고 나올까???
그렇다면 상품번호 즉, 전시페이지에 있는 상품들중 하나가 변경되었다면?
상품번호를 가지고 api에서 가져오는 데이터를 살펴봐야겠다!
{
"originProductNo": 7774543868,
"channelProducts": [{
"originProductNo": 7774543868,
"channelProductNo": 7812055650,
"channelServiceType": "STOREFARM",
"categoryId": "50002216",
"name": "제주 구좌 당근 유기농 친환경 흙당근 햇당근 3kg 5kg 10kg 쥬스용 주스용 생당근",
"statusType": "SALE",
"channelProductDisplayStatusType": "ON",
"salePrice": 82000,
"discountedPrice": 24900,
"mobileDiscountedPrice": 24900,
"stockQuantity": 80039,
"knowledgeShoppingProductRegistration": true,
"deliveryAttributeType": "NORMAL",
"deliveryFee": 0,
"returnFee": 10000,
"exchangeFee": 20000,
"managerPurchasePoint": 1,
"wholeCategoryName": "식품>농산물>채소>당근",
"wholeCategoryId": "50000006>50000160>50001077>50002216",
"representativeImage": {
"url": "https://shop-phinf.pstatic.net/20240127_88/1706355638282G5jv6_PNG/107491533900344371_1052749631.png"
},
"modelName": "제주유기농당근",
"brandName": "제주에서유명한 당근장인의 당근",
"sellerTags": [{
"text": "제주당근"
}, {
"code": 9094,
"text": "유기농"
}, {
"text": "친환경"
}, {
"text": "주스용"
}, {
"code": 8512,
"text": "산지직송"
}, {
"code": 13808,
"text": "10kg"
}, {
"code": 14255,
"text": "5KG"
}, {
"code": 360216,
"text": "3kg"
}, {
"text": "생식"
}],
"regDate": "2022-12-26T04:43:12.800+09:00",
"modifiedDate": "2024-12-27T15:51:13.327+09:00"
}]
},
위에서 modifiedDate는 하위 상품인 채널상품들이 변경이 되면 변경이 됩니다.
그러므로 DB에 저장시켜서 api와 비교해서 체크하면 됩니다.
단, 발주처리 전 체크를 한뒤 업데이트를 하고 발주처리를 진행하다보니..
너무 느려서 타임아웃이 걸리니 상품 최신 업데이트는 배치Job으로 빼줘야할 것 같습니다.
발주쪽은 다시 설계해서 진행하도록 합니다 ㅎㅎ
일단 방법은 알았으니 이제 개발 고고고~
'역량 UP! > Business' 카테고리의 다른 글
14) ENS Project - 송장 시스템 (1) | 2024.12.27 |
---|---|
13) ENS Project - 발주 시스템 (0) | 2024.12.27 |
12) ENS Project - accessToken 발급 및 로그아웃 (2) | 2024.12.22 |
11) ENS Project - Naver 로그인을 구현해보자! (0) | 2024.11.08 |
10) ENS Project - CSS Framework 사용해보기 (1) | 2024.11.04 |