From 2b5fad6b5f0c424dd18cca35ea9ad517cc92f284 Mon Sep 17 00:00:00 2001 From: zt Date: Tue, 11 Feb 2025 17:45:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E9=87=91=E6=8F=90=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/enums/ErrorCodeConstants.java | 1 + .../service/amount/DeductionServiceImpl.java | 38 +++++++++++++++---- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index 9a78f9e5..7d42e78d 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -73,6 +73,7 @@ public interface ErrorCodeConstants { ErrorCode DEVICE_WARN_NOT_EXISTS = new ErrorCode(1_004_013_011, "订单明细不存在"); ErrorCode DISH_STATISTICS_NOT_EXISTS = new ErrorCode(1_004_013_012, "订单明细不存在"); ErrorCode CASH_AMOUNT_NOT_ENOUGH = new ErrorCode(1_004_013_002, "现金充值余额不足"); + ErrorCode CASH_AMOUNT_NOT_ALLOW = new ErrorCode(1_004_013_003, "不允许提现"); ErrorCode DINING_PLATES_NOT_EXISTS = new ErrorCode(1_004_099_000, "餐盘不存在"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/DeductionServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/DeductionServiceImpl.java index 699f2320..e2d36108 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/DeductionServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/amount/DeductionServiceImpl.java @@ -30,6 +30,7 @@ import java.time.LocalDateTime; import java.util.*; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.CASH_AMOUNT_NOT_ALLOW; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.CASH_AMOUNT_NOT_ENOUGH; import static cn.iocoder.yudao.module.member.service.amount.LockManager.getUserLock; @@ -210,6 +211,10 @@ public class DeductionServiceImpl implements DeductionService { BigDecimal newMoney; String name; + if(judgeDraw(userId)){ + throw exception(CASH_AMOUNT_NOT_ALLOW); + } + synchronized (getUserLock(userId)) { MemberUserDO user = userService.getUser(userId); if (user.getCashAmount().compareTo(BigDecimal.ZERO) < 1 @@ -638,7 +643,9 @@ public class DeductionServiceImpl implements DeductionService { } - //判断食堂扣款顺序(true - 微信,false - 现金) + /** + * 判断食堂扣款顺序(true - 微信,false - 现金) + */ public boolean judge(Long userId) { //获取用户所在组分类 List types = memberGroupService.getGroupTypeListByUserId(userId); @@ -647,7 +654,9 @@ public class DeductionServiceImpl implements DeductionService { return isHoliday && (types.contains(GroupTypeEnum.ADMINISTRATIVE.getCode()) || types.contains(GroupTypeEnum.DISTRICT.getCode())); } - //判断食堂扣款顺序(true - 微信,false - 现金) + /** + * 判断食堂扣款顺序(true - 微信,false - 现金) + */ public boolean judge(Long userId, String time) { //获取用户所在组分类 List types = memberGroupService.getGroupTypeListByUserId(userId); @@ -656,7 +665,9 @@ public class DeductionServiceImpl implements DeductionService { return isHoliday && (types.contains(GroupTypeEnum.ADMINISTRATIVE.getCode()) || types.contains(GroupTypeEnum.DISTRICT.getCode())); } - //判断购物付款顺序(true - 微信,false - 现金) + /** + * 判断购物付款顺序(true - 微信,false - 现金) + */ public boolean judgeShopping(Long userId) { //获取用户所在组分类 List types = memberGroupService.getGroupTypeListByUserId(userId); @@ -664,7 +675,9 @@ public class DeductionServiceImpl implements DeductionService { } - //判断太空舱付款顺序(true - 微信,false - 现金) + /** + * 判断太空舱付款顺序(true - 微信,false - 现金) + */ public boolean judgeSpace(Long userId) { //获取用户所在组分类 List types = memberGroupService.getGroupTypeListByUserId(userId); @@ -675,10 +688,19 @@ public class DeductionServiceImpl implements DeductionService { return true; } //行政服务中心只允许工作日 - if (isHoliday && types.contains(GroupTypeEnum.ADMINISTRATIVE.getCode())) { - return true; - } - return false; + return isHoliday && types.contains(GroupTypeEnum.ADMINISTRATIVE.getCode()); } + + /** + * 判断是否能提现(true - 不能,false - 能) + */ + public boolean judgeDraw(Long userId) { + //获取用户所在组分类 + List types = memberGroupService.getGroupTypeListByUserId(userId); + return types.contains(GroupTypeEnum.YCLH.getCode()) || types.contains(GroupTypeEnum.DISTRICT.getCode()) + || types.contains(GroupTypeEnum.ADMINISTRATIVE.getCode()) || types.contains(GroupTypeEnum.OTHER.getCode()); + + } + }