jsshin преди 5 години
родител
ревизия
eb53846ecc
променени са 2 файла, в които са добавени 50 реда и са изтрити 29 реда
  1. 4 5
      src/main/java/com/style24/front/biz/web/TsfAppController.java
  2. 46 24
      src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html

+ 4 - 5
src/main/java/com/style24/front/biz/web/TsfAppController.java

@@ -1,5 +1,6 @@
 package com.style24.front.biz.web;
 
+import com.gagaframework.web.parameter.GagaMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -57,9 +58,9 @@ public class TsfAppController extends TsfBaseController {
 		ModelAndView mav = new ModelAndView();
 
 		// 정책에 등록된 앱버전
-		if (TsfSession.getAttribute("osType").equals("I")) {
+		if ("I".equals(TsfSession.getAttribute("osType"))) {
 			mav.addObject("regAppVersion", envsetService.getIosAppVersion(TscConstants.Site.STYLE24.value()));
-		} else if (TsfSession.getAttribute("osType").equals("A")) {
+		} else if ("A".equals(TsfSession.getAttribute("osType"))) {
 			mav.addObject("regAppVersion", envsetService.getAosAppVersion(TscConstants.Site.STYLE24.value()));
 		}
 
@@ -79,10 +80,8 @@ public class TsfAppController extends TsfBaseController {
 	 * @since 2021. 05. 20
 	 */
 	@PostMapping("/appagree/update")
-	@ResponseBody
-	public GagaResponse updateAppAgreeYn(@RequestBody Customer customer) {
+	public void updateAppAgreeYn(@RequestBody Customer customer) {
 		customerService.updateAppAgreeYn(customer.getAppAgreeYn());
-		return super.ok(message.getMessage("SUCC_0004"));
 	}
 
 	/**

+ 46 - 24
src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html

@@ -99,6 +99,8 @@
 
 <script th:inline="javascript">
 	const isLogin = [[${isLogin}]];
+	let appAgreeYn = [[${appAgreeYn}]];
+	let appMkAgreeYn = [[${appMkAgreeYn}]];
 
 	$(document).ready(function(){
 		$('#htopTitle').text('설정');
@@ -106,7 +108,8 @@
 		// 앱으로 푸시 상태값 조회. 앱에서 settingsSwtichPush 함수를 호출함.
 		if (_isApp === 'true') {
 			if (_osType === 'A') {
-			window.style24.isAdEnable();
+				window.style24.isPushEnable(); // 정보성(푸시수신 API)
+				window.style24.isAdEnable();   // 마케팅성(광고푸시 API)
 			} else if (_osType === 'I') {
 				// 아래와 같이 호출 시 settingsSwtichPush 함수가 앱에서 호출됨
 				window.webkit.messageHandlers.isAdEnable.postMessage({"dummy":"dummy"});
@@ -117,19 +120,29 @@
 
 
 	// 앱에서 호출되는 함수(앱푸시)
-	var settingsAppPush = function(onOff) {
-		if (onOff == 'ON') {
+	var settingsSwtichPush = function(onOff) {
+		if (onOff === 'ON') {
 			$('#btnPushSetting').prop('checked', true);
-		} else if (onOff == 'OFF') {
+		} else if (onOff === 'OFF') {
 			$('#btnPushSetting').prop('checked', false);
 		}
+
+		if (isLogin) {
+			// 데이터 상 앱푸시 여부(Y/N) 이랑 기기에 등록된 푸시수신 여부(ON/OFF)
+			if (appAgreeYn === 'Y' && onOff === 'OFF') {
+
+			}
+			if (appAgreeYn === 'N' && onOff === 'ON') {
+
+			}
+		}
 	}
 
 	// 앱에서 호출되는 함수(마케팅동의)
-	var settingsMkPush = function (onOff) {
-		if (onOff == 'ON') {
+	var settingsSwtichAdvertise = function (onOff) {
+		if (onOff === 'ON') {
 			$('#btnMkSetting').prop('checked', true);
-		} else if (onOff == 'OFF') {
+		} else if (onOff === 'OFF') {
 			$('#btnMkSetting').prop('checked', false);
 		}
 	}
@@ -138,26 +151,23 @@
 		let appAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType == 'A') {
-					window.style24.adEnable('ON');
+				if (_osType === 'A') {
+					window.style24.pushEnable('ON');
 				} else if (_osType == 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"ON"});
 				}
 				appAgreeYn = 'Y';
 			} else {
-				if (_osType == 'A') {
-					window.style24.adEnable('OFF');
-				} else if(_osType == 'I') {
+				if (_osType === 'A') {
+					window.style24.pushEnable('OFF');
+				} else if(_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"OFF"});
 				}
 				appAgreeYn = 'N';
 			}
 
 			if (isLogin) {
-				let params = {}
-				params.appAgreeYn = appAgreeYn;
-				let jsonData = JSON.stringify(params);
-				gagajf.ajaxJsonSubmit('/app/appagree/update', jsonData);
+				fnAppPushAgreeUpdate(appAgreeYn);
 			}
 
 		}
@@ -167,32 +177,44 @@
 		let mkAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType == 'A') {
+				if (_osType === 'A') {
 					window.style24.adEnable('ON');
-				} else if (_osType == 'I') {
+				} else if (_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"ON"});
 				}
 				mkAgreeYn = 'Y';
 			} else {
-				if (_osType == 'A') {
+				if (_osType === 'A') {
 					window.style24.adEnable('OFF');
-				} else if(_osType == 'I') {
+				} else if(_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"OFF"});
 				}
 				mkAgreeYn = 'N';
 			}
 
 			if (isLogin) {
-				let params = {}
-				params.mkAgreeYn = mkAgreeYn;
-				let jsonData = JSON.stringify(params);
-				gagajf.ajaxJsonSubmit('/app/mkagree/update', jsonData);
+				fnAppMkAgreeUpdate(mkAgreeYn);
 			}
 
 		}
 	});
 
 
+	// 로그인시 앱푸시동의 여부 데이터 일치화
+	var fnAppPushAgreeUpdate = function (appAgreeYn) {
+		let params = {}
+		params.appAgreeYn = appAgreeYn;
+		let jsonData = JSON.stringify(params);
+		gagajf.ajaxJsonSubmit('/app/appagree/update', jsonData);
+	}
+
+	var fnAppMkAgreeUpdate = function (mkAgreeYn) {
+		let params = {}
+		params.mkAgreeYn = mkAgreeYn;
+		let jsonData = JSON.stringify(params);
+		gagajf.ajaxJsonSubmit('/app/mkagree/update', jsonData);
+	}
+
 	// 안드로이드 앱
 	$('#chk-2').on('click', function () {
 		document.location.href='update://?link=https://play.google.com/store/apps/details?id=';