luodangjia
2024-07-29 dc9239d73b15b9a51c46a9e8d25c0d4400e613ce
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.core.exception.GlobalException;
import com.ruoyi.common.core.vo.Path;
import com.ruoyi.order.entity.*;
import com.ruoyi.order.request.OrderCountDataRequest;
import com.ruoyi.order.request.OrderRequest;
import com.ruoyi.order.request.OrderSubmitRequest;
import com.ruoyi.order.request.UserOrderRequest;
@@ -99,6 +100,18 @@
    }
    /**
     * 更改订单状态且清空到达时间
     */
    @ApiOperation(value = "订单列表-更改订单状态且清空到达时间", tags = {"后台-订单管理"})
    @PostMapping(value = "/updateStateAndArrivalTime")
    public R<Boolean> updateStateAndArrivalTime(@RequestParam("orderId") String orderId,
                                                @RequestParam("state") Integer state) {
        return R.ok(orderService.lambdaUpdate()
                .eq(Order::getId, orderId).set(Order::getState, state)
                .set(Order::getArriveTime, null).update());
    }
    /**
     * 更改订单提现状态
     */
    @ApiOperation(value = "订单列表-更改订单提现状态", tags = {"后台-订单管理"})
@@ -146,8 +159,16 @@
        } catch (Exception e) {
            bigDecimal = BigDecimal.ZERO;
        }
        return R.ok(orderService.lambdaUpdate()
                .eq(Order::getId, orderId).set(Order::getSubsidy, bigDecimal).update());
        Order order = orderService.lambdaQuery()
                .eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one();
        BigDecimal subsidy = order.getSubsidy();
        if (null == subsidy) {
            order.setSubsidy(bigDecimal);
        } else {
            BigDecimal add = order.getSubsidy().add(bigDecimal);
            order.setSubsidy(add);
        }
        return R.ok(orderService.updateById(order));
    }
    /**
@@ -235,6 +256,7 @@
        order.setSiteName(orderRequest.getSiteName());
        order.setServeId(orderRequest.getServeId());
        order.setServeName(orderRequest.getServeName());
        order.setServePrice(orderRequest.getServePrice());
        order.setSiteName(orderRequest.getSiteName());
        // 预约信息
        order.setReservationName(orderRequest.getReservationName());
@@ -292,24 +314,34 @@
    }
    /**
     * 订单列表-excel导出
     * 订单统计
     *
     * @param name  师傅姓名
     * @param phone 师傅电话
     * @param request 查询参数
     */
    @ApiOperation(value = "订单统计", tags = {"后台-订单管理"})
    @GetMapping(value = "/orderCount")
    @PostMapping(value = "/orderCount")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "师傅姓名", name = "name", dataType = "String"),
            @ApiImplicitParam(value = "师傅电话", name = "phone", dataType = "String"),
            @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
    })
    public R<Page<OrderCountVO>> orderCount(@RequestParam(value = "name", required = false) String name,
                                            @RequestParam(value = "phone", required = false) String phone,
                                            @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(orderService.orderCount(name, phone, Page.of(pageNum, pageSize)));
    public R<Page<OrderCountVO>> orderCount(@RequestBody OrderCountDataRequest request) {
        return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), request.getCityList(),
                Page.of(request.getPageNum(), request.getPageSize())));
    }
    /**
     * 判断用户是否下单
     *
     * @param userId 用户id
     */
    @GetMapping(value = "/orderByUserId")
    public R<Boolean> orderByUserId(@RequestParam("userId") Integer userId) {
        List<Order> list = orderService.lambdaQuery()
                .eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, Constants.ZERO).list();
        return R.ok(!list.isEmpty());
    }
    /**
@@ -338,11 +370,12 @@
            @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
    })
    public R<IPage<Order>> orderList(@RequestParam("userId") Integer userId,
    public R<Page<Order>> orderList(@RequestParam("userId") Integer userId,
                                     @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize)));
        Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
    /**
@@ -415,7 +448,6 @@
     */
    @ApiOperation(value = "已到达预约地点", tags = {"师傅端"})
    @GetMapping(value = "/reachPosition")
    @Transactional(rollbackFor = Exception.class)
    public R<Boolean> reachPosition(@RequestParam("orderId") String orderId, @RequestParam("workerId") Integer workerId) {
        Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getServerId, workerId)
                .eq(Order::getIsDelete, 0).one();
@@ -441,8 +473,7 @@
    public R<OrderDetailVO> orderDetail(@RequestParam("orderId") String orderId) {
        // 订单信息
        Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one();
        // 获取回收服务封面
        order.setReservationAddress(order.getReservationAddress() + order.getAddress());
        // 服务信息(服务备注、上门时间、完成时间、完成所拍现场照片)
        ServeRecord serveRecord = serveRecordService.lambdaQuery().eq(ServeRecord::getOrderId, orderId)
                .eq(ServeRecord::getIsDelete, 0).one();
@@ -548,7 +579,9 @@
                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        LambdaQueryChainWrapper<Order> wrapper = orderService.lambdaQuery()
                .eq(Order::getIsDelete, 0).eq(Order::getUserId, userId);
        if (state != -1) {
        if (state == 1 || state == 2) {
            wrapper.in(Order::getState, Constants.ONE, Constants.TWO);
        } else if (state != -1) {
            wrapper.eq(Order::getState, state);
        }
        return R.ok(wrapper.orderByDesc(Order::getCreateTime).page(Page.of(pageNum, pageSize)));