Kaynağa Gözat

다다익선 추가 수정중

bin2107 5 yıl önce
ebeveyn
işleme
3ed6f8be2f

+ 2 - 2
src/main/java/com/style24/admin/biz/dao/TsaMorebetterDao.java

@@ -203,7 +203,7 @@ public interface TsaMorebetterDao {
      * @author bin2107
      * @since 2021. 1. 22
      */
-    void deleteTmtbGoodsTemp();
+    void deleteTmtbGoodsTemp(MoreBetterGoods moreBetterGoods);
 
     /**
      * 다다익선 - 진행중인 다다익선 상품 조회 insert
@@ -212,7 +212,7 @@ public interface TsaMorebetterDao {
      * @author bin2107
      * @since 2021. 1. 22
      */
-    void createTmtbGoodsTemp();
+    void createTmtbGoodsTemp(MoreBetterGoods moreBetterGoods);
 
     /**
      * 다다익선 중복 상품 조회

+ 5 - 4
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -398,10 +398,11 @@ public class TsaMorebetterService {
      * @since 2021. 1. 22
      */
     @Transactional("shopTxnManager")
-    public void createMorebetterGoodsTemp(){
-        log.info("[deleteTmtbGoodsTemp a]{}");
-        morebetterDao.deleteTmtbGoodsTemp();
-        //morebetterDao.createTmtbGoodsTemp();
+    public void createMorebetterGoodsTemp(MoreBetterGoods moreBetterGoods){
+        moreBetterGoods.setRegNo(TsaSession.getInfo().getUserNo());
+
+        morebetterDao.deleteTmtbGoodsTemp(moreBetterGoods);
+        morebetterDao.createTmtbGoodsTemp(moreBetterGoods);
     }
 
     /**

+ 3 - 1
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -580,15 +580,17 @@ public class TsaMarketingController extends TsaBaseController {
 	public GagaResponse saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
 		String[] multiSupplyCompCd = moreBetter.getSupplyCompArr().split(",");
 		String[] multiBrand = moreBetter.getBrandArr().split(",");
+		String[] multiGoods = moreBetter.getGoodsArr().split(",");
 
 		MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
 
 		moreBetterGoods.setMultiSupplyCompCd(multiSupplyCompCd);
 		moreBetterGoods.setMultiBrand(multiBrand);
+		moreBetterGoods.setMultiGoods(multiGoods);
 		log.info("[saveMorebetterDetail moreBetterGoods]{}",moreBetterGoods);
 
 		// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
-		morebetterService.createMorebetterGoodsTemp();
+		morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
 		//log.info("[saveMorebetterDetail createMorebetterGoodsTemp a]{}");
 		// 다른 다다에서 사용중인 상품 조회
 		Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);

+ 1 - 0
src/main/java/com/style24/persistence/domain/MoreBetter.java

@@ -67,6 +67,7 @@ public class MoreBetter extends TscBaseDomain {
 
 	private String supplyCompArr;
 	private String brandArr;
+	private String goodsArr;
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] arrCompBrandGoods;

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

@@ -47,4 +47,7 @@ public class MoreBetterGoods extends TscBaseDomain {
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] multiBrand;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiGoods;
 }

+ 16 - 7
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -484,22 +484,24 @@
 		</if>
 	</delete>
 
-	<delete id="deleteTmtbGoodsTemp" timeout="300">
+	<delete id="deleteTmtbGoodsTemp" parameterType="MoreBetterGoods">
 		/* TsaMarketing.deleteTmtbGoodsTemp */
-		TRUNCATE TABLE TB_TMTB_GOODS_TEMP
+		DELETE FROM TB_TMTB_USING_GOODS_TEMP
+		WHERE	REG_NO = #{regNo}
 	</delete>
 
-	<insert id="createTmtbGoodsTemp">
+	<insert id="createTmtbGoodsTemp" parameterType="MoreBetterGoods">
 		/* TsaMarketing.createTmtbGoodsTemp */
-		INSERT INTO TB_TMTB_GOODS_TEMP
-			SELECT 	B.GOODS_CD
+		INSERT INTO TB_TMTB_USING_GOODS_TEMP
+			SELECT 	#{regNo} AS REG_NO
+			        ,B.GOODS_CD
 			  FROM 	TB_TMTB A
 		INNER JOIN  TB_TMTB_APPLY_GOODS B
 				ON  A.TMTB_SQ = B.TMTB_SQ
 			WHERE 1=1
 			  AND NOW() BETWEEN DATE_FORMAT(A.TMTB_ST_DT, '%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(A.TMTB_ED_DT, '%Y-%m-%d %H:%i:%S')
 			  AND A.TMTB_STAT = 'G232_11'
-			  AND B.GOODS_GB = 'G800_20'
+			  AND B.GOODS_GB IN ('G800_10','G800_20')
 			  AND B.DEL_YN = 'N'
 			  AND B.GOODS_CD NOT IN (
 									SELECT	GOODS_CD
@@ -513,8 +515,9 @@
 	<select id="getMorebetterDuplicateList" parameterType="MoreBetterGoods" resultType="MoreBetterGoods">
 		/* TsaMarketing.getMorebetterDuplicateList */
 		SELECT TMP.GOODS_CD
-		  FROM TB_TMTB_GOODS_TEMP TMP
+		  FROM TB_TMTB_USING_GOODS_TEMP TMP
 		 WHERE 1=1
+		   AND TMP.REG_NO = #{regNo}
 		   AND TMP.GOODS_CD IN (
 				   SELECT  G.GOODS_CD
 					 FROM  TB_GOODS G
@@ -531,6 +534,12 @@
 								#{item}
 							</foreach>
 						</if>
+						<if test="multiGoods != null and multiGoods != ''">
+							AND G.GOODS_CD IN
+							<foreach collection="multiGoods" item="item" index="index"  open="(" close=")" separator=",">
+								#{item}
+							</foreach>
+						</if>
 				)
 	</select>
 	<!--// CSB 진행 -->

+ 8 - 0
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -31,6 +31,7 @@
 			<input type="hidden" name="sectionGbList"/>				<!-- 다다익선 구간/혜택 리스트 -->
 			<input type="hidden" name="supplyCompArr"/>
 			<input type="hidden" name="brandArr"/>
+			<input type="hidden" name="goodsArr"/>
 
 			<div class="panelContent">
 				<table class="frmStyle">
@@ -524,6 +525,7 @@
 	$('#btnMorebetterSave').on('click', function() {
 		var allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
 		var allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
+		var allApplyGoodsData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
 
 		// 공급업체+브랜드 상품조회
 		var multiSupplyCompCd = [];
@@ -536,8 +538,14 @@
 			multiBrand.push(item.brandCd);
 		});
 
+		var multiGoods = [];
+		$.each(allApplyGoodsData, function(idx, item) {
+			multiGoods.push(item.goodsCd);
+		});
+
 		$('#moreBetterForm input[name=supplyCompArr]').val(multiSupplyCompCd.join(','));
 		$('#moreBetterForm input[name=brandArr]').val(multiBrand.join(','));
+		$('#moreBetterForm input[name=goodsArr]').val(multiGoods.join(','));
 
 		var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
 		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, function() {