Administrator
2 days ago 0a9a71a81a9d4c3c0df7ddf49e5e2f2d0a10f7de
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
package cc.mrbird.febs.mall.controller.member;
 
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.CommissionChangeDto;
import cc.mrbird.febs.mall.dto.sale.ApiSaleListInfoDto;
import cc.mrbird.febs.mall.dto.sale.ApiSaleRecordInfoDto;
import cc.mrbird.febs.mall.dto.sale.ApiTeamListInfoDto;
import cc.mrbird.febs.mall.service.ApiSaleService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cc.mrbird.febs.mall.vo.sale.*;
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.*;
 
@Slf4j
@RestController
@Validated
@RequestMapping(value = "/api/sale")
@RequiredArgsConstructor
@Api(value = "ApiSaleController", tags = "365我的推广")
public class ApiSaleController {
 
    private final ApiSaleService apiSaleService;
    private final IApiMallMemberWalletService walletService;
 
    @ApiOperation(value = "我的推广", notes = "我的推广")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiSaleInfoVo.class)
    })
    @GetMapping(value = "/saleInfo")
    public FebsResponse saleInfo() {
 
        return apiSaleService.saleInfo();
    }
 
    @ApiOperation(value = "我的团队(头部)", notes = "我的团队(头部)")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiTeamHeaderInfoVo.class)
    })
    @GetMapping(value = "/teamHeader")
    public FebsResponse teamHeader() {
 
        return apiSaleService.teamHeader();
    }
 
    @ApiOperation(value = "我的团队(团队明细)", notes = "我的团队(团队明细)")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiTeamListInfoVo.class)
    })
    @PostMapping(value = "/teamList")
    public FebsResponse teamList(@RequestBody @Validated ApiTeamListInfoDto dto) {
 
        return apiSaleService.teamList(dto);
    }
 
    @ApiOperation(value = "分销订单(头部)", notes = "分销订单(头部)")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiSaleHeaderInfoVo.class)
    })
    @GetMapping(value = "/saleHeader")
    public FebsResponse saleHeader() {
 
        return apiSaleService.saleHeader();
    }
 
    @ApiOperation(value = "分销订单(分销明细)", notes = "分销订单(分销明细)")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiSaleListInfoVo.class)
    })
    @PostMapping(value = "/saleList")
    public FebsResponse saleList(@RequestBody @Validated ApiSaleListInfoDto dto) {
 
        return apiSaleService.saleList(dto);
    }
 
    @ApiOperation(value = "等级说明", notes = "等级说明")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiLevelListInfoVo.class)
    })
    @PostMapping(value = "/levelInfoList")
    public FebsResponse levelInfoList() {
 
        return apiSaleService.levelInfoList();
    }
 
    @ApiOperation(value = "佣金排行榜", notes = "佣金排行榜")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiSaleRecordInfoVo.class)
    })
    @PostMapping(value = "/saleRecord")
    public FebsResponse saleRecord(@RequestBody @Validated ApiSaleRecordInfoDto dto) {
 
        return apiSaleService.saleRecord(dto);
    }
 
    @ApiOperation(value = "佣金划转")
    @PostMapping(value = "/commissionChange")
    public FebsResponse commissionChange(@RequestBody @Validated CommissionChangeDto commissionChange) {
        walletService.commissionChange(commissionChange);
        return new FebsResponse().success();
    }
}