From e6797ce3ffb0f180bd7a1ae17924e74a194894ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A3=E6=96=B0?= Date: Wed, 22 Apr 2026 09:29:26 +0000 Subject: [PATCH] Merge #105 into master from cc_20260422_feeItemId MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix:splitType 传入 * cc_20260422_feeItemId: (2 commits squashed) - fix:费用类型feetId - fix:splitType 传入 Signed-off-by: 正新 Merged-by: 正新 CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/105 --- .../store/request/GenerateSplitOrderRequest.java | 2 ++ .../store/service/fees/WalletPayInfoService.java | 3 +++ .../fees/impl/WalletPayInfoServiceImpl.java | 16 +++++++++++----- .../service/impl/AdjustmentOrderServiceImpl.java | 6 +++++- .../impl/PreAllocationRecordServiceImpl.java | 14 ++++---------- .../store/controller/webb/PCTestController.java | 7 +++++++ 6 files changed, 32 insertions(+), 16 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GenerateSplitOrderRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GenerateSplitOrderRequest.java index dee9361fc..d7966a5ae 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/GenerateSplitOrderRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GenerateSplitOrderRequest.java @@ -40,4 +40,6 @@ public class GenerateSplitOrderRequest implements Serializable { @ApiModelProperty("备注") @Length(max = 255, message = "备注长度不能超过255") private String remark; + + private Integer splitType; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/fees/WalletPayInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/fees/WalletPayInfoService.java index d97c90e5b..0c1b580e1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/fees/WalletPayInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/fees/WalletPayInfoService.java @@ -5,6 +5,7 @@ import com.cool.store.request.fees.WalletCancelPayRequest; import com.cool.store.request.fees.WalletPayRequest; import com.cool.store.request.fees.WalletRepayRequest; import com.cool.store.vo.fees.WalletPayInfoVO; +import io.swagger.models.auth.In; import java.math.BigDecimal; import java.util.List; @@ -71,4 +72,6 @@ public interface WalletPayInfoService { * @return */ AccountTransferDTO accountPay(String expenseType, BigDecimal amount, String inAccNo, String outAccNo, String payNo, String remark); + + Integer getFeeItemId(String expenseType); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/WalletPayInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/WalletPayInfoServiceImpl.java index 9c597540f..70e734ee7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/WalletPayInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/WalletPayInfoServiceImpl.java @@ -376,18 +376,24 @@ public class WalletPayInfoServiceImpl implements WalletPayInfoService { @Override public AccountTransferDTO accountPay(String expenseType, BigDecimal amount, String inAccNo, String outAccNo,String payNo, String remark) { - WalletFeeItemEnum feeItem = WalletFeeItemEnum.getByExpenseType(expenseType); - if (Objects.isNull(feeItem)) { - throw new ServiceException(ErrorCodeEnum.NONSUPPORT_EXPENSE_TYPE); - } + Integer feeItemId = getFeeItemId(expenseType); AccountTransferRequest request = new AccountTransferRequest(); request.setReqNo(payNo); request.setInAccNo(inAccNo); request.setOutAccNo(outAccNo); request.setRemark(remark); request.setAmount(amount.toPlainString()); - request.setFeeItemId(feeItem.getFeeItemId()); + request.setFeeItemId(feeItemId); request.setWalletType(WalletTypeEnum.ONLINE_BANK.getType()); return walletApiService.accountTransfer(request); } + + @Override + public Integer getFeeItemId(String expenseType) { + String feeItemId = redisUtil.hashGetString("expense_type", expenseType); + if (StringUtils.isNotBlank(feeItemId)){ + return Integer.valueOf(feeItemId); + } + throw new ServiceException(ErrorCodeEnum.NONSUPPORT_EXPENSE_TYPE); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdjustmentOrderServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdjustmentOrderServiceImpl.java index 25fed8327..c38d9a630 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdjustmentOrderServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdjustmentOrderServiceImpl.java @@ -289,10 +289,14 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService { AccountInfoDTO accountInfoDTO = accountInfoList.get(0); + Integer splitType = request.getSplitType(); + if (splitType==null){ + splitType = SplitTypeEnum.ADD_BY_HAND.getStatus(); + } // 生成分账单 SplitOrderDO splitOrder = SplitOrderDO.builder() .splitNo(splitNo) - .splitType(SplitTypeEnum.ADD_BY_HAND.getStatus()) + .splitType(splitType) .relatedStoreId(adjustmentOrder.getStoreId()) .payerAccountName(accountInfoDTO.getAccountName()) .payerAccountNo(accountInfoDTO.getAccountNo()) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/store/impl/PreAllocationRecordServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/store/impl/PreAllocationRecordServiceImpl.java index d962963fc..282e26146 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/store/impl/PreAllocationRecordServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/store/impl/PreAllocationRecordServiceImpl.java @@ -259,11 +259,8 @@ public class PreAllocationRecordServiceImpl implements PreAllocationRecordServic transData.setReqNo(payNo); // 根据费用类型获取费用科目ID - WalletFeeItemEnum feeItem = WalletFeeItemEnum.getByExpenseType(record.getExpenseType()); - if (feeItem == null) { - throw new ServiceException(ErrorCodeEnum.NONSUPPORT_EXPENSE_TYPE); - } - transData.setFeeItemId(feeItem.getFeeItemId()); + Integer feeItemId = walletPayInfoService.getFeeItemId(record.getExpenseType()); + transData.setFeeItemId(feeItemId); transData.setCompanyCode(record.getPayeeCode()); transData.setAmount(record.getPayAmount().toString()); @@ -762,11 +759,8 @@ public class PreAllocationRecordServiceImpl implements PreAllocationRecordServic transDataRequest.setCompanyCode(record.getPayeeCode()); transDataRequest.setAmount(record.getPayAmount().toPlainString()); transDataRequest.setRemark(transRequest.getRemark()); - WalletFeeItemEnum feeItem = WalletFeeItemEnum.getByExpenseType(record.getExpenseType()); - if (feeItem == null) { - throw new ServiceException(ErrorCodeEnum.NONSUPPORT_EXPENSE_TYPE); - } - transDataRequest.setFeeItemId(feeItem.getFeeItemId()); + Integer feeItemId = walletPayInfoService.getFeeItemId(record.getExpenseType()); + transDataRequest.setFeeItemId(feeItemId); BatchTransferRequest transReq= new BatchTransferRequest(walletType, shopInfo.getStoreId(), null,1, Arrays.asList(transDataRequest)); batchTransferDTO = walletApiService.batchTransfer(transReq); }catch (Exception e){ diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index f336a2a19..11f03b229 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -926,4 +926,11 @@ public class PCTestController { return ResponseResult.success(Boolean.TRUE); } + @ApiOperation("获取feeItemId") + @GetMapping("/getFeeItemId") + public ResponseResult getFeeItemId(@RequestParam String expenseType) { + Integer feeItemId = walletPayInfoService.getFeeItemId(expenseType); + return ResponseResult.success(feeItemId); + } + }