From bfca023285d5f7e6d667018a03065a8857992818 Mon Sep 17 00:00:00 2001 From: PQZ Date: Sat, 29 Mar 2025 15:36:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=8F=98=E5=8A=A8=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MemberPointsController.java | 85 ++++++++----------- .../com/ruoyi/member/domain/MemberPoints.java | 2 +- .../member/mapper/MemberPointsMapper.java | 20 +++-- .../member/service/IMemberPointsService.java | 21 ++++- .../service/impl/MemberPointsServiceImpl.java | 67 +++++++++++++-- .../service/impl/MemberUserServiceImpl.java | 7 ++ .../com/ruoyi/member/vo/MemberUserVO.java | 3 + .../mapper/member/MemberPointsMapper.xml | 7 +- 8 files changed, 144 insertions(+), 68 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java index 627afa8..9272ce2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java @@ -4,16 +4,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.member.vo.MemberUserVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -25,61 +22,49 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 博主积分变动明细Controller - * + * * @author pqz * @date 2025-03-17 */ @RestController @RequestMapping("/member/points") -public class MemberPointsController extends BaseController -{ +public class MemberPointsController extends BaseController { @Autowired private IMemberPointsService memberPointsService; /** - * 查询博主积分变动明细列表 - */ - @PreAuthorize("@ss.hasPermi('member:points:list')") + * 分页查询积分变动明细 + * + * @param userId 用户id + * @param pageNum 分页参数 + * @param pageSize 分页参数 + * @return com.ruoyi.common.core.domain.AjaxResult + * @author PQZ + * @date 15:24 2025/3/29 + **/ @GetMapping("/list") - public AjaxResult list(MemberPoints memberPoints) - { - - List list = memberPointsService.list(); + public AjaxResult list(@RequestParam(name = "userId") Long userId, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + IPage list = memberPointsService.queryListPage(userId, page); return success(list); } - /** - * 导出博主积分变动明细列表 - */ - @PreAuthorize("@ss.hasPermi('member:points:export')") - @Log(title = "博主积分变动明细", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MemberPoints memberPoints) - { - List list = memberPointsService.list(); - ExcelUtil util = new ExcelUtil(MemberPoints.class); - util.exportExcel(response, list, "博主积分变动明细数据"); - } /** - * 获取博主积分变动明细详细信息 - */ - @PreAuthorize("@ss.hasPermi('member:points:query')") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") String id) - { - return success(memberPointsService.getById(id)); - } - - /** - * 新增博主积分变动明细 - */ - @PreAuthorize("@ss.hasPermi('member:points:add')") + * 新增博主积分变动记录 + * + * @param memberPoints {@link MemberPoints} + * @return com.ruoyi.common.core.domain.AjaxResult + * @author PQZ + * @date 15:29 2025/3/29 + **/ @Log(title = "博主积分变动明细", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody MemberPoints memberPoints) - { - return toAjax(memberPointsService.save(memberPoints)); + public AjaxResult add(@RequestBody MemberPoints memberPoints) { + memberPointsService.savePoints(memberPoints); + return success(); } /** @@ -88,8 +73,7 @@ public class MemberPointsController extends BaseController @PreAuthorize("@ss.hasPermi('member:points:edit')") @Log(title = "博主积分变动明细", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody MemberPoints memberPoints) - { + public AjaxResult edit(@RequestBody MemberPoints memberPoints) { return toAjax(memberPointsService.updateById(memberPoints)); } @@ -98,9 +82,8 @@ public class MemberPointsController extends BaseController */ @PreAuthorize("@ss.hasPermi('member:points:remove')") @Log(title = "博主积分变动明细", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) - { + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { List list = new ArrayList<>(Arrays.asList(ids)); return toAjax(memberPointsService.removeByIds(list)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberPoints.java b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberPoints.java index fdcb493..a95f61b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberPoints.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberPoints.java @@ -50,7 +50,7 @@ public class MemberPoints extends DlBaseEntity /** 剩余 */ @Excel(name = "剩余") - private Long balance; + private Integer balance; /** 备注 */ @Excel(name = "备注") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java index a713004..7acec56 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java @@ -1,18 +1,28 @@ package com.ruoyi.member.mapper; -import java.util.List; -import com.ruoyi.member.domain.MemberPoints; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.member.domain.MemberPoints; import org.apache.ibatis.annotations.Mapper; /** * 博主积分变动明细Mapper接口 - * + * * @author pqz * @date 2025-03-17 */ @Mapper -public interface MemberPointsMapper extends BaseMapper -{ +public interface MemberPointsMapper extends BaseMapper { + /** + * 根据用户id查询积分变动明细 + * + * @param userId 用户id + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 15:25 2025/3/29 + **/ + IPage queryListPage(Long userId, Page page); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java index fa4bc37..8a0471d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java @@ -1,5 +1,7 @@ package com.ruoyi.member.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.domain.MemberPoints; @@ -13,5 +15,22 @@ import java.util.List; */ public interface IMemberPointsService extends IService { -// void dealMemberPoints(Long userId); + /** + * 分页查询积分变动明细 + * + * @param userId 用户id + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 15:24 2025/3/29 + **/ + IPage queryListPage(Long userId, Page page); + + /** + * 新增积分变动记录 + * @author PQZ + * @date 15:29 2025/3/29 + * @param memberPoints {@link MemberPoints} + **/ + void savePoints(MemberPoints memberPoints); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index bf5b590..ba53249 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -1,25 +1,74 @@ package com.ruoyi.member.service.impl; -import java.util.List; -import com.ruoyi.common.utils.DateUtils; +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.ruoyi.common.core.domain.DlBaseEntity; +import com.ruoyi.member.domain.MemberPoints; +import com.ruoyi.member.mapper.MemberPointsMapper; +import com.ruoyi.member.service.IMemberPointsService; +import io.lettuce.core.LMoveArgs; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.member.mapper.MemberPointsMapper; -import com.ruoyi.member.domain.MemberPoints; -import com.ruoyi.member.service.IMemberPointsService; + +import java.util.List; /** * 博主积分变动明细Service业务层处理 - * + * * @author pqz * @date 2025-03-17 */ @Service -public class MemberPointsServiceImpl extends ServiceImpl implements IMemberPointsService -{ +public class MemberPointsServiceImpl extends ServiceImpl implements IMemberPointsService { @Autowired private MemberPointsMapper memberPointsMapper; + /** + * 分页查询积分变动明细 + * + * @param userId 用户id + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 15:24 2025/3/29 + **/ + @Override + public IPage queryListPage(Long userId, Page page) { + return memberPointsMapper.queryListPage(userId,page); + } + + /** + * 新增积分变动记录 + * + * @param memberPoints {@link MemberPoints} + * @author PQZ + * @date 15:29 2025/3/29 + **/ + @Override + public void savePoints(MemberPoints memberPoints) { + //查询当前用户最近变动记录 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0) + .eq(MemberPoints::getUserId,memberPoints.getUserId()) + .orderByDesc(DlBaseEntity::getCreateTime); + List list = list(lambdaQueryWrapper); + //如果没有记录则为初始新增 + if (list.isEmpty()) { + memberPoints.setBalance(memberPoints.getPoints()); + } else { + //如果有记录则取最新记录中的剩余值进行计算后得出新值 + Integer oldBalance = list.get(0).getBalance(); + Integer newBalance; + if ("1".equals(memberPoints.getType())) { + newBalance = oldBalance + memberPoints.getPoints(); + } else { + newBalance = oldBalance - memberPoints.getPoints(); + } + memberPoints.setBalance(newBalance); + } + save(memberPoints); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java index 2d22175..7896f57 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java @@ -16,6 +16,7 @@ import com.ruoyi.constant.DictConstants; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.member.domain.MemberUser; import com.ruoyi.member.mapper.MemberUserMapper; +import com.ruoyi.member.service.IMemberAddressService; import com.ruoyi.member.service.IMemberBusiCardService; import com.ruoyi.member.service.IMemberCardService; import com.ruoyi.member.service.IMemberUserService; @@ -51,6 +52,8 @@ public class MemberUserServiceImpl extends ServiceImpl noticeVos; /**名片信息*/ List busiCards; + /**地址信息*/ + List addresses; } diff --git a/ruoyi-admin/src/main/resources/mapper/member/MemberPointsMapper.xml b/ruoyi-admin/src/main/resources/mapper/member/MemberPointsMapper.xml index 48b3c27..02b2dcd 100644 --- a/ruoyi-admin/src/main/resources/mapper/member/MemberPointsMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/member/MemberPointsMapper.xml @@ -24,5 +24,10 @@ select id, user_id, from_code, type, title, points, balance, remark, creator, create_time, updater, update_time, del_flag from dl_member_points - + \ No newline at end of file