From ddad249deae22d334b0159642baa1cc94193b37e Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Wed, 11 Jun 2025 10:46:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=88=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=AB=AF=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=8F=90=E7=8E=B0=E7=94=B3=E8=AF=B7=EF=BC=89=20(=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=AB=AF=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=B5=84=E9=87=91=E5=8F=98=E5=8A=A8=E8=AE=B0=E5=BD=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WithdrawalApplyController.java | 29 ++++++++++++++----- .../fundsChange/FundsChangeAddRequest.java | 6 ++++ .../promotion/model/entity/FundsChange.java | 6 ++++ .../model/vo/fundsChange/FundsChangeVO.java | 7 +++++ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/greenorange/promotion/controller/projectSettlement/WithdrawalApplyController.java b/src/main/java/com/greenorange/promotion/controller/projectSettlement/WithdrawalApplyController.java index 7c83db1..b01e62c 100644 --- a/src/main/java/com/greenorange/promotion/controller/projectSettlement/WithdrawalApplyController.java +++ b/src/main/java/com/greenorange/promotion/controller/projectSettlement/WithdrawalApplyController.java @@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; +import java.util.Collections; import java.util.List; @@ -75,11 +76,9 @@ public class WithdrawalApplyController { @RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE) public BaseResponse queryWithdrawalCondition(HttpServletRequest request) { Long userId = (Long) request.getAttribute("userId"); - LambdaQueryWrapper userMainInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, userId); + LambdaQueryWrapper userMainInfoLambdaQueryWrapper = commonService.buildQueryWrapperByField(UserMainInfo::getUserId, userId, userMainInfoService); UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper); - LambdaQueryWrapper userAccountLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userAccountLambdaQueryWrapper.eq(UserAccount::getUserId, userId); + LambdaQueryWrapper userAccountLambdaQueryWrapper = commonService.buildQueryWrapperByField(UserAccount::getUserId, userId, userAccountService); UserAccount userAccount = userAccountService.getOne(userAccountLambdaQueryWrapper); String bankCardNumber = userAccount == null ? "" : userAccount.getBankCardNumber(); UserAccountConditionVO userAccountConditionVO = UserAccountConditionVO.builder() @@ -115,6 +114,21 @@ public class WithdrawalApplyController { .userId(userId) .build(); withdrawalApplyService.save(withdrawalApply); + // 修改个人主要信息 + LambdaQueryWrapper userMainInfoLambdaQueryWrapper = commonService.buildQueryWrapperByField(UserMainInfo::getUserId, userId, userMainInfoService); + UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper); + userMainInfo.setWithdrawalAmount(userMainInfo.getWithdrawalAmount().add(withdrawnAmount)); + userMainInfo.setCurrentBalance(userMainInfo.getCurrentBalance().subtract(withdrawnAmount)); + userMainInfoService.updateById(userMainInfo); + // 添加资金明细记录 + FundsChange fundsChange = FundsChange.builder() + .projectName("用户提现") + .changeAmount(withdrawnAmount.negate()) + .currentAmount(userMainInfo.getCurrentBalance()) + .userId(userId) + .projectSettlementId(0L) + .build(); + fundsChangeService.save(fundsChange); return ResultUtils.success(withdrawalApply.getId()); } @@ -131,6 +145,7 @@ public class WithdrawalApplyController { Long userId = (Long) request.getAttribute("userId"); List withdrawalApplyList = commonService.findByFieldEqTargetField(WithdrawalApply::getUserId, userId, withdrawalApplyService); List withdrawalApplyVOS = commonService.convertList(withdrawalApplyList, WithdrawalApplyVO.class); + Collections.reverse(withdrawalApplyVOS); return ResultUtils.success(withdrawalApplyVOS); } @@ -145,12 +160,12 @@ public class WithdrawalApplyController { // @SysLog(title = "提现申请记录管理", content = "小程序端用户查询资金变动记录") public BaseResponse queryFundsChangeByUserId(HttpServletRequest request) { Long userId = (Long) request.getAttribute("userId"); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserMainInfo::getUserId, userId); - UserMainInfo userMainInfo = userMainInfoService.getOne(lambdaQueryWrapper); + LambdaQueryWrapper userMainInfoLambdaQueryWrapper = commonService.buildQueryWrapperByField(UserMainInfo::getUserId, userId, userMainInfoService); + UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper); FundsItemVO fundsItemVO = commonService.copyProperties(userMainInfo, FundsItemVO.class); List fundsChangeList = commonService.findByFieldEqTargetField(FundsChange::getUserId, userId, fundsChangeService); List fundsChangeVOS = commonService.convertList(fundsChangeList, FundsChangeVO.class); + Collections.reverse(fundsChangeVOS); fundsItemVO.setFundsChangeVOList(fundsChangeVOS); return ResultUtils.success(fundsItemVO); } diff --git a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java index 3c7a32c..ecd148a 100644 --- a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java +++ b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java @@ -29,6 +29,12 @@ public class FundsChangeAddRequest implements Serializable { @Schema(description = "项目名称", example = "饿了么-超吃卡") private String projectName; + /** + * 项目明细名称 + */ + @Schema(description = "项目明细名称", example = "2.9元购买30元券包") + private String projectDetailName; + /** * 变动金额 */ diff --git a/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java b/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java index 8f727aa..4f28547 100644 --- a/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java +++ b/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java @@ -8,6 +8,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Builder; @@ -35,6 +36,11 @@ public class FundsChange implements Serializable { */ private String projectName; + /** + * 项目明细名称 + */ + private String projectDetailName; + /** * 变动金额 */ diff --git a/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java b/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java index 122178f..1e228cf 100644 --- a/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java +++ b/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java @@ -1,6 +1,7 @@ package com.greenorange.promotion.model.vo.fundsChange; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; @@ -27,6 +28,12 @@ public class FundsChangeVO implements Serializable { @Schema(description = "项目名称", example = "饿了么-超吃卡") private String projectName; + /** + * 项目明细名称 + */ + @Schema(description = "项目明细名称", example = "2.9元购买30元券包") + private String projectDetailName; + /** * 变动金额 */