From bfca023285d5f7e6d667018a03065a8857992818 Mon Sep 17 00:00:00 2001 From: PQZ Date: Sat, 29 Mar 2025 15:36:06 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=8F=98=E5=8A=A8?= =?UTF-8?q?=E8=AE=B0=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 From 0c4072b6e6075195e3a8f7246f76ad82069b0738 Mon Sep 17 00:00:00 2001 From: PQZ Date: Mon, 31 Mar 2025 13:53:05 +0800 Subject: [PATCH 2/6] 1 --- .../com/ruoyi/member/controller/MemberPointsController.java | 2 -- 1 file changed, 2 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 9272ce2..031298c 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 @@ -70,7 +70,6 @@ public class MemberPointsController extends BaseController { /** * 修改博主积分变动明细 */ - @PreAuthorize("@ss.hasPermi('member:points:edit')") @Log(title = "博主积分变动明细", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody MemberPoints memberPoints) { @@ -80,7 +79,6 @@ public class MemberPointsController extends BaseController { /** * 删除博主积分变动明细 */ - @PreAuthorize("@ss.hasPermi('member:points:remove')") @Log(title = "博主积分变动明细", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { From ea9f11f0815d0c728e17e5018ba319b9a60a9559 Mon Sep 17 00:00:00 2001 From: PQZ Date: Mon, 31 Mar 2025 13:58:49 +0800 Subject: [PATCH 3/6] 1 --- .../controller/MemberPointsController.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 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 031298c..a6cc1dd 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 @@ -1,24 +1,19 @@ package com.ruoyi.member.controller; -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.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.service.IMemberPointsService; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * 博主积分变动明细Controller From 183e12c805dc3e95fb998539813d57e98e3288ea Mon Sep 17 00:00:00 2001 From: PQZ Date: Mon, 31 Mar 2025 16:47:26 +0800 Subject: [PATCH 4/6] 1 --- .../member/service/IMemberPointsService.java | 15 ++++++++++-- .../service/impl/MemberPointsServiceImpl.java | 24 +++++++++++++++++++ .../service/impl/MemberUserServiceImpl.java | 15 ++++++------ .../com/ruoyi/member/vo/MemberUserVO.java | 6 +++-- .../src/main/resources/application.yml | 3 ++- .../ruoyi/common/config/DlRightsConfig.java | 2 ++ 6 files changed, 52 insertions(+), 13 deletions(-) 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 8a0471d..abd901b 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 @@ -28,9 +28,20 @@ public interface IMemberPointsService extends IService { /** * 新增积分变动记录 + * + * @param memberPoints {@link MemberPoints} * @author PQZ * @date 15:29 2025/3/29 - * @param memberPoints {@link MemberPoints} - **/ + **/ void savePoints(MemberPoints memberPoints); + + /** + * 获取积分 + * + * @param userId 用户id + * @return java.lang.Integer + * @author PQZ + * @date 16:11 2025/3/31 + **/ + Integer getBloggerBalance(Long userId); } 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 ba53249..cf3a3a8 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 @@ -4,6 +4,7 @@ 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.config.DlRightsConfig; import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.mapper.MemberPointsMapper; @@ -71,4 +72,27 @@ public class MemberPointsServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .eq(MemberPoints::getUserId,userId) + .eq(DlBaseEntity::getDelFlag,0) + .orderByDesc(DlBaseEntity::getCreateTime); + List list = list(lambdaQueryWrapper); + if (list.isEmpty()){ + return 0; + } else { + return list.get(0).getBalance(); + } + } } 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 7896f57..0acdff2 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,10 +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; +import com.ruoyi.member.service.*; import com.ruoyi.member.vo.MemberUserVO; import com.ruoyi.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +51,8 @@ public class MemberUserServiceImpl extends ServiceImpl cards; /**通告主发布的通告列表*/ List notices; - /**博主报名的通告列表*/ - List noticeVos; /**名片信息*/ List busiCards; /**地址信息*/ List addresses; + /**积分*/ + int pointsBalance; + /**报名次数*/ + int report; } diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 89821ac..070d060 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -153,4 +153,5 @@ wx-app: # 普通用户权益值 dl-rights: # 每月发布通告额度 - addNotice: 3 \ No newline at end of file + addNotice: 3 + report: 5 \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java index b959425..c7d45b5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java @@ -10,5 +10,7 @@ import org.springframework.stereotype.Component; public class DlRightsConfig { /** 每月发布通告额度 */ private Integer addNotice; + /** 每日可报名次数上限*/ + private Integer report; } From 63b4f6147d7b1cf99662a9a1297e4efaebb533b4 Mon Sep 17 00:00:00 2001 From: PQZ Date: Mon, 31 Mar 2025 17:50:36 +0800 Subject: [PATCH 5/6] 1 --- .../member/service/IMemberCardService.java | 20 +++++++++--- .../member/service/IMemberRightsService.java | 11 ++++++- .../service/impl/MemberCardServiceImpl.java | 30 ++++++++++++++++++ .../service/impl/MemberRightsServiceImpl.java | 31 +++++++++++++++++++ .../service/impl/MemberUserServiceImpl.java | 6 ++-- 5 files changed, 90 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java index 3a5d799..be1d4d3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java @@ -39,11 +39,23 @@ public interface IMemberCardService extends IService { /** * 查当前会员权益列表 + * + * @param userType 用户类型 + * @param userId 用户id * @author vinjor-M * @date 11:26 2025/3/26 - * @param userType 用户类型 - * @param userId 用户id - **/ - Map> selectMemberRights(Long userId, String userType); + **/ + Map> selectMemberRights(Long userId, String userType); + + /** + * 获取报名次数 + * + * @param userId 用户id + * @param userType 类型 + * @return java.lang.Integer + * @author PQZ + * @date 17:27 2025/3/31 + **/ + Integer getCardReport(Long userId, String userType); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java index 462355f..6c7eadc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java @@ -23,5 +23,14 @@ public interface IMemberRightsService extends IService { * @author PQZ * @date 15:45 2025/3/27 **/ - void dealRights(Long userId, String userType,List rights); + void dealRights(Long userId, String userType, List rights); + + /** + * @param userId 用户id + * @param carId 卡id + * @return java.lang.Integer + * @author PQZ + * @date 17:15 2025/3/31 + **/ + Integer getReport(Long userId, String carId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java index f3b8e3f..fd6c179 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.base.domain.BaseCard; import com.ruoyi.base.service.IBaseCardService; import com.ruoyi.base.vo.BaseCardVO; +import com.ruoyi.common.config.DlRightsConfig; import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.constant.DictConstants; @@ -202,6 +203,35 @@ public class MemberCardServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .eq(MemberCard::getUserType, userType) + .eq(MemberCard::getUserId, userId) + .eq(DlBaseEntity::getDelFlag, 0) + .lt(MemberCard::getStartDate, time) + .ge(MemberCard::getEndDate, time) + .orderByDesc(DlBaseEntity::getCreateTime); + List memberCards = list(lambdaQueryWrapper); + if (memberCards.isEmpty()) { + return 0; + } else { + return rightsService.getReport(memberCards.get(0).getUserId(),memberCards.get(0).getCardId()); + } + } + /** * @param memberRightsMap 会员权益map * @param item 这个权益 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberRightsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberRightsServiceImpl.java index a048e58..cf9c0ff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberRightsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberRightsServiceImpl.java @@ -1,7 +1,9 @@ package com.ruoyi.member.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.base.vo.CardRightsVO; +import com.ruoyi.common.config.DlRightsConfig; import com.ruoyi.member.domain.MemberCard; import com.ruoyi.member.domain.MemberRights; import com.ruoyi.member.mapper.MemberRightsMapper; @@ -11,6 +13,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 会员权益(定时任务重置剩余值),用户id、会员卡id、权益对应1Service业务层处理 @@ -22,6 +25,8 @@ import java.util.List; public class MemberRightsServiceImpl extends ServiceImpl implements IMemberRightsService { @Autowired private MemberRightsMapper memberRightsMapper; + @Autowired + private DlRightsConfig dlRightsConfig; /** @@ -49,4 +54,30 @@ public class MemberRightsServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .eq(MemberRights::getUserId,userId) + .eq(MemberRights::getCardId,cardId); + List rights = list(lambdaQueryWrapper); + if (rights.isEmpty()){ + return dlRightsConfig.getReport(); + } else { + List filterRights = rights.stream() + .filter(item -> "report".equals(item.getRightsCode())) + .collect(Collectors.toList()); + return filterRights.get(0).getRemaining(); + } + } } 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 0acdff2..5dcaa63 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 @@ -103,9 +103,9 @@ public class MemberUserServiceImpl extends ServiceImpl Date: Mon, 31 Mar 2025 18:12:10 +0800 Subject: [PATCH 6/6] 1 --- .../member/service/IMemberCardService.java | 10 ++++-- .../service/impl/MemberCardServiceImpl.java | 35 +++++++++++-------- .../service/impl/MemberOrderServiceImpl.java | 2 +- .../service/impl/MemberUserServiceImpl.java | 3 ++ 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java index be1d4d3..799e607 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java @@ -31,11 +31,15 @@ public interface IMemberCardService extends IService { /** * 会员开卡处理 * - * @param order 订单 + * @param userId 用户id + * @param userType 用户类型 + * @param cardId 卡id + * @param cycle 时间 + * @param orderId 订单id * @author PQZ - * @date 16:18 2025/3/26 + * @date 18:06 2025/3/31 **/ - void dealMemberCard(MemberOrder order); + void dealMemberCard(Long userId, String userType, String cardId, String cycle, String orderId); /** * 查当前会员权益列表 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java index fd6c179..1d02f3f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java @@ -72,39 +72,43 @@ public class MemberCardServiceImpl extends ServiceImpl cardList = checkMemberCard(order.getGoodsId(), order.getUserId()); + List cardList = checkMemberCard(cardId, userId); /*2、计算到期时间*/ Date startTime; Date endTime; - if (cardList.isEmpty()){ + if (cardList.isEmpty()) { //计算到期时间 startTime = new Date(); - endTime = getEndTime(startTime, order.getGoodsCycle()); + endTime = getEndTime(startTime, cycle); //新增时需要处理会员权益 - rightsService.dealRights(order.getUserId(),order.getUserType(),card.getRights()); + rightsService.dealRights(userId, userType, card.getRights()); } else { startTime = cardList.get(0).getEndDate(); - endTime = getEndTime(startTime,order.getGoodsCycle()); + endTime = getEndTime(startTime, cycle); } /*3、保存会员开卡记录*/ //初始化会员开通记录 MemberCard memberCard = new MemberCard(); - memberCard.setUserId(order.getUserId()); - memberCard.setUserType(order.getUserType()); - memberCard.setCardId(order.getGoodsId()); - memberCard.setOrderId(order.getId()); + memberCard.setUserId(userId); + memberCard.setUserType(userType); + memberCard.setCardId(cardId); + memberCard.setOrderId(orderId); memberCard.setCardName(card.getCardName()); memberCard.setStartDate(startTime); memberCard.setEndDate(endTime); @@ -154,6 +158,9 @@ public class MemberCardServiceImpl extends ServiceImpl