Kaynağa Gözat

공급벤더사용자 비밀번호 초기화 구현 및 2factor인증 주석 처리

gagamel 4 yıl önce
ebeveyn
işleme
348677fd55

+ 25 - 1
src/main/java/com/style24/persistence/mybatis/shop/TssLogin.xml

@@ -269,5 +269,29 @@
 		     , NOW()
 		)
 	</insert>
-
+	
+	<!-- 공급업체벤더 사용자 목록 -->
+	<select id="getSupplyVendorUserList" resultType="User">
+		/* TssLogin.getSupplyVendorUserList */
+		SELECT USER_NO
+		     , USER_ID
+		FROM   TB_USER
+		WHERE  ROLE_CD = 'G001_B000'
+	</select>
+	
+	<!-- 공급업체벤더 사용자 비밀번호 생성 -->
+	<insert id="createSupplyVendorUserPassword" parameterType="User">
+		/* TssLogin.createUserInfoChangeHistory */
+		INSERT INTO TB_SVUSER_PASSWD (
+		       USER_NO
+		     , USER_ID
+		     , PASSWD
+		)
+		VALUES (
+		       #{userNo}
+		     , #{userId}
+		     , #{passwd}
+		)
+	</insert>
+	
 </mapper>

+ 13 - 0
src/main/java/com/style24/scm/biz/dao/TssLoginDao.java

@@ -81,4 +81,17 @@ public interface TssLoginDao {
 	 */
 	void createUserInfoChangeHistory(UserHst userHst);
 
+	/**
+	 * 공급업체벤더 사용자 목록
+	 * @param user
+	 * @return
+	 */
+	Collection<User> getSupplyVendorUserList();
+
+	/**
+	 * 공급업체벤더 사용자 비밀번호 생성
+	 * @param user
+	 */
+	void createSupplyVendorUserPassword(User user);
+
 }

+ 19 - 0
src/main/java/com/style24/scm/biz/service/TssLoginService.java

@@ -145,6 +145,7 @@ public class TssLoginService {
 	 * @param user - 사용자 정보
 	 * @since 2020. 10. 7
 	 */
+	@Transactional("shopTxnManager")
 	public void updatePassword(User user) {
 		loginDao.updatePassword(user);
 
@@ -156,4 +157,22 @@ public class TssLoginService {
 		loginDao.createUserInfoChangeHistory(userHst);
 	}
 
+	/**
+	 * 공급업체벤더 사용자 목록
+	 * @param user
+	 * @return
+	 */
+	public Collection<User> getSupplyVendorUserList() {
+		return loginDao.getSupplyVendorUserList();
+	}
+
+	/**
+	 * 공급업체벤더 사용자 비밀번호 생성
+	 * @param user
+	 */
+	@Transactional("shopTxnManager")
+	public void createSupplyVendorUserPassword(User user) {
+		loginDao.createSupplyVendorUserPassword(user);
+	}
+
 }

+ 49 - 19
src/main/java/com/style24/scm/biz/web/TssIndexController.java

@@ -1,5 +1,7 @@
 package com.style24.scm.biz.web;
 
+import java.util.Collection;
+
 import javax.servlet.http.HttpSession;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
 
 import com.gagaframework.web.rest.server.GagaResponse;
 import com.gagaframework.web.security.GagaPasswordEncoder;
+import com.gagaframework.web.util.GagaCryptoUtil;
 
 /**
  * Index Controller
@@ -67,25 +70,33 @@ public class TssIndexController extends TssBaseController {
 		ModelAndView mav = new ModelAndView();
 
 		if (TssSession.isLogin()) {
-			if (TssSession.isTwoFactorCertify()) { // 2factor인증이 되었으면
-				// 공지사항 팝업 총건수
-				mav.addObject("noticeCnt", noticeService.getNoticePopupTotalCount());
-
-				// 대쉬보드 페이지로
-				mav.setViewName("dashboard");
-			} else {
-				// 운영서버에서만 2factor인증 진행
-				if ("run".equals(env.getProperty("spring.profiles.active")) || "style".equals(env.getProperty("spring.profiles.active"))) {
-					// 2factor인증번호 발송
-					loginService.sendTwoFactorCertNo();
-
-					// 2factor인증 페이지로
-					mav.setViewName("signin2");
-				} else {
-					// 대쉬보드 페이지로
-					mav.setViewName("dashboard");
-				}
-			}
+			// TODO. 2factor인증 적용 시 74~92라인 주석 해제. 94~98라인 삭제
+//			if (TssSession.isTwoFactorCertify()) { // 2factor인증이 되었으면
+//				// 공지사항 팝업 총건수
+//				mav.addObject("noticeCnt", noticeService.getNoticePopupTotalCount());
+//
+//				// 대쉬보드 페이지로
+//				mav.setViewName("dashboard");
+//			} else {
+//				// 운영서버에서만 2factor인증 진행
+//				if ("run".equals(env.getProperty("spring.profiles.active")) || "style".equals(env.getProperty("spring.profiles.active"))) {
+//					// 2factor인증번호 발송
+//					loginService.sendTwoFactorCertNo();
+//
+//					// 2factor인증 페이지로
+//					mav.setViewName("signin2");
+//				} else {
+//					// 대쉬보드 페이지로
+//					mav.setViewName("dashboard");
+//				}
+//			}
+
+			// 공지사항 팝업 총건수
+			mav.addObject("noticeCnt", noticeService.getNoticePopupTotalCount());
+
+			// 대쉬보드 페이지로
+			mav.setViewName("dashboard");
+
 			return mav;
 		}
 
@@ -170,4 +181,23 @@ public class TssIndexController extends TssBaseController {
 		return super.ok(message.getMessage("SUCC_0009"));
 	}
 
+	/**
+	 * 공급벤더 사용자 계정 비밀번호 초기화
+	 * @return
+	 */
+	@GetMapping("/svuser/password/reset")
+	@ResponseBody
+	public String resetSupplyVendorPassword() {
+		Collection<User> userList = loginService.getSupplyVendorUserList();
+
+		if (userList != null && !userList.isEmpty()) {
+			for (User user : userList) {
+				user.setPasswd(GagaCryptoUtil.encryptSha512(user.getUserId() + "_st24"));
+				loginService.createSupplyVendorUserPassword(user);
+			}
+		}
+
+		return "OK";
+	}
+
 }