diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/pay/PayConstants.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/pay/PayConstants.java index 00659f363..12e9c149e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/pay/PayConstants.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/pay/PayConstants.java @@ -11,7 +11,9 @@ public class PayConstants { public static final String PAY_PASSBACK_PARAMS_KEY = "passback_params";// 回调参数passback key - public static final String PAY_ORDER_PREFIX_FORMAT = "P%dO%s"; + public static final String PAY_ORDER_PREFIX_FORMAT = "P%dO%s"; // 第三方支付流水号格式 + + public static final String PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT = "P%dD%s"; // 产品购买流水号格式 public static final String PAY_PASSBACK_PARAMS_PURCHASE_RECORD_ID_KEY = "purchaseRecordId"; //支付passback 购买记录key } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java index 92fdef5d8..f0c96dddd 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java @@ -628,6 +628,7 @@ public class PayOrderServiceImpl implements PayOrderService { // 2、新增退回的收支记录 IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, record.getId())) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.INCOME.getCode()) .cashAmountChange(accountBalanceSpent) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayProductProcessor.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayProductProcessor.java index a3fde7216..be9f1b748 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayProductProcessor.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayProductProcessor.java @@ -118,8 +118,9 @@ public class PayProductProcessor { throw new ServiceException(PAY_PRODUCT_BALANCE_INSUFFICIENT); } // 新增购买记录 + long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId(); PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder() - .id(IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId()) + .id(purchaseId) .organId(organId) .productId(productsDO.getId()) .productName(productsDO.getProductName()) @@ -143,6 +144,7 @@ public class PayProductProcessor { BigDecimal giftAmount = organAmountDO.getGiftAmount(); IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId)) .purchaseId(purchaseRecordDO.getId()) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode()) @@ -169,8 +171,9 @@ public class PayProductProcessor { throw new ServiceException(PAY_PRODUCT_GIFT_BALANCE_INSUFFICIENT); } // 新增购买记录 + long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId(); PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder() - .id(IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId()) + .id(purchaseId) .organId(organId) .productId(productsDO.getId()) .productName(productsDO.getProductName()) @@ -194,6 +197,7 @@ public class PayProductProcessor { BigDecimal amount = organAmountDO.getAmount(); IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId)) .purchaseId(purchaseRecordDO.getId()) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode()) @@ -287,8 +291,9 @@ public class PayProductProcessor { BigDecimal usedBalance = BigDecimal.ZERO; // 新增购买记录 + long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId(); PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder() - .id(IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId()) + .id(purchaseId) .organId(organId) .productId(productsDO.getId()) .productName(productsDO.getProductName()) @@ -331,6 +336,7 @@ public class PayProductProcessor { BigDecimal newGift = gift.subtract(usedGift); IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId)) .purchaseId(purchaseRecordDO.getId()) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode()) @@ -358,8 +364,9 @@ public class PayProductProcessor { BigDecimal usedBalance = BigDecimal.ZERO; // 新增购买记录 + long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId(); PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder() - .id(IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId()) + .id(purchaseId) .organId(organId) .productId(productsDO.getId()) .productName(productsDO.getProductName()) @@ -389,6 +396,7 @@ public class PayProductProcessor { BigDecimal giftAmount = organAmountDO.getGiftAmount(); IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId)) .purchaseId(purchaseRecordDO.getId()) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode()) @@ -499,8 +507,9 @@ public class PayProductProcessor { BigDecimal usedBalance = BigDecimal.ZERO; // 新增购买记录 + long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId(); PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder() - .id(IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId()) + .id(purchaseId) .organId(organId) .productId(productsDO.getId()) .productName(productsDO.getProductName()) @@ -537,6 +546,7 @@ public class PayProductProcessor { BigDecimal newGift = gift.subtract(usedGift); IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder() .organId(organId) + .businessNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId)) .purchaseId(purchaseRecordDO.getId()) .tradeType(TradeTypeEnum.PRODUCT.getCode()) .incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode())