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