luodangjia
2024-11-06 d6ef18f23c4b298cb9b977ab3a5d65e2f4a39fe2
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java
@@ -12,7 +12,9 @@
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;
@@ -24,6 +26,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -60,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();
@@ -75,6 +79,7 @@
        changeDispatchRequest.setWorkerName(workerName);
        changeDispatchRequest.setOrderNumber(orderNumber);
        changeDispatchRequest.setUserName(userName);
        changeDispatchRequest.setReservationAddress(reservationAddress);
        changeDispatchRequest.setPageNum(pageNum);
        changeDispatchRequest.setPageSize(pageSize);
        changeDispatchRequest.setCityList(cityList);
@@ -146,7 +151,8 @@
    public R<Boolean> refuse(@RequestParam("id") String id) {
        return dispatchClient.refuseChangeDispatch(id);
    }
    @Resource
    private OrderClient orderClient;
    /**
     * 订单改派师傅
     *
@@ -160,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) {
@@ -168,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));