Просмотр исходного кода

전시 - 상품 순서 변경 팝업 개발중

bin2107 5 лет назад
Родитель
Сommit
e199d09743

+ 15 - 0
src/main/java/com/style24/admin/biz/dao/TsaDisplayDao.java

@@ -193,4 +193,19 @@ public interface TsaDisplayDao {
 	 */
 	Collection<CategoryGoods> getCategoryGoodsList(CategoryGoods categoryGoods);
 
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	void updateCategoryGoodsDispOrdInit(CategoryGoods categoryGoods);
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	void updateCategoryGoodsDispOrdUpdown(CategoryGoods categoryGoods);
 }

+ 44 - 0
src/main/java/com/style24/admin/biz/service/TsaDisplayService.java

@@ -343,4 +343,48 @@ public class TsaDisplayService {
 		}
 	}
 
+	/**
+	 * 전시 상품 순서변경 상품삭제
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void deleteDispOrdChangeGoods(CategoryGoods categoryGoods) {
+		GoodsCategory goodsCategory = new GoodsCategory();
+		goodsCategory.setGoodsCd(categoryGoods.getGoodsCd());
+		goodsCategory.setCateNo(categoryGoods.getCateNo());
+		displayDao.deleteGoodsCategory(goodsCategory);
+	}
+
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void updateCategoryGoodsDispOrdInit(CategoryGoods categoryGoods) {
+		displayDao.updateCategoryGoodsDispOrdInit(categoryGoods);
+	}
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void updateCategoryGoodsDispOrdUpdown(CategoryGoods categoryGoods) {
+		if("up".equals(categoryGoods.getChangeGb())){
+			categoryGoods.setChangeGb("min");
+			displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+			categoryGoods.setChangeGb("up");
+		}else if("down".equals(categoryGoods.getChangeGb())){
+			categoryGoods.setChangeGb("max");
+			displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+			categoryGoods.setChangeGb("down");
+		}
+		displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+	}
 }

+ 47 - 0
src/main/java/com/style24/admin/biz/web/TsaDisplayController.java

@@ -424,4 +424,51 @@ public class TsaDisplayController extends TsaBaseController {
 
 		return result;
 	}
+
+	/**
+	 * 전시 상품 순서변경 상품삭제
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/goods/dispord/change/delete")
+	@ResponseBody
+	public GagaResponse deleteDispOrdChangeGoods(@RequestBody CategoryGoods categoryGoods){
+		categoryGoods.setRegNo(TsaSession.getInfo().getUserNo());
+		displayService.deleteDispOrdChangeGoods(categoryGoods);
+		return super.ok(message.getMessage("SUCC_0003"));
+	}
+
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/category/goods/dispord/init")
+	@ResponseBody
+	public GagaResponse updateCategoryGoodsDispOrdInit(@RequestBody CategoryGoods categoryGoods){
+		categoryGoods.setRegNo(TsaSession.getInfo().getUserNo());
+		displayService.updateCategoryGoodsDispOrdInit(categoryGoods);
+		return super.ok(message.getMessage("SUCC_0009"));
+	}
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/category/goods/dispord/updown")
+	@ResponseBody
+	public GagaResponse updateCategoryGoodsDispOrdUpdown(@RequestBody CategoryGoods categoryGoods){
+		int size = categoryGoods.getGoodsCdArr().length-1;
+
+		for(int i=size; i>=0; i--){
+			categoryGoods.setGoodsCd(categoryGoods.getGoodsCdArr()[i]);
+			categoryGoods.setDispOrd(categoryGoods.getDispOrdArr()[i]);
+			displayService.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+		}
+		return super.ok(message.getMessage("SUCC_0009"));
+	}
 }

+ 7 - 0
src/main/java/com/style24/persistence/domain/CategoryGoods.java

@@ -49,11 +49,18 @@ public class CategoryGoods extends TscBaseDomain {
 	private String mode;
 	private String addCateNo;
 	private Integer cateCd;
+	private String changeGb;
 	List<CategoryGoods> goodsList;
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] multiGoods;
 
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] goodsCdArr;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private int[] dispOrdArr;
+
 	private String callBackFun;	// 콜백함수
 	private String imgPath1;
 	private String goodsAddYn;

+ 59 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaDsiplay.xml

@@ -1090,4 +1090,63 @@
 			<include refid="getListPagingCondition_sql"/>
 	</select>
 
+	<!-- 전시 상품 순서변경 전시초기화 -->
+	<insert id="updateCategoryGoodsDispOrdInit" parameterType="CategoryGoods">
+		/* TsaDisplay.updateCategoryGoodsDispOrdInit */
+		INSERT INTO TB_CATE_GOODS
+		(CATE_NO , GOODS_CD, DISP_ORD, REG_NO, REG_DT)
+		(
+			SELECT *
+			FROM 	(
+				SELECT	CATE_NO
+						 ,GOODS_CD
+						 ,@ROWNUM:=@ROWNUM+1 AS DISP_ORD
+						 ,REG_NO
+						 ,REG_DT
+				 FROM	TB_CATE_GOODS
+				WHERE	CATE_NO = #{cateNo}
+				  AND	(@ROWNUM:=0)=0
+				ORDER BY REG_DT
+			) B
+		)
+		ON DUPLICATE KEY UPDATE
+		DISP_ORD = B.DISP_ORD
+	</insert>
+
+	<!-- 전시 상품 순서변경 최상단/하단 이동 -->
+	<update id="updateCategoryGoodsDispOrdUpdown" parameterType="CategoryGoods">
+		/* TsaDisplay.updateCategoryGoodsDispOrdUpdown */
+		UPDATE TB_CATE_GOODS A
+		<if test="changeGb != null and changeGb =='up'">
+			SET A.DISP_ORD = DISP_ORD + 1
+		</if>
+		<if test="changeGb != null and changeGb =='down'">
+			SET A.DISP_ORD = DISP_ORD - 1
+		</if>
+		<if test="changeGb != null and changeGb =='min'">
+			SET A.DISP_ORD = (SELECT DISP_ORD FROM (SELECT MIN(DISP_ORD) AS DISP_ORD FROM TB_CATE_GOODS B WHERE CATE_NO = 1127) TMP)
+		</if>
+		<if test="changeGb != null and changeGb =='max'">
+			SET A.DISP_ORD = (SELECT DISP_ORD FROM (SELECT MAX(DISP_ORD) AS DISP_ORD FROM TB_CATE_GOODS B WHERE CATE_NO = 1127) TMP)
+		</if>
+		WHERE A.CATE_NO = #{cateNo}
+		<choose>
+			<when test="changeGb != null and changeGb =='up' or changeGb =='down'">
+				AND A.GOODS_CD != #{goodsCd}
+			</when>
+			<otherwise>
+				AND A.GOODS_CD = #{goodsCd}
+			</otherwise>
+		</choose>
+		<if test="changeGb != null and changeGb =='up'">
+			<![CDATA[
+		    AND A.DISP_ORD <= #{dispOrd}
+			]]>
+		</if>
+		<if test="changeGb != null and changeGb =='down'">
+			<![CDATA[
+		    AND A.DISP_ORD >= #{dispOrd}
+		    ]]>
+		</if>
+	</update>
 </mapper>

+ 4 - 7
src/main/webapp/WEB-INF/views/display/CategoryGoodsForm.html

@@ -232,24 +232,21 @@
 	 * 순서변경 버튼 클릭 시
 	 */
 	$("#btnDispChange").bind('click', function(){
-		//console.log('selLvl>>>'+$('#searchForm input[name=selLvl]').val());
+		//console.log('cateCd>>>'+$('#searchForm input[name=cateCd]').val());
 		var params = 'siteCd=G000_10';
 		params += '&selLvl='+ $('#searchForm input[name=selLvl]').val();
-		params += '&cateGb=' + $('#searchForm select[name=addCateGb]').val();
+		params += '&cateGb=' + $('#searchForm select[name=cateGb]').val();
 		params += '&cate1No=' + $('#searchForm select[name=cate1No]').val();
 		params += '&cate2No=' + $('#searchForm select[name=cate2No]').val();
 		params += '&cate3No=' + $('#searchForm select[name=cate3No]').val();
 		params += '&cate4No=' + $('#searchForm select[name=cate4No]').val();
 		params += '&searchGb=' + $('#searchForm select[name=searchGb]').val();
+		params += '&cateCd=' + + $('#searchForm input[name=cateCd]').val();
 		params += '&goodsAddYn=Y';
 
-		cfnOpenGoodsDispOrdChangePopup('fnSaveCallback', params);
+		cfnOpenGoodsDispOrdChangePopup('', params);
 	});
 
-	var fnSaveCallback = function (){
-		console.log('yaaaaaaaaaaa');
-	}
-
 	/**
 	 * 상품조회 버튼 클릭시
 	 */