xiaoyong931011
2023-03-09 3ea3c013bb241c05d0e6a2c4344d9b708ffa1e61
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
package cc.mrbird.febs.mall.controller;
 
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
import cc.mrbird.febs.mall.vo.OrderDetailVo;
import cc.mrbird.febs.mall.vo.OrderListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * @author wzy
 * @date 2021-09-18
 **/
@Slf4j
@Validated
@RestController
@CrossOrigin("*")
@RequiredArgsConstructor
@RequestMapping(value = "/api/order")
@Api(value = "ApiMallOrderController", tags = "订单接口类")
public class ApiMallOrderController {
 
    private final IApiMallOrderInfoService mallOrderInfoService;
 
    @ApiOperation(value = "判断是否允许创建订单", notes = "判断是否允许创建订单")
    @PostMapping(value = "/judgeCreateOrder")
    public FebsResponse judgeCreateOrder(@RequestBody AddOrderDto addOrderDto) {
        boolean result = mallOrderInfoService.judgeCreateOrder(addOrderDto);
 
        return new FebsResponse().success().data(result);
    }
 
    @ApiOperation(value = "创建订单", notes = "创建订单")
    @PostMapping(value = "/createOrder")
    public FebsResponse createOrder(@RequestBody AddOrderDto addOrderDto) {
        Long orderId = mallOrderInfoService.createOrder(addOrderDto);
 
        return new FebsResponse().success().data(orderId).message("创建订单成功");
    }
 
    @ApiOperation(value = "取消订单", notes = "取消订单")
    @PostMapping(value = "/cancelOrder/{id}")
    public FebsResponse cancelOrder(@PathVariable("id") Long id) {
        mallOrderInfoService.cancelOrder(id);
        return new FebsResponse().success();
    }
 
    @ApiOperation(value = "支付订单", notes = "支付订单")
    @PostMapping(value = "/payOrder")
    public FebsResponse payOrder(@RequestBody PayOrderDto payOrderDto) {
        Map<String, Object> result = mallOrderInfoService.payOrder(payOrderDto);
 
        Map<String, Object> map = new HashMap<>();
        map.put("order", result);
        map.put("type", payOrderDto.getType());
        return new FebsResponse().success().data(map).message("支付成功");
    }
 
    @ApiOperation(value = "订单列表", notes = "订单列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = OrderListVo.class)
    })
    @PostMapping(value = "/orderList")
    public FebsResponse orderList(@RequestBody OrderListDto orderListDto) {
        return new FebsResponse().success().data(mallOrderInfoService.findOrderList(orderListDto));
    }
 
    @ApiOperation(value = "订单详情", notes = "订单详情")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = OrderDetailVo.class)
    })
    @GetMapping(value = "/orderDetails/{id}")
    public FebsResponse orderDetails(@PathVariable("id") Long id) {
        return new FebsResponse().success().data(mallOrderInfoService.findOrderDetailsById(id));
    }
 
    @ApiOperation(value = "确认收货", notes = "确认收货")
    @PostMapping(value = "/confirm/{id}")
    public FebsResponse confirm(@PathVariable("id") Long id) {
        mallOrderInfoService.confirmOrder(id);
        return new FebsResponse().success().message("确认成功");
    }
 
    @ApiOperation(value = "删除订单", notes = "删除订单")
    @PostMapping(value = "/delOrder/{id}")
    public FebsResponse delOrder(@PathVariable("id") Long id) {
        mallOrderInfoService.delOrder(id);
        return new FebsResponse().success().message("删除成功");
    }
 
    @ApiOperation(value = "提交退款申请", notes = "提交退款申请")
    @PostMapping(value = "/applyRefund")
    public FebsResponse applyRefund(@RequestBody AddRefundDto addRefundDto) {
        mallOrderInfoService.applyRefund(addRefundDto);
        return new FebsResponse().success().message("提交成功");
    }
 
    @ApiOperation(value = "提交退款物流信息", notes = "提交退款物流信息")
    @PostMapping(value = "/refundExpress")
    public FebsResponse refundExpress(@RequestBody RefundExpressDto refundExpressDto) {
        mallOrderInfoService.refundExpress(refundExpressDto);
        return new FebsResponse().success().message("提交成功");
    }
 
    @ApiOperation(value = "评价", notes = "评价")
    @PostMapping(value = "/goodsComment")
    public FebsResponse goodsComment(@RequestBody ApiAddCommentDtos addCommentDtos) {
        mallOrderInfoService.goodsComment(addCommentDtos);
        return new FebsResponse().success().message("评价成功");
    }
 
    @ApiOperation(value = "查看银行卡是否签约", notes = "查看银行卡是否签约")
    @PostMapping(value = "/bangCardSign")
    public FebsResponse bangCardSign(@RequestBody BangCardSignDto bangCardSignDto) {
        return mallOrderInfoService.bangCardSign(bangCardSignDto);
    }
 
}