1.
phpcjl
2024-12-06 d554bbbccd22b081452373a821fda9222e2dc0a2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.ruoyi.order.controller;
 
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.service.OrderService;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.order.vo.OrderDetailVO;
import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.order.model.Order;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author luodangjia
 * @since 2024-11-21
 */
@Api(tags = "订单")
@RestController
@RequestMapping("/order")
public class OrderController extends BaseController {
    @Resource
    private OrderService orderService;
    @Resource
    TokenService tokenService;
 
 
    /**
     * 我的订单列表
     */
    @ApiOperation(value = "我的订单列表", tags = {"小程序-个人中心-我的订单"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单状态", name = "status", required = true, dataType = "int"),
    })
    @GetMapping("/getMyOrderList")
    public TableDataInfo getMyOrderList(@ApiParam("订单状态") Integer status){
        startPage();
        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
        return getDataTable(orderService.selectOrderListByUserId(status, loginUserApplet.getUserid()));
    }
 
    /**
     * 通过订单ids获取订单列表
     */
    @PostMapping("/getOrderListByIds")
    public R<List<Order>> getOrderListByIds(@RequestBody List<Long> ids){
        return R.ok(orderService.listByIds(ids));
    }
 
    /**
     * 订单详情
     */
    @ApiOperation(value = "订单详情", tags = {"小程序-订单详情"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
    })
    @GetMapping("/detail/{orderId}")
    public R<OrderDetailVO> detail(@PathVariable("orderId") Long orderId){
        return R.ok(orderService.getOrderDetail(orderId));
    }
 
    /**
     * 扫码校验
     */
    @ApiOperation(value = "扫码校验", tags = {"小程序-个人中心-门店管理-扫码核销校验"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "分享id", name = "shareId", required = true, dataType = "int", paramType="query"),
    })
    @GetMapping("/check/{orderNumber}/{shopId}")
    public R<Boolean> check(@PathVariable("orderNumber") String orderNumber, @PathVariable("shopId") Integer shopId){
        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
        Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
                .eq(Order::getOrderNumber, orderNumber));
        return R.ok(orderService.check(order, shopId, loginUserApplet.getUserid()));
    }
 
    /**
     * 订单核销
     */
    @ApiOperation(value = "订单核销", tags = {"小程序-个人中心-门店管理-扫码核销"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单号", name = "code", required = true, dataType = "String"),
    })
    @GetMapping("/writeOff/{code}")
    public R<Void> writeOff(@PathVariable("code") String code){
        // TODO 待完善
        return R.ok();
    }
 
    /**
     * 取消订单
     */
    @ApiOperation(value = "取消订单", tags = {"小程序-个人中心-我的订单-取消订单"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
    })
    @GetMapping("/cancel/{orderId}")
    public R<Void> cancel(@PathVariable("orderId") Long orderId){
        // TODO 待完善
        return R.ok();
    }
 
    /**
     * 确认收货
     */
    @ApiOperation(value = "确认收货", tags = {"小程序-个人中心-我的订单-确认收货"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
    })
    @GetMapping("/confirm/{orderId}")
    public R<Void> confirm(@PathVariable("orderId") Long orderId){
        // TODO 待完善
        return R.ok();
    }
 
 
 
 
 
 
}