package com.stylefeng.guns.modular.crossCity.controller;
|
|
|
import com.stylefeng.guns.modular.crossCity.server.ILineSiteService;
|
import com.stylefeng.guns.modular.crossCity.warpper.LineSiteWarpper;
|
import com.stylefeng.guns.modular.crossCity.warpper.LocationWarpper;
|
import com.stylefeng.guns.modular.crossCity.warpper.SiteWarpper;
|
import com.stylefeng.guns.modular.system.service.IDriverService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 线路排班控制器
|
*/
|
@Api
|
@RestController
|
@RequestMapping("")
|
public class LineSiteController {
|
|
@Autowired
|
private ILineSiteService lineSiteService;
|
|
@Autowired
|
private IDriverService driverService;
|
|
|
/**
|
* 根据线路id获取线路排班数据
|
* @param lineId
|
* @param day
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/api/lineSite/queryDriver", method = RequestMethod.POST)
|
@ApiOperation(value = "根据线路id获取线路排班数据", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "线路id", name = "lineId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "查询天(2020-09-03)", name = "day", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<LineSiteWarpper>> queryDriver(Integer lineId, String day, HttpServletRequest request){
|
try {
|
Integer driverId = driverService.getUserIdFormRedis(request);
|
if(null == driverId){
|
return ResultUtil.tokenErr();
|
}
|
List<Map<String, Object>> list = lineSiteService.queryDriver(lineId, day, driverId);
|
return ResultUtil.success(LineSiteWarpper.getLineSiteWarppers(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 根据司机的排班id获取剩余座位数据
|
* @param id
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/api/lineSite/querySeat", method = RequestMethod.POST)
|
@ApiOperation(value = "根据司机的排班id获取剩余座位数据", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "司机排班id", name = "id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<BaseWarpper> querySeat(Integer id){
|
try {
|
Map<String, Object> map = lineSiteService.querySeat(id);
|
return ResultUtil.success(BaseWarpper.getBaseWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
/**
|
* 获取所有站点
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/api/lineSite/querySite", method = RequestMethod.POST)
|
@ApiOperation(value = "获取起点和终点的站点", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "起点站点id", name = "startSiteId", required = false, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<SiteWarpper>> querySite(Integer startSiteId){
|
try {
|
List<SiteWarpper> list = lineSiteService.querySite(startSiteId);
|
return ResultUtil.success(list);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
@ResponseBody
|
@RequestMapping(value = "/api/lineSite/queryLocation", method = RequestMethod.POST)
|
@ApiOperation(value = "根据站点id获取站点的区域范围数据(设置上车点和下车点)", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "站点id", name = "siteId", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<LocationWarpper>> queryLocation(Integer siteId){
|
try {
|
List<Map<String, Object>> list = lineSiteService.queryLocation(siteId);
|
return ResultUtil.success(LocationWarpper.getLocationWarppers(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 判断一个点是是否在区域范围内
|
* @param siteId
|
* @param code
|
* @param lonLat
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/api/lineSite/areaMonitoring", method = RequestMethod.POST)
|
@ApiOperation(value = "判断一个点是是否在区域范围内", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "站点id", name = "siteId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "行政区域编号(510100)", name = "code", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "经纬度", name = "lonLat", required = true, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil areaMonitoring(Integer siteId, Integer code, String lonLat){
|
try {
|
boolean b = lineSiteService.areaMonitoring(siteId, code, lonLat);
|
return ResultUtil.success(b ? 1 : -1);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
}
|