3
3
import com .baomidou .mybatisplus .core .conditions .query .QueryWrapper ;
4
4
import com .baomidou .mybatisplus .core .metadata .IPage ;
5
5
import com .baomidou .mybatisplus .extension .plugins .pagination .Page ;
6
+ import com .ordersystem .data .ReturnData ;
7
+ import com .ordersystem .entity .Account ;
6
8
import com .ordersystem .entity .Order ;
9
+ import com .ordersystem .entity .OrderSub ;
10
+ import com .ordersystem .entity .dto .OrderBuyNowDto ;
7
11
import com .ordersystem .entity .dto .OrderDto ;
8
12
import com .ordersystem .mapper .OrderMapper ;
13
+ import com .ordersystem .mapper .OrderSubMapper ;
9
14
import com .ordersystem .service .GeneralService ;
15
+ import com .ordersystem .util .SnowFlake ;
10
16
import org .springframework .beans .factory .annotation .Autowired ;
11
17
import org .springframework .stereotype .Service ;
12
18
@@ -24,6 +30,14 @@ public class OrderService implements GeneralService<Order> {
24
30
@ SuppressWarnings ("all" )
25
31
OrderMapper orderMapper ;
26
32
33
+ @ Autowired
34
+ OrderSubService orderSubService ;
35
+
36
+ @ Autowired
37
+ AccountService accountService ;
38
+
39
+ @ Autowired
40
+ SnowFlake snowFlake ;
27
41
28
42
@ Override
29
43
public Order selectOneByWrapper (Order order ) {
@@ -57,9 +71,41 @@ public OrderDto getOrderDetail(Integer orderId) {
57
71
return orderMapper .getOrderDetail (orderId );
58
72
}
59
73
60
- public IPage <Order > innitSlide (Page <Order > page , Order order ) {
74
+ public IPage <Order > innitOrder (Page <Order > page , Order order ) {
61
75
QueryWrapper <Order > queryWrapper = new QueryWrapper <>();
62
76
queryWrapper .setEntity (order );
77
+ queryWrapper .orderByDesc ("createTime" );
63
78
return orderMapper .selectPage (page , queryWrapper );
64
79
}
80
+
81
+ /**
82
+ * 直接购买
83
+ *
84
+ * @param orderBuyNowDto
85
+ */
86
+ public ReturnData buyNow (OrderBuyNowDto orderBuyNowDto ) {
87
+ // 后续登录处理用户id,不适用查询
88
+ if ("" .equals (orderBuyNowDto .getUserName ())||!Optional .ofNullable (orderBuyNowDto .getUserName ()).isPresent ()){
89
+ return ReturnData .returnError (1001 ,"请先登录" );
90
+ }
91
+ Account account = accountService .selectOneByWrapper (Account .builder ().userName (orderBuyNowDto .getUserName ()).build ());
92
+ if (!Optional .ofNullable (account ).isPresent ()){
93
+ return ReturnData .returnError (1002 ,"用户不存在" );
94
+ }
95
+ Order order = Order .builder ()
96
+ .orderCode ("N" + snowFlake .nextId ())
97
+ .accountId (account .getAccountId ())
98
+ .price (orderBuyNowDto .getPrice ())
99
+ .build ();
100
+ save (order );
101
+ OrderSub orderSub = OrderSub .builder ()
102
+ .orderSubCode ("S" + snowFlake .nextId ())
103
+ .orderCode (order .getOrderCode ())
104
+ .orderId (order .getOrderId ())
105
+ .price (orderBuyNowDto .getPrice ())
106
+ .count (orderBuyNowDto .getCount ())
107
+ .build ();
108
+ orderSubService .save (orderSub );
109
+ return ReturnData .returnData (null );
110
+ }
65
111
}
0 commit comments