From 89351ad17c81b37495f21d4dfbf28f0d306a155a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 22 十月 2025 18:23:05 +0800
Subject: [PATCH] 虚拟号修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java |  140 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 128 insertions(+), 12 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 4269671..05cfac3 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.constant.Constants;
@@ -48,6 +49,7 @@
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -130,6 +132,47 @@
                 .eq(Order::getId, orderId).set(Order::getState, state).update());
     }
 
+    /**
+     * 更改订单虚拟童话绑定id
+     */
+    @ApiOperation(value = "订单列表-设置虚拟号码绑定id", tags = {"后台-订单管理"})
+    @GetMapping(value = "/updateSubscriptionId")
+    public R<Boolean> updateSubscriptionId(@RequestParam("orderId") String orderId,
+                                           @RequestParam("subscriptionId")String subscriptionId,
+                                           @RequestParam("virtualNumber")String virtualNumber) {
+        // 修改订单设置绑定id
+        orderService.lambdaUpdate().eq(Order::getId, orderId)
+                .set(Order::getSubscriptionId, subscriptionId)
+                .set(Order::getVirtualNumber, virtualNumber)
+                .update();
+        return R.ok();
+    }
+    /**
+     * 更改订单虚拟童话录音
+     */
+    @ApiOperation(value = "订单列表-设置虚拟号码绑定id", tags = {"后台-订单管理"})
+    @GetMapping(value = "/updatePhoneRecording")
+    public R<Boolean> updatePhoneRecording(@RequestParam("orderId") String orderId,
+                                           @RequestParam("audioUrl")String audioUrl) {
+        // 修改订单设置绑定id
+        orderService.lambdaUpdate().eq(Order::getId, orderId)
+                .set(Order::getPhoneRecording, audioUrl)
+                .update();
+        return R.ok();
+    }
+
+    /**
+     * 通过subscriptionId查询订单详情
+     */
+    @ApiOperation(value = "订单列表-通过subscriptionId查询订单详情", tags = {"后台-订单管理"})
+    @GetMapping(value = "/detailBySubscriptionId")
+    public R<Order> detailBySubscriptionId(@RequestParam("subscriptionId")String subscriptionId) {
+        // 通过subscriptionId查询订单详情
+        Order order = orderService.getOne(Wrappers.lambdaQuery(Order.class)
+                    .eq(Order::getSubscriptionId, subscriptionId)
+                    .last("LIMIT 1"));
+        return R.ok(order);
+    }
 
     @ApiOperation(value = "订单列表-增加打印次数", tags = {"后台-订单管理"})
     @PostMapping(value = "/count")
@@ -312,8 +355,8 @@
             order.setServerPhone(phone);
             orderService.updateById(order);
         }
-        List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, orderId).list();
-        changeDispatchService.removeBatchByIds(list);
+//        List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, orderId).list();
+//        changeDispatchService.removeBatchByIds(list);
         return R.ok(order);
     }
 
@@ -327,7 +370,7 @@
      */
     @ApiOperation(value = "订单列表-新增订单", tags = {"后台-订单管理"})
     @PostMapping(value = "/save")
-    public R<Boolean> save(@RequestBody OrderRequest orderRequest) {
+    public R<String> save(@RequestBody OrderRequest orderRequest) {
 
         R<BigDecimal> servePrice = userClient.getServePrice(orderRequest.getServeId(), orderRequest.getCityCode());
         if (servePrice.getData()!=null){
@@ -375,7 +418,9 @@
         order.setOrderMoney(orderRequest.getOrderMoney());
         order.setProvinceCode(orderRequest.getProvinceCode());
         order.setAreaCode(orderRequest.getAreaCode());
-        return R.ok(orderService.save(order));
+        order.setIsOpenVirtualNumber(orderRequest.getIsOpenVirtualNumber());
+        orderService.save(order);
+        return R.ok(order.getId(),"新增成功");
     }
 
 
@@ -400,8 +445,8 @@
                         ).set(Order::getArriveTime, null).update();
 
                 //删除改派管理的订单
-                List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, order.getId()).list();
-                changeDispatchService.removeBatchByIds(list);
+//                List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, order.getId()).list();
+//                changeDispatchService.removeBatchByIds(list);
 
             }
 //        }
@@ -448,6 +493,22 @@
         order.setProvinceCode(orderRequest.getProvinceCode());
         order.setAreaCode(orderRequest.getAreaCode());
         return R.ok(orderService.updateById(order));
+    }
+
+    /**
+     * 批量修改订单时间
+     * @param ids 站点多条id拼接
+     */
+    @ApiOperation(value = "订单列表-批量修改订单时间", tags = {"后台-订单管理[2.0]"})
+    @GetMapping(value = "/batchUpdateTime")
+    public R<Boolean> batchUpdateTime(@RequestParam("ids") String ids, @RequestParam("time") String time) {
+        List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
+        List<Order> list = orderService.lambdaQuery().in(Order::getId, idList).list();
+        if (!CollectionUtils.isEmpty(list)) {
+            list.forEach(data -> data.setTime(time));
+            orderService.updateBatchById(list);
+        }
+        return R.ok();
     }
 
 
@@ -514,6 +575,14 @@
                 .eq(Order::getUserId, userId)
                 .eq(Order::getIsDelete, Constants.ZERO).list();
         return R.ok(!list.isEmpty());
+    }
+
+    @GetMapping(value = "/updateArrivalTime")
+    public R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")String arriveTime) {
+        Order byId = orderService.getById(orderId);
+        byId.setTime(arriveTime);
+        orderService.updateById(byId);
+        return R.ok();
     }
 
     /**
@@ -584,7 +653,8 @@
                                      @RequestParam("siteIds") List<String> siteIds
     ) {
         Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId)
-                .eq(Order::getIsDelete, 0).in(!siteIds.isEmpty(),Order::getSiteId, siteIds).in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
+                .eq(Order::getIsDelete, 0)
+                .in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
         return R.ok(page);
     }
 
@@ -623,10 +693,10 @@
      */
     @ApiOperation(value = "师傅端-订单列表", tags = {"师傅端"})
     @GetMapping(value = "/orderListWorker")
-    public R<Page<Order>> orderListWorker(@RequestParam("userId") Integer userId, @RequestParam("state") Integer state,
+    public R<Page<Order>> orderListWorker(@RequestParam("userId") Integer userId, @RequestParam("state") Integer state,@RequestParam("searchValues") String searchValues,
                                           @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                           @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
-        return R.ok(orderService.orderListWorker(userId, state, pageNum, pageSize));
+        return R.ok(orderService.orderListWorker(userId, state, searchValues,pageNum, pageSize));
     }
 
     /**
@@ -717,7 +787,7 @@
     @ApiOperation(value = "订单完工-提交订单", tags = {"师傅端-订单列表"})
     @PostMapping(value = "/orderSubmit")
     @Transactional(rollbackFor = Exception.class)
-    public R<Boolean> orderSubmit(@RequestBody OrderSubmitRequest orderSubmitRequest) {
+    public R<String> orderSubmit(@RequestBody OrderSubmitRequest orderSubmitRequest) {
         // 订单信息
         Order order = orderService.lambdaQuery().eq(Order::getId, orderSubmitRequest.getOrderId())
                 .eq(Order::getIsDelete, 0).one();
@@ -728,6 +798,7 @@
         order.setCompleteTime(new Date());
         order.setState(Constants.THREE);
         order.setFake(orderSubmitRequest.getFake());
+        order.setRemark(orderSubmitRequest.getRemark());
         boolean update = orderService.updateById(order);
         // 服务记录
         ServeRecord serveRecord = new ServeRecord();
@@ -737,7 +808,10 @@
         serveRecord.setCardPic(orderSubmitRequest.getCardPic());
         serveRecord.setMachinePic(orderSubmitRequest.getMachinePic());
         boolean save = serveRecordService.save(serveRecord);
-        return R.ok(update && save);
+        if(update && save){
+            return R.ok(order.getSubscriptionId(), "订单提交成功!");
+        }
+        return R.ok();
     }
 
     /**
@@ -781,7 +855,7 @@
 
         QueryWrapper<Order> wrapper = new QueryWrapper<>();
         wrapper.eq("server_id", workerId)
-                .in("state", 1, 2)
+                .in("state", 1, 2,7)
                 .eq("is_delete", Constants.ZERO)
                 .eq("DATE(time)", todayStr)  // 添加这一行来筛选当天的订单
                 .orderByAsc("CASE WHEN topSort IS NULL THEN 1 ELSE 0 END")
@@ -855,4 +929,46 @@
         return R.ok(orderService.placeOrder(userOrderRequest));
     }
 
+    /**
+     * 师傅端-打电话
+     */
+    @ApiOperation(value = "打电话", tags = {"师傅端-打电话[2.0]"})
+    @GetMapping(value = "/call")
+    public R<String> call(@RequestParam("orderId") String orderId) {
+        Order order = orderService.getById(orderId);
+        if(Objects.isNull(order)){
+            return R.fail("订单不存在");
+        }
+        if(order.getState() == 7){
+            order.setState(1);
+            orderService.updateById(order);
+        }
+        return R.ok();
+    }
+    /**
+     * 领取补贴金
+     */
+    @GetMapping(value = "/receiving")
+    public R<String> receiving(@RequestParam("orderId")String orderId, @RequestParam("recycleSubsidy")BigDecimal recycleSubsidy) {
+        Order order = orderService.getById(orderId);
+        if(Objects.isNull(order)){
+            return R.fail("订单不存在");
+        }
+        order.setSubsidy(recycleSubsidy);
+        order.setOrderMoney(order.getOrderMoney().add(recycleSubsidy));
+        orderService.updateById(order);
+        return R.ok();
+    }
+
+    /**
+     * 领取补贴金
+     */
+    @GetMapping(value = "/getTodayOrderData")
+    public R<List<Order>> getTodayOrderData() {
+        List<Order> orders = orderService.list(Wrappers.lambdaQuery(Order.class)
+                .eq(Order::getTime, LocalDate.now())
+                .eq(Order::getIsDelete, 0));
+        return R.ok(orders);
+    }
+
 }

--
Gitblit v1.7.1