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 |   54 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 38 insertions(+), 16 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 eab7821..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;
@@ -158,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));
     }
 
     /**
@@ -305,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());
     }
 
     /**
@@ -351,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);
     }
 
     /**
@@ -428,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();
@@ -454,6 +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();
@@ -559,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