package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMemberPayment; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.ICommonService; import cc.mrbird.febs.mall.service.IMallMemberWithdrawService; import cc.mrbird.febs.mall.vo.*; 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 javax.validation.Valid; /** * @author wzy * @date 2021-09-16 **/ @Slf4j @RestController @CrossOrigin("*") @RequestMapping(value = "/api/member") @RequiredArgsConstructor @Api(value = "ApiMallMemberController", tags = "我的接口类") public class ApiMallMemberController { private final IApiMallMemberService memberService; private final IMallMemberWithdrawService mallMemberWithdrawService; private final IApiMallMemberWalletService walletService; @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 = "资金流水列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class) }) @PostMapping(value = "/moneyFlow") public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) { return memberService.moneyFlows(moneyFlowDto); } @ApiOperation(value = "充值", notes = "充值") @PostMapping(value = "/charge") public FebsResponse charge(@RequestBody @Validated WithdrawalDto withdrawalDto) { mallMemberWithdrawService.charge(withdrawalDto); return new FebsResponse().success().message("提交成功"); } @ApiOperation(value = "提现", notes = "提现") @PostMapping(value = "/withdrawal") public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) { mallMemberWithdrawService.withdrawal(withdrawalDto); return new FebsResponse().success().message("提交成功"); } @ApiOperation(value = "可提现金额") @GetMapping(value = "/canWithdrawal") public FebsResponse canWithdrawal() { return new FebsResponse().success().data(memberService.canMoney()); } @ApiOperation(value = "新增银行卡") @PostMapping(value = "/addMemberBank") public FebsResponse addMemberBank(@RequestBody AddMemberBankDto addMemberBankDto) { return memberService.addMemberBank(addMemberBankDto); } @ApiOperation(value = "银行卡列表", notes = "银行卡列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class) }) @PostMapping(value = "/memberBankList") public FebsResponse memberBankList(@RequestBody MemberBankListDto memberBankListDto) { return memberService.findMemberBankList(memberBankListDto); } @ApiOperation(value = "银行卡详情", notes = "银行卡详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class) }) @GetMapping(value = "/memberBankDetails/{id}") public FebsResponse memberBankDetails(@PathVariable("id") Long id) { return memberService.findBankDetailsById(id); } @ApiOperation(value = "更新银行卡") @PostMapping(value = "/updateMemberBank") public FebsResponse updateMemberBank(@RequestBody UpdateMemberBankDto updateMemberBankDto) { return memberService.updateMemberBank(updateMemberBankDto); } @ApiOperation(value = "删除银行卡", notes = "删除银行卡") @PostMapping(value = "/delMemberBank/{id}") public FebsResponse delMemberBank(@PathVariable("id") Long id) { return memberService.delMemberBank(id); } }