From dc9239d73b15b9a51c46a9e8d25c0d4400e613ce Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 29 七月 2024 09:17:54 +0800
Subject: [PATCH] 7.29

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java |   69 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index c332288..c90541e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/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)));

--
Gitblit v1.7.1