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(); } }