KKSU
2024-08-22 7a372033d44ba48383d9d1bc97e5d583b26a266f
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -1,5 +1,6 @@
package cc.mrbird.febs.mall.controller;
import cc.mrbird.febs.common.annotation.EncryptEnable;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.MallMember;
@@ -27,16 +28,17 @@
@Slf4j
@RestController
@CrossOrigin("*")
@EncryptEnable
@RequestMapping(value = "/api/member")
@RequiredArgsConstructor
@Api(value = "ApiMallMemberController", tags = "商城用户接口类")
@Api(value = "ApiMallMemberController", tags = "GUESS用户接口类")
public class ApiMallMemberController {
    private final IApiMallMemberService memberService;
    private final IMallMemberWithdrawService mallMemberWithdrawService;
    private final IApiMallMemberWalletService walletService;
    @ApiOperation(value = "FCM-获取商城用户信息", notes = "FCM-获取商城用户信息")
    @ApiOperation(value = "GUESS用户信息", notes = "GUESS用户信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberVo.class)
    })
@@ -45,217 +47,61 @@
        return memberService.findMemberInfo();
    }
    @ApiOperation(value = "FCM-修改用户信息")
    @PostMapping(value = "/modifyInfo")
    public FebsResponse modifyInfo(@RequestBody @Valid ModifyMemberInfoDto modifyMemberInfoDto) {
        return memberService.modifyMemberInfo(modifyMemberInfoDto);
    @ApiOperation(value = "GUESS绑定充值提现地址", notes = "GUESS绑定充值提现地址")
    @PostMapping(value = "/bindAddress")
    public FebsResponse bindAddress(@RequestBody @Valid ApiBindAddressDto apiBindAddressDto) {
        return memberService.bindAddress(apiBindAddressDto);
    }
    @ApiOperation(value = "FCM-解除冻结")
    @PostMapping(value = "/unfreeze")
    public FebsResponse unfreeze(@RequestBody @Valid UnfreezeDto unfreezeDto) {
        return memberService.unfreeze(unfreezeDto);
    @ApiOperation(value = "GUESS充值", notes = "GUESS充值")
    @PostMapping(value = "/chargeBalance")
    public FebsResponse chargeBalance(@RequestBody @Valid ApiChargeBalanceDto apiChargeBalanceDto) {
        return memberService.chargeBalance(apiChargeBalanceDto);
    }
    @ApiOperation(value = "FCM-找回密钥")
    @PostMapping(value = "/getKey")
    public FebsResponse getKey(@RequestBody @Valid GetKeyDto getKeyDto) {
        return memberService.getKey(getKeyDto);
    @ApiOperation(value = "GUESS提现")
    @PostMapping(value = "/withdrawalBalance")
    public FebsResponse withdrawalBalance(@RequestBody @Validated WithdrawalBalanceDto withdrawalBalanceDto) {
        mallMemberWithdrawService.withdrawalBalance(withdrawalBalanceDto);
        return new FebsResponse().success().message("提交成功");
    }
    @ApiOperation(value = "FCM-获取收款信息", notes = "FCM-获取收款信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberPaymentVo.class)
    })
    @GetMapping(value = "/getPayment")
    public FebsResponse getPayment() {
        return memberService.getPayment();
    }
    @ApiOperation(value = "FCM-修改收款信息", notes = "FCM-修改收款信息")
    @PostMapping(value = "/updatePayment")
    public FebsResponse updatePayment(@RequestBody @Valid UpdatePaymentDto updatePaymentDto) {
        return memberService.updatePayment(updatePaymentDto);
    }
    @ApiOperation(value = "FCM-推出登录", notes = "FCM-推出登录")
    @ApiOperation(value = "GUESS推出登录", notes = "GUESS推出登录")
    @PostMapping(value = "/logout")
    public FebsResponse logout() {
        return memberService.logout();
    }
    @ApiOperation(value = "获取购物车、订单等角标数量")
    @GetMapping(value = "/findMarkCnt")
    public FebsResponse findMarkCnt() {
        return memberService.findMemberMarkCnt();
    }
    @ApiOperation(value = "FCM-设置支付密码")
    @PostMapping(value = "/setTradePwd")
    public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) {
        return memberService.setTradePwd(forgetPwdDto);
    }
    @ApiOperation(value = "我的团队列表")
    @ApiOperation(value = "GUESS我的团队规模")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MyTeamVo.class)
    })
    @PostMapping(value = "/teamList")
    public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
        return memberService.teamList(teamListDto);
    public FebsResponse teamList() {
        return memberService.teamList();
    }
    @ApiOperation(value = "FCM-资金流水列表")
    @ApiOperation(value = "GUESS我的团队详情")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MyFcmTeamVo.class)
    })
    @PostMapping(value = "/teamInfo")
    public FebsResponse teamInfo() {
        return memberService.teamFcmList();
    }
    @ApiOperation(value = "GUESS资金流水列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
    })
    @PostMapping(value = "/moneyFlow")
    public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) {
        return memberService.moneyFlows(moneyFlowDto);
    }
    @ApiOperation(value = "FCM-资金流水列表-互转记录")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
    })
    @PostMapping(value = "/moneyFlowInside")
    public FebsResponse moneyFlowInside(@RequestBody MoneyFlowDto moneyFlowDto) {
        return memberService.moneyFlowInside(moneyFlowDto);
    }
    @ApiOperation(value = "FCM-转账")
    @PostMapping(value = "/transfer")
    public FebsResponse transfer(@RequestBody @Validated TransferDto transferDto) {
        memberService.transfer(transferDto);
        return new FebsResponse().success().message("操作成功");
    }
    @ApiOperation(value = "提现规则", notes = "提现规则")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class)
    })
    @GetMapping(value = "/cashOutSetting")
    public FebsResponse cashOutSetting() {
        return new FebsResponse().success().data(memberService.cashOutSetting());
    }
    @ApiOperation(value = "提现")
    @PostMapping(value = "/withdrawal")
    public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) {
        mallMemberWithdrawService.withdrawal(withdrawalDto);
        return new FebsResponse().success().message("提交成功");
    }
    @ApiOperation(value = "设置收款方式")
    @PostMapping(value = "/setPayment")
    public FebsResponse setPayment(@RequestBody MallMemberPayment 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 = "/bindPhone")
    public FebsResponse bindPhone(@RequestBody AccountAndCodeDto accountAndCodeDto) {
        memberService.bindPhone(accountAndCodeDto);
        return new FebsResponse().success().message("绑定成功");
    }
    @ApiOperation(value = "可提现金额")
    @GetMapping(value = "/canWithdrawal")
    public FebsResponse canWithdrawal() {
        return new FebsResponse().success().data(memberService.canMoney());
    }
    @ApiOperation(value = "用户消费排名")
    @PostMapping(value = "/findRankList")
    public FebsResponse findRankList(@RequestBody RankListDto rankListDto) {
//        return new FebsResponse().success().data(memberService.findRankList(rankListDto));
        return new FebsResponse().success();
    }
    @ApiOperation(value = "根据邀请码或者手机号获取昵称")
    @PostMapping(value = "/findMemberInfoByAccount/{phone}")
    public FebsResponse findMemberInfoByAccount(@PathVariable("phone") String phone) {
        MallMember account = memberService.findMemberInfoByAccount(phone);
        if (account == null) {
            return new FebsResponse().fail().message("用户不存在");
        }
        MallMemberVo member = new MallMemberVo();
        member.setName(account.getName());
        return new FebsResponse().success().data(member);
    }
    @ApiOperation(value = "佣金划转")
    @PostMapping(value = "/commissionChange")
    public FebsResponse commissionChange(@RequestBody @Validated CommissionChangeDto commissionChange) {
        walletService.commissionChange(commissionChange);
        return new FebsResponse().success();
    }
    @ApiOperation(value = "我的权益")
    @ApiResponses(
            @ApiResponse(code = 200, message = "success", response = MyCommissionVo.class)
    )
    @PostMapping(value = "/myCommission")
    public FebsResponse myCommission() {
        return new FebsResponse().success().data(memberService.myCommission());
    }
    @ApiOperation(value = "商铺申请是否存在")
    @PostMapping(value = "/shopApplyIsExist")
    public FebsResponse shopApplyIsExist() {
        return null;
    }
    @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);
    }
    @ApiOperation(value = "银行名称列表", notes = "银行名称列表")
    @GetMapping(value = "/memberBankName")
    public FebsResponse memberBankDetails() {
        return memberService.findBankName();
    }
}