| | |
| | | import com.ruoyi.admin.service.ChangeDispatchService; |
| | | import com.ruoyi.admin.service.MasterWorkerService; |
| | | import com.ruoyi.admin.service.OrderService; |
| | | import com.ruoyi.admin.sorcket.WebSocketServer; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 订单改派 -远程调用 |
| | | * |
| | | * @param changeDispatch 订单改派信息 |
| | | */ |
| | | @ApiOperation(value = "新增订单改派", tags = {"后台-系统设置-订单改派管理"}) |
| | | @PostMapping(value = "/changeDispatchSave") |
| | | public R<Boolean> changeDispatchSave(@RequestBody ChangeDispatch changeDispatch) { |
| | | return R.ok(changeDispatchService.save(changeDispatch)); |
| | | } |
| | | |
| | | /** |
| | | * 订单改派详情 |
| | | * |
| | | * @param id 订单改派id |
| | |
| | | @ApiImplicitParam(value = "订单改派id", name = "id", dataType = "Integer", required = true) |
| | | }) |
| | | public R<ChangeDispatch> one(@RequestParam("id") Integer id) { |
| | | ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery() |
| | | .eq(ChangeDispatch::getOrderId, id) |
| | | .eq(ChangeDispatch::getState, Constants.ZERO) |
| | | .one(); |
| | | return R.ok(changeDispatch); |
| | | } |
| | | |
| | | /** |
| | | * 订单改派详情 远程调用 |
| | | * |
| | | * @param id 订单id |
| | | */ |
| | | @GetMapping(value = "/changeDispatchOne") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单改派id", name = "id", dataType = "Integer", required = true) |
| | | }) |
| | | public R<ChangeDispatch> changeDispatchOne(@RequestParam("id") Integer id) { |
| | | ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery() |
| | | .eq(ChangeDispatch::getOrderId, id) |
| | | .eq(ChangeDispatch::getState, Constants.ZERO) |
| | |
| | | if (null == order) { |
| | | throw new GlobalException("订单不存在!"); |
| | | } |
| | | // 判断订单状态 |
| | | if (!Constants.ZERO.equals(order.getState())) { |
| | | throw new GlobalException("订单已有师傅正在处理!"); |
| | | } |
| | | MasterWorker masterWorker = masterWorkerService.lambdaQuery().eq(MasterWorker::getId, workerId) |
| | | .eq(MasterWorker::getIsDelete, 0).one(); |
| | | // 师傅信息 |
| | |
| | | // 改派信息 |
| | | boolean update = changeDispatchService.lambdaUpdate().set(ChangeDispatch::getState, 1) |
| | | .eq(ChangeDispatch::getId, changeId).eq(ChangeDispatch::getIsDelete, 0).update(); |
| | | return orderUpdate && save && update ? R.ok() : R.fail(); |
| | | try { |
| | | WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId)); |
| | | return orderUpdate && save && update ? R.ok() : R.fail(); |
| | | } catch (IOException e) { |
| | | return R.fail("师傅不在线!"); |
| | | } |
| | | } |
| | | |
| | | } |