| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package com.style24.front.biz.service;
- import com.style24.core.support.env.TscConstants;
- import com.style24.persistence.domain.Goods;
- import com.style24.persistence.domain.GoodsStock;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.style24.front.biz.dao.TsfGoodsDao;
- import lombok.extern.slf4j.Slf4j;
- /**
- * 상품 Service
- *
- * @author gagamel
- * @since 2020. 12. 29
- */
- @Service
- @Slf4j
- public class TsfGoodsService {
- @Autowired
- private TsfGoodsDao goodsDao;
- /**
- * 상품 정보 조회
- * @param goods
- * @return
- * @author xodud1202
- * @since 2021. 01. 28
- */
- public Goods getGoodsInfo(Goods goods) {
- return goodsDao.getGoodsInfo(goods);
- }
- /**
- * 구성 상품 정보 조회
- * @param goods
- * @return
- * @author xodud1202
- * @since 2021. 01. 28
- */
- public Goods getGoodsCompsInfo(Goods goods) {
- return goodsDao.getGoodsCompsInfo(goods);
- }
- /**
- * 상품 재고 정보
- * @param goodsStock
- * @return
- * @author xodud1202
- * @since 2021. 01. 28
- */
- public GoodsStock getGoodsStockInfo(GoodsStock goodsStock) {
- return goodsDao.getGoodsStockInfo(goodsStock);
- }
- /**
- * 상품 재고 체크
- * @param goodsStock
- * goodsCd (원상품코드) 필수
- * goodsType (상품타입) 필수
- * optCd (옵션코드) 필수
- * goodsQty (확인 재고 수량) 필수
- * itemCd (세트 구성 상품코드) 세트
- * @return String
- * @author xodud1202
- * @since 2021. 01. 28
- */
- public String getCheckStock(GoodsStock param) {
- if(param.getGoodsType().equals(TscConstants.GoodsType.SET.value())) { // 세트상품이면 구성 상품코드로 조회
- GoodsStock stockCheck = new GoodsStock(); // 재고 조회 결과
- stockCheck.setGoodsCd(param.getItemCd());
- stockCheck.setOptCd(param.getOptCd());
- stockCheck = goodsDao.getGoodsStockInfo(stockCheck); // 구성 상품 재고 조회
- Goods compsInfo = new Goods();
- compsInfo.setGoodsCd(param.getGoodsCd());
- compsInfo.setCompsGoodsCd(param.getItemCd());
- compsInfo.setGoodsType(param.getGoodsType());
- compsInfo = goodsDao.getGoodsCompsInfo(compsInfo); // 구성상품 정보 조회
- log.info("CHECK param.getGoodsQty() INFO >> " + param.getGoodsQty());
- log.info("CHECK compsInfo.getQty() INFO >> " + compsInfo.getQty());
- log.info("CHECK stockCheck.getCurrStockQty() INFO >> " + stockCheck.getCurrStockQty());
- // 재고 체크
- if(param.getGoodsQty() * compsInfo.getQty() > stockCheck.getCurrStockQty()) {
- return param.getItemCd() + "의 재고가 충분하지 않습니다.";
- }
- } else {
- GoodsStock stockCheck = new GoodsStock(); // 재고 조회 결과
- stockCheck.setGoodsCd(param.getGoodsCd());
- stockCheck.setOptCd(param.getOptCd());
- stockCheck = goodsDao.getGoodsStockInfo(stockCheck); // 구성 상품 재고 조회
- if(param.getGoodsQty() > stockCheck.getCurrStockQty()) {
- return param.getGoodsCd() + "의 재고가 충분하지 않습니다.";
- }
- }
- return "SUCCESS";
- }
- }
|