package cc.mrbird.febs.mall.controller.dependentStation; import cc.mrbird.febs.common.annotation.Limit; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.LimitType; 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.*; 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; 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; import java.util.Map; /** * @author wzy * @date 2021-09-16 **/ @Slf4j @RestController @RequestMapping(value = "/api/member") @RequiredArgsConstructor @Api(value = "ApiMallMemberController", tags = "DS-商城用户接口类") 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 = "编辑个人信息", notes = "编辑个人信息") @PostMapping(value = "/modifyInfo") @Limit(key = "modifyInfo", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP) public FebsResponse modifyInfo(@RequestBody @Validated ModifyMemberInfoDto modifyMemberInfoDto) { return memberService.modifyMemberInfo(modifyMemberInfoDto); } @ApiOperation(value = "更改密码", notes = "更改密码") @PostMapping(value = "/forgetPwd") @Limit(key = "forgetPwd", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP) public FebsResponse forgetPwd(@RequestBody @Validated ForgetPwdDto forgetPwdDto) { return memberService.forgetPwd(forgetPwdDto); } }