TssGoodsDao.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604
  1. package com.style24.scm.biz.dao;
  2. import java.util.Collection;
  3. import org.springframework.dao.DataAccessException;
  4. import com.style24.core.support.annotation.ShopDs;
  5. import com.style24.persistence.domain.FreeGoods;
  6. import com.style24.persistence.domain.Goods;
  7. import com.style24.persistence.domain.GoodsDesc;
  8. import com.style24.persistence.domain.GoodsHst;
  9. import com.style24.persistence.domain.GoodsImg;
  10. import com.style24.persistence.domain.GoodsMass;
  11. import com.style24.persistence.domain.GoodsNotiInfo;
  12. import com.style24.persistence.domain.GoodsPriceRes;
  13. import com.style24.persistence.domain.GoodsSafeNo;
  14. import com.style24.persistence.domain.GoodsSearch;
  15. import com.style24.persistence.domain.Itemkind;
  16. import com.style24.persistence.domain.NotiInfo;
  17. import com.style24.persistence.domain.Notice;
  18. import com.style24.persistence.domain.NoticeGoods;
  19. import com.style24.persistence.domain.Option;
  20. import com.style24.persistence.domain.WmsGoods;
  21. import com.gagaframework.web.parameter.GagaMap;
  22. /**
  23. * 상품 Dao
  24. *
  25. * @author gagamel
  26. * @since 2020. 10. 19
  27. */
  28. @ShopDs
  29. public interface TssGoodsDao {
  30. /**
  31. * 품목 목록
  32. * @param itemkind
  33. * @return
  34. * @author eskim
  35. * @since 2021. 01. 12
  36. */
  37. Collection<Itemkind> getItemkindList(Itemkind itemkind);
  38. /**
  39. * 상품 목록 건수
  40. *
  41. * @param goodsSearch
  42. * @return
  43. * @author eskim
  44. * @since 2010. 10. 20
  45. */
  46. int getGoodsListCount(GoodsSearch goodsSearch);
  47. /**
  48. * 상품 목록
  49. *
  50. * @param goodsSearch
  51. * @return
  52. * @author eskim
  53. * @since 2010. 10. 20
  54. */
  55. Collection<Goods> getGoodsList(GoodsSearch goodsSearch);
  56. /**
  57. * 상품 목록 기본정보 엑셀다운로드
  58. *
  59. * @param goodsSearch
  60. * @return
  61. * @author eskim
  62. * @since 2020. 10. 22
  63. */
  64. Collection<GagaMap> getGoodsInfoExcelList(GoodsSearch goodsSearch);
  65. /**
  66. * 상품 이미지 필수 항목 입력 여부 조회
  67. *
  68. * @param goods
  69. * @return
  70. * @author eskim
  71. * @since 2020. 10. 22
  72. */
  73. Collection<Goods> getGoodsImgsYn(Goods goods);
  74. /**
  75. * 상품 상세
  76. *
  77. * @param goods
  78. * @return
  79. * @author eskim
  80. * @since 2020. 10. 22
  81. */
  82. Goods getGoods(Goods goods);
  83. /**
  84. * 상품 상세 정보 조회
  85. *
  86. * @param goodsVideo
  87. * @return
  88. * @author eskim
  89. * @since 2020. 10. 22
  90. */
  91. Collection<GoodsDesc> getGoodsDescList(GoodsDesc goodsDesc);
  92. /**
  93. * 상품 정보 이력
  94. *
  95. * @param goods
  96. * @return
  97. * @author eskim
  98. * @since 2019. 08. 12
  99. */
  100. Collection<GoodsHst> getGoodsHstList(Goods goods);
  101. /**
  102. * 상품 옵션 조회
  103. *
  104. * @param goods
  105. * @return
  106. * @author eskim
  107. * @since 2020. 10. 26
  108. */
  109. Collection<Option> getGoodsSizeList(Goods goods);
  110. /**
  111. * 상품 색상목록 조회
  112. *
  113. * @param goods
  114. * @return
  115. * @author eskim
  116. * @since 2020. 11. 18
  117. */
  118. Collection<GoodsImg> getGoodsColorList(Goods goods);
  119. /**
  120. * 상품 고시 조회
  121. *
  122. * @param goodsNotiInfo
  123. * @return
  124. * @author eskim
  125. * @since 2020. 10. 12
  126. */
  127. Collection<GoodsNotiInfo> getGoodsNotiInfoList(GoodsNotiInfo goodsNotiInfo);
  128. /**
  129. * 상품의 정보고시 항목 목록
  130. *
  131. * @param notiInfo
  132. * @return
  133. * @author eskim
  134. * @since 2020. 10. 18
  135. */
  136. Collection<NotiInfo> getNotiGoodsInfoList(NotiInfo notiInfo);
  137. /**
  138. * 상품 기본 정보 이력 생성
  139. *
  140. * @param goods
  141. * @author eskim
  142. * @since 2020. 10. 22
  143. */
  144. void createGoodsHst(Goods goods);
  145. /**
  146. * 상품 수정 항목 일괄변경
  147. *
  148. * @param goods
  149. * @author eskim
  150. * @since 2020. 10. 22
  151. */
  152. void updateGoodsState(Goods goods);
  153. /**
  154. * 상품 자동 검색어 조회
  155. *
  156. * @param goodsCd
  157. * @return
  158. * @author eskim
  159. * @since 2020. 10. 23
  160. */
  161. String getGoodsSnm(String goodsCd);
  162. /**
  163. * 상품검색어 수정
  164. *
  165. * @param goods
  166. * @author eskim
  167. * @since 2020. 10. 23
  168. */
  169. void updateGoodsSnm(Goods goods);
  170. /**
  171. * 상품 기본 정보 수정
  172. *
  173. * @param goods
  174. * @author eskim
  175. * @since 2020. 10. 27
  176. */
  177. void updateGoods(Goods goods);
  178. /**
  179. * 상품 상세정보 삭제
  180. *
  181. * @param godsDesc
  182. * @author eskim
  183. * @since 2020. 10. 27
  184. */
  185. void deleteGoodsDesc(GoodsDesc godsDesc);
  186. /**
  187. * 상품 상세 정보 이력 생성
  188. * @param createGoodsDetailDesc
  189. * @author eskim
  190. * @since 2021. 01. 04
  191. */
  192. public void createGoodsDetailDescHst(GoodsDesc godsDesc);
  193. /**
  194. * 상품 상세정보 등록
  195. *
  196. * @param godsDesc
  197. * @author eskim
  198. * @since 2020. 10. 27
  199. */
  200. void createGoodsDesc(GoodsDesc godsDesc);
  201. /**
  202. * 상품 옵션/재고 정보 이력생성
  203. *
  204. * @param option
  205. * @author eskim
  206. * @since 2020. 10. 27
  207. */
  208. void createStockHst(Option option);
  209. /**
  210. * 상품 옵션/재고 정보 수정
  211. *
  212. * @param stock
  213. * @author eskim
  214. * @since 2020. 10. 27
  215. */
  216. void saveStock(Option option);
  217. /**
  218. * 상품 기본 정보 등록
  219. *
  220. * @param goods
  221. * @author eskim
  222. * @since 2020. 10. 30
  223. */
  224. void createGoods(Goods goods);
  225. /**
  226. * 상품 품목변경 고시정보 삭제
  227. *
  228. * @param goods
  229. * @author eskim
  230. * @since 2020. 10. 23
  231. */
  232. void deleteGoodsNotiInfo(Goods goods);
  233. /**
  234. * 상품 고시 정보 수정
  235. *
  236. * @param goodsNotiInfo
  237. * @author eskim
  238. * @since 2020. 10. 23
  239. */
  240. void saveGoodsNotiInfo(GoodsNotiInfo goodsNotiInfo);
  241. /**
  242. * 상품 가격예약 등록(화면)
  243. *
  244. * @param goodsPriceRes
  245. * @return void
  246. * @author eskim
  247. * @since 2020. 11. 13
  248. */
  249. void createGoodPriceRes(GoodsPriceRes goodsPriceRes);
  250. /**
  251. * 상품 옵션 존재여부 확인
  252. *
  253. * @param option
  254. * @return
  255. * @author eskim
  256. * @since 2020. 11. 17
  257. */
  258. int getGoodsOptionCount(Option option);
  259. /**
  260. * 상품 가격 승인 목록 건수
  261. *
  262. * @param goodsPriceHst
  263. * @return
  264. * @author eskim
  265. * @since 2020. 11. 26
  266. */
  267. int getGoodsSupplyPriceCount(GoodsPriceRes goodsPriceRes);
  268. /**
  269. * 상품 가격 승인 목록
  270. *
  271. * @param goodsPriceHst
  272. * @return
  273. * @author eskim
  274. * @since 2020. 11. 26
  275. */
  276. Collection<GoodsPriceRes> getGoodsSupplyPriceList(GoodsPriceRes goodsPriceRes);
  277. /**
  278. * 상품 상세공지 목록
  279. *
  280. * @param goodsSearch
  281. * @return
  282. * @author eskim
  283. * @since 2020. 11. 27
  284. */
  285. Collection<Notice> getNoticeList(GoodsSearch goodsSearch);
  286. /**
  287. * 상품 상세공지 상품 목록
  288. *
  289. * @param goodsSearch
  290. * @return
  291. * @author eskim
  292. * @since 2020. 11. 27
  293. */
  294. Collection<NoticeGoods> getNoticeGoodsList(Notice notice);
  295. /**
  296. * 상품 상세공지 상품 저장
  297. *
  298. * @param noticeGoods
  299. * @return
  300. * @author eskim
  301. * @since 2020. 11. 27
  302. */
  303. void saveNoticeGoods(NoticeGoods noticeGoods);
  304. /**
  305. * 상품 상세공지 상품 삭제
  306. *
  307. * @param noticeGoods
  308. * @return
  309. * @author eskim
  310. * @since 2020. 11. 27
  311. */
  312. void deleteNoticeGoods(NoticeGoods noticeGoods);
  313. /**
  314. * 상품 구매등급 조회
  315. *
  316. * @param goods
  317. * @return
  318. * @author eskim
  319. * @since 2020. 12. 11
  320. */
  321. Collection<Goods> getGoodsDetailOrderGradeList(Goods goods);
  322. /**
  323. * 상품 구매등급 삭제
  324. *
  325. * @param map
  326. * @return
  327. * @author eskim
  328. * @since 2020. 12. 11
  329. */
  330. void deleteGoodsCustGrade(Goods goods);
  331. /**
  332. * 상품 구매등급 저장
  333. *
  334. * @param map
  335. * @return
  336. * @author eskim
  337. * @since 2020. 12. 11
  338. */
  339. void createGoodsCustGrade(Goods goods);
  340. /**
  341. * 상품이미지 목록
  342. *
  343. * @param goodsImg
  344. * @return Collection<GoodsImg>
  345. * @author eskim
  346. * @since 2020. 12. 23
  347. */
  348. Collection<GoodsImg> getGoodsImageList(GoodsImg goodsImg);
  349. /**
  350. * 상품이미지 전체 삭제
  351. * @param goodsImg - 상품이미지 정보
  352. * @throws DataAccessException
  353. * @author eskim
  354. * @since 2020. 12. 23
  355. */
  356. public void deleteGoodsImageTotal(GoodsImg goodsImg);
  357. /**
  358. * 상품이미지 삭제
  359. * @param goodsImg - 상품이미지 정보
  360. * @throws DataAccessException
  361. * @author eskim
  362. * @since 2020. 12. 23
  363. */
  364. public void deleteGoodsImage(GoodsImg goodsImg);
  365. /**
  366. * 상품이미지 등록
  367. * @param goodsImg - 상품이미지 정보
  368. * @throws DataAccessException
  369. * @author eskim
  370. * @since 2020. 12. 23
  371. */
  372. public void createGoodsImage(GoodsImg goodsImg);
  373. /**
  374. * wms 상품정보 조회
  375. *
  376. * @param goodsMass
  377. * @return
  378. * @author eskim
  379. * @since 2021. 01. 12
  380. */
  381. WmsGoods getWmsGoodsInfo(Goods goods);
  382. /**
  383. * 상품통계 생성
  384. *
  385. * @param goods
  386. * @author eskim
  387. * @since 2021. 01. 12
  388. */
  389. void createGoodsSmmary(Goods goods);
  390. /**
  391. * WMS 입고상품 사은품 상품 구분 저장
  392. * @param wmsGoods
  393. * @author eskim
  394. * @since 2021. 01. 12
  395. */
  396. public void saveGoodsWmsIncomelot(WmsGoods wmsGoods);
  397. /**
  398. * 품목 별 고시기본정보 조회
  399. *
  400. * @param goods
  401. * @return
  402. * @author eskim
  403. * @since 2021. 01. 12
  404. */
  405. Collection<GoodsNotiInfo> getItemkindNotiInfoList(Goods goods);
  406. /**
  407. * 상품 등록 로그 생성
  408. *
  409. * @param goodsMass
  410. * @author eskim
  411. * @since 2021. 01. 12
  412. */
  413. void createGoodsRegLog(GoodsMass goodsMass);
  414. /**
  415. * 상품 품목별 매핑 카테고리 저장
  416. *
  417. * @param goods
  418. * @author eskim
  419. * @since 2021. 01. 12
  420. */
  421. void createCategoryGoods(Goods goods);
  422. /**
  423. * wms 상품 색상 , 사이즈별 재고 정보 조회
  424. *
  425. * @param goods
  426. * @return
  427. * @author eskim
  428. * @since 2021. 01. 13
  429. */
  430. Collection<Option> getGoodsWmsSizeList(Goods goods);
  431. /**
  432. * 상품등록로그 목록
  433. *
  434. * @param goodsSearch
  435. * @return
  436. * @author eskim
  437. * @since 2021. 01. 13
  438. */
  439. Collection<GoodsMass> getGoodsRegLogList(GoodsSearch goodsSearch);
  440. /**
  441. * 상품 색상, 사이즈 정보 조회
  442. *
  443. * @param goods
  444. * @return
  445. * @author eskim
  446. * @since 2021. 01. 14
  447. */
  448. GoodsMass getGoodsColorSize(Goods goods);
  449. /**
  450. * 상품 대표색상 설정
  451. *
  452. * @param goodsMass
  453. * @return
  454. * @author eskim
  455. * @since 2021. 01. 14
  456. */
  457. void updateGoodsMainColorCd(GoodsMass goodsMass);
  458. /**
  459. * 상품 상태만 변경
  460. *
  461. * @param goods
  462. * @return
  463. * @author eskim
  464. * @since 2021. 01. 18
  465. */
  466. void updateGoodsStatOnly(Goods goods);
  467. /**
  468. * 상품코드 생성
  469. *
  470. * @param goods
  471. * @author eskim
  472. * @since 2020. 10. 30
  473. */
  474. void createGoodsSequence(Goods goods);
  475. /**
  476. * 상품 기본 정보 수정 - 대량엑셀
  477. *
  478. * @param goods
  479. * @author eskim
  480. * @since 2021. 1. 20
  481. */
  482. void updateGoodsMass(Goods goods);
  483. /**
  484. * 상품 품목변경
  485. *
  486. * @param goods
  487. * @author eskim
  488. * @since 2021. 1. 24
  489. */
  490. void updateGoodItemKindCd(Goods goods);
  491. /**
  492. * 상품정보고시 항목 목록
  493. * @param notiInfo
  494. * @return
  495. * @author eskim
  496. * @since 2021. 1. 24
  497. */
  498. Collection<NotiInfo> getNotiInfoItemList(NotiInfo notiInfo);
  499. /**
  500. * 상품옵션 패턴조회
  501. * @param option
  502. * @return
  503. * @author eskim
  504. * @since 2021. 2. 5
  505. */
  506. Option getGoodsOption(Option option);
  507. /**
  508. * 상품옵션 중복건수여부 확인
  509. * @param option
  510. * @return
  511. * @author eskim
  512. * @since 2021. 2. 5
  513. */
  514. int getGoodsOptionDupCountCheck(Option option);
  515. /**
  516. * 사은품 목록
  517. *
  518. * @param GoodsSearch
  519. * @return Collection<FreeGoods>
  520. * @author eskim
  521. * @since 2020. 12. 28
  522. */
  523. Collection<FreeGoods> getFreeGoodsList(GoodsSearch goodsSearch);
  524. /**
  525. * 사은품 정보 수정
  526. * @param freeGoods
  527. * @author eskim
  528. * @since 2020. 12. 28
  529. */
  530. public void updateFreeGoods(FreeGoods freeGoods);
  531. /**
  532. * 안전인증대상 상품 저장
  533. *
  534. * @author eskim
  535. * @since 2020. 12. 07
  536. */
  537. void saveGoodsSafeNo(GoodsSafeNo goodsSafeNo);
  538. }