package com.dbs.mplus.service.mobile.helper;

import java.util.HashMap;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.dbs.mplus.exception.mobile.ApiCallException;
import com.dbs.mplus.service.api.MPlusApi;
import com.dbs.mplus.service.api.MPlusApiCallService;

/**
 * API를 wrapping하기 위한 클래스 
 * 도우미 기능 쪽에서 API 호출 서비스를 직접 호출해도 되지만 한번 더 추상화 하기 위함임 
 * 
 * 
 * @author hyeeun 
 *
 */
@Service 
public class HelperApiFacade {
	private final Logger logger = LoggerFactory.getLogger(this.getClass());
//	// 도우미에만 추가 
//	private final static String WEB_HELPER_PROCESS = "WEB_HELPER_PROCESS"; 
	// PUSH 전송 + 도우미에 추가 
	private final static String WEB_ADMIN_CONSOLE = "WEB_ADMIN_CONSOLE"; 
	@Autowired 
	private MPlusApiCallService apiCallService; 

	
	/**
	 * 탈퇴안내 
	 * @param userId
	 * @param message
	 */
	public void sendWithdrawal(String userId, String message) {
		// 맵 만들기 
		Map<String, Object> map = new HashMap<>(); 
		map.put("userId", userId); 
		map.put("pName", ""); 
		map.put("messageValue", message); 
		map.put("senderId", HelperApiFacade.WEB_ADMIN_CONSOLE); 
		map.put("stageOrder", "0"); // 아무것도 선택 안되게 
		
		try { 
			this.apiCallService.execute(MPlusApi.HELPERPUSH_WITHDRAWAL, map); 		
		}
		catch(ApiCallException ex) { 
			this.logger.error("Push 요청 실패", ex); 
		}			
	}
	
}
