package com.stylefeng.guns.modular.system.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.DriverNote; import com.stylefeng.guns.modular.system.model.TOrder; import com.stylefeng.guns.modular.system.model.TOrderFile; import com.stylefeng.guns.modular.system.model.vo.OrderDetailVo; import com.stylefeng.guns.modular.system.model.vo.OrderInfoVo; import com.stylefeng.guns.modular.system.service.IDriverNoteService; import com.stylefeng.guns.modular.system.service.ITOrderFileService; import com.stylefeng.guns.modular.system.utils.tips.ErrorTip; import com.stylefeng.guns.modular.system.model.IndexInfo; import com.stylefeng.guns.modular.system.service.ITOrderService; import com.stylefeng.guns.modular.system.utils.tips.SuccessTip; 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.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; import java.util.Map; /** * 控制器 * * @author fengshuonan * @Date 2022-12-28 09:33:09 */ @Controller @Api(tags = "司机端主页") @RequestMapping("/api/index") public class IndexController extends BaseController { @Autowired private ITOrderService orderService; @Autowired private IDriverNoteService driverNoteService; @Autowired private ITOrderFileService orderFileService; /** * 获取首页信息 */ // @ApiOperation(value = "司机端-订单列表--in progress",notes="司机端-订单列表--in progress") // @ApiImplicitParams({ // @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), // @ApiImplicitParam(name = "id", value = "司机id", required = true, dataType = "int"), // @ApiImplicitParam(name = "containerNo", value = "货柜号", required = false, dataType = "String"), // @ApiImplicitParam(name = "date", value = "时间 2000-01-01", required = false, dataType = "String"), // @ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"), // @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"), // @ApiImplicitParam(name = "type", value = "1 in progree 2 wancheng", required = true, dataType = "int"), // }) // @GetMapping(value = "/index") // @ResponseBody // public Object list(int id,String containerNo,String date,int pageNumber,int pageSize,int type) { // Page orderInfoVoPage = new Page<>(pageNumber, pageSize); // String sTime = null; // String eTime =null; // if(ToolUtil.isNotEmpty(date)){ // sTime=date+" 00:00:01"; // eTime=date+" 23:59:59"; // } // List list = orderService.getOrderListIndex(orderInfoVoPage,id,containerNo,sTime,eTime,type); // return new SuccessTip(list); // } @ApiOperation(value = "司机端-订单列表--in progress",notes="司机端-订单列表--in progress") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "司机id", required = true, dataType = "int"), @ApiImplicitParam(name = "containerNo", value = "货柜号", required = false, dataType = "String"), @ApiImplicitParam(name = "date", value = "时间 2000-01-01", required = false, dataType = "String"), @ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"), @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"), @ApiImplicitParam(name = "type", value = "1 in progree 2 wancheng", required = true, dataType = "int"), }) @GetMapping(value = "/index") @ResponseBody public Object list(int id,String containerNo,String date,int pageNumber,int pageSize,int type) { Page orderInfoVoPage = new Page<>(pageNumber, pageSize); String sTime = null; String eTime =null; if(ToolUtil.isNotEmpty(date)){ sTime=date+" 00:00:01"; eTime=date+" 23:59:59"; } List list = orderService.getOrderListIndex(orderInfoVoPage,id,containerNo,sTime,eTime,type); System.out.println(list); return new SuccessTip(list); } /** * 获取订单详情 */ @ApiOperation(value = "司机端-订单列表--获取订单详情",notes="司机端-订单列表--获取订单详情") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "Long"), @ApiImplicitParam(name = "driverId", value = "司机id", required = true, dataType = "int"), }) @GetMapping(value = "/orderInfo") @ResponseBody public Object orderInfo(Long id,int driverId) { Map orderDetailVo = orderService.orderInfo(id,driverId); // 经纬度给上 return new SuccessTip(orderDetailVo); } /** * 获取订单attachment */ @ApiOperation(value = "司机端-订单列表--获取订单attachment",notes="司机端-订单列表--获取订单attachment") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "Long"), @ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"), @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"), }) @GetMapping(value = "/orderAttachment") @ResponseBody public Object orderAttachment(Long id,int pageNumber,int pageSize) { Page orderFilePage = new Page<>(pageNumber, pageSize); Page orderFilePage1 = orderFileService.selectPage(orderFilePage, new EntityWrapper().eq("order_id", id)); return new SuccessTip(orderFilePage1); } /** * 添加订单attachment */ @ApiOperation(value = "司机端-订单列表--添加订单attachment",notes="司机端-订单列表--添加订单attachment") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/addOrderAttachment") @ResponseBody public Object addOrderAttachment(@RequestBody TOrderFile tOrderFile) { if(tOrderFile.getCategory()!=4){ List tOrderFiles = orderFileService.selectList(new EntityWrapper().eq("order_id", tOrderFile.getOrderId()).eq("category", tOrderFile.getCategory())); if(tOrderFiles.size()>7){ return new ErrorTip(5010,"Upload a maximum of 8 photos"); } } orderFileService.insert(tOrderFile); return new SuccessTip(); } /** * 修改订单attachment */ @ApiOperation(value = "司机端-订单列表--修改订单attachment",notes="司机端-订单列表--修改订单attachment") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/updateOrderAttachment") @ResponseBody public Object updateOrderAttachment(@RequestBody TOrderFile tOrderFile) { orderFileService.updateById(tOrderFile); return new SuccessTip(); } /** * 删除订单attachment */ @ApiOperation(value = "司机端-订单列表--删除订单attachment",notes="司机端-订单列表--删除订单attachment") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "file id", required = true, dataType = "int"), }) @GetMapping(value = "/delOrderAttachment") @ResponseBody public Object delOrderAttachment( int id ) { orderFileService.deleteById(id); return new SuccessTip(); } /** * 获取订单note */ @ApiOperation(value = "司机端-订单列表--获取订单note/troble",notes="司机端-订单列表--获取订单note/troble") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "Long"), @ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"), @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"), @ApiImplicitParam(name = "type", value = "1 note 2 troble", required = true, dataType = "int"), }) @GetMapping(value = "/orderNote") @ResponseBody public Object orderNote(Long id,int pageNumber,int pageSize,int type) { Page driverNotePage = new Page<>(pageNumber, pageSize); Page driverNotes = driverNoteService.selectPage(driverNotePage,new EntityWrapper().eq("order_id", id).eq("type",type)); return new SuccessTip(driverNotes); } /** * 添加订单note */ @ApiOperation(value = "司机端-订单列表--添加订单note/troble",notes="司机端-订单列表--添加订单note/troble") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/addOrderNote") @ResponseBody public Object addOrderNote(@RequestBody DriverNote driverNote) { driverNote.setCreateTime(new Date()); driverNoteService.insert(driverNote); return new SuccessTip(); } /** * 修改订单note */ @ApiOperation(value = "司机端-订单列表--修改订单note/troble",notes="司机端-订单列表--修改订单note/troble") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/updateOrderNote") @ResponseBody public Object updateOrderNote(@RequestBody DriverNote driverNote) { Integer id = driverNote.getId(); if(ToolUtil.isEmpty(id)){ return new ErrorTip(5007,"ID can not be blank"); } driverNote.setCreateTime(new Date()); driverNoteService.updateById(driverNote); return new SuccessTip(); } /** * 删除订单note */ @ApiOperation(value = "司机端-订单列表--删除订单note/troble",notes="司机端-订单列表--删除订单note/troble") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "note id", required = true, dataType = "int"), }) @GetMapping(value = "/delOrderNote") @ResponseBody public Object delOrderNote( int id) { if(ToolUtil.isEmpty(id)){ return new ErrorTip(5007,"ID can not be blank"); } driverNoteService.deleteById(id); return new SuccessTip(); } @ApiOperation(value = "司机端-订单详情--滑动修改状态",notes="司机端-订单详情--滑动修改状态") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "Long"), @ApiImplicitParam(name = "driverId", value = "driverId", required = true, dataType = "int"), }) @GetMapping(value = "/nextStatus") @ResponseBody public Object nextStatus( Long id,int driverId) { System.out.println(id); System.out.println(driverId); List orders = orderService.selectList(new EntityWrapper().eq("nowDriverId", driverId).ne("id",id)); if(orders.size()>0){ return new ErrorTip(5008,"Please complete the last order"); } TOrder tOrder = orderService.selectById(id); tOrder.setNowDriverId(driverId); if(tOrder.getExamSite()!=null && tOrder.getType().equals("Live Unload")){ if(tOrder.getStatus().equals("0")){ tOrder.setStatus("2"); }else if(tOrder.getStatus().equals("2")){ tOrder.setStatus("3"); }else if(tOrder.getStatus().equals("3")){ tOrder.setStatus("4"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("4")){ tOrder.setStatus("12"); }else if(tOrder.getStatus().equals("12")){ tOrder.setStatus("13"); }else if(tOrder.getStatus().equals("13")){ tOrder.setStatus("14"); }else if(tOrder.getStatus().equals("14")){ tOrder.setStatus("5"); }else if(tOrder.getStatus().equals("5")){ tOrder.setStatus("6"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("6")){ tOrder.setStatus("7"); }else if(tOrder.getStatus().equals("7")){ tOrder.setStatus("8"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("8")){ tOrder.setStatus("9"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("9")){ tOrder.setStatus("10"); }else if(tOrder.getStatus().equals("10")){ tOrder.setStatus("11"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("11")){ tOrder.setStatus("18"); tOrder.setNowDriverId(0); tOrder.setOrderOkTime(new Date()); } }else if(tOrder.getExamSite()==null && tOrder.getType().equals("Live Unload")){ if(tOrder.getStatus().equals("0")){ tOrder.setStatus("2"); }else if(tOrder.getStatus().equals("2")){ tOrder.setStatus("3"); }else if(tOrder.getStatus().equals("3")){ tOrder.setStatus("4"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("4")){ tOrder.setStatus("5"); }else if(tOrder.getStatus().equals("5")){ tOrder.setStatus("6"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("6")){ tOrder.setStatus("7"); }else if(tOrder.getStatus().equals("7")){ tOrder.setStatus("8"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("8")){ tOrder.setStatus("9"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("9")){ tOrder.setStatus("10"); }else if(tOrder.getStatus().equals("10")){ tOrder.setStatus("11"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("11")){ tOrder.setStatus("18"); tOrder.setNowDriverId(0); tOrder.setOrderOkTime(new Date()); } }else if(tOrder.getExamSite()!=null && !tOrder.getType().equals("Live Unload")){ if(tOrder.getStatus().equals("0")){ tOrder.setStatus("2"); }else if(tOrder.getStatus().equals("2")){ tOrder.setStatus("3"); }else if(tOrder.getStatus().equals("3")){ tOrder.setStatus("4"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("4")){ tOrder.setStatus("12"); }else if(tOrder.getStatus().equals("12")){ tOrder.setStatus("13"); }else if(tOrder.getStatus().equals("13")){ tOrder.setStatus("14"); }else if(tOrder.getStatus().equals("14")){ tOrder.setStatus("5"); }else if(tOrder.getStatus().equals("5")){ tOrder.setStatus("6"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("6")){ tOrder.setStatus("7"); }else if(tOrder.getStatus().equals("7")){ tOrder.setStatus("8"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("8")){ tOrder.setStatus("9"); tOrder.setNowDriverId(0); tOrder.setOrderOkTime(new Date()); } }else { if(tOrder.getStatus().equals("0")){ tOrder.setStatus("2"); }else if(tOrder.getStatus().equals("2")){ tOrder.setStatus("3"); }else if(tOrder.getStatus().equals("3")){ tOrder.setStatus("4"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("4")){ tOrder.setStatus("5"); }else if(tOrder.getStatus().equals("5")){ tOrder.setStatus("6"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("6")){ tOrder.setStatus("7"); }else if(tOrder.getStatus().equals("7")){ tOrder.setStatus("8"); tOrder.setNowDriverId(0); }else if(tOrder.getStatus().equals("8")){ tOrder.setStatus("9"); tOrder.setNowDriverId(0); tOrder.setOrderOkTime(new Date()); } } orderService.updateById(tOrder); return new SuccessTip(); } }