package com.mzl.flower.web.member;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.entity.menber.Member;
|
import com.mzl.flower.entity.menber.MemberGrowthRecord;
|
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.beans.BeanUtils;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.web.bind.annotation.*;
|
|
import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotNull;
|
|
/**
|
* @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;
|
|
@PostMapping("/member/list")
|
@ApiOperation(value = "会员列表", httpMethod = "POST")
|
public ResponseEntity<ReturnDataDTO> getMemberList(Page page, MemberQueryDTO dto) {
|
QueryWrapper<Member> queryWrapper = new QueryWrapper();
|
queryWrapper.lambda().eq(isNotNull(dto.getLevelName()), Member::getName, dto.getLevelName());
|
page = (Page) memberService.page(page, queryWrapper);
|
return returnData(R.SUCCESS.getCode(), page);
|
}
|
|
@DeleteMapping(value = "/member/delete/{id}")
|
@ApiOperation(value = "删除会员 ", httpMethod = "DELETE", notes = "ID")
|
public ResponseEntity delete(@PathVariable("id") Long id) {
|
memberService.deleteMember(String.valueOf(id));
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping(value = "/member/save")
|
@ApiOperation(value = "保存会员", httpMethod = "POST")
|
public ResponseEntity insert(@RequestBody MemberDTO memberDTO) {
|
Member member = new Member();
|
BeanUtils.copyProperties(memberDTO, member);
|
member.create(SecurityUtils.getUserId());
|
memberService.saveMember(member);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PutMapping(value = "/member/update")
|
@ApiOperation(value = "更新会员", httpMethod = "PUT")
|
public ResponseEntity update(@RequestBody MemberDTO memberDTO) {
|
memberService.updateMember(memberDTO);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
|
|
@PostMapping("/memberGrowthRecord/list")
|
@ApiOperation(value = "会员记录列表", httpMethod = "POST")
|
public ResponseEntity<ReturnDataDTO> getMemberRecordList(Page page, MemberRecordQueryDTO dto) {
|
QueryWrapper<MemberGrowthRecord> queryWrapper = new QueryWrapper();
|
queryWrapper.lambda().eq(isNotNull(dto.getType()), MemberGrowthRecord::getType, dto.getType())
|
.eq(isNotNull(dto.getSource()), MemberGrowthRecord::getSource, dto.getSource())
|
.ge(isNotNull(dto.getStartRecordDate()), MemberGrowthRecord::getRecordDate, dto.getStartRecordDate())
|
.le(isNotNull(dto.getEndRecordDate()), MemberGrowthRecord::getRecordDate, dto.getEndRecordDate());
|
page = (Page) memberGrowthRecordService.page(page, queryWrapper);
|
return returnData(R.SUCCESS.getCode(), page);
|
}
|
|
@DeleteMapping(value = "/memberGrowthRecord/delete/{id}")
|
@ApiOperation(value = "删除会员记录 ", httpMethod = "DELETE", notes = "ID")
|
public ResponseEntity deleteGrowthRecord(@PathVariable("id") Long id) {
|
memberGrowthRecordService.deleteMemberGrowthRecord(String.valueOf(id));
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping(value = "/memberGrowthRecord/save")
|
@ApiOperation(value = "保存会员记录", httpMethod = "POST")
|
public ResponseEntity insertGrowthRecord(@RequestBody MemberGrowthRecordDTO memberGrowthRecordDTO) {
|
MemberGrowthRecord memberGrowthRecord = new MemberGrowthRecord();
|
BeanUtils.copyProperties(memberGrowthRecordDTO, memberGrowthRecord);
|
memberGrowthRecord.create(SecurityUtils.getUserId());
|
memberGrowthRecordService.saveMemberGrowthRecord(memberGrowthRecord);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PutMapping(value = "/memberGrowthRecord/update")
|
@ApiOperation(value = "更新会员记录", httpMethod = "PUT")
|
public ResponseEntity updateGrowthRecord(@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);
|
}
|
}
|