ソースを参照

ST24PRJ-476 [CS개선][회원] 환불계좌 등록/삭제

gagamel 4 年 前
コミット
4124c810a1

+ 16 - 11
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -14,11 +14,10 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.security.GagaPasswordEncoder;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscKakaotalkService;
 import com.style24.core.biz.service.TscMailService;
+import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.session.TscSession;
 import com.style24.core.support.util.MaskingUtils;
@@ -37,6 +36,9 @@ import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.security.GagaPasswordEncoder;
+
 /**
  * 고객(회원) Service
  *
@@ -71,6 +73,9 @@ public class TsfCustomerService {
 	@Autowired
 	private ObjectMapper objectMapper;
 
+	@Autowired
+	private TscOrderChangeService coreOrderChangeService;
+
 	/**
 	 * 고객아이디 찾기
 	 *
@@ -269,7 +274,7 @@ public class TsfCustomerService {
 		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
 		customer.setCustGb(TscConstants.CustGb.NORMAL.value());
 		customer.setCustGrade(TscConstants.CustGrade.WELCOME.value());
-		
+
 		int custCnt = customerDao.createCustomer(customer);
 
 		if (custCnt > 0) {
@@ -278,7 +283,7 @@ public class TsfCustomerService {
 			isJoin = false;
 		}
 
-		if(isJoin) {
+		if (isJoin) {
 			Coupon coupon = couponService.getJoinCouponInfo();
 			// 알림톡 발송
 			try {
@@ -398,7 +403,7 @@ public class TsfCustomerService {
 		}
 
 		if (StringUtils.isBlank(custSnsInfo.getCi())) {
-			resultMap.setString("custStat","EMPTY_CI_CUST");
+			resultMap.setString("custStat", "EMPTY_CI_CUST");
 			return resultMap;
 		}
 
@@ -881,6 +886,8 @@ public class TsfCustomerService {
 			custAccount.setAccountNm(customer.getAccountNm());
 			custAccount.setBankCd(customer.getBankCd());
 			coreCustomerService.saveCustomerAccountInfo(custAccount);
+		} else if ("D".equals(customer.getAccountModifyYn())) { // 계좌정보 삭제
+			coreOrderChangeService.deleteRefundAccount(TsfSession.getInfo().getCustNo());
 		}
 
 		// 3. 마케팅 수정 여부 체크
@@ -1079,8 +1086,6 @@ public class TsfCustomerService {
 		}
 	}
 
-
-
 	/**
 	 * 고객 예상등급 이후 정보
 	 *
@@ -1092,7 +1097,7 @@ public class TsfCustomerService {
 	public GagaMap getNextCustGradeInfo(CustGrade custGrade) {
 		GagaMap result = new GagaMap();
 		// 1.고객 예상등급 이후 정보
-		List<CustGrade> custGradePolicy = (List<CustGrade>) customerDao.getCustGradePolicy(custGrade);
+		List<CustGrade> custGradePolicy = (List<CustGrade>)customerDao.getCustGradePolicy(custGrade);
 		CustGrade nextCustGradePolicy = custGradePolicy.get(0);
 		nextCustGradePolicy.setCustNo(custGrade.getCustNo());
 		// 2.고객 예상등급 이후 정보로 주문금액 확인
@@ -1117,12 +1122,12 @@ public class TsfCustomerService {
 	 */
 	public String getAppAgreeYn() {
 		if (!TsfSession.isLogin()) {
-			return  "N";
+			return "N";
 		}
 
 		Customer customer = getCustomerFindByCustNo(TsfSession.getInfo().getCustNo());
 		if (customer != null) {
-			return  customer.getAppAgreeYn();
+			return customer.getAppAgreeYn();
 		}
 
 		return "N";
@@ -1137,7 +1142,7 @@ public class TsfCustomerService {
 	 */
 	public String getAppMkAgreeYn() {
 		if (!TsfSession.isLogin()) {
-			return  "N";
+			return "N";
 		}
 		Customer customer = getCustomerFindByCustNo(TsfSession.getInfo().getCustNo());
 		if (customer != null) {

+ 113 - 115
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -24,11 +24,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.parameter.GagaParameterUtil;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.gagaframework.web.rest.server.GagaResponseStatus;
-import com.gagaframework.web.util.GagaCookieUtil;
 import com.style24.core.biz.service.TscCouponService;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscEnvsetService;
@@ -78,6 +73,12 @@ import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.parameter.GagaParameterUtil;
+import com.gagaframework.web.rest.server.GagaResponse;
+import com.gagaframework.web.rest.server.GagaResponseStatus;
+import com.gagaframework.web.util.GagaCookieUtil;
+
 /**
  * 마이페이지 Controller
  * 
@@ -151,13 +152,13 @@ public class TsfMypageController extends TsfBaseController {
 
 	@Autowired
 	private TsfReinboundService reinboundService;
-	
+
 	@Autowired
 	private TscWmsService coreWmsService;
-	
+
 	@Autowired
 	private TsfDeliveryService deliveryService;
-	
+
 	@Autowired
 	private TscEnvsetService eventService;
 
@@ -216,20 +217,20 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 로그인여부 설정
 		mav.addObject("isLogin", TsfSession.isLogin());
-		
+
 		// 2021.04.21 모바일에서 사용하려고 추가
 		int totalCnt = orderService.getPagingOrdNoListCount(order);
 		mav.addObject("totalCnt", totalCnt);
-		
+
 		// 2021.04.25 마이페이지 메인화면 판단기준
 		if (request.getRequestURL().toString().indexOf("mypage/main/form") > 0) {
 			mav.addObject("mypageMainYn", "Y");
 		} else {
 			mav.addObject("mypageMainYn", "N");
 		}
-		
+
 		// 2021.04.30 모바일 추가
-		String custGradeNm1Str = coreCustomerService.getCustomerInfo(customer).getCustGradeNm().substring(0,1);
+		String custGradeNm1Str = coreCustomerService.getCustomerInfo(customer).getCustGradeNm().substring(0, 1);
 		mav.addObject("custGradeNm1Str", custGradeNm1Str);
 
 		// 주문상세상태코드 설정
@@ -346,7 +347,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 고객번호 설정
 		int custNo = 0;
-		if(TsfSession.isLogin()) {
+		if (TsfSession.isLogin()) {
 			custNo = TsfSession.getInfo().getCustNo();
 		}
 
@@ -510,11 +511,11 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 교환 옵션 정보 조회
 		Collection<OrderChange> exchangeOptionInfo = orderChangeService.getExchangeOptionInfo(orderChange);
-		mav.addObject("exchangeOptionInfo"	, exchangeOptionInfo);
-		mav.addObject("oneData"				, exchangeOptionInfo.iterator().next());
-		mav.addObject("ordDtlNo"			, orderChange.getOrdDtlNo());
-		mav.addObject("chgQty"				, orderChange.getChgQty());
-		mav.addObject("title"				, "교환 옵션 변경");
+		mav.addObject("exchangeOptionInfo", exchangeOptionInfo);
+		mav.addObject("oneData", exchangeOptionInfo.iterator().next());
+		mav.addObject("ordDtlNo", orderChange.getOrdDtlNo());
+		mav.addObject("chgQty", orderChange.getChgQty());
+		mav.addObject("title", "교환 옵션 변경");
 
 		mav.setViewName(super.getDeviceViewName("mypage/ChangeOptionPopupForm"));
 
@@ -605,7 +606,7 @@ public class TsfMypageController extends TsfBaseController {
 	@ResponseBody
 	public GagaResponse exchangeRequestCancel(@RequestBody OrderChange orderChange) {
 
-		if (orderChange== null) {
+		if (orderChange == null) {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 		}
 
@@ -614,7 +615,7 @@ public class TsfMypageController extends TsfBaseController {
 		orderChange.setCustNo(custNo);
 		orderChange.setRegNo(custNo);
 		orderChange.setUpdNo(custNo);
-		
+
 		String ipAddress = TsfSession.getIpAddress();
 		orderChange.setIpAddress(ipAddress);
 
@@ -757,7 +758,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 반품 사유 목록 조회
 		mav.addObject("returnReason", rendererService.getCommonCodeList("G688", "Y"));
-		
+
 		// 2021.05.03 은행목록추가
 		mav.addObject("bankList", rendererService.getCommonCodeList("G942", "Y"));
 
@@ -843,17 +844,17 @@ public class TsfMypageController extends TsfBaseController {
 	@ResponseBody
 	public GagaResponse rtnReqCancel(@RequestBody OrderChange orderChange) throws Exception {
 
-		if (orderChange== null) {
+		if (orderChange == null) {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 		}
 
 		// 1. 반품요청철회 정보 설정
 		int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
 		GagaMap map = new GagaMap();
-		map.set("ordNo"			, orderChange.getOrdNo());
-		map.set("ordChgSq"		, orderChange.getOrdChgSq());
-		map.set("custNo"		, custNo);
-		map.set("ipAddress"		, TsfSession.getIpAddress());
+		map.set("ordNo", orderChange.getOrdNo());
+		map.set("ordChgSq", orderChange.getOrdChgSq());
+		map.set("custNo", custNo);
+		map.set("ipAddress", TsfSession.getIpAddress());
 
 		// 2.반품요청철회 
 		coreOrderChangeService.rtnReqCancel(map, custNo);
@@ -878,14 +879,14 @@ public class TsfMypageController extends TsfBaseController {
 		// 고객번호 설정
 		int custNo = TsfSession.getInfo().getCustNo();
 		order.setCustNo(custNo);
-		
+
 		// 2021.05.07 고객정보 조회
 		Customer customer = new Customer();
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
 		customer.setCustNo(custNo);
 		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
 		customer = coreCustomerService.getCustomerInfo(customer);
-		
+
 		mav.addObject("customerInfo", customer);
 
 		// 취소 가능 리스트 조회
@@ -934,7 +935,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 3. 취소완료 카카오알림톡 발송
 		int ordChgSq = result.getInt("ordChgSq");
-		
+
 		if (ordChgSq > 0) {
 			try {
 				// 취소 알림톡 관련 정보 조회
@@ -947,7 +948,7 @@ public class TsfMypageController extends TsfBaseController {
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
-			
+
 			try {
 				// 취소 안내 메일 정보 조회
 				GagaMap replaceInfo = coreOrderChangeService.getMailOrderCancelReplaceInfo(orderChange);
@@ -1027,7 +1028,7 @@ public class TsfMypageController extends TsfBaseController {
 		Order order = new Order();
 		order.setCustNo(custNo);
 		mav.addObject("orderCount", coreOrderService.getOrderStatCount(order));
-		
+
 		// 2021.04.21 모바일에서 사용하려고 추가
 		OrderChange orderChange = new OrderChange();
 		orderChange.setCustNo(custNo);
@@ -1060,7 +1061,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 고객번호 설정
 		int custNo = 0;
-		if(TsfSession.isLogin()) {
+		if (TsfSession.isLogin()) {
 			custNo = TsfSession.getInfo().getCustNo();
 		}
 
@@ -1105,7 +1106,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 취소상세 데이터 조회
 		orderChange.setCustNo(custNo);
 		GagaMap map = coreOrderChangeService.getCreCancelDetailInfo(orderChange);
-		OrderChange oneData = (OrderChange) map.get("oneData");
+		OrderChange oneData = (OrderChange)map.get("oneData");
 		mav.addObject("cancelDetailList", map);
 		mav.addObject("oneData", oneData);
 		mav.addObject("refundYn", map.getString("refundYn"));
@@ -1147,7 +1148,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 취소상세 데이터 조회
 		orderChange.setCustNo(custNo);
 		GagaMap map = coreOrderChangeService.getCreReturnDetailInfo(orderChange);
-		OrderChange oneData = (OrderChange) map.get("oneData");
+		OrderChange oneData = (OrderChange)map.get("oneData");
 		mav.addObject("returnDetailList", map);
 		mav.addObject("oneData", oneData);
 		mav.addObject("refundYn", map.getString("refundYn"));
@@ -1186,7 +1187,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 취소상세 데이터 조회
 		orderChange.setCustNo(custNo);
 		GagaMap map = coreOrderChangeService.getCreExchangeDetailInfo(orderChange);
-		OrderChange oneData = (OrderChange) map.get("oneData");
+		OrderChange oneData = (OrderChange)map.get("oneData");
 		mav.addObject("exchangeDetailList", map);
 		mav.addObject("oneData", oneData);
 
@@ -1216,7 +1217,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		for (Integer ordDtlNo : orderChange.getOrdDtlNoArr()) {
 			String rst = coreWmsService.getCancelYn(ordNo, ordDtlNo);
-			
+
 			if ("Y".equals(cancelYn) && "N".equals(rst)) {
 				cancelYn = "N";
 			}
@@ -1250,7 +1251,7 @@ public class TsfMypageController extends TsfBaseController {
 		GiftCard result = orderService.kcpCashReceiptsRequest(giftCard);
 
 		// 결과 처리
-		if("0000".equals(result.getResultCd())) {
+		if ("0000".equals(result.getResultCd())) {
 			map.set("status", GagaResponseStatus.SUCCESS.getCode());
 			map.set("message", message.getMessage("SUCC_0004"));
 		} else {
@@ -1260,7 +1261,6 @@ public class TsfMypageController extends TsfBaseController {
 
 		return map;
 	}
-	
 
 	/**
 	 * 마이페이지 STYLE24 포인트화면
@@ -1502,7 +1502,7 @@ public class TsfMypageController extends TsfBaseController {
 	@ResponseBody
 	public ModelAndView deliveryInfoForm(Order order) {
 		ModelAndView mav = new ModelAndView();
-		
+
 		// 고객번호 설정
 		order.setCustNo(TsfSession.getInfo().getCustNo());
 
@@ -1524,7 +1524,6 @@ public class TsfMypageController extends TsfBaseController {
 		mav.addObject("orderList", orderList);
 		mav.addObject("oneData", orderList.iterator().next().get("oneData"));
 
-
 		// 주문 배송지 정보 조회
 		mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
 
@@ -1535,7 +1534,7 @@ public class TsfMypageController extends TsfBaseController {
 		mav.addObject("sweetTrackerInfoList", deliveryService.getSweetTrackerDeliveryInfo(sweetTracker));
 
 		mav.setViewName(super.getDeviceViewName("mypage/MypageDeliveryInfoForm"));
-		
+
 		return mav;
 	}
 
@@ -1683,7 +1682,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		return mav;
 	}
-	
+
 	/**
 	 * 퀵메뉴 보유한 쿠폰리스트
 	 * @return
@@ -1696,10 +1695,10 @@ public class TsfMypageController extends TsfBaseController {
 		Coupon coupon = new Coupon();
 		Collection<Coupon> ownCouponList = new ArrayList<>();
 		coupon.setQuickYn("Y");
-		ownCouponList  = couponService.getMypageCouponList(coupon);
+		ownCouponList = couponService.getMypageCouponList(coupon);
 		return ownCouponList;
 	}
-	
+
 	/**
 	 * 퀵메뉴 다운가능한 쿠폰리스트
 	 * @return
@@ -1714,10 +1713,10 @@ public class TsfMypageController extends TsfBaseController {
 		coupon.setQuickYn("N");
 		Collection<Coupon> ownCouponList = couponService.getQuickCouponDownList(coupon);
 		result.set("ownCouponList", ownCouponList);
-		result.set("couponCount",couponService.getMypageCouponInfo(coupon));
+		result.set("couponCount", couponService.getMypageCouponInfo(coupon));
 		return result;
 	}
-	
+
 	/**
 	 * 퀵메뉴 쿠폰 다운
 	 * @return
@@ -1731,11 +1730,11 @@ public class TsfMypageController extends TsfBaseController {
 		String couponResult = couponService.saveQuickCoupon(coupon);
 		if ("ERROR_10".equals(couponResult)) {
 			result.set("message", "발급가능 쿠폰이 없습니다.");
-		}else if("ERROR_20".equals(couponResult)){
+		} else if ("ERROR_20".equals(couponResult)) {
 			result.set("message", "죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.");
-		}else if("ERROR_30".equals(couponResult)){
+		} else if ("ERROR_30".equals(couponResult)) {
 			result.set("message", "죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.");
-		}else {
+		} else {
 			result.set("message", "쿠폰이 발급되었습니다.");
 		}
 		coupon.setQuickYn("Y");
@@ -1744,7 +1743,6 @@ public class TsfMypageController extends TsfBaseController {
 		return result;
 	}
 
-
 	/**
 	 * 마이페이지 쿠폰 상세보기 팝업
 	 *
@@ -1758,7 +1756,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 쿠폰 - 기본정보
 		mav.addObject("couponDetailInfo", couponService.getCouponDetailInfo(coupon));
-		
+
 		mav.setViewName(super.getDeviceViewName("mypage/MypageCouponDetailForm"));
 		return mav;
 	}
@@ -1812,7 +1810,7 @@ public class TsfMypageController extends TsfBaseController {
 		int reviewExpireDay = eventService.getGoodsReviewRegisterDays(TscConstants.Site.STYLE24.value());
 		review.setReviewExpireDay(reviewExpireDay);
 		result.set("completeReviewCount", reviewService.getCompleteReviewList(review).size());
-		
+
 		TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
 		int totalCnt = reviewService.getCompleteReviewList(review).size();
 		pageable.setTotalCount(totalCnt);
@@ -1840,7 +1838,7 @@ public class TsfMypageController extends TsfBaseController {
 		if (TsfSession.isLogin()) {
 			review.setCustNo(TsfSession.getInfo().getCustNo());
 		}
-		
+
 		review.setReviewExpireDay(eventService.getGoodsReviewPointExpireDays(TscConstants.Site.STYLE24.value()));
 		result.set("alreadyReviewCount", reviewService.getAlreadyReviewList(review).size());
 		TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
@@ -1865,10 +1863,10 @@ public class TsfMypageController extends TsfBaseController {
 	@PostMapping("/review/create/form")
 	public ModelAndView mypageReviewCreateForm(Review review) {
 		ModelAndView mav = new ModelAndView();
-		
+
 		review.setCustNo(TsfSession.getInfo().getCustNo());
 		review.setSiteCd(TscConstants.Site.STYLE24.value());
-		
+
 		mav.addObject("reviewStat", review.getReviewStat());
 		if (review.getReviewStat().equals("u")) {
 			// 리뷰 이미지/동영상
@@ -1876,7 +1874,7 @@ public class TsfMypageController extends TsfBaseController {
 		}
 		review.setReviewExpireDay(eventService.getGoodsReviewRegisterDays(TscConstants.Site.STYLE24.value()));
 		mav.addObject("reviewInfo", reviewService.getReviewGoodsInfo(review));
-		
+
 		mav.setViewName(super.getDeviceViewName("mypage/MypageReviewCreateForm"));
 
 		return mav;
@@ -1897,13 +1895,13 @@ public class TsfMypageController extends TsfBaseController {
 		review.setCustNo(TsfSession.getInfo().getCustNo());
 
 		String resultStr = reviewService.saveMypageReview(review);
-		
-		result.set("status"		, "200");
-		result.set("resultStr"	, resultStr);
-		
+
+		result.set("status", "200");
+		result.set("resultStr", resultStr);
+
 		return result;
 	}
-	
+
 	/**
 	 * 마이페이지 리뷰 업데이트
 	 * @param review
@@ -1945,12 +1943,12 @@ public class TsfMypageController extends TsfBaseController {
 		review.setCustNo(TsfSession.getInfo().getCustNo());
 		review.setSiteCd(TscConstants.Site.STYLE24.value());
 		reviewService.reviewDelete(review);
-		result.set("alreadyReviewCount",reviewService.getAlreadyReviewList(review).size());
-		result.set("completeReviewCount",reviewService.getCompleteReviewList(review).size());
+		result.set("alreadyReviewCount", reviewService.getAlreadyReviewList(review).size());
+		result.set("completeReviewCount", reviewService.getCompleteReviewList(review).size());
 		result.set("status", "200");
 		return result;
 	}
-	
+
 	/**
 	 * 상품상세 -  상품평 상세 레이어
 	 * @return
@@ -1974,7 +1972,7 @@ public class TsfMypageController extends TsfBaseController {
 		mav.setViewName(super.getDeviceViewName("mypage/MypageReviewDetailForm"));
 		return mav;
 	}
-	
+
 	/**
 	 * 상품상세 -  상품평 상세 레이어
 	 * @return
@@ -1989,7 +1987,7 @@ public class TsfMypageController extends TsfBaseController {
 		result.set("reviewList", reviewService.getMypageReviewList(review));
 		return result;
 	}
-	
+
 	/**
 	 * 마이페이지 어드민 댓글 확인
 	 *
@@ -2099,9 +2097,9 @@ public class TsfMypageController extends TsfBaseController {
 	 * @since 2021. 03. 15
 	 */
 	@RequestMapping("/customer/modify/form")
-	public ModelAndView getCustomerModifyForm(@RequestParam(value = "sEncData", required = false) String sEncData ,
-											  @RequestParam(value = "authMethod", required = false) String authMethod,
-											  HttpServletRequest request) {
+	public ModelAndView getCustomerModifyForm(@RequestParam(value = "sEncData", required = false) String sEncData,
+		@RequestParam(value = "authMethod", required = false) String authMethod,
+		HttpServletRequest request) {
 		ModelAndView mav = new ModelAndView();
 		String referer = StringUtils.defaultIfBlank(TsfSession.getHttpServletRequest().getHeader("referer"), "");
 		boolean redirect = false;
@@ -2213,6 +2211,8 @@ public class TsfMypageController extends TsfBaseController {
 				result.setString("resultType", "INVALID_ACCOUNT");
 				return result;
 			}
+		} else if ("D".equals(customer.getAccountModifyYn())) {
+			coreOrderChangeService.deleteRefundAccount(TsfSession.getInfo().getCustNo());
 		}
 
 		return customerService.saveCustomerInfo(customer);
@@ -2422,14 +2422,14 @@ public class TsfMypageController extends TsfBaseController {
 	@GetMapping("/delivery/addr/form")
 	public ModelAndView getDeliveryListForm() {
 		ModelAndView mav = new ModelAndView();
-		
+
 		CustDeliveryAddr custDeliveryAddr = new CustDeliveryAddr();
 		custDeliveryAddr.setCustNo(TsfSession.getInfo().getCustNo());
-		
+
 		Collection<CustDeliveryAddr> deliveryAddrList = customerService.getCustomerDeliveryAddrList(custDeliveryAddr);
-		int index 				= 0;
-		int deliveryAddrCnt 	= deliveryAddrList.size();
-		
+		int index = 0;
+		int deliveryAddrCnt = deliveryAddrList.size();
+
 		for (CustDeliveryAddr deliveryAddr : deliveryAddrList) {
 			if (index == 0) {
 				if (deliveryAddr.getRecipZipcode() == null || "".equals(deliveryAddr.getRecipZipcode())) {
@@ -2437,8 +2437,8 @@ public class TsfMypageController extends TsfBaseController {
 				}
 			}
 		}
-		
-		mav.addObject("deliveryAddrCnt"		, deliveryAddrCnt);			// 배송지등록수
+
+		mav.addObject("deliveryAddrCnt", deliveryAddrCnt);			// 배송지등록수
 		mav.setViewName(super.getDeviceViewName("mypage/MypageCustDeliveryAddrForm"));
 
 		return mav;
@@ -2515,7 +2515,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		return super.ok("알림 기한을 15일로 연장하였습니다.");
 	}
-	
+
 	/**
 	 * 마이페이지 주문목록 조회 (모바일)
 	 * 
@@ -2527,39 +2527,39 @@ public class TsfMypageController extends TsfBaseController {
 	@ResponseBody
 	@PostMapping("/order/listInfo")
 	public ModelAndView getOrderListInfo(@RequestBody Order order) {
-		
+
 		// 주문목록조회
 		ModelAndView mav = new ModelAndView();
-		
+
 		// 페이징 처리 설정
 		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
 		int totalCnt = orderService.getPagingOrdNoListCount(order);
 		pageable.setTotalCount(totalCnt);
 		order.setPageable(pageable);
-		
+
 		// 페이징 처리 및 주문정보 조회
 		List<Integer> ordNoList = new ArrayList<>();
 
 		for (Order tmpOrder : orderService.getPagingOrdNoList(order)) {
 			ordNoList.add(tmpOrder.getOrdNo());
 		}
-		
+
 		if (ordNoList.size() > 0) {
 			order.setOrdNoList(ordNoList.stream().mapToInt(Integer::intValue).toArray());
 		}
 
 		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
-				
-		mav.addObject("orderList"		, 	orderList);
-		mav.addObject("orderListCnt"	, 	orderList.size());
-		mav.addObject("pageNo"			, 	order.getPageNo());
-		
+
+		mav.addObject("orderList", orderList);
+		mav.addObject("orderListCnt", orderList.size());
+		mav.addObject("pageNo", order.getPageNo());
+
 		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListInfo"));
 
 		return mav;
 	}
-	
+
 	/**
 	 * 마이페이지 주문목록 조회 (모바일)
 	 * 
@@ -2571,9 +2571,9 @@ public class TsfMypageController extends TsfBaseController {
 	@ResponseBody
 	@PostMapping("/order/listInfo2")
 	public GagaMap getOrderListInfo2(@RequestBody Order order) {
-		
+
 		GagaMap result = new GagaMap();
-		
+
 		// 페이징 처리 설정
 		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
 		int totalCnt = orderService.getPagingOrdNoListCount(order);
@@ -2582,11 +2582,11 @@ public class TsfMypageController extends TsfBaseController {
 
 		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 
-		result.set("paging"		, order);
-		result.set("totalCnt"	, totalCnt);
-		result.set("endRow"		, pageable.getEndRow());
-		result.set("orderList"	, orderService.getOrderListForMypage(order));
-		
+		result.set("paging", order);
+		result.set("totalCnt", totalCnt);
+		result.set("endRow", pageable.getEndRow());
+		result.set("orderList", orderService.getOrderListForMypage(order));
+
 		// 주문목록조회
 		//ModelAndView mav = new ModelAndView();
 		//mav.addObject("orderList", orderService.getOrderListForMypage(order));
@@ -2613,8 +2613,8 @@ public class TsfMypageController extends TsfBaseController {
 		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
 		order.setPageable(pageable);
 
-		result.set("paging"		, pageable);
-		result.set("ordNoList"	, orderService.getPagingOrdNoList(order));
+		result.set("paging", pageable);
+		result.set("ordNoList", orderService.getPagingOrdNoList(order));
 
 		return result;
 	}
@@ -2636,15 +2636,15 @@ public class TsfMypageController extends TsfBaseController {
 		order.setAutoDecideDay(coreEnvsetService.getAutoBuyConfirmDays(TscConstants.Site.STYLE24.value()));
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
 
-		mav.addObject("orderList"		, 	orderList);
-		mav.addObject("orderListCnt"	, 	orderList.size());
-		mav.addObject("pageNo"			, 	order.getPageNo());
+		mav.addObject("orderList", orderList);
+		mav.addObject("orderListCnt", orderList.size());
+		mav.addObject("pageNo", order.getPageNo());
 
 		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListInfo"));
 
 		return mav;
 	}
-	
+
 	/**
 	 * 마이페이지 취반교 목록 조회
 	 *
@@ -2694,7 +2694,7 @@ public class TsfMypageController extends TsfBaseController {
 	@PostMapping("/cre/list/pre/info")
 	public GagaMap getCreListPreInfo(@RequestBody OrderChange orderChange) {
 		GagaMap result = new GagaMap();
-		
+
 		orderChange.setCustNo(TsfSession.getInfo().getCustNo());
 
 		// 페이징 처리 설정
@@ -2702,8 +2702,8 @@ public class TsfMypageController extends TsfBaseController {
 		pageable.setTotalCount(orderChangeService.getPagingCreListCount(orderChange));
 		orderChange.setPageable(pageable);
 
-		result.set("paging"		, pageable);
-		result.set("creList"	, orderChangeService.getPagingCreList(orderChange));
+		result.set("paging", pageable);
+		result.set("creList", orderChangeService.getPagingCreList(orderChange));
 
 		return result;
 	}
@@ -2726,9 +2726,9 @@ public class TsfMypageController extends TsfBaseController {
 
 		Collection<GagaMap> creList = orderChangeService.getCreList(orderChange);
 
-		mav.addObject("creList"			, 	creList);
-		mav.addObject("creListCnt"		, 	creList.size());
-		mav.addObject("pageNo"			, 	orderChange.getPageNo());
+		mav.addObject("creList", creList);
+		mav.addObject("creListCnt", creList.size());
+		mav.addObject("pageNo", orderChange.getPageNo());
 
 		mav.setViewName(super.getDeviceViewName("mypage/MypageCreListInfo"));
 
@@ -2753,28 +2753,27 @@ public class TsfMypageController extends TsfBaseController {
 		custContactHst.setContactMemo(String.valueOf(order.getOrdNo()));
 
 		int count = customerService.getGiftKakaoSendInfo(custContactHst);
-		
+
 		if (count > 0) {
 			return super.error("선물하기 SMS를 조금 전 다시 발송하였습니다. 잠시 후 다시 시도해주세요.");
 		}
 
 		// 선물하기 알림톡 전송 관련 정보 조회
 		GagaMap resultMap = coreOrderService.getOrderCompleteInfo(order);
-		Order orderInfo = (Order) resultMap.get("orderInfo");
-		orderInfo.setGoodsNm((String) resultMap.get("goodsNm"));
+		Order orderInfo = (Order)resultMap.get("orderInfo");
+		orderInfo.setGoodsNm((String)resultMap.get("goodsNm"));
 		orderInfo.setGoodsCnt(String.valueOf(resultMap.get("goodsCnt")));
-		
+
 		try {
 			// 선물하기 알림톡 전송
 			coreKakaotalkService.sendOrderGiftComplete(orderInfo, TsfSession.getInfo().getCustNo());
 		} catch (Exception e) {
 			return super.error(e.getMessage());
 		}
-		
+
 		return super.ok(env.getProperty("SUCC_0005"));
 	}
-	
-	
+
 	/**
 	 * 위시리스트 상품여부 
 	 * 
@@ -2791,6 +2790,5 @@ public class TsfMypageController extends TsfBaseController {
 		}
 		return result;
 	}
-	
-	
+
 }

+ 39 - 23
src/main/webapp/WEB-INF/views/mob/mypage/MypageCustModifyFormMob.html

@@ -138,6 +138,9 @@
 				<div class="tbl_wrap">
 					<div class="tbl_tit">
 						<h3>환불 계좌정보</h3>
+						<button type="button" id="btnInitilizeAccount" class="btn_popup">
+							<span>계좌초기화</span>
+						</button>
 					</div>
 					<div class="tbl type1">
 						<table>
@@ -220,6 +223,7 @@
 	let accountCheck = false;
 	let orgBankCd;
 	let orgAccountNo;
+	let accountInitYn = 'N'; // 계좌초기화여부
 
 	// 고객정보
 	var fnGetCustInfo = function () {
@@ -327,6 +331,15 @@
 		}
 	}
 
+	// 계좌초기화
+	$('#btnInitilizeAccount').on('click', function () {
+		$('#custModiFyForm input[name=accountNm]').val(orgCustInfo.custNm);
+		$('#custModiFyForm input[name=accountNo]').val('');
+		$('div.select_bank').find('div.select').html('선택');
+		accountCheck = false;
+		accountInitYn = 'Y';
+	});
+	
 	// 계좌인증
 	$('#btnAccountCheck').on('click', function () {
 		if (!fnGetAccountValidation()) {
@@ -346,9 +359,10 @@
 		let msg = '계좌인증에 성공했습니다.'
 		if (result.isValid) { // 유효하면 true
 			accountCheck = true;
+			accountInitYn = 'N'; // 계좌초기화 버튼 클릭 안한것으로
 		} else {
 			accountCheck = false;
-			msg = '계좌정보를 다시 확인해주세요.'
+			msg = '계좌정보를 다시 확인해주세요.';
 		}
 		mcxDialog.alertC(msg ,{
 			sureBtnText: "확인",
@@ -395,27 +409,30 @@
 			return;
 		}
 
-
-		// 은행코드가 바꼈는지
-		if (orgBankCd !== $bankCd.val()) {
-			accountModifyYn = 'Y';
-		}
-
-		if (orgAccountNo !== $accountNo.val()) {
-			accountModifyYn = 'Y';
-		}
-
-		if (accountModifyYn === 'Y') { // 환불계좌정보 변경 됐으면
-			if (!gagajf.isNull($bankCd.val()) && !gagajf.isNull($accountNo.val())) {
-				if (!accountCheck) {
-					mcxDialog.alertC('계좌인증이 필요합니다.',{
-						sureBtnText: "확인",
-						sureBtnClick: function() {
-						}
-					});
-					return;
+		if (accountInitYn == 'N') { // 계좌초기화버튼 클릭 안 했으면
+			// 은행코드가 바꼈는지
+			if (orgBankCd !== $bankCd.val()) {
+				accountModifyYn = 'Y';
+			}
+	
+			if (orgAccountNo !== $accountNo.val()) {
+				accountModifyYn = 'Y';
+			}
+	
+			if (accountModifyYn === 'Y') { // 환불계좌정보 변경 됐으면
+				if (!gagajf.isNull($bankCd.val()) && !gagajf.isNull($accountNo.val())) {
+					if (!accountCheck) {
+						mcxDialog.alertC('계좌인증이 필요합니다.',{
+							sureBtnText: "확인",
+							sureBtnClick: function() {
+							}
+						});
+						return;
+					}
 				}
 			}
+		} else { // 계좌초기화버튼 클릭
+			accountModifyYn = 'D'; // 삭제
 		}
 
 		if (gagajf.isNull(custModiFy.smsAgreeYn)) {
@@ -442,7 +459,6 @@
 		custModiFy.accountModifyYn = accountModifyYn;
 
 		let jsonData = JSON.stringify(custModiFy);
-		// console.log('jsonData',jsonData);
 		gagajf.ajaxJsonSubmit('/mypage/customer/info/save', jsonData, fnSaveCustomerInfoCallback)
 	});
 
@@ -476,7 +492,7 @@
 					$bankCd.focus();
 				}
 			});
-			return false
+			return false;
 		}
 		if (!gagajf.isNull($bankCd.val()) && gagajf.isNull($accountNo.val())) {
 			mcxDialog.alertC('계좌번호를 입력해주세요.',{
@@ -490,7 +506,7 @@
 		return true;
 	};
 
-		// 나이스 본인인증 후 콜백
+	// 나이스 본인인증 후 콜백
 	var fnNiceCallBack = function(encData) {
 		if (!gagajf.isNull(encData)) {
 			let custInfo = {};

+ 38 - 25
src/main/webapp/WEB-INF/views/web/mypage/MypageCustModifyFormWeb.html

@@ -122,6 +122,7 @@
 						</div>
 						<div class="modify_box">
 							<h4 class="subH3">환불계좌 정보</h4>
+							<button type="button" class="btn btn_default btn_sm" id="btnInitilizeAccount"><span>계좌초기화</span></button>
 							<div class="tbl type1">
 								<table>
 									<colgroup>
@@ -242,7 +243,7 @@
 	let accountCheck = false;
 	let orgAccountNo;
 	let orgBankCd;
-
+	let accountInitYn = 'N'; // 계좌초기화여부
 
 	// 고객정보
 	var fnGetCustInfo = function () {
@@ -314,7 +315,6 @@
 			if ($accountNm.val() === result.accountNm) {
 				$('#custModiFyForm input[name=accountNo]').val(result.accountNo);
 				$bankCd = '#bankCd_'+result.bankCd;
-
 			} else {
 				$('#custModiFyForm input[name=accountNo]').val('');
 				$bankCd = '#bankCd_';
@@ -347,6 +347,15 @@
 		}
 	}
 
+	// 계좌초기화
+	$('#btnInitilizeAccount').on('click', function () {
+		$('#custModiFyForm input[name=accountNm]').val(orgCustInfo.custNm);
+		$('#custModiFyForm input[name=accountNo]').val('');
+		$('div.select_bank').find('div.select').html('선택');
+		accountCheck = false;
+		accountInitYn = 'Y';
+	});
+	
 	// 계좌인증
 	$('#btnAccountCheck').on('click', function () {
 		if (!fnGetAccountValidation()) {
@@ -366,9 +375,10 @@
 		let msg = '계좌인증에 성공했습니다.'
 		if (result.isValid) { // 유효하면 true
 			accountCheck = true;
+			accountInitYn = 'N'; // 계좌초기화 버튼 클릭 안한것으로
 		} else {
 			accountCheck = false;
-			msg = '계좌정보를 다시 확인해주세요.'
+			msg = '계좌정보를 다시 확인해주세요.';
 		}
 		mcxDialog.alertC(msg ,{
 			sureBtnText: "확인",
@@ -415,26 +425,30 @@
 			return;
 		}
 
-		// 은행코드가 바꼈는지
-		if (orgBankCd !== $bankCd.val()) {
-			accountModifyYn = 'Y';
-		}
-
-		if (orgAccountNo !== $accountNo.val()) {
-			accountModifyYn = 'Y';
-		}
-
-		if (accountModifyYn === 'Y') { // 환불계좌정보 변경 됐으면
-			if (!gagajf.isNull($bankCd.val()) && !gagajf.isNull($accountNo.val())) {
-				if (!accountCheck) {
-					mcxDialog.alertC('계좌인증이 필요합니다.',{
-						sureBtnText: "확인",
-						sureBtnClick: function() {
-						}
-					});
-					return;
+		if (accountInitYn == 'N') { // 계좌초기화버튼 클릭 안 했으면
+			// 은행코드가 바꼈는지
+			if (orgBankCd !== $bankCd.val()) {
+				accountModifyYn = 'Y';
+			}
+	
+			if (orgAccountNo !== $accountNo.val()) {
+				accountModifyYn = 'Y';
+			}
+	
+			if (accountModifyYn === 'Y') { // 환불계좌정보 변경 됐으면
+				if (!gagajf.isNull($bankCd.val()) && !gagajf.isNull($accountNo.val())) {
+					if (!accountCheck) {
+						mcxDialog.alertC('계좌인증이 필요합니다.',{
+							sureBtnText: "확인",
+							sureBtnClick: function() {
+							}
+						});
+						return;
+					}
 				}
 			}
+		} else { // 계좌초기화버튼 클릭
+			accountModifyYn = 'D'; // 삭제
 		}
 
 		if (gagajf.isNull(custModiFy.smsAgreeYn)) {
@@ -461,7 +475,6 @@
 		custModiFy.accountModifyYn = accountModifyYn;
 
 		let jsonData = JSON.stringify(custModiFy);
-		// console.log('jsonData',jsonData);
 		gagajf.ajaxJsonSubmit('/mypage/customer/info/save', jsonData, fnSaveCustomerInfoCallback)
 	});
 
@@ -488,7 +501,7 @@
 	var fnGetAccountValidation = function () {
 		let $bankCd = $('#custModiFyForm input[name=bankCd]');
 		let $accountNo = $('#custModiFyForm input[name=accountNo]');
-
+		
 		if (gagajf.isNull($bankCd.val()) && !gagajf.isNull($accountNo.val())) {
 			mcxDialog.alertC('은행을 선택해주세요.',{
 				sureBtnText: "확인",
@@ -496,9 +509,9 @@
 					$bankCd.focus();
 				}
 			});
-			return false
+			return false;
 		}
-		if (!gagajf.isNull($bankCd.val()) && gagajf.isNull($accountNo.val())) {
+		if (gagajf.isNull($accountNo.val()) && !gagajf.isNull($bankCd.val())) {
 			mcxDialog.alertC('계좌번호를 입력해주세요.',{
 				sureBtnText: "확인",
 				sureBtnClick: function() {