BasicDataController.java 2.19 KB
package com.bsth.controller.realcontrol;

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

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.bsth.data.BasicData;

@RestController
@RequestMapping("/basic")
public class BasicDataController {

	
	@RequestMapping("/cars")
	public Iterable<String> findAllNbbm(Map<String, Object> map){
		return BasicData.deviceId2NbbmMap.values();
	}
	
	@RequestMapping("/nbbm2deviceId")
	public Map<String, String> nbbm2deviceId(Map<String, Object> map){
		return BasicData.deviceId2NbbmMap.inverse();
	}
	
	@RequestMapping("/lineCode2Name")
	public Map<String, String> findLineCodeMap(){
		return BasicData.lineCode2NameMap;
	}
	
	@RequestMapping("/parks")
	public Map<String, String> findParks(){
		Map<String, String> rs = new HashMap<>();
		List<String> codes = BasicData.parkCodeList;
		for(String code : codes){
			rs.put(code, BasicData.stationCode2NameMap.get(code));
		}
		return rs;
	}
	
	@RequestMapping("/personnel")
	public Map<String, Object> findPersonnelInfo(){
		Map<String, Object> rs = new HashMap<>();
		PersonnelFieldFilter filter=new PersonnelFieldFilter();
		//驾驶员
		rs.put("jsy", JSON.parse(JSON.toJSONString(BasicData.jsyMap.values(), filter)));
		//售票员
		rs.put("spy", JSON.parse(JSON.toJSONString(BasicData.spyMap.values(), filter)));
		return rs;
	}
	
	@RequestMapping("/all_personnel")
	public Map<String, String> all_personnel(){
		//Map<String, Object> rs = new HashMap<>();
		//PersonnelFieldFilter filter=new PersonnelFieldFilter();
		
		//rs.put("list", JSON.parse(JSON.toJSONString(BasicData.jsyMap.values(), filter)));
		return BasicData.allPerson;
	}
	

	public class PersonnelFieldFilter implements PropertyFilter{
		
		String[] whiteList=new String[]{"jobCode", "personnelName", "brancheCompany"};
		@Override
		public boolean apply(Object object, String name, Object value) {
			for(String f : whiteList){
				if(name.equals(f))
					return true;
			}
			return false;
		}
		
	}
}