feat(memberCenter): 积分消费和充值记录的分页

master
yang 2025-03-06 13:33:52 +08:00
parent c69d7e032f
commit a044b8c367
7 changed files with 94 additions and 37 deletions

View File

@ -1,28 +1,29 @@
package com.mcwl.web.controller.communityCenter;
import com.mcwl.communityCenter.service.AIService;
import com.mcwl.communityCenter.webSocket.ChatWebSocket;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
@RequiredArgsConstructor
@RestController
@RequestMapping("/chat")
public class ChatController {
private final ChatWebSocket chatWebSocket;
private final AIService aiService;
/**
*
* @param sessionId
* @throws Exception
* ai
*/
// @GetMapping("/switchUserMode")
// public void switchUserMode(String sessionId) throws Exception {
// chatWebSocket.switchUserMode(sessionId);
// }
@GetMapping("/ai")
public Flux<String> switchUserMode(String msg) throws Exception {
return aiService.getDeepSeekResponseStream(msg);
}

View File

@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.memberCenter.domain.*;
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
@ -82,33 +84,23 @@ public class MemberController {
/**
*
*
* @return
* @return
*/
@GetMapping("getPoints")
@GetMapping("getConsumePoints")
@ApiOperation(value = "获取积分消费记录")
public R<List<MemberConsumeVO>> getPoints() {
Long userId = SecurityUtils.getUserId();
public TableDataInfo getConsumePoints(@Valid @RequestBody PageDomain pageDomain) {
// 会员消费记录
List<MemberConsume> memberConsumeList = memberConsumeService
.lambdaQuery()
.eq(MemberConsume::getUserId, userId)
.list();
return R.ok(BeanUtil.copyToList(memberConsumeList, MemberConsumeVO.class));
return memberConsumeService.getConsumePoints(pageDomain);
}
/**
*
*
*/
@GetMapping("getRechargePoints")
@ApiOperation(value = "获取积分记录")
public R<List<RechargeRecordVO>> getRechargePoints() {
Long userId = SecurityUtils.getUserId();
@ApiOperation(value = "获取积分充值记录")
public TableDataInfo getRechargePoints(@Valid @RequestBody PageDomain pageDomain) {
List<RechargeRecordVO> rechargeRecordList = memberService.getRechargePoints(userId);
return R.ok(rechargeRecordList);
return memberService.getRechargePoints(pageDomain);
}

View File

@ -1,12 +1,16 @@
package com.mcwl.web.controller.personalCenter;
import cn.hutool.core.bean.BeanUtil;
import com.mcwl.common.core.domain.R;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.memberCenter.domain.Member;
import com.mcwl.memberCenter.domain.MemberConsume;
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
import com.mcwl.memberCenter.service.MemberService;
import com.mcwl.myInvitation.service.ConsumeService;
import com.mcwl.pay.service.OrderTradeService;
@ -20,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

View File

@ -1,10 +1,14 @@
package com.mcwl.memberCenter.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.memberCenter.domain.MemberConsume;
import javax.validation.Valid;
public interface MemberConsumeService extends IService<MemberConsume> {
TableDataInfo getConsumePoints(PageDomain pageDomain);
}

View File

@ -1,6 +1,8 @@
package com.mcwl.memberCenter.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.memberCenter.domain.Member;
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
@ -47,5 +49,5 @@ public interface MemberService extends IService<Member> {
Double calculatePayment(Double unitPrice, Long promotionId);
List<RechargeRecordVO> getRechargePoints(Long userId);
TableDataInfo getRechargePoints(PageDomain pageDomain);
}

View File

@ -1,16 +1,56 @@
package com.mcwl.memberCenter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.memberCenter.domain.MemberConsume;
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
import com.mcwl.memberCenter.mapper.MemberConsumeMapper;
import com.mcwl.memberCenter.service.MemberConsumeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@RequiredArgsConstructor
public class MemberConsumeServiceImpl extends ServiceImpl<MemberConsumeMapper, MemberConsume> implements MemberConsumeService {
private final MemberConsumeMapper memberConsumeMapper;
@Override
public TableDataInfo getConsumePoints(PageDomain pageDomain) {
Page<MemberConsume> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
Long userId = SecurityUtils.getUserId();
LambdaQueryWrapper<MemberConsume> lqw = new LambdaQueryWrapper<>();
lqw.eq(MemberConsume::getUserId, userId);
memberConsumeMapper.selectPage(page, lqw);
List<MemberConsume> memberConsumeList = page.getRecords();
List<MemberConsumeVO> memberConsumeVOList = new ArrayList<>();
for (MemberConsume memberConsume : memberConsumeList) {
MemberConsumeVO memberConsumeVO = new MemberConsumeVO();
BeanUtil.copyProperties(memberConsume, memberConsumeVO);
memberConsumeVOList.add(memberConsumeVO);
}
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(memberConsumeVOList);
rspData.setTotal(page.getTotal());
return rspData;
}
}

View File

@ -3,10 +3,15 @@ package com.mcwl.memberCenter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.domain.entity.SysUser;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.exception.ServiceException;
import com.mcwl.common.utils.DateUtils;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.memberCenter.domain.*;
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
@ -283,22 +288,30 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
@Override
public List<RechargeRecordVO> getRechargePoints(Long userId) {
if (Objects.isNull(userId)) {
return Collections.emptyList();
}
List<RechargeRecord> rechargeRecordList = rechargeRecordService.lambdaQuery()
.eq(RechargeRecord::getUserId, userId)
.list();
public TableDataInfo getRechargePoints(PageDomain pageDomain) {
Page<RechargeRecord> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
rechargeRecordService.page(page, new LambdaQueryWrapper<RechargeRecord>()
.eq(RechargeRecord::getUserId, SecurityUtils.getUserId()));
List<RechargeRecord> rechargeRecordList = page.getRecords();
List<RechargeRecordVO> rechargeRecordVOList = new ArrayList<>();
for (RechargeRecord rechargeRecord : rechargeRecordList) {
RechargeRecordVO rechargeRecordVO = BeanUtil.copyProperties(rechargeRecord, RechargeRecordVO.class);
RechargeRecordVO rechargeRecordVO = new RechargeRecordVO();
BeanUtil.copyProperties(rechargeRecord, rechargeRecordVO);
rechargeRecordVO.setRechargeTime(rechargeRecord.getCreateTime());
rechargeRecordVOList.add(rechargeRecordVO);
}
return rechargeRecordVOList;
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(rechargeRecordVOList);
rspData.setTotal(page.getTotal());
return rspData;
}
}