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

권한코드 검색조건 추가

gagamel 5 лет назад
Родитель
Сommit
eecad19570

+ 26 - 4
src/main/java/com/style24/persistence/mybatis/shop/TssNotice.xml

@@ -53,14 +53,25 @@
 	</update>
 	
 	<!-- 공지사항 팝업 총건수 -->
-	<select id="getNoticePopupTotalCount" resultType="int">
+	<select id="getNoticePopupTotalCount" parameterType="String" resultType="int">
 		/* TssNotice.getNoticePopupTotalCount */
 		SELECT COUNT(*) AS CNT
 		FROM   TB_NOTICE A
 		WHERE  A.NOTICE_TYPE = 'G047_20' /*내부공지*/
 		AND    A.NOTICE_SQ IN (SELECT NOTICE_SQ
 		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  RECEIVER_ID = 'G048_60' /*입점업체*/
+		                       WHERE  1 = 1
+		                       <choose>
+		                           <when test="roleCd == 'G001_B000'">
+		                       AND    RECEIVER_ID = 'G048_60' /*입점업체*/
+		                           </when>
+		                           <when test="roleCd == 'G001_C000'">
+		                       AND    RECEIVER_ID = 'G048_40' /*외부몰벤더*/
+		                           </when>
+		                           <when test="roleCd == 'G001_D000'">
+		                       AND    RECEIVER_ID = 'G048_50' /*제휴사이트*/
+		                           </when>
+		                       </choose>
 		                      )
 		AND    A.USE_YN = 'Y'
 		AND    A.POPUP_YN = 'Y' /*팝업*/
@@ -68,7 +79,7 @@
 	</select>
 	
 	<!-- 공지사항 팝업 목록 -->
-	<select id="getNoticePopupList" resultType="Notice">
+	<select id="getNoticePopupList" parameterType="String" resultType="Notice">
 		/* TssNotice.getNoticePopupList */
 		SELECT A.NOTICE_SQ                                           /*공지번호*/
 		     , A.NOTICE_TITLE                                        /*공지제목*/
@@ -82,7 +93,18 @@
 		WHERE  A.NOTICE_TYPE = 'G047_20' /*내부공지*/
 		AND    A.NOTICE_SQ IN (SELECT NOTICE_SQ
 		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  RECEIVER_ID = 'G048_60' /*입점업체*/
+		                       WHERE  1 = 1
+		                       <choose>
+		                           <when test="roleCd == 'G001_B000'">
+		                       AND    RECEIVER_ID = 'G048_60' /*입점업체*/
+		                           </when>
+		                           <when test="roleCd == 'G001_C000'">
+		                       AND    RECEIVER_ID = 'G048_40' /*외부몰벤더*/
+		                           </when>
+		                           <when test="roleCd == 'G001_D000'">
+		                       AND    RECEIVER_ID = 'G048_50' /*제휴사이트*/
+		                           </when>
+		                       </choose>
 		                      )
 		AND    A.USE_YN = 'Y'
 		AND    A.POPUP_YN = 'Y' /*팝업*/

+ 4 - 2
src/main/java/com/style24/scm/biz/dao/TssNoticeDao.java

@@ -33,19 +33,21 @@ public interface TssNoticeDao {
 
 	/**
 	 * 공지사항 팝업 총건수
+	 * @param roleCd - 권한코드
 	 * @return
 	 * @author gagamel
 	 * @since 2020. 12. 30
 	 */
-	int getNoticePopupTotalCount();
+	int getNoticePopupTotalCount(String roleCd);
 
 	/**
 	 * 공지사항 팝업 목록
+	 * @param roleCd - 권한코드
 	 * @return
 	 * @author gagamel
 	 * @since 2020. 12. 29
 	 */
-	Collection<Notice> getNoticePopupList();
+	Collection<Notice> getNoticePopupList(String roleCd);
 
 	/**
 	 * 공지사항 팝업 파일 목록

+ 3 - 2
src/main/java/com/style24/scm/biz/service/TssNoticeService.java

@@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import com.style24.persistence.domain.Notice;
 import com.style24.scm.biz.dao.TssNoticeDao;
+import com.style24.scm.support.security.session.TssSession;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -55,7 +56,7 @@ public class TssNoticeService {
 	 * @since 2020. 12. 30
 	 */
 	public int getNoticePopupTotalCount() {
-		return noticeDao.getNoticePopupTotalCount();
+		return noticeDao.getNoticePopupTotalCount(TssSession.getInfo().getRoleCd());
 	}
 
 	/**
@@ -65,7 +66,7 @@ public class TssNoticeService {
 	 * @since 2020. 12. 29
 	 */
 	public Collection<Notice> getNoticePopupList() {
-		Collection<Notice> noticeList = noticeDao.getNoticePopupList();
+		Collection<Notice> noticeList = noticeDao.getNoticePopupList(TssSession.getInfo().getRoleCd());
 
 		if (noticeList != null && !noticeList.isEmpty()) {
 			for (Notice notice : noticeList) {