package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.annotation.SubmitRepeat; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.vo.ApiChartVo; import cc.mrbird.febs.mall.vo.MallMemberVo; import cc.mrbird.febs.mall.vo.MoneyFlowVo; import cc.mrbird.febs.mall.vo.MyTeamVo; 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 @RequestMapping(value = "/api/member") @RequiredArgsConstructor @Api(value = "ApiMallMemberController", tags = "碳积分用户接口") public class ApiMallMemberController { private final IApiMallMemberService memberService; @ApiOperation(value = "获取用户信息", notes = "获取用户信息") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallMemberVo.class) }) @GetMapping(value = "/findMemberInfo") public FebsResponse findMemberInfo() { return memberService.findMemberInfo(); } @ApiOperation(value = "推出登录", notes = "推出登录") @PostMapping(value = "/logout") public FebsResponse logout() { return memberService.logout(); } @ApiOperation(value = "设置支付密码") @PostMapping(value = "/setTradePwd") public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) { return memberService.setTradePwd(forgetPwdDto); } @ApiOperation(value = "修改用户信息") @PostMapping(value = "/modifyInfo") @SubmitRepeat public FebsResponse modifyInfo(@RequestBody ModifyMemberInfoDto modifyMemberInfoDto) { return memberService.modifyMemberInfo(modifyMemberInfoDto); } @ApiOperation(value = "我的团队列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MyTeamVo.class) }) @PostMapping(value = "/teamList") public FebsResponse teamList(@RequestBody TeamListDto teamListDto) { return memberService.teamList(teamListDto); } @ApiOperation(value = "资金流水列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class) }) @PostMapping(value = "/moneyFlow") public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) { return memberService.moneyFlows(moneyFlowDto); } @ApiOperation(value = "兑换碳币") @PostMapping(value = "/changeScore") @SubmitRepeat public FebsResponse changeScore(@RequestBody @Validated CommissionChangeDto commissionChange) { memberService.commissionChange(commissionChange); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "转赠好友") @PostMapping(value = "/giveFriend") @SubmitRepeat public FebsResponse giveFriend(@RequestBody @Validated TransferDto transferDto) { memberService.transfer(transferDto); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "地址新增和编辑") @PostMapping(value = "/setPayment") @SubmitRepeat public FebsResponse setPayment(@RequestBody ApiMallMemberPaymentDto mallMemberPayment) { memberService.setPayment(mallMemberPayment); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "获取地址列表") @GetMapping(value = "/findPayment") public FebsResponse findPayment() { return new FebsResponse().success().data(memberService.findMemberPayment()); } @ApiOperation(value = "地址删除") @PostMapping(value = "/delPayment") @SubmitRepeat public FebsResponse delPayment(@RequestBody ApiMallMemberPaymentDto mallMemberPayment) { memberService.delPayment(mallMemberPayment); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "碳币兑换USDT") @PostMapping(value = "/withdrawal") @SubmitRepeat public FebsResponse withdrawal(@RequestBody @Validated CommissionChangeDto withdrawalDto) { memberService.withdrawal(withdrawalDto); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "USDT提现") @PostMapping(value = "/withdrawalU") @SubmitRepeat public FebsResponse withdrawalU(@RequestBody @Validated WithdrawalDto withdrawalDto) { memberService.withdrawalU(withdrawalDto); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "榜单") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiChartVo.class) }) @PostMapping(value = "/record") public FebsResponse record(@RequestBody @Validated ApiRecordDto apiRecordDto) { return new FebsResponse().success().data(memberService.dayRecord(apiRecordDto)); } }