diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizEnum.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizEnum.java index cb1cad37f..111e08d61 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizEnum.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizEnum.java @@ -17,6 +17,7 @@ public enum WalletBizEnum { REFUND("5", "退款"), TRANSFER_ACCOUNTS("6", "转账"), TRANSFER_ACCOUNTS_REFUND("7", "转账退款"), + RETURN_CANTEEN("8", "退还各自食堂"), ; private final String code; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizRechargeEnum.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizRechargeEnum.java index 839d4bec0..6fdfe731b 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizRechargeEnum.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletBizRechargeEnum.java @@ -5,17 +5,24 @@ import lombok.AllArgsConstructor; import lombok.Getter; import java.util.Arrays; +import java.util.List; @Getter @AllArgsConstructor public enum WalletBizRechargeEnum { ADD("1", "添加"), - REDUCTION("2", "减少"), + REDUCTION("2", "记账扣款"), + RETURN_CANTEEN("3", "退还各自食堂"), ; + private final String code; private final String desc; + public static List reductionCodes() { + return Arrays.asList(REDUCTION.getCode(), RETURN_CANTEEN.getCode()); + } + public static WalletBizRechargeEnum valueOfByType(String code) { return Arrays.stream(WalletBizRechargeEnum.values()) .filter(v -> ObjectUtil.equal(v.getCode(), code)) diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/recharge/WalletRechargeApplyEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/recharge/WalletRechargeApplyEntity.java index 972334225..74718a078 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/recharge/WalletRechargeApplyEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/recharge/WalletRechargeApplyEntity.java @@ -89,6 +89,12 @@ public class WalletRechargeApplyEntity extends Model @Schema(description = "申请时间") private LocalDateTime applyTime; + /** + * 是否授权(退还各自食堂) + */ + @Schema(description = "是否授权") + private String isAuthorization; + /** * 备注 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java index f5f0f08e8..73e65d66f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java @@ -3,7 +3,6 @@ package com.bsd.pjcloud.wallet.controller.recharge; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.io.resource.ResourceUtil; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.EasyExcel; @@ -17,13 +16,11 @@ import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; -import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.wallet.api.constant.WalletBizRechargeEnum; import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeImportDto; import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity; import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeImportVo; -import com.bsd.pjcloud.wallet.api.vo.transaction.WalletTransactionVo; import com.bsd.pjcloud.wallet.service.WalletRechargeImportService; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.access.prepost.PreAuthorize; @@ -42,7 +39,6 @@ import java.math.RoundingMode; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; /** * 充值导入表 @@ -134,7 +130,7 @@ public class WalletRechargeImportController { v.setLineNumber(lineNumber); lineNumber++; if (ObjectUtil.isNotEmpty(v.getPrice())) { - if (ObjectUtil.equals(v.getBizType(), WalletBizRechargeEnum.REDUCTION.getCode()) && v.getPrice() > 0) { + if (WalletBizRechargeEnum.reductionCodes().contains(v.getBizType()) && v.getPrice() > 0) { v.setPrice(v.getPrice() * -1); } priceStrSum = priceStrSum.add(BigDecimal.valueOf(v.getPrice())); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java index 3923c7493..b4628cfb2 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java @@ -32,23 +32,16 @@ public interface WalletRechargeApplyService extends IService excelVOList, BindingResult bindingResult); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java index c3094e46d..e9efadd6b 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTransactionServiceImpl.java @@ -125,7 +125,7 @@ public class WalletTransactionServiceImpl extends ServiceImpl v.setPrice(-1 * Math.abs(v.getPrice()))); } for (WalletRechargeImportEntity v : importList) { @@ -357,7 +361,9 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl userIds = importList.stream().map(WalletRechargeImportEntity::getUserId).distinct().toList(); @@ -488,7 +494,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl importList = rechargeImportService.list(new LambdaQueryWrapper() .eq(WalletRechargeImportEntity::getApplyId, applyDto.getId()) ); @@ -528,7 +534,8 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl importList = rechargeImportService.list(new LambdaQueryWrapper() .eq(WalletRechargeImportEntity::getApplyId, applyDto.getId()) ); @@ -553,7 +560,8 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl"); } - errorMsg.append("记账扣款失败,"); + errorMsg.append(bizTypeEnum.getDesc()); + errorMsg.append("失败,"); errorMsg.append("操作前的金额<").append(wallet.getBalance() / 100).append(">,"); errorMsg.append("记账扣款的金额<").append(i.getPrice() / 100).append(">,"); errorMsg.append("记账扣款后的金额<").append(discountPrice / 100).append(">\n"); @@ -565,7 +573,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl importList) { - if (ObjectUtil.notEqual(applyDto.getBizType(), WalletBizRechargeEnum.REDUCTION.getCode())) return; + if (!WalletBizRechargeEnum.reductionCodes().contains(applyDto.getBizType())) return; List importUserIds = importList.stream().map(WalletRechargeImportEntity::getUserId).distinct().toList(); // 查询用户钱包 WalletManageDto userWalletDto = new WalletManageDto();