Bläddra i källkod

상품 동영상 수정중

eskim 5 år sedan
förälder
incheckning
8f1eac1d8a

+ 3 - 32
src/main/java/com/style24/admin/biz/dao/TsaGoodsDao.java

@@ -29,7 +29,6 @@ import com.style24.persistence.domain.NoticeGoods;
 import com.style24.persistence.domain.Option;
 import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SizeInfo;
-import com.style24.persistence.domain.Video;
 import com.style24.persistence.domain.WmsColorMapping;
 import com.style24.persistence.domain.WmsGoods;
 import com.style24.persistence.domain.WmsSeasonMapping;
@@ -770,17 +769,7 @@ public interface TsaGoodsDao {
 	 * @author eskim
 	 * @since 2020. 11. 16
 	 */
-	void updateNotUseGoodsVideo(Video video);
-
-	/**
-	 * 동영상 일련번호 조회
-	 *
-	 * @param video
-	 * @return
-	 * @author eskim
-	 * @since 2020. 11. 16
-	 */
-	String getVideoSeq(Video video);
+	void updateNotUseGoodsVideo(GoodsVideo goodsVideo);
 
 	/**
 	 * 동영상 등록
@@ -789,7 +778,7 @@ public interface TsaGoodsDao {
 	 * @author eskim
 	 * @since 2020. 11. 16
 	 */
-	void createVideo(Video video);
+	void createGoodsVideo(GoodsVideo goodsVideo);
 
 	/**
 	 * 동영상 수정
@@ -798,25 +787,7 @@ public interface TsaGoodsDao {
 	 * @author eskim
 	 * @since 2020. 11. 16
 	 */
-	void updateVideo(Video video);
-
-	/**
-	 * 동영상 위치 삭제 Y 처리
-	 *
-	 * @param video
-	 * @author eskim
-	 * @since 2020. 11. 16
-	 */
-	void delVideoDispLoc(Video video);
-
-	/**
-	 * 동영상 위치 수정/저장
-	 *
-	 * @param video
-	 * @author eskim
-	 * @since 2020. 11. 16
-	 */
-	void saveVideoDispLoc(Video video);
+	void updateGoodsVideo(GoodsVideo goodsVideo);
 
 	/**
 	 * 상품 옵션 존재여부 확인

+ 15 - 36
src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -52,7 +52,6 @@ import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SearchData;
 import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.SupplyCompany;
-import com.style24.persistence.domain.Video;
 import com.style24.persistence.domain.WmsColorMapping;
 import com.style24.persistence.domain.WmsGoods;
 import com.style24.persistence.domain.WmsSeasonMapping;
@@ -2184,10 +2183,8 @@ public class TsaGoodsService {
 	@Transactional("shopTxnManager")
 	public void updateNotUseGoodsVideo(Collection<GoodsVideo> goodsVideos) {
 		for (GoodsVideo goodsVideo : goodsVideos) {
-			Video video = new Video();
-			video.setUpdNo(TsaSession.getInfo().getUserNo());
-			video.setVideoSq(goodsVideo.getVideoSq());
-			goodsDao.updateNotUseGoodsVideo(video);
+			goodsVideo.setUpdNo(TsaSession.getInfo().getUserNo());
+			goodsDao.updateNotUseGoodsVideo(goodsVideo);
 		}
 	}
 
@@ -2200,34 +2197,16 @@ public class TsaGoodsService {
 	 * @since 2020. 11. 16
 	 */
 	@Transactional("shopTxnManager")
-	public void saveGoodsVideo(Video video) {
-		video.setRegNo(TsaSession.getInfo().getUserNo());
-		video.setUpdNo(TsaSession.getInfo().getUserNo());
-		if (video.getVideoSq() == null || video.getVideoSq() == 0) {
-
-			String videoSeq = goodsDao.getVideoSeq(video);
-			if (StringUtils.isBlank(videoSeq)) {
-				goodsDao.createVideo(video);
-			} else {
-				//video.setVideoSq(Integer.parseInt(videoSeq));  //why?
-				//goodsDao.updateVideo(video);
-			}
-		}
-
-		if (video.getVideoSq() == null || video.getVideoSq() == 0) {
-			String videoSeq = goodsDao.getVideoSeq(video);
-
-			if (!StringUtils.isBlank(videoSeq)) {
-				video.setVideoSq(Integer.parseInt(videoSeq));
-			}
-		}
-
-		//goodsDao.delVideoDispLoc(video);  why?
-		String[] displocValArr = video.getDisplocValArr();
-		for (String displocVal : displocValArr) {
-			video.setDisplocVal(displocVal);
-			goodsDao.saveVideoDispLoc(video);
+	public void saveGoodsVideo(GoodsVideo goodsVideo) {
+		goodsVideo.setRegNo(TsaSession.getInfo().getUserNo());
+		goodsVideo.setUpdNo(TsaSession.getInfo().getUserNo());
+		
+		if (goodsVideo.getVideoSq() == null || goodsVideo.getVideoSq() == 0) {
+			goodsDao.createGoodsVideo(goodsVideo);
+		}else {
+			goodsDao.updateGoodsVideo(goodsVideo);
 		}
+		
 	}
 
 	/**
@@ -2243,7 +2222,7 @@ public class TsaGoodsService {
 
 		int cnt = 0;
 
-		for (GagaMap map : dataList) {
+		/*for (GagaMap map : dataList) {
 			Video video = mapper.convertValue(map, Video.class);
 			video.setUpdNo(TsaSession.getInfo().getUserNo());
 			video.setRegNo(TsaSession.getInfo().getUserNo());
@@ -2256,18 +2235,18 @@ public class TsaGoodsService {
 				video.setVideoGb("Y");
 			}
 			String videoSeq = goodsDao.getVideoSeq(video);
-
+		
 			if (StringUtils.isBlank(videoSeq)) {
 				goodsDao.createVideo(video);
 			}
-
+		
 			videoSeq = goodsDao.getVideoSeq(video);
 			if (!StringUtils.isBlank(videoSeq)) {
 				video.setVideoSq(Integer.parseInt(videoSeq));
 			}
 			goodsDao.saveVideoDispLoc(video);
 			cnt++;
-		}
+		}*/
 
 		return cnt;
 	}

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

@@ -58,7 +58,6 @@ import com.style24.persistence.domain.Option;
 import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.User;
-import com.style24.persistence.domain.Video;
 import com.style24.persistence.domain.WmsColorMapping;
 import com.style24.persistence.domain.WmsGoods;
 import com.style24.persistence.domain.WmsSeasonMapping;
@@ -1648,8 +1647,8 @@ public class TsaGoodsController extends TsaBaseController {
 	 */
 	@PostMapping("/video/save")
 	@ResponseBody
-	public GagaResponse saveGoodsVideo(@RequestBody Video video) {
-		goodsService.saveGoodsVideo(video);
+	public GagaResponse saveGoodsVideo(@RequestBody GoodsVideo goodsVideo) {
+		goodsService.saveGoodsVideo(goodsVideo);
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 
@@ -1664,18 +1663,18 @@ public class TsaGoodsController extends TsaBaseController {
 	 */
 	@PostMapping("/video/excel/save")
 	@ResponseBody
-	public GagaResponse saveExcelGoodsVideo(@RequestBody Video video) throws Exception {
+	public GagaResponse saveExcelGoodsVideo(@RequestBody GoodsVideo goodsVideo) throws Exception {
 		String[] cellName = null;
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정
 		cellName = new String[2];
-		cellName[0] = "displocVal";
-		cellName[1] = "videoVal";
+		cellName[0] = "goodsCd";
+		cellName[1] = "kmcKey";
 		String targetPath = GagaFileUtil.getConcatenationPath(env.getProperty("upload.default.target.path"), "excel");
-		Collection<GagaMap> dataList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, video.getExcelFileNm()), 0, cellName);
+		Collection<GagaMap> dataList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, goodsVideo.getExcelFileNm()), 0, cellName);
 
 		int cnt = goodsService.saveExcelGoodsVideo(dataList);
 
-		GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(targetPath, video.getExcelFileNm()));
+		GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(targetPath, goodsVideo.getExcelFileNm()));
 
 		return super.ok(cnt + " 건 처리되었습니다.");
 	}

+ 7 - 5
src/main/java/com/style24/persistence/domain/GoodsVideo.java

@@ -16,17 +16,19 @@ import lombok.Data;
 public class GoodsVideo extends TscBaseDomain {
 
 	private Integer videoSq;
-	private String brandCd; // 브랜드코드
-	private String brandEnm; // 브랜드영문명
-	private String brandGrpNm; // 브랜드그룹명
 	private String goodsCd;
-	private String videoGb;
-	private String videoVal;
+	private String videoGb;	// 비디오 구분 M: mp4, Y:유투브
+	private String kmcKey;	// 
+	private String kufKey;
 	private String dispYn;
+	
+	private String brandEnm; // 브랜드영문명
 	private String goodsNm;
 	private String goodsNum;
 	private String supplyGoodsCd;
 	private String excelFileNm;
 	private String stDate;
 	private String edDate;
+	
+
 }

+ 0 - 38
src/main/java/com/style24/persistence/domain/Video.java

@@ -1,38 +0,0 @@
-package com.style24.persistence.domain;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.style24.persistence.TscBaseDomain;
-
-import lombok.Data;
-
-
-/**
- * 동영상 Domain
- *
- * @author eskim
- * @since 2020. 11. 16
- */
-@SuppressWarnings("serial")
-@Data
-public class Video extends TscBaseDomain {
-
-	private Integer videoSq;
-	private String displocGb;	//노출위치구분(B:브랜드, G:상품)
-	private String displocVal;	//노출위치값(노출위치구분이 "B:브랜드"이면 브랜드코드, "G:상품"이면 상품코드)
-	private String videoGb;	//동영상구분(Y:유투브, M:MP4)
-	private String videoVal;	//동영상값(동영상구분이 Y이면 유투브ID, M이면 URL)
-	private String videoTitle;
-	private String videoTitle2;
-	private String dispYn;
-	private String excelFileNm;
-	private String brandEnm;
-	private String stDate;
-	private String edDate;
-	private String fyear;
-	private String tyear;
-	private String seasonStr;
-
-	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] displocValArr;
-
-}

+ 44 - 109
src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -2831,12 +2831,11 @@
 	<select id="getGoodsVideoList" parameterType="GoodsVideo" resultType="GoodsVideo">
 		/* TsaGoods.getGoodsVideoList */
 		SELECT A.VIDEO_SQ
-		     , B.BRAND_CD
-		     , B.BRAND_ENM
-		     , B.BRAND_GRP_NM
-		     , A.DISPLOC_VAL AS GOODS_CD
-		     , E.VIDEO_GB
-		     , E.VIDEO_VAL
+		     , A.GOODS_CD
+		     , D.BRAND_ENM
+		     , A.VIDEO_GB
+		     , A.KMC_KEY
+		     , A.KUF_KEY
 		     , A.DISP_YN
 		     , A.REG_NO
 		     , FN_GET_USER_NM(A.REG_NO) AS REG_NM
@@ -2844,38 +2843,28 @@
 		     , A.UPD_NO
 		     , FN_GET_USER_NM(A.UPD_NO) AS REG_NM
 		     , DATE_FORMAT(A.UPD_DT,'%Y%m%d%H%i%S') AS UPD_DT
-		FROM TB_VIDEO_DISPLOC A
-		INNER JOIN TB_VIDEO E ON A.VIDEO_SQ = E.VIDEO_SQ
-		INNER JOIN (SELECT C.GOODS_CD
-		                 , C.BRAND_CD
-		                 , D.BRAND_ENM
-		                 , D.BRAND_GRP_NM
-		            FROM TB_GOODS C
-		            INNER JOIN TB_BRAND D ON C.BRAND_CD = D.BRAND_CD
-		            WHERE 1 = 1
-		            <if test='goodsNm != null and goodsNm != "" '>
-		            AND C.GOODS_NM = #{goodsNm}
-		            </if>
-		            <if test='goodsNum != null and goodsNum != "" '>
-		            AND C.GOODS_NUM = #{goodsNum}
-		            </if>
-		            <if test='supplyGoodsCd != null and supplyGoodsCd != "" '>
-		            AND C.SUPPLY_GOODS_CD = #{supplyGoodsCd}
-		            </if>
-		            <if test='brandEnm != null and brandEnm != "" '>
-		            AND (
-		                 D.BRAND_ENM LIKE #{brandEnm}||'%'
-		                 OR
-		                 D.BRAND_KNM LIKE #{brandEnm}||'%'
-		                )
-		            </if>
-		            ) B
-		           ON (A.DISPLOC_VAL = B.GOODS_CD
-		           )
-		WHERE A.DISPLOC_VAL = B.GOODS_CD
-		AND A.DISPLOC_GB = 'G'
+		FROM TB_GOODS_VIDEO A
+		INNER JOIN TB_GOODS C ON A.GOODS_CD = C.GOODS_CD
+		INNER JOIN TB_BRAND D ON C.BRAND_CD = D.BRAND_CD
+		WHERE 1 = 1
 		<if test='goodsCd != null and goodsCd != "" '>
-		AND A.DISPLOC_VAL = #{goodsCd}
+		AND A.GOODS_CD = #{goodsCd}
+		</if>
+		<if test='goodsNm != null and goodsNm != "" '>
+		AND C.GOODS_NM = #{goodsNm}
+		</if>
+		<if test='goodsNum != null and goodsNum != "" '>
+		AND C.GOODS_NUM = #{goodsNum}
+		</if>
+		<if test='supplyGoodsCd != null and supplyGoodsCd != "" '>
+		AND C.SUPPLY_GOODS_CD = #{supplyGoodsCd}
+		</if>
+		<if test='brandEnm != null and brandEnm != "" '>
+		AND (
+		     D.BRAND_ENM LIKE #{brandEnm}||'%'
+		     OR
+		     D.BRAND_KNM LIKE #{brandEnm}||'%'
+		    )
 		</if>
 		<if test='stDate != null and stDate != "" '>
 		<![CDATA[
@@ -2887,41 +2876,29 @@
 		AND A.REG_DT < DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
 		]]>
 		</if>
-		ORDER BY A.DISPLOC_VAL
+		ORDER BY A.VIDEO_SQ DESC
 	</select>
 		
 	<!-- 상품 동영상 노출안함으로 변경 -->
-	<update id="updateNotUseGoodsVideo" parameterType="Video">
+	<update id="updateNotUseGoodsVideo" parameterType="GoodsVideo">
 		/* TsaGoods.updateNotUseGoodsVideo */
-		UPDATE TB_VIDEO_DISPLOC
+		UPDATE TB_GOODS_VIDEO
 		SET DISP_YN = 'N'
 		  , UPD_NO = #{updNo}
 		  , UPD_DT = NOW()
 		WHERE VIDEO_SQ = #{videoSq}
 	</update>
 	
-	<!-- 동영상 코드 조회 -->
-	<select id="getVideoSeq" parameterType="Video" resultType="String">
-		/* TsaGoods.getVideoSeq */
-		SELECT MAX(VIDEO_SQ) AS VIDEO_SQ
-		FROM TB_VIDEO
-		WHERE VIDEO_GB = #{videoGb}
-		AND VIDEO_VAL = #{videoVal}
-	</select>
-	
 	<!-- 동영상  등록 -->
-	<insert id="createVideo" parameterType="Video">
-		/* TsaGoods.createVideo */
-		INSERT INTO TB_VIDEO
+	<insert id="createGoodsVideo" parameterType="GoodsVideo">
+		/* TsaGoods.createGoodsVideo */
+		INSERT INTO TB_GOODS_VIDEO
 		    (
 		           VIDEO_SQ
+		         , GOODS_CD
 		         , VIDEO_GB
-		         , VIDEO_VAL
-		         , FYEAR
-		         , TYEAR
-		         , SEASON_STR
-		         , VIDEO_TITLE
-		         , VIDEO_TITLE2
+		         , KMC_KEY
+		         , KUF_KEY
 		         , DISP_YN
 		         , REG_NO
 		         , REG_DT
@@ -2930,76 +2907,34 @@
 		    )
 		    VALUES (
 		           NULL
+		         , #{goodsCd}
 		         , #{videoGb}
-		         , #{videoVal}
-		         , #{fyear}
-		         , #{tyear}
-		         , #{seasonStr}
-		         , #{videoTitle}
-		         , #{videoTitle2}
+		         , #{kmcKey}
+		         , #{kufKey}
 		         , #{dispYn}
 		         , #{regNo}
 		         , NOW()
 		         , #{updNo}
 		         , NOW()
 		    )
+		ON DUPLICATE KEY UPDATE
+		       DISP_YN = #{dispYn}
+		     , UPD_NO = #{updNo}
+		     , UPD_DT = NOW()
 	</insert>
 	
 	<!-- 동영상  수정 -->
-	<update id="updateVideo" parameterType="Video">
-		/* TsaGoods.saveVideo */
+	<update id="updateGoodsVideo" parameterType="GoodsVideo">
+		/* TsaGoods.saveGoodsVideo */
 		UPDATE TB_VIDEO SET
 		           DISP_YN = #{dispYn}
 		         , VIDEO_GB = #{videoGb}
 		         , VIDEO_VAL = #{videoVal}
-		         , FYEAR = #{fyear}
-		         , TYEAR = #{tyear}
-		         , SEASON_STR = #{seasonStr}
-		         , VIDEO_TITLE = #{videoTitle}
-		         , VIDEO_TITLE2 = #{videoTitle2}
 		         , UPD_NO = #{updNo}
 		         , UPD_DT = NOW()
-	</update>
-	
-	<!-- 동영상 위치 노출안함으로 처리 -->
-	<update id="delVideoDispLoc" parameterType="Video">
-		/* TsaGoods.initVideoDispLoc */
-		UPDATE TB_VIDEO_DISPLOC
-		SET DISP_YN = 'N'
 		WHERE VIDEO_SQ = #{videoSq}
-		AND DISPLOC_GB = #{displocGb}
 	</update>
 	
-	<!-- 동영상 위치 등록 -->
-	<insert id="saveVideoDispLoc" parameterType="Video">
-		/* TsaGoods.saveVideoDispLoc */
-		INSERT INTO TB_VIDEO_DISPLOC
-		    (
-		           VIDEO_SQ
-		         , DISPLOC_GB
-		         , DISPLOC_VAL
-		         , DISP_YN
-		         , REG_NO
-		         , REG_DT
-		         , UPD_NO
-		         , UPD_DT
-		    )
-		    VALUES (
-		           #{videoSq}
-		         , #{displocGb}
-		         , #{displocVal}
-		         , #{dispYn}
-		         , #{regNo}
-		         , NOW()
-		         , #{updNo}
-		         , NOW()
-		    )
-		ON DUPLICATE KEY UPDATE
-		       DISP_YN = #{dispYn}
-		     , UPD_NO = #{updNo}
-		     , UPD_DT = NOW()
-	</insert>
-	
 	<!-- 상품 옵션 존재여부 확인 -->
 	<select id="getGoodsOptionCount" parameterType="Option" resultType="int">
 		/* TsaGoods.getGoodsOptionCount */

+ 54 - 28
src/main/webapp/WEB-INF/views/goods/GoodsVideoForm.html

@@ -92,7 +92,7 @@
 		<!-- //리스트 영역 -->
 		<!-- 등록/수정 -->
 		<div class="panelStyle">
-			<form id="detailForm" name="detailForm" action="#" th:action="@{'/display/brand/save'}">
+			<form id="detailForm" name="detailForm" action="#" >
 				<table class="frmStyle">
 					<colgroup>
 						<col style="width:10%;"/>
@@ -113,9 +113,9 @@
 						</td>
 						<th>동영상구분<em class="required" title="필수"></em></th>
 						<td>
-							<select name="videoGb" id="videoGb" required="required" data-valid-name="동영상구분" onchange="">
-								<option value="">[선택]</option>
-								<option value="Y">[Y] 유투브</option>
+							<select name="videoGb" id="videoGb" required="required" data-valid-name="동영상구분" onchange="fnVideoGb();">
+								<!-- <option value="">[선택]</option> -->
+								<option value="Y" selected="selected">[Y] 유투브</option>
 								<option value="M">[M] MP4</option>
 							</select>
 						</td>
@@ -125,14 +125,27 @@
 							<label class="rdoBtn"><input type="radio" name="dispYn" id="dispYn" value="N">N</label>
 						</td>
 					</tr>
-					<tr>
+					<tr id="youtobeArea">
 						<th>동영상URL<em class="required" title="필수"></em></th>
 						<td class="infoTxt" colspan="5">
 							<em><i class="fa fa-info-circle"></i>유투브의 경우 빨간색 표시로 되어있는 값만 넣으세요.</em><br/>
 							예시 : https://www.youtube.com/embed/<em><strong>5YqYG71bQ3s</strong></em>?showinfo=0&amp;rel=0&amp;vp=hd1080&amp;fs=0&amp;wmode=opaque&amp;enablejsapi=1
 							<br/>
-							<input type="text" class="w400" id="videoVal" name="videoVal" maxlength="100" required="required" data-valid-name="동영상URL">
-							<button type="button" class="btn btn-dark btn-lg" onclick="cfnOpenGoodsVideoPopup('filmVideoView','videoVal', '#detailForm', $('#videoGb').val());">미리보기</button>
+							<input type="text" class="w400" id="kmcKey" name="kmcKey" maxlength="100" >
+							<button type="button" class="btn btn-dark btn-lg" onclick="cfnOpenGoodsVideoPopup('filmVideoView','kmcKey', '#detailForm', $('#videoGb').val());">미리보기</button>
+						</td>
+					</tr>
+					<tr id="fileArea" style="display:none;">
+						<th>파일첨부<em class="required" title="필수"></em></th>
+						<td class="infoTxt" colspan="5">
+							<div class="uFile w300">
+								<input id="file" name="file" type="file" class="uFileInput w300"/>
+								<label for="file" class="uFileLabel">파일선택</label>
+								<input type="hidden" name="kufKey"/>
+								<input type="hidden" name="kmcKey"/>
+							</div>
+							<button type="button" class="btn btn-dark btn-lg" onclick="cfnOpenGoodsVideoPopup('filmVideoView','kmcKey', '#detailForm', $('#videoGb').val());">미리보기</button>
+							
 						</td>
 					</tr>
 				</table>
@@ -145,7 +158,7 @@
 			</form>
 		</div>
 	</div>
-
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.kollus.js"></script>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	var videoGbList = {'Y':'유투브', 'M':'MP4'};
@@ -163,7 +176,7 @@
  		{headerName: "동영상구분", field: "videoGb", width: 100, cellClass: 'text-center',
 			cellRenderer: function (params) { return !gagajf.isNull(params.value) ? "["+params.value+"] "+gagaAgGrid.lookupValue(videoGbList, params.value) : '';}
 		},
-		{headerName: "동영상정보", field: "videoVal", width: 300, cellClass: 'text-center'},
+		{headerName: "동영상정보", field: "kmcKey", width: 300, cellClass: 'text-center'},
 		{headerName: "노출여부", field: "dispYn", width: 80, cellClass: 'text-center'},
 		{headerName: "등록일자", field: "regDt", width: 150, cellClass: 'text-center',
 			cellRenderer: function(params) {
@@ -192,7 +205,7 @@
 			$(formId + " input[name=videoSq]").val(event.data.videoSq);
 			$(formId + " input[name=goodsCd]").val(event.data.goodsCd);
 			$(formId + " select[name=videoGb]").val(event.data.videoGb);
-			$(formId + " input[name=videoVal]").val(event.data.videoVal);
+			$(formId + " input[name=kmcKey]").val(event.data.kmcKey);
 			$(formId + " input:radio[name=dispYn]:input[value="+event.data.dispYn+"]").click();
 			$(formId + " input[name=goodsCd]").prop("disabled", true);
 			$(formId).closest("div").show();
@@ -204,6 +217,8 @@
 		$("#detailForm")[0].reset();
 		$("#detailForm input[name=videoSq]").val('');
 		$("#detailForm input[name=goodsCd]").prop("disabled", false);
+		$('#youtobeArea').show();
+		$('#fileArea').hide();
 	});
 
 	// 엑셀등록
@@ -218,6 +233,17 @@
 		
 	}
 	
+	// 동영상구분 변경시
+	var fnVideoGb = function(){debugger;
+		if ("Y" == $("#detailForm select[name=videoGb]").val()){
+			$('#youtobeArea').show();
+			$('#fileArea').hide();
+		}else{
+			$('#youtobeArea').hide();
+			$('#fileArea').show();
+		}
+	}
+	
 	// 조회
 	$('#btnSearch').on('click', function() {
 		$("#goodsCd").val('');
@@ -261,12 +287,13 @@
 		
 		var formId = '#detailForm';
 		var videoSq = $(formId + " input[name=videoSq]").val();
-		var displocVal = $(formId + " input[name=goodsCd]").val();
+		var goodsCd = $(formId + " input[name=goodsCd]").val();
 		var videoGb = $(formId + " select[name=videoGb]").val();
-		var videoVal = $(formId + " input[name=videoVal]").val();
+		var kmcKey = $(formId + " input[name=kmcKey]").val();
 		var dispYn = $(formId + " input:radio[name=dispYn]:checked").val();
+		var kufKey = $(formId + " input[name=kufKey]").val();
 		
-		if(displocVal==''){
+		if(goodsCd==''){
 			gagajf.alertMessage(formId + " input[name=goodsCd]", 'input');
 			return;
 		}
@@ -274,21 +301,14 @@
 			gagajf.alertMessage(formId + " select[name=videoGb]", 'select');
 			return;
 		}
-		if(videoVal==''){
-			gagajf.alertMessage(formId + " input[name=videoVal]", 'input');
+		if(kmcKey==''){
+			gagajf.alertMessage(formId + " input[name=kmcKey]", 'input');
 			return;
 		}
 		
-		if(videoVal.indexOf("http")>-1){
-			if(videoGb=='Y'){
-				mcxDialog.alert('동영상URL 형식이 유투브와 맞지 않습니다.');
-				return;
-			}
-		}else{
-			if(videoGb=='M'){
-				mcxDialog.alert('동영상URL 형식이 MP4와 맞지 않습니다.');
-				return;
-			}
+		if(kmcKey.indexOf("http")>-1){
+			mcxDialog.alert('동영상 정보를 확인해 주세요.');
+			return;
 		}
 		
 		mcxDialog.confirm('저장 하시겠습니까?', {
@@ -296,10 +316,10 @@
 			sureBtnText: "확인",
 			sureBtnClick: function(){
 				var data = {videoSq : videoSq
-							,displocGb : 'G'
-							,displocValArr : [displocVal]
+							,goodsCd : goodsCd
 							,videoGb : videoGb
-							,videoVal : videoVal
+							,kmcKey : kmcKey
+							,kufKey : kufKey
 							,dispYn : dispYn
 							};
 				var jsonData = JSON.stringify(data);
@@ -312,6 +332,12 @@
 		$('#btnSearch').click();
 	}
 	
+	// 동영상파일 선택 시
+	$('#detailForm input[name=file]').on('change', function() {
+		var file = this.files[0];
+		gagaKollus.upload('Goods', file, $('input[name=kufKey]'));
+	});
+	
 	$(document).ready(function() {
 		
 		cfnCreateCalendar('#sellTerms', 'stDate', 'edDate', true, '등록일', true);