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
|
@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 = "小程序接收用户数据")
|
@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)
|
})
|
@GetMapping(value = "/findMemberInfo")
|
public FebsResponse findMemberInfo() {
|
return memberService.findMemberInfo();
|
}
|
|
@ApiOperation(value = "推出登录", notes = "推出登录")
|
@PostMapping(value = "/logout")
|
public FebsResponse logout() {
|
return memberService.logout();
|
}
|
|
@ApiOperation(value = "获取购物车、订单等角标数量")
|
@GetMapping(value = "/findMarkCnt")
|
public FebsResponse findMarkCnt() {
|
return memberService.findMemberMarkCnt();
|
}
|
|
@ApiOperation(value = "设置支付密码")
|
@PostMapping(value = "/setTradePwd")
|
public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) {
|
return memberService.setTradePwd(forgetPwdDto);
|
}
|
|
@ApiOperation(value = "修改用户信息")
|
@PostMapping(value = "/modifyInfo")
|
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 = "/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));
|
}
|
|
@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);
|
}
|
|
}
|