package com.tsiwebserver.service;

import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;

import com.tsiwebserver.VO.*;
import com.tsiwebserver.pageService.PageClass;
import jdk.nashorn.internal.runtime.ParserException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public interface SystemManagementService {

	List<String> getCityName();

	List<String> getGuName(String city);

	List<String> getIntersection(String city,String gu);

	List<NodeVO> getSearchAll();

	List<NodeVO> getSearchWithCity(String city);

	List<NodeVO> getSearchWithCityAndGu(String city,String gu);

	List<NodeVO> getSearchWithCityAndGuAndIntersection(String city, String gu, String intersection);

	int insertNode(JSONArray array);

	List<String> getSearchAllNodeId();

	int nodeUpdate(JSONObject ob);

	int nodeMultiUpdate(JSONArray array);

	int nodeDelete(String nodeid);

	List<TscApiClientVO> getSearchConsumerAllData();

	List<TscApiClientVO> getSearchCompanyData(String company);

	List<String> getAllConsumerToken();

	int updateConsumer(JSONObject ob) throws Exception, ParserException;

	int addConsumer(JSONArray array) throws NoSuchAlgorithmException, UnsupportedEncodingException;

	int consumerDelete(String apitoken);

	List<Map<String, Object>> getAllRegion();

	List<AlarmConfigVO> getSearchAlarm();

	int updateAlarm(JSONArray array);

	List<Map<String, Object>> getApiAcl(String apiToken);

	List<BaseVO> getAllBase();

	List<BaseVO> getSearchAllBase(String city, String gu, String intersection, String nodeid);

	List<String> getBaseCityName();

	List<String> getBaseGuName(String city);

	List<String> getBaseIntersection(String city, String gu);

	List<String> getBaseNodeId();

	int insertBase(JSONArray array);

	int baseUpdate(JSONObject ob);

	int baseMultiUpdate(JSONArray array);

	int baseDelete(String nodeid);

	List<UserVO> getSearchUser();

	int addUser(JSONArray array);

	int updateUser(JSONObject ob);

	int deleteUser(String userId);

	List<LinkVO> getSearchAllLink();

	List<String> getSearchAllLinkId();

	int insertLink(JSONArray array);

	int linkDelete(String nodeid);

	List<String> getAllUserId();

	List<NodeVO> getNodeData(String city, String gu, String intersection);
}
