mitao
2024-09-04 ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -1,31 +1,43 @@
package com.ruoyi.order.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
import com.ruoyi.common.core.vo.AddressDto;
import com.ruoyi.common.core.vo.PaperInVo;
import com.ruoyi.common.core.vo.Path;
import com.ruoyi.order.entity.*;
import com.ruoyi.order.entity.ChangeDispatch;
import com.ruoyi.order.entity.Evaluate;
import com.ruoyi.order.entity.Order;
import com.ruoyi.order.entity.ServeCoordinate;
import com.ruoyi.order.entity.ServeRecord;
import com.ruoyi.order.request.OrderCountDataRequest;
import com.ruoyi.order.request.OrderRequest;
import com.ruoyi.order.request.OrderSubmitRequest;
import com.ruoyi.order.request.UserOrderRequest;
import com.ruoyi.order.service.*;
import com.ruoyi.order.vo.*;
import com.ruoyi.order.service.ChangeDispatchService;
import com.ruoyi.order.service.EvaluateService;
import com.ruoyi.order.service.OrderService;
import com.ruoyi.order.service.ServeCoordinateService;
import com.ruoyi.order.service.ServeRecordService;
import com.ruoyi.order.vo.MoneyQueryRequest;
import com.ruoyi.order.vo.OrderCountRequest;
import com.ruoyi.order.vo.OrderCountVO;
import com.ruoyi.order.vo.OrderDetailVO;
import com.ruoyi.order.vo.OrderPageCountVO;
import com.ruoyi.order.vo.OrderQueryRequest;
import com.ruoyi.order.vo.OrderResultVO;
import com.ruoyi.order.vo.WorkerOrderCountVO;
import com.ruoyi.order.vo.WorkerOrderRankVO;
import com.ruoyi.user.api.feignClient.UserClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
@@ -34,6 +46,14 @@
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
@@ -105,6 +125,36 @@
        return R.ok(orderService.lambdaUpdate()
                .eq(Order::getId, orderId).set(Order::getState, state).update());
    }
    @ApiOperation(value = "订单列表-增加打印次数", tags = {"后台-订单管理"})
    @PostMapping(value = "/count")
    public R<Boolean> count(@RequestParam("orderId") String orderId) {
        Order byId = orderService.getById(orderId);
        byId.setPrintCount(byId.getPrintCount()==null?1:byId.getPrintCount()+1);
        orderService.updateById(byId);
        return R.ok();
    }
    /**
     * 增加发送短信次数
     * @param orderId 订单id
     */
    @ApiOperation(value = "订单列表-增加发送短信次数", tags = {"后台-订单管理"})
    @PostMapping(value = "/msgCount")
    public R<?> messageCount(@RequestParam("orderId") String orderId) {
        orderService.messageCount(orderId);
        return R.ok();
    }
    @ApiOperation(value = "订单列表-获取入库单", tags = {"后台-订单管理"})
    @PostMapping(value = "/papercount")
    public R<List<PaperInVo>> inpaper(@RequestParam("workId") String workId,@RequestParam("date") String date) {
        List<PaperInVo>  paper =   orderService.papercout(workId,date);
        return R.ok(paper);
    }
    /**
     * 更改订单状态且清空到达时间
@@ -291,6 +341,7 @@
        order.setTime(orderRequest.getTime());
        order.setAcceptTime(orderRequest.getAcceptTime());
//        order.setAcceptTime(new Date());
        // 师傅信息
        order.setServerId(orderRequest.getServerId());
        order.setServerName(orderRequest.getServerName());
@@ -310,6 +361,8 @@
        order.setIsEvaluate(Constants.ZERO);
        order.setCityCode(orderRequest.getCityCode());
        order.setOrderMoney(orderRequest.getOrderMoney());
        order.setProvinceCode(orderRequest.getProvinceCode());
        order.setAreaCode(orderRequest.getAreaCode());
        return R.ok(orderService.save(order));
    }
@@ -376,6 +429,8 @@
        if (order.getSubsidy()!=null){
            order.setOrderMoney(order.getServePrice().add(order.getSubsidy()));
        }
        order.setProvinceCode(orderRequest.getProvinceCode());
        order.setAreaCode(orderRequest.getAreaCode());
        return R.ok(orderService.updateById(order));
    }
@@ -394,6 +449,12 @@
        List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
        List<Order> list = orderService.lambdaQuery().in(Order::getId, idList).list();
        list.forEach(data -> data.setIsDelete(1));
        List<ChangeDispatch> list1 = changeDispatchService.lambdaQuery().in(ChangeDispatch::getOrderId, idList).list();
        if (!list1.isEmpty()) {
            list1.forEach(data -> data.setIsDelete(1));
            changeDispatchService.updateBatchById(list1);
        }
        return R.ok(orderService.updateBatchById(list));
    }
@@ -450,6 +511,33 @@
        return R.ok(orderService.orderCountHome(orderCount));
    }
    //获取师傅当天的订单
    @PostMapping(value = "/workday")
    public R<List<Order>> workday(@RequestBody Integer workId) {
        // 获取当前日期
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // 使用 format 方法将 LocalDate 对象转换为字符串
        String formattedToday = LocalDate.now().format(formatter);
        System.out.println(formattedToday); // 输出:2023-09-12(假设今天是2023年9月12日)
// 构建 Lambda 查询条件
        LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper
                .eq(Order::getTime, formattedToday) // 当天开始时间
               ; // 当天结束时间
// 执行查询
        List<Order> orders = orderService.list(queryWrapper.eq(Order::getServerId,workId));
// 处理查询结果
        for (Order order : orders) {
            System.out.println(order);
        }
        return R.ok(orders);
    }
    /**
     * 用户所关联订单记录分页列表
     *
@@ -681,7 +769,14 @@
                .orderByAsc("CASE WHEN topSort IS NULL THEN 1 ELSE 0 END")
                .orderByAsc("topSort");
        return R.ok(orderService.list(wrapper));
        List<Order> list = orderService.list(wrapper);
        for (Order order : list) {
            if (order.getAcceptTime()==null){
                order.setAcceptTime(order.getCreateTime());
            }
        }
        return R.ok(list);
    }