无关风月
49 分钟以前 b5ead35c1d955f2a0e2e10da79254860d0ba95e9
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;
/**
@@ -58,12 +61,16 @@
    @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) {
        LoginUser loginUser = tokenService.getLoginUser();
@@ -75,10 +82,12 @@
        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);
@@ -146,7 +155,8 @@
    public R<Boolean> refuse(@RequestParam("id") String id) {
        return dispatchClient.refuseChangeDispatch(id);
    }
    @Resource
    private OrderClient orderClient;
    /**
     * 订单改派师傅
     *
@@ -157,10 +167,15 @@
    @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) {
@@ -168,11 +183,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));