浏览代码

新增订单挂起

fgd 1 年之前
父节点
当前提交
90f72c404c

+ 18 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderController.java

@@ -166,4 +166,22 @@ public class OrderController {
     public void saveOrderDeliveryCode(@RequestBody OrderInfoDto orderDto) {
         orderService.saveOrderDeliveryCode(orderDto);
     }
+
+    /**
+     * 挂起订单
+     */
+    @PostMapping("/suspendOrder")
+    public void suspendOrder(@RequestBody BaseSelectDto dto) {
+        orderService.suspendOrder(dto.getId());
+    }
+
+
+    /**
+     * 取消挂起订单
+     */
+    @PostMapping("/cancelSuspendOrder")
+    public void cancelSuspendOrder(@RequestBody BaseSelectDto dto) {
+        orderService.cancelSuspendOrder(dto.getId());
+    }
+
 }

+ 1 - 0
sd-business/src/main/java/com/sd/business/entity/order/enums/OrderStatusEnum.java

@@ -19,6 +19,7 @@ public enum OrderStatusEnum {
     IN_PRODUCTION(30, "生产中"),
     COMPLETION_PRODUCTION(40, "生产完成"),
     HAVE_BEEN_SHIPPED(50, "已发货"),
+    SUSPEND(60, "挂起"),
 
     ;
 

+ 12 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderService.java

@@ -128,4 +128,16 @@ public interface OrderService extends BaseService<OrderInfo> {
      * @param dto
      */
     void saveOrderDeliveryCode(OrderInfoDto dto);
+
+    /**
+     * 挂起订单
+     * @param id
+     */
+    void suspendOrder(Long id);
+
+    /**
+     * 取消挂起订单
+     * @param id
+     */
+    void cancelSuspendOrder(Long id);
 }

+ 21 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -125,6 +125,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
     @Override
     public Page<OrderInfoVo> getPage(OrderSelectDto dto) {
         IWrapper<OrderInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("if(o.status = 60, 1, 0)");
         wrapper.orderByDesc("o", OrderInfo::getId);
         wrapper.eq("d", Department::getId, dto.getDepartmentId());
         wrapper.like("d", Department::getName, dto.getDepartmentName());
@@ -857,6 +858,26 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
                 .eq(BaseIdPo::getId, dto.getId()));
     }
 
+    @Override
+    public void suspendOrder(Long id) {
+        OrderInfo orderInfo = this.getById(id);
+        if (orderInfo == null) {
+            throw new ServiceException("未找到订单");
+        }
+        this.update(q -> q.set(OrderInfo::getStatus, OrderStatusEnum.SUSPEND.getKey())
+                .eq(BaseIdPo::getId, id));
+    }
+
+    @Override
+    public void cancelSuspendOrder(Long id) {
+        OrderInfo orderInfo = this.getById(id);
+        if (orderInfo == null) {
+            throw new ServiceException("未找到订单");
+        }
+        this.update(q -> q.set(OrderInfo::getStatus, OrderStatusEnum.STOCK_PREPARATION.getKey())
+                .eq(BaseIdPo::getId, id));
+    }
+
     /**
      * 删除订单以及订单关联数据
      */