From 1442f149019ee0590389abd7a88a79c4d9b59034 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 27 五月 2025 18:23:34 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java | 94 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 76 insertions(+), 18 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java index 07afa83..4d40e73 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java @@ -2,13 +2,22 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.admin.entity.Franchisee; import com.ruoyi.admin.entity.MasterWorker; +import com.ruoyi.admin.netty.NettyChannelMap; +import com.ruoyi.admin.netty.NettyWebSocketController; +import com.ruoyi.admin.service.FranchiseeService; import com.ruoyi.admin.service.MasterWorkerService; -import com.ruoyi.admin.sorcket.WebSocketServer; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.entity.ChangeDispatch; +import com.ruoyi.order.api.entity.Order; import com.ruoyi.order.api.feignClient.ExchangeDispatchClient; +import com.ruoyi.order.api.feignClient.OrderClient; +import com.ruoyi.order.api.request.ChangeDispatchRequest; +import com.ruoyi.system.api.model.LoginUser; +import io.netty.channel.ChannelHandlerContext; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -16,7 +25,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * <p> @@ -35,7 +46,10 @@ private ExchangeDispatchClient dispatchClient; @Resource private MasterWorkerService masterWorkerService; - + @Resource + private TokenService tokenService; + @Resource + private FranchiseeService franchiseeService; /** * 订单改派分页列表 * @@ -47,15 +61,43 @@ @GetMapping(value = "/page") @ApiImplicitParams({ @ApiImplicitParam(value = "师傅名称", name = "workerName", dataType = "String"), + @ApiImplicitParam(value = "预约人名称", name = "reservationName", dataType = "String"), @ApiImplicitParam(value = "订单编号", name = "orderNumber", dataType = "String"), @ApiImplicitParam(value = "下单用户名称", name = "userName", dataType = "String"), + @ApiImplicitParam(value = "下单用户手机号", name = "reservationPhone", dataType = "String"), + @ApiImplicitParam(value = "地址", name = "reservationAddress", dataType = "String"), @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true) }) - public R<Page<ChangeDispatch>> queryPageList(String workerName, String orderNumber, String userName, + public R<Page<ChangeDispatch>> queryPageList(String workerName, String orderNumber, String userName,String reservationAddress, + String reservationName,String reservationPhone, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { - return dispatchClient.queryPageList(workerName, orderNumber, userName, pageNum, pageSize); + LoginUser loginUser = tokenService.getLoginUser(); + List<String> cityList = new ArrayList<>(); + if (loginUser.getIsFranchisee()) { + cityList = loginUser.getCityList(); + } + ChangeDispatchRequest changeDispatchRequest = new ChangeDispatchRequest(); + changeDispatchRequest.setWorkerName(workerName); + changeDispatchRequest.setOrderNumber(orderNumber); + changeDispatchRequest.setUserName(userName); + changeDispatchRequest.setReservationAddress(reservationAddress); + changeDispatchRequest.setPageNum(pageNum); + changeDispatchRequest.setPageSize(pageSize); + changeDispatchRequest.setCityList(cityList); + changeDispatchRequest.setReservationName(reservationName); + changeDispatchRequest.setReservationPhone(reservationPhone); + Integer franchiseeId = loginUser.getSysUser().getFranchiseeId(); + if (franchiseeId!=null) { + Franchisee byId = franchiseeService.getById(franchiseeId); + String[] siteIds = byId.getSiteIds().split(","); + if (loginUser.getIsFranchisee() && siteIds.length == 0) { + return R.ok(new Page<ChangeDispatch>()); + } + changeDispatchRequest.setSiteIds(siteIds); + } + return dispatchClient.queryPageList(changeDispatchRequest); } /** @@ -74,7 +116,7 @@ * * @param id 订单改派id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_detail") @ApiOperation(value = "订单改派详情", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/detail") @ApiImplicitParams({ @@ -89,7 +131,7 @@ * * @param ids 订单改派多条id拼接 */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_delete") @ApiOperation(value = "批量删除订单改派", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/batchDelete") @ApiImplicitParams({ @@ -104,7 +146,7 @@ * * @param id 改派申请记录id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_reject") @ApiOperation(value = "拒绝订单改派申请", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/refuse") @ApiImplicitParams({ @@ -113,21 +155,27 @@ public R<Boolean> refuse(@RequestParam("id") String id) { return dispatchClient.refuseChangeDispatch(id); } - + @Resource + private OrderClient orderClient; /** * 订单改派师傅 * * @param changeId 改派订单id * @param workerId 师傅id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_reassignment") @ApiOperation(value = "订单改派师傅", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/changeWorker") @ApiImplicitParams({ - @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "Integer", required = true), - @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true) + @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "String", required = true), + @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "String", required = true), + @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true), + @ApiImplicitParam(value = "时间", name = "arriveTime", dataType = "String", required = true), }) - public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId) { + public R<String> changeWorker(@RequestParam String changeId, + @RequestParam String orderId, + @RequestParam Integer workerId, + @RequestParam String arriveTime) { MasterWorker masterWorker = masterWorkerService.lambdaQuery() .eq(MasterWorker::getId, workerId).eq(MasterWorker::getIsDelete, 0).one(); if (null == masterWorker) { @@ -135,13 +183,23 @@ } Boolean data = dispatchClient.changeWorker(changeId, workerId, masterWorker.getRealName(), masterWorker.getPhone()).getData(); + + + if (null != data && data) { - try { - WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId)); - return R.ok(); - } catch (IOException e) { - return R.fail("师傅不在线!"); + ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(workerId)); + if (null != context) { + NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!"); } + +// dispatchClient.changeReason(orderId, reason); + orderClient.updateArrivalTime(orderId,arriveTime); + return R.ok(); +// try { +// WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId)); +// } catch (IOException e) { +// return R.fail("师傅不在线!"); +// } } return R.fail("订单推送异常!"); } -- Gitblit v1.7.1