package com.stylefeng.guns.modular.api; import com.stylefeng.guns.modular.system.service.IDispatchService; import com.stylefeng.guns.modular.system.service.IReassignService; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.ReassignInfoWarpper; import com.stylefeng.guns.modular.system.warpper.ReassignListWarpper; 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.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; 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("/api/reassign") public class ReassignController { @Autowired private IReassignService reassignService; @Autowired private IDispatchService dispatchService; /** * 调度端修改司机执行改派操作 * @param lineShiftId * @param time * @param driverId * @param orderIds * @param request * @return */ @ResponseBody @PostMapping("/dispatchReassign") @ApiOperation(value = "调度端修改司机执行改派操作", tags = {"调度端-排班管理"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "班次id", name = "lineShiftId", required = true, dataType = "int"), @ApiImplicitParam(value = "班次日期(2020-10-13)", name = "time", required = true, dataType = "string"), @ApiImplicitParam(value = "新司机id", name = "driverId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单id,多个以逗号分隔", name = "orderIds", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil dispatchReassign(Integer lineShiftId, String time, Integer driverId, String orderIds, HttpServletRequest request){ try { Integer uid = dispatchService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return reassignService.dispatchReassign(lineShiftId, time, driverId, orderIds, uid); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 获取改派的订单列表 * @param pageNum * @param size * @param request * @return */ @ResponseBody @PostMapping("/queryApplyReassignList") @ApiOperation(value = "获取申请改派的订单列表", tags = {"调度端-新改派订单", "调度端-改派记录"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"), @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), @ApiImplicitParam(value = "查询状态(1=待处理,2=已处理)", name = "state", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil> queryApplyReassignList(Integer state, Integer pageNum, Integer size, HttpServletRequest request){ try { Integer uid = dispatchService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } List> list = reassignService.queryApplyReassignList(state, uid, pageNum, size); return ResultUtil.success(ReassignListWarpper.getReassignListWarppers(list)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 获取改派详情 * @param id * @return */ @ResponseBody @PostMapping("/queryReassignInfo") @ApiOperation(value = "获取改派详情", 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 queryReassignInfo(Integer id){ try { Map map = reassignService.queryReassignInfo(id); return ResultUtil.success(ReassignInfoWarpper.getReassignInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 取消改派操作 * @param id * @param request * @return */ @ResponseBody @PostMapping("/cancelReassign") @ApiOperation(value = "取消改派操作", 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 cancelReassign(Integer id, HttpServletRequest request){ try { Integer uid = dispatchService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return reassignService.cancelReassign(id, uid); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 拒绝改派操作 * @param id * @param request * @return */ @ResponseBody @PostMapping("/refuseReassign") @ApiOperation(value = "拒绝改派操作", 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 refuseReassign(Integer id, HttpServletRequest request){ try { Integer uid = dispatchService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return reassignService.refuseReassign(id, uid); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 执行改派操作 * @param id * @param driverId * @param request * @return */ @ResponseBody @PostMapping("/executeReassign") @ApiOperation(value = "执行改派操作", tags = {"调度端-新改派订单"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "改派单id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil executeReassign(Integer id, Integer driverId, HttpServletRequest request){ try { Integer uid = dispatchService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return reassignService.executeReassign(id, driverId, uid); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } }