Переглянути джерело

Merge branch 'eskim' into develop

eskim 5 роки тому
батько
коміт
4795e7cdd8

+ 15 - 7
style24.admin/src/main/java/com/style24/admin/biz/web/TsaGoodsController.java

@@ -1029,6 +1029,7 @@ public class TsaGoodsController extends TsaBaseController {
 
 				strBrandNo = String.valueOf(goodsInfo.getBrandNo());
 			}
+			String brandDir = GagaStringUtil.getLPadding(strBrandNo, 10, "0");
 
 			if (goodsImg.getMode().equals("C")) { // 업로드 된 파일 rename 처리
 //				String newFilename = goodsImg.getGoodsCd()
@@ -1038,22 +1039,29 @@ public class TsaGoodsController extends TsaBaseController {
 //						+ "." + StringUtils.getFilenameExtension(goodsImg.getSysImgNm());
 				String newFilename = goodsImg.getSysImgNm();
 
-				String brandDir = GagaFileUtil.getConcatenationPath(GagaStringUtil.getLPadding(strBrandNo, 10, "0"),GagaDateUtil.getToday()); // 브랜드/UPLOAD 일 YYYYMMDD
-				String goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsTargetPath, brandDir);		//저장경로 생성
+				//브랜드 폴더 확인
+				String goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsTargetPath, brandDir); // 브랜드 폴더
+				File brandPath = new File(goodsUploadPath);
+				if (!brandPath.exists()) {
+					brandPath.mkdir();
+				}
+
+				goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsUploadPath, GagaDateUtil.getToday());		//브랜드+/+YYYYMMDD(UPLOAD 일 )
+				String brandYmdDir = GagaFileUtil.getConcatenationPath(brandDir, GagaDateUtil.getToday());	//디비 저장용
 
 				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(goodsUploadPath, newFilename)));
 				File newFile = new File(GagaFileUtil.getConcatenationPath(goodsUploadPath,  uniqueFile.getName()));
-				//log.info("newFile.getPath(): {}", newFile.getPath());
+				log.info("newFile.getPath(): {}", newFile.getPath());
 
 				// resizing 처리 시 오류가 발생할 경우 삭제하기 위해 설정
 				errorFileList.add(newFile);
 
 				File oldFile = new File(GagaFileUtil.getConcatenationPath(dextUploadPath, goodsImg.getSysImgNm()));
-				//log.info("oldFile.getPath(): {}", oldFile.getPath());
+				log.info("oldFile.getPath(): {}", oldFile.getPath());
 
 				File path = new File(goodsUploadPath);
 				if (!path.exists()) {
-					//log.info("mkdir ={}", goodsUploadPath);
+					log.info("mkdir ={}", goodsUploadPath);
 					path.mkdir();
 				}
 
@@ -1064,8 +1072,8 @@ public class TsaGoodsController extends TsaBaseController {
 				}
 
 				goodsImg.setDispOrd(index++);
-				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(brandDir,newFile.getName()));
-				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(brandDir,newFile.getName()));
+				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(brandYmdDir,newFile.getName()));
+				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(brandYmdDir,newFile.getName()));
 			} else {
 				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(goodsImg.getSysImgUrl() ,goodsImg.getSysImgNm()));
 				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(goodsImg.getSysImgUrl() ,goodsImg.getSysImgNm()));

+ 2 - 0
style24.admin/src/main/java/com/style24/persistence/domain/Goods.java

@@ -19,6 +19,8 @@ import lombok.Data;
 public class Goods extends TscBaseDomain {
 
 	private String goodsCd;		//상품코드
+	private int productNo;		//ProductNo(WMS)
+	private int productCode;		//ProductCode(WMS)
 	private String brandCd;		//브랜드코드
 	private String itemkindCd;		//품목코드
 	private String goodsNm;		//상품명

+ 3 - 1
style24.admin/src/main/java/com/style24/persistence/domain/GoodsHst.java

@@ -15,7 +15,9 @@ import lombok.Data;
 public class GoodsHst extends TscBaseDomain {
 
 	private Integer goodsHstSq;		//상품이력일련번호
-	private String goodsCd;		//상품이력. 상품 수정에 의한 발생
+	private String goodsCd;		//상품코드
+	private int productNo;		//ProductNo(WMS)
+	private int productCode;		//ProductCode(WMS)
 	private String brandCd;		//브랜드코드
 	private String itemkindCd;		//품목코드
 	private String goodsNm;		//상품명

+ 3 - 0
style24.admin/src/main/java/com/style24/persistence/domain/Option.java

@@ -19,6 +19,9 @@ public class Option extends TscBaseDomain {
 	private String optNm;
 	private String optCd1;
 	private String optCd2;
+	private String skuModelNo;
+	private int productNo;
+	private int productCode;
 	private int baseStockQty;
 	private int currStockQty;
 	private int addPrice;

+ 10 - 0
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -1007,6 +1007,8 @@
 		/* TsaGoods.createGoodsHst */
 		INSERT INTO TB_GOODS_HST 
 		(       GOODS_CD
+		      , PRODUCT_NO
+		      , PRODUCT_CODE
 		      , BRAND_CD
 		      , ITEMKIND_CD
 		      , GOODS_NM
@@ -1062,6 +1064,8 @@
 		      , UPD_DT
 		)
 		SELECT GOODS_CD            
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
 		     , BRAND_CD            
 		     , ITEMKIND_CD         
 		     , GOODS_NM            
@@ -1709,6 +1713,9 @@
 		    , OPT_CD
 		    , OPT_CD1
 		    , OPT_CD2
+		    , SKU_MODEL_NO
+		    , PRODUCT_NO
+		    , PRODUCT_CODE
 		    , BASE_STOCK_QTY
 		    , CURR_STOCK_QTY
 		    , ADD_PRICE
@@ -1725,6 +1732,9 @@
 		     , OPT_CD
 		     , OPT_CD1
 		     , OPT_CD2
+		     , SKU_MODEL_NO
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
 		     , BASE_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , ADD_PRICE

+ 3 - 3
style24.batch/src/main/java/com/style24/persistence/domain/Goods.java

@@ -1,7 +1,5 @@
 package com.style24.persistence.domain;
 
-import java.util.Collection;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.style24.persistence.TscBaseDomain;
 
@@ -18,6 +16,8 @@ import lombok.Data;
 public class Goods extends TscBaseDomain {
 
 	private String goodsCd;		//상품코드
+	private int productNo;		//ProductNo(WMS)
+	private int productCode;		//ProductCode(WMS)
 	private String brandCd;		//브랜드코드
 	private String itemkindCd;		//품목코드
 	private String goodsNm;		//상품명
@@ -154,5 +154,5 @@ public class Goods extends TscBaseDomain {
 	private String notiList; // 고시항목
 
 
-	
+
 }

+ 4 - 0
style24.batch/src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

@@ -7,6 +7,8 @@
 		/* AdmGoods.createGoodsHst */
 		INSERT INTO TB_GOODS_HST 
 		(       GOODS_CD
+		      , PRODUCT_NO
+		      , PRODUCT_CODE
 		      , BRAND_CD
 		      , ITEMKIND_CD
 		      , GOODS_NM
@@ -62,6 +64,8 @@
 		      , UPD_DT
 		)
 		SELECT GOODS_CD            
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
 		     , BRAND_CD            
 		     , ITEMKIND_CD         
 		     , GOODS_NM            

+ 2 - 0
style24.scm/src/main/java/com/style24/persistence/domain/Goods.java

@@ -19,6 +19,8 @@ import lombok.Data;
 public class Goods extends TscBaseDomain {
 
 	private String goodsCd;		//상품코드
+	private int productNo;		//ProductNo(WMS)
+	private int productCode;		//ProductCode(WMS)
 	private String brandCd;		//브랜드코드
 	private String itemkindCd;		//품목코드
 	private String goodsNm;		//상품명

+ 3 - 1
style24.scm/src/main/java/com/style24/persistence/domain/GoodsHst.java

@@ -15,7 +15,9 @@ import lombok.Data;
 public class GoodsHst extends TscBaseDomain {
 
 	private Integer goodsHstSq;		//상품이력일련번호
-	private String goodsCd;		//상품이력. 상품 수정에 의한 발생
+	private String goodsCd;		//상품코드
+	private int productNo;		//ProductNo(WMS)
+	private int productCode;		//ProductCode(WMS)
 	private String brandCd;		//브랜드코드
 	private String itemkindCd;		//품목코드
 	private String goodsNm;		//상품명

+ 3 - 0
style24.scm/src/main/java/com/style24/persistence/domain/Option.java

@@ -19,6 +19,9 @@ public class Option extends TscBaseDomain {
 	private String optNm;
 	private String optCd1;
 	private String optCd2;
+	private String skuModelNo;
+	private int productNo;
+	private int productCode;
 	private int baseStockQty;
 	private int currStockQty;
 	private int addPrice;

+ 10 - 0
style24.scm/src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml

@@ -669,6 +669,8 @@
 		/* TsaGoods.createGoodsHst */
 		INSERT INTO TB_GOODS_HST 
 		(       GOODS_CD
+		      , PRODUCT_NO
+		      , PRODUCT_CODE
 		      , BRAND_CD
 		      , ITEMKIND_CD
 		      , GOODS_NM
@@ -724,6 +726,8 @@
 		      , UPD_DT
 		)
 		SELECT GOODS_CD            
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
 		     , BRAND_CD            
 		     , ITEMKIND_CD         
 		     , GOODS_NM            
@@ -1288,6 +1292,9 @@
 		    , OPT_CD
 		    , OPT_CD1
 		    , OPT_CD2
+		    , SKU_MODEL_NO
+		    , PRODUCT_NO
+		    , PRODUCT_CODE
 		    , BASE_STOCK_QTY
 		    , CURR_STOCK_QTY
 		    , ADD_PRICE
@@ -1304,6 +1311,9 @@
 		     , OPT_CD
 		     , OPT_CD1
 		     , OPT_CD2
+		     , SKU_MODEL_NO
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
 		     , BASE_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , ADD_PRICE

+ 62 - 0
style24.scm/src/main/java/com/style24/scm/biz/web/TssDextuploadController.java

@@ -0,0 +1,62 @@
+package com.style24.scm.biz.web;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.style24.core.support.message.TscMessageByLocale;
+import com.style24.scm.support.controller.TssBaseController;
+
+import lombok.extern.slf4j.Slf4j;
+
+import com.gagaframework.web.util.GagaFileUploadUtil;
+import com.gagaframework.web.util.GagaUploadedFileInfo;
+
+/**
+ * Dextupload Controller
+ *
+ * @author gagamel
+ * @since 2020. 12. 4
+ */
+@Controller
+@RequestMapping("/dext")
+@Slf4j
+public class TssDextuploadController extends TssBaseController {
+
+	@Autowired
+	private Environment env;
+
+	@Autowired
+	private TscMessageByLocale message;
+
+	/**
+	 * dextupload를 이용한 파일 업로드
+	 * @param policy - 업로드정책
+	 * @param files - 파일 목록 (dx5는 DEXTUploadX5_FileData 명칭으로 넘어옴)
+	 * @return 업로드된 파일 목록
+	 * @throws Exception
+	 * @author gagamel
+	 * @since 2020. 12. 4
+	 */
+	@PostMapping("/files/upload/{policy}")
+	@ResponseBody
+	public Collection<GagaUploadedFileInfo> uploadFiles(@PathVariable("policy") String policy, @RequestParam(value = "DEXTUploadX5_FileData") List<MultipartFile> files) throws Exception {
+		if (files == null || files.isEmpty()) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		GagaFileUploadUtil fuUtil = new GagaFileUploadUtil(env.getProperty("upload.dext.target.path"), Long.parseLong(env.getProperty("upload." + policy + ".max.size")), env.getProperty("upload." + policy + ".allow.extension"), env.getProperty("upload." + policy + ".view"));
+
+		return fuUtil.uploadFiles(files);
+	}
+
+}

+ 15 - 7
style24.scm/src/main/java/com/style24/scm/biz/web/TssGoodsController.java

@@ -659,6 +659,7 @@ public class TssGoodsController extends TssBaseController {
 
 				strBrandNo = String.valueOf(goodsInfo.getBrandNo());
 			}
+			String brandDir = GagaStringUtil.getLPadding(strBrandNo, 10, "0");
 
 			if (goodsImg.getMode().equals("C")) { // 업로드 된 파일 rename 처리
 //				String newFilename = goodsImg.getGoodsCd()
@@ -668,22 +669,29 @@ public class TssGoodsController extends TssBaseController {
 //						+ "." + StringUtils.getFilenameExtension(goodsImg.getSysImgNm());
 				String newFilename = goodsImg.getSysImgNm();
 
-				String brandDir = GagaFileUtil.getConcatenationPath(GagaStringUtil.getLPadding(strBrandNo, 10, "0"),GagaDateUtil.getToday()); // 브랜드/UPLOAD 일 YYYYMMDD
-				String goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsTargetPath, brandDir);		//저장경로 생성
+				//브랜드 폴더 확인
+				String goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsTargetPath, brandDir); // 브랜드 폴더
+				File brandPath = new File(goodsUploadPath);
+				if (!brandPath.exists()) {
+					brandPath.mkdir();
+				}
+
+				goodsUploadPath = GagaFileUtil.getConcatenationPath(goodsUploadPath, GagaDateUtil.getToday());		//브랜드+/+YYYYMMDD(UPLOAD 일 )
+				String brandYmdDir = GagaFileUtil.getConcatenationPath(brandDir, GagaDateUtil.getToday());	//디비 저장용
 
 				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(goodsUploadPath, newFilename)));
 				File newFile = new File(GagaFileUtil.getConcatenationPath(goodsUploadPath,  uniqueFile.getName()));
-				//log.info("newFile.getPath(): {}", newFile.getPath());
+				log.info("newFile.getPath(): {}", newFile.getPath());
 
 				// resizing 처리 시 오류가 발생할 경우 삭제하기 위해 설정
 				errorFileList.add(newFile);
 
 				File oldFile = new File(GagaFileUtil.getConcatenationPath(dextUploadPath, goodsImg.getSysImgNm()));
-				//log.info("oldFile.getPath(): {}", oldFile.getPath());
+				log.info("oldFile.getPath(): {}", oldFile.getPath());
 
 				File path = new File(goodsUploadPath);
 				if (!path.exists()) {
-					//log.info("mkdir ={}", goodsUploadPath);
+					log.info("mkdir ={}", goodsUploadPath);
 					path.mkdir();
 				}
 
@@ -694,8 +702,8 @@ public class TssGoodsController extends TssBaseController {
 				}
 
 				goodsImg.setDispOrd(index++);
-				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(brandDir,newFile.getName()));
-				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(brandDir,newFile.getName()));
+				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(brandYmdDir,newFile.getName()));
+				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(brandYmdDir,newFile.getName()));
 			} else {
 				goodsImg.setOrgImgNm(GagaFileUtil.getConcatenationPath(goodsImg.getSysImgUrl() ,goodsImg.getSysImgNm()));
 				goodsImg.setSysImgNm(GagaFileUtil.getConcatenationPath(goodsImg.getSysImgUrl() ,goodsImg.getSysImgNm()));

+ 5 - 5
style24.scm/src/main/webapp/dx5/dextuploadx5-configuration.js

@@ -8,15 +8,15 @@
 
     var gAuthkey = '';
     if (location.host.indexOf("ld") > -1) {
-    	gAuthkey = "wv0tVbqwjB3lq1Z7QxSK/RiA31WcFNDd45asJ8rF3Gnl28E5ZkW+9D+/zcDVVXq8yy1fkRjUK9EG41tLceWrPsCbmCOZqVGdr4/JOj11b2g4/DdhnPp7uaDtdL6lH/OLZmRi4aAhdBXhCRmCIsyAZ9qs6P0dpV3EoGFwTaFQqGA=";
+    	gAuthkey = "hr0AqviRLOCsbiIneYWPXdkhMn8awpDYw6HPDAvYo/cKKYVOyyuonGO2qFLlmur6svsAV6tkMZY5N1Iygq42R74h7AFlzk8xhM9YzIP8ySVhEN2LFlRxgsm/GQyLrzNoS1BwcHSYyOvAfzBCAVu6f8ubLw68bOFWivcvJKAz91I=";
     } else if (location.host.indexOf("lp") > -1) {
-    	gAuthkey = "wv0tVbqwjB3lq1Z7QxSK/RiA31WcFNDd45asJ8rF3Gnl28E5ZkW+9D+/zcDVVXq8yy1fkRjUK9EG41tLceWrPsCbmCOZqVGdr4/JOj11b2g4/DdhnPp7uaDtdL6lH/OLZmRi4aAhdBXhCRmCIsyAZ9qs6P0dpV3EoGFwTaFQqGA=";
+    	gAuthkey = "hr0AqviRLOCsbiIneYWPXdkhMn8awpDYw6HPDAvYo/cKKYVOyyuonGO2qFLlmur6svsAV6tkMZY5N1Iygq42R74h7AFlzk8xhM9YzIP8ySVhEN2LFlRxgsm/GQyLrzNoS1BwcHSYyOvAfzBCAVu6f8ubLw68bOFWivcvJKAz91I=";
     } else if (location.host.indexOf("dev") > -1) {
-    	gAuthkey = "wv0tVbqwjB3lq1Z7QxSK/RiA31WcFNDd45asJ8rF3Gnl28E5ZkW+9D+/zcDVVXq8yy1fkRjUK9EG41tLceWrPsCbmCOZqVGdr4/JOj11b2g4/DdhnPp7uaDtdL6lH/OLZmRi4aAhdBXhCRmCIsyAZ9qs6P0dpV3EoGFwTaFQqGA=";
+    	gAuthkey = "hr0AqviRLOCsbiIneYWPXdkhMn8awpDYw6HPDAvYo/cKKYVOyyuonGO2qFLlmur6svsAV6tkMZY5N1Iygq42R74h7AFlzk8xhM9YzIP8ySVhEN2LFlRxgsm/GQyLrzNoS1BwcHSYyOvAfzBCAVu6f8ubLw68bOFWivcvJKAz91I=";
     } else if (location.host.indexOf("qas") > -1) {
-    	gAuthkey = "wv0tVbqwjB3lq1Z7QxSK/RiA31WcFNDd45asJ8rF3Gnl28E5ZkW+9D+/zcDVVXq8yy1fkRjUK9EG41tLceWrPsCbmCOZqVGdr4/JOj11b2g4/DdhnPp7uaDtdL6lH/OLZmRi4aAhdBXhCRmCIsyAZ9qs6P0dpV3EoGFwTaFQqGA=";
+    	gAuthkey = "hr0AqviRLOCsbiIneYWPXdkhMn8awpDYw6HPDAvYo/cKKYVOyyuonGO2qFLlmur6svsAV6tkMZY5N1Iygq42R74h7AFlzk8xhM9YzIP8ySVhEN2LFlRxgsm/GQyLrzNoS1BwcHSYyOvAfzBCAVu6f8ubLw68bOFWivcvJKAz91I=";
     } else {
-    	gAuthkey = "wv0tVbqwjB3lq1Z7QxSK/RiA31WcFNDd45asJ8rF3Gnl28E5ZkW+9D+/zcDVVXq8yy1fkRjUK9EG41tLceWrPsCbmCOZqVGdr4/JOj11b2g4/DdhnPp7uaDtdL6lH/OLZmRi4aAhdBXhCRmCIsyAZ9qs6P0dpV3EoGFwTaFQqGA=";
+    	gAuthkey = "hr0AqviRLOCsbiIneYWPXdkhMn8awpDYw6HPDAvYo/cKKYVOyyuonGO2qFLlmur6svsAV6tkMZY5N1Iygq42R74h7AFlzk8xhM9YzIP8ySVhEN2LFlRxgsm/GQyLrzNoS1BwcHSYyOvAfzBCAVu6f8ubLw68bOFWivcvJKAz91I=";
     }
 
     win.dextuploadx5Configuration = {