From 7efbfadf902d77d3dc17d03b8261a65d2f214398 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 08 一月 2025 17:17:48 +0800
Subject: [PATCH] 11.6

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 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 2664537..520c342 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,15 +2,19 @@
 
 
 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.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;
@@ -22,6 +26,7 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -43,7 +48,8 @@
     private MasterWorkerService masterWorkerService;
     @Resource
     private TokenService tokenService;
-
+    @Resource
+    private FranchiseeService franchiseeService;
     /**
      * 订单改派分页列表
      *
@@ -57,10 +63,11 @@
             @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) {
         LoginUser loginUser = tokenService.getLoginUser();
@@ -72,9 +79,20 @@
         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);
     }
 
@@ -133,7 +151,8 @@
     public R<Boolean> refuse(@RequestParam("id") String id) {
         return dispatchClient.refuseChangeDispatch(id);
     }
-
+    @Resource
+    private OrderClient orderClient;
     /**
      * 订单改派师傅
      *
@@ -147,7 +166,8 @@
             @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "Integer", required = true),
             @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true)
     })
-    public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId) {
+    public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId,@RequestParam String orderId,@RequestParam String reason,
+                                  @RequestParam  String arriveTime) {
         MasterWorker masterWorker = masterWorkerService.lambdaQuery()
                 .eq(MasterWorker::getId, workerId).eq(MasterWorker::getIsDelete, 0).one();
         if (null == masterWorker) {
@@ -155,11 +175,17 @@
         }
         Boolean data = dispatchClient.changeWorker(changeId, workerId, masterWorker.getRealName(),
                 masterWorker.getPhone()).getData();
+
+
+
         if (null != data && data) {
             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));

--
Gitblit v1.7.1