From 0c569ab4b38d972213eeaf7e8965f33f8ec650fd Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 05 十一月 2024 11:19:19 +0800 Subject: [PATCH] 11.5 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java | 67 ++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 14 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..2ac7dbb 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,20 @@ 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.feignClient.ExchangeDispatchClient; +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 +23,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.io.IOException; +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -35,7 +43,10 @@ private ExchangeDispatchClient dispatchClient; @Resource private MasterWorkerService masterWorkerService; - + @Resource + private TokenService tokenService; + @Resource + private FranchiseeService franchiseeService; /** * 订单改派分页列表 * @@ -49,13 +60,37 @@ @ApiImplicitParam(value = "师傅名称", name = "workerName", dataType = "String"), @ApiImplicitParam(value = "订单编号", name = "orderNumber", dataType = "String"), @ApiImplicitParam(value = "下单用户名称", name = "userName", 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, @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); + + 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 +109,7 @@ * * @param id 订单改派id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_detail") @ApiOperation(value = "订单改派详情", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/detail") @ApiImplicitParams({ @@ -89,7 +124,7 @@ * * @param ids 订单改派多条id拼接 */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_delete") @ApiOperation(value = "批量删除订单改派", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/batchDelete") @ApiImplicitParams({ @@ -104,7 +139,7 @@ * * @param id 改派申请记录id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_reject") @ApiOperation(value = "拒绝订单改派申请", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/refuse") @ApiImplicitParams({ @@ -120,7 +155,7 @@ * @param changeId 改派订单id * @param workerId 师傅id */ - @RequiresPermissions("reassignment_apply") + @RequiresPermissions("reassignment_reassignment") @ApiOperation(value = "订单改派师傅", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/changeWorker") @ApiImplicitParams({ @@ -136,12 +171,16 @@ 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, "您有一条新的订单,请注意查收!"); } + return R.ok(); +// try { +// WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId)); +// } catch (IOException e) { +// return R.fail("师傅不在线!"); +// } } return R.fail("订单推送异常!"); } -- Gitblit v1.7.1