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/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); + } + }