fix:费用类型feetId

This commit is contained in:
suzhuhong
2026-04-22 17:12:02 +08:00
parent 34d95a3e4d
commit fca198a835
4 changed files with 25 additions and 15 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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){

View File

@@ -926,4 +926,11 @@ public class PCTestController {
return ResponseResult.success(Boolean.TRUE);
}
@ApiOperation("获取feeItemId")
@GetMapping("/getFeeItemId")
public ResponseResult<Integer> getFeeItemId(@RequestParam String expenseType) {
Integer feeItemId = walletPayInfoService.getFeeItemId(expenseType);
return ResponseResult.success(feeItemId);
}
}