KKSU
2025-01-09 e15c348bc992de7331d14d76451032358aae9289
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -2,12 +2,12 @@
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.MallMemberCoupon;
import cc.mrbird.febs.mall.entity.MallMemberPayment;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cc.mrbird.febs.mall.vo.MoneyFlowVo;
import cc.mrbird.febs.mall.vo.TeamListVo;
import cc.mrbird.febs.mall.service.*;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -18,6 +18,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Map;
/**
 * @author wzy
@@ -31,7 +32,20 @@
public class ApiMallMemberController {
    private final IApiMallMemberService memberService;
    private final IMallMemberWithdrawService mallMemberWithdrawService;
    private final IApiMallMemberWalletService walletService;
    private final IApiMallAgentService iApiMallAgentService;
    private final IMallVipBenefitsService mallVipBenefitsService;
    /**
     * 小程序接收用户数据,更新用户信息
     */
    @ApiOperation(value = "小程序接收用户数据", notes = "小程序接收用户数据")
    @PostMapping(value = "/xcxSaveInfo")
    public FebsResponse xcxSaveInfo(@RequestBody ApiXcxSaveInfoDto apiXcxSaveInfoDto){
        return memberService.xcxSaveInfo(apiXcxSaveInfoDto);
    }
    @ApiOperation(value = "获取商城用户信息", notes = "获取商城用户信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberVo.class)
@@ -67,12 +81,13 @@
    @ApiOperation(value = "我的团队列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = TeamListVo.class)
            @ApiResponse(code = 200, message = "success", response = MyTeamVo.class)
    })
    @PostMapping(value = "/teamList")
    public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
        return memberService.teamList(teamListDto);
    }
    @ApiOperation(value = "资金流水列表")
    @ApiResponses({
@@ -90,10 +105,19 @@
        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) {
        memberService.withdrawal(withdrawalDto);
        mallMemberWithdrawService.withdrawal(withdrawalDto);
        return new FebsResponse().success().message("提交成功");
    }
@@ -113,7 +137,192 @@
    @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));
    }
    @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 = "/rechargeWallet")
    public FebsResponse rechargeWallet(@RequestBody @Validated ApiRechargeWalletDto apiRechargeWalletDto) {
        return memberService.rechargeWallet(apiRechargeWalletDto);
    }
    /**
     * 申请代理
     * @param apiAgentApplyDto
     * @return
     */
    @ApiOperation(value = "申请代理")
    @PostMapping(value = "/agentApply")
    public FebsResponse agentApply(@RequestBody @Validated ApiAgentApplyDto apiAgentApplyDto) {
        return iApiMallAgentService.agentApply(apiAgentApplyDto);
    }
    /**
     * 绑定默认推荐人
     */
    @ApiOperation(value = "绑定默认推荐人")
    @PostMapping(value = "/setInvite")
    public FebsResponse setInvite(@RequestBody @Validated ApiSetInviteDto apiSetInviteDto) {
        return memberService.setInvite(apiSetInviteDto);
    }
    @ApiOperation(value = "代理申请信息")
    @GetMapping(value = "/agentApplyInfo")
    public FebsResponse agentApplyInfo() {
        return memberService.agentApplyInfo();
    }
    @ApiOperation(value = "合伙人权益")
    @GetMapping(value = "/agentDetail")
    public FebsResponse agentDetail() {
        return memberService.agentDetail();
    }
    @ApiOperation(value = "活动公告")
    @GetMapping(value = "/activityInfo")
    public FebsResponse activityInfo() {
        return memberService.activityInfo();
    }
    @ApiOperation(value = "通过邀请链接领取优惠卷")
    @PostMapping(value = "/getCoupon")
    public FebsResponse getCoupon(@RequestBody GetCouponDto getCouponDto) {
        return memberService.getCoupon(getCouponDto);
    }
    @ApiOperation(value = "扫码推销员领取优惠卷")
    @PostMapping(value = "/scanCoupon")
    public FebsResponse scanCoupon(@RequestBody GetCouponDto getCouponDto) {
        return memberService.scanCoupon(getCouponDto);
    }
    @ApiOperation(value = "优惠卷列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberCouponVo.class)
    })
    @PostMapping(value = "/memberCoupon")
    public FebsResponse memberCoupon(@RequestBody MallMemberCouponDto mallMemberCouponDto) {
        return memberService.memberCoupon(mallMemberCouponDto);
    }
    @ApiOperation(value = "创建订单优惠卷列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberCouponVo.class)
    })
    @PostMapping(value = "/memberPayCoupon")
    public FebsResponse memberPayCoupon(@RequestBody MallMemberCouponDto mallMemberCouponDto) {
        return memberService.memberPayCoupon(mallMemberCouponDto);
    }
    @ApiOperation(value = "优惠卷详情", notes = "优惠卷详情")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallMemberCouponVo.class)
    })
    @GetMapping(value = "/couponDetails/{id}")
    public FebsResponse couponDetails(@PathVariable("id") Long id) {
        return memberService.couponDetails(id);
    }
    @ApiOperation(value = "登录事件", notes = "登录事件")
    @GetMapping(value = "/birthdayEvent")
    public FebsResponse birthdayEvent() {
        Map<String, Object> birthdayEvent = mallVipBenefitsService.birthdayEvent();
        return new FebsResponse().success().data(birthdayEvent);
    }
    @ApiOperation(value = "登录事件", notes = "登录事件")
    @GetMapping(value = "/loginEvent")
    public FebsResponse loginEvent() {
        Map<String, Object> loginEvent = memberService.loginEvent();
        return new FebsResponse().success().data(loginEvent);
    }
    @ApiOperation(value = "店铺列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallStoreVo.class)
    })
    @PostMapping(value = "/storeList")
    public FebsResponse storeList(@RequestBody MallStoreDto mallStoreDto) {
        return memberService.storeList(mallStoreDto);
    }
    @ApiOperation(value = "店铺机器列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallStoreItemVo.class)
    })
    @PostMapping(value = "/storeItemList")
    public FebsResponse storeItemList(@RequestBody MallStoreItemDto mallStoreItemDto) {
        return memberService.storeItemList(mallStoreItemDto);
    }
    @ApiOperation(value = "绑定用户")
    @PostMapping(value = "/bindStoreMember")
    public FebsResponse bindStoreMember(@RequestBody @Validated BindStoreMemberDto bindStoreMemberDto) {
        return memberService.bindStoreMember(bindStoreMemberDto);
    }
    @ApiOperation(value = "绑定列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = MallStoreMemberVo.class)
    })
    @PostMapping(value = "/bindList")
    public FebsResponse bindList() {
        return memberService.bindList();
    }
    @ApiOperation(value = "获取检测结果")
    @PostMapping(value = "/bindResult")
    public FebsResponse bindResult(@RequestBody @Validated BindResultDto bindResultDto) {
        return memberService.bindResult(bindResultDto);
    }
}