LsSectionRouteController.java 5.19 KB
package com.bsth.controller;

import com.bsth.common.ResponseCode;
import com.bsth.entity.LsSectionRoute;
import com.bsth.entity.LsStationRoute;
import com.bsth.entity.SectionRoute;
import com.bsth.service.LsSectionRouteService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

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

/**
 * 
 * @ClassName: SectionRouteController(路段路由控制器)
 * 
 * @Extends : BaseController
 * 
 * @Description: TODO(路段路由控制层)
 * 
 * @Author bsth@lq
 * 
 * @Date 2016年05月03日 上午9:21:17
 *
 * @Version 公交调度系统BS版 0.1
 * 
 */

@RestController
@RequestMapping("/api/lssectionroute")
public class LsSectionRouteController extends BaseController<LsSectionRoute, Integer> {

	private final static Logger log = LoggerFactory.getLogger(LsSectionRouteController.class);
	
	@Autowired
	private LsSectionRouteService lsSectionRouteService;

	@RequestMapping(value = "/findSectionRoutes" , method = RequestMethod.GET)
	public  List<LsSectionRoute> findSectionRoutes(@RequestParam Map<String, Object> map) {
		map.put("destroy_eq", 0);
		if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
			throw new IllegalArgumentException("需正确传入线路、版本参数");
		}

		return lsSectionRouteService.findSectionRoutes(map);
	}

	@RequestMapping(value = "/findPageByParams", method = RequestMethod.GET)
	public Page<LsSectionRoute> findPageByParams(@RequestParam Map<String, Object> params) {
		int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString());
		int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString());
		String order = params.get("order").toString(), direction = params.get("direction").toString();

		return super.list(params, page, size, order, direction);
	}

	/**
	 * @param id
	 * @throws
	 * @Description: TODO(批量撤销路段)
	 */
	@RequestMapping(value = "/destroy", method = RequestMethod.POST)
	public Map<String, Object> destroy(Integer id) {
		Map<String, Object> result = new HashMap<>();
		try {
			lsSectionRouteService.batchDestroy(Arrays.asList(id));
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
			result.put("status", ResponseCode.ERROR);
			log.error("", e);
		}

		return result;
	}

	/**
     * @param ids
     * @throws
     * @Description: TODO(批量撤销路段)
     */
    @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
    public Map<String, Object> batchDestroy(@RequestParam(value = "ids[]") List<Integer> ids) {
    	Map<String, Object> result = new HashMap<>();
    	try {
			lsSectionRouteService.batchDestroy(ids);
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
    		result.put("status", ResponseCode.ERROR);
    		log.error("", e);
		}

    	return result;
    }

	/**
	 * @param ids
	 * @throws
	 * @Description: TODO(批量恢复撤销站点)
	 */
	@RequestMapping(value = "/batchRecover", method = RequestMethod.POST)
	public Map<String, Object> batchRecover(@RequestParam(value = "ids[]") List<Integer> ids) {
		Map<String, Object> result = new HashMap<>();
		try {
			lsSectionRouteService.batchRecover(ids);
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
			result.put("status", ResponseCode.ERROR);
			result.put("msg", e.getMessage());
			log.error("", e);
		}

		return result;
	}

	/**
	 * @param lineId
	 * @param version
	 * @param direction
	 * @param otherDirection
	 * @throws
	 * @Description: 引用另一上下行路段
	 */
	@RequestMapping(value = "/quoteOtherSide", method = RequestMethod.POST)
	public Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection) {
		Map<String, Object> result = new HashMap<>();
		try {
			lsSectionRouteService.quoteOtherSide(lineId, version, direction, otherDirection);
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
			result.put("status", ResponseCode.ERROR);
			log.error("", e);
		}

		return result;
	}

	@RequestMapping(value = "/add", method = RequestMethod.POST)
	public Map<String, Object> add(LsSectionRoute sectionRoute) {
		Map<String, Object> result = new HashMap<>();
		try {
			lsSectionRouteService.add(sectionRoute);
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
			result.put("status", ResponseCode.ERROR);
			result.put("msg", e.getMessage());
			log.error("", e);
		}

		return result;
	}

	@RequestMapping(value = "/modify", method = RequestMethod.POST)
	public Map<String, Object> modify(LsSectionRoute sectionRoute) {
		Map<String, Object> result = new HashMap<>();
		try {
			lsSectionRouteService.modify(sectionRoute);
			result.put("status", ResponseCode.SUCCESS);
		} catch (Exception e) {
			result.put("status", ResponseCode.ERROR);
			result.put("msg", e.getMessage());
			log.error("", e);
		}

		return result;
	}
}