package com.mzl.flower.web.member; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.dto.request.menber.*; import com.mzl.flower.dto.response.member.MemberGrowthRecordVO; import com.mzl.flower.dto.response.member.MemberVO; import com.mzl.flower.dto.response.member.UserGrowthRecordVO; import com.mzl.flower.service.menber.MemberGrowthRecordService; import com.mzl.flower.service.menber.MemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; /** * @author fanghaowei * @version version2.0 * @className MemberController * @date 2024/8/26 * @description 会员管理功能开发 */ @Api(value = "会员管理", tags = "会员管理") @RestController @RequestMapping("/api") @RequiredArgsConstructor public class MemberController extends BaseController { private final MemberService memberService; private final MemberGrowthRecordService memberGrowthRecordService; @GetMapping("/member/list") @ApiOperation(value = "会员列表", httpMethod = "GET") public ResponseEntity>> getMemberList(Page page, MemberQueryDTO dto) { return returnData(R.SUCCESS.getCode(), memberService.queryPage(dto, page)); } @GetMapping(value = "/member/delete") @ApiOperation(value = "删除会员 ", httpMethod = "GET", notes = "ID") public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) { memberService.deleteMember(String.valueOf(id)); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/member/new") @ApiOperation(value = "保存会员", httpMethod = "POST") public ResponseEntity insert(@RequestBody MemberDTO memberDTO) { memberService.saveMember(memberDTO); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/member/edit") @ApiOperation(value = "更新会员", httpMethod = "POST") public ResponseEntity update(@RequestBody MemberDTO memberDTO) { memberService.updateMember(memberDTO); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/memberGrowthRecord/list") @ApiOperation(value = "会员记录列表", httpMethod = "POST") public ResponseEntity>> getMemberRecordList(Page page, MemberRecordQueryDTO dto) { return returnData(R.SUCCESS.getCode(), memberGrowthRecordService.queryPage(dto, page)); } @GetMapping("/getmemberGrowthRecord/list") @ApiOperation(value = "会员记录列表", httpMethod = "GET") public ResponseEntity>> getmemberGrowthRecord(Page page, MemberRecordQueryDTO dto) { return returnData(R.SUCCESS.getCode(), memberGrowthRecordService.queryPage(dto, page)); } @GetMapping(value = "/memberGrowthRecord/delete") @ApiOperation(value = "删除会员记录 ", httpMethod = "GET", notes = "ID") public ResponseEntity deleteGrowthRecord(@NotNull(message = "id不能为空") Long id) { memberGrowthRecordService.deleteMemberGrowthRecord(String.valueOf(id)); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/memberGrowthRecord/new") @ApiOperation(value = "保存会员记录", httpMethod = "POST") public ResponseEntity insertGrowthRecord(@RequestBody MemberGrowthRecordDTO memberGrowthRecordDTO) { memberGrowthRecordService.saveMemberGrowthRecord(memberGrowthRecordDTO); return returnData(R.SUCCESS.getCode(), null); } @PostMapping(value = "/memberGrowthRecord/edit") @ApiOperation(value = "更新会员记录", httpMethod = "POST") public ResponseEntity updateGrowthRecord(@Validated @RequestBody MemberGrowthRecordDTO memberGrowthRecordDTO) { memberGrowthRecordService.updateMemberGrowthRecord(memberGrowthRecordDTO); return returnData(R.SUCCESS.getCode(), null); } @GetMapping(value = "/member/info/{userId}") @ApiOperation(value = "当前用户会员信息 ", httpMethod = "GET", notes = "ID") public ResponseEntity memberInfo(@PathVariable("userId") Long userId) { UserGrowthRecordDTO userGrowthRecordDTO = memberGrowthRecordService.getInfoByUserId(String.valueOf(userId)); return returnData(R.SUCCESS.getCode(), userGrowthRecordDTO); } @GetMapping(value = "/app/member/info") @ApiOperation(value = "当前用户会员信息 ", httpMethod = "GET", notes = "ID") public ResponseEntity memberInfo2() { UserGrowthRecordDTO userGrowthRecordDTO = memberGrowthRecordService.getInfoByUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), userGrowthRecordDTO); } @GetMapping("/userGrowthRecord/list") @ApiOperation(value = "会员用户记录列表", httpMethod = "GET") public ResponseEntity>> getUserMemberRecordList(Page page, UserMemberRecordQueryDTO dto) { return returnData(R.SUCCESS.getCode(), memberGrowthRecordService.queryUserPage(dto, page)); } }