feat(memberCenter): 积分消费和充值记录的分页
parent
c69d7e032f
commit
a044b8c367
|
@ -1,28 +1,29 @@
|
||||||
package com.mcwl.web.controller.communityCenter;
|
package com.mcwl.web.controller.communityCenter;
|
||||||
|
|
||||||
|
|
||||||
|
import com.mcwl.communityCenter.service.AIService;
|
||||||
import com.mcwl.communityCenter.webSocket.ChatWebSocket;
|
import com.mcwl.communityCenter.webSocket.ChatWebSocket;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import reactor.core.publisher.Flux;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/chat")
|
@RequestMapping("/chat")
|
||||||
public class ChatController {
|
public class ChatController {
|
||||||
|
|
||||||
private final ChatWebSocket chatWebSocket;
|
private final AIService aiService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 切换用户模式
|
* ai
|
||||||
* @param sessionId
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
*/
|
||||||
// @GetMapping("/switchUserMode")
|
@GetMapping("/ai")
|
||||||
// public void switchUserMode(String sessionId) throws Exception {
|
public Flux<String> switchUserMode(String msg) throws Exception {
|
||||||
// chatWebSocket.switchUserMode(sessionId);
|
return aiService.getDeepSeekResponseStream(msg);
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.R;
|
import com.mcwl.common.core.domain.R;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
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.common.utils.SecurityUtils;
|
||||||
import com.mcwl.memberCenter.domain.*;
|
import com.mcwl.memberCenter.domain.*;
|
||||||
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
|
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
|
||||||
|
@ -82,33 +84,23 @@ public class MemberController {
|
||||||
/**
|
/**
|
||||||
* 获取积分消费记录
|
* 获取积分消费记录
|
||||||
*
|
*
|
||||||
* @return 积分消费记录
|
* @return 获取积分消费记录
|
||||||
*/
|
*/
|
||||||
@GetMapping("getPoints")
|
@GetMapping("getConsumePoints")
|
||||||
@ApiOperation(value = "获取积分消费记录")
|
@ApiOperation(value = "获取积分消费记录")
|
||||||
public R<List<MemberConsumeVO>> getPoints() {
|
public TableDataInfo getConsumePoints(@Valid @RequestBody PageDomain pageDomain) {
|
||||||
Long userId = SecurityUtils.getUserId();
|
|
||||||
|
|
||||||
// 会员消费记录
|
return memberConsumeService.getConsumePoints(pageDomain);
|
||||||
List<MemberConsume> memberConsumeList = memberConsumeService
|
|
||||||
.lambdaQuery()
|
|
||||||
.eq(MemberConsume::getUserId, userId)
|
|
||||||
.list();
|
|
||||||
|
|
||||||
return R.ok(BeanUtil.copyToList(memberConsumeList, MemberConsumeVO.class));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取积分记录
|
* 获取积分充值记录
|
||||||
*/
|
*/
|
||||||
@GetMapping("getRechargePoints")
|
@GetMapping("getRechargePoints")
|
||||||
@ApiOperation(value = "获取积分记录")
|
@ApiOperation(value = "获取积分充值记录")
|
||||||
public R<List<RechargeRecordVO>> getRechargePoints() {
|
public TableDataInfo getRechargePoints(@Valid @RequestBody PageDomain pageDomain) {
|
||||||
Long userId = SecurityUtils.getUserId();
|
|
||||||
|
|
||||||
List<RechargeRecordVO> rechargeRecordList = memberService.getRechargePoints(userId);
|
return memberService.getRechargePoints(pageDomain);
|
||||||
|
|
||||||
return R.ok(rechargeRecordList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
package com.mcwl.web.controller.personalCenter;
|
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.R;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.page.PageDomain;
|
import com.mcwl.common.core.page.PageDomain;
|
||||||
import com.mcwl.common.core.page.TableDataInfo;
|
import com.mcwl.common.core.page.TableDataInfo;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.memberCenter.domain.Member;
|
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.memberCenter.service.MemberService;
|
||||||
import com.mcwl.myInvitation.service.ConsumeService;
|
import com.mcwl.myInvitation.service.ConsumeService;
|
||||||
import com.mcwl.pay.service.OrderTradeService;
|
import com.mcwl.pay.service.OrderTradeService;
|
||||||
|
@ -20,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
package com.mcwl.memberCenter.service;
|
package com.mcwl.memberCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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 com.mcwl.memberCenter.domain.MemberConsume;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
public interface MemberConsumeService extends IService<MemberConsume> {
|
public interface MemberConsumeService extends IService<MemberConsume> {
|
||||||
|
|
||||||
|
|
||||||
|
TableDataInfo getConsumePoints(PageDomain pageDomain);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.mcwl.memberCenter.service;
|
package com.mcwl.memberCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.Member;
|
||||||
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
|
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
|
||||||
|
|
||||||
|
@ -47,5 +49,5 @@ public interface MemberService extends IService<Member> {
|
||||||
|
|
||||||
Double calculatePayment(Double unitPrice, Long promotionId);
|
Double calculatePayment(Double unitPrice, Long promotionId);
|
||||||
|
|
||||||
List<RechargeRecordVO> getRechargePoints(Long userId);
|
TableDataInfo getRechargePoints(PageDomain pageDomain);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,56 @@
|
||||||
package com.mcwl.memberCenter.service.impl;
|
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.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.MemberConsume;
|
||||||
|
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
|
||||||
import com.mcwl.memberCenter.mapper.MemberConsumeMapper;
|
import com.mcwl.memberCenter.mapper.MemberConsumeMapper;
|
||||||
import com.mcwl.memberCenter.service.MemberConsumeService;
|
import com.mcwl.memberCenter.service.MemberConsumeService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class MemberConsumeServiceImpl extends ServiceImpl<MemberConsumeMapper, MemberConsume> implements MemberConsumeService {
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,15 @@ package com.mcwl.memberCenter.service.impl;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.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.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
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.exception.ServiceException;
|
||||||
|
import com.mcwl.common.utils.DateUtils;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.memberCenter.domain.*;
|
import com.mcwl.memberCenter.domain.*;
|
||||||
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
|
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
|
||||||
|
@ -283,22 +288,30 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<RechargeRecordVO> getRechargePoints(Long userId) {
|
public TableDataInfo getRechargePoints(PageDomain pageDomain) {
|
||||||
if (Objects.isNull(userId)) {
|
|
||||||
return Collections.emptyList();
|
Page<RechargeRecord> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||||
}
|
|
||||||
List<RechargeRecord> rechargeRecordList = rechargeRecordService.lambdaQuery()
|
rechargeRecordService.page(page, new LambdaQueryWrapper<RechargeRecord>()
|
||||||
.eq(RechargeRecord::getUserId, userId)
|
.eq(RechargeRecord::getUserId, SecurityUtils.getUserId()));
|
||||||
.list();
|
|
||||||
|
List<RechargeRecord> rechargeRecordList = page.getRecords();
|
||||||
|
|
||||||
List<RechargeRecordVO> rechargeRecordVOList = new ArrayList<>();
|
List<RechargeRecordVO> rechargeRecordVOList = new ArrayList<>();
|
||||||
|
|
||||||
for (RechargeRecord rechargeRecord : rechargeRecordList) {
|
for (RechargeRecord rechargeRecord : rechargeRecordList) {
|
||||||
RechargeRecordVO rechargeRecordVO = BeanUtil.copyProperties(rechargeRecord, RechargeRecordVO.class);
|
RechargeRecordVO rechargeRecordVO = new RechargeRecordVO();
|
||||||
|
BeanUtil.copyProperties(rechargeRecord, rechargeRecordVO);
|
||||||
rechargeRecordVO.setRechargeTime(rechargeRecord.getCreateTime());
|
rechargeRecordVO.setRechargeTime(rechargeRecord.getCreateTime());
|
||||||
rechargeRecordVOList.add(rechargeRecordVO);
|
rechargeRecordVOList.add(rechargeRecordVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rechargeRecordVOList;
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
rspData.setRows(rechargeRecordVOList);
|
||||||
|
rspData.setTotal(page.getTotal());
|
||||||
|
|
||||||
|
return rspData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue