1、资金管理订单号生成格式移除组织id的组成;2、定价列表默认以时长排序;

This commit is contained in:
gaoqr
2025-10-13 17:48:47 +08:00
parent 8cd212cb93
commit d8592dfce9
6 changed files with 16 additions and 16 deletions
@@ -27,6 +27,7 @@ public interface ProductsDetailMapper extends BaseMapperX<ProductsDetailDO> {
.eqIfPresent(ProductsDetailDO::getDiscount, reqVO.getDiscount())
.eqIfPresent(ProductsDetailDO::getIsDiscounted, reqVO.getIsDiscounted())
.eqIfPresent(ProductsDetailDO::getDeleted, false)
.orderByAsc(ProductsDetailDO::getDuration)
);
}
@@ -7,9 +7,9 @@ package com.cf.imes.module.system.enums.pay;
* @since 2025/8/12 17:49
*/
public class PayConstants {
public static final String PAY_ORDER_PREFIX_FORMAT = "P%dO%s"; // 第三方支付流水号格式
public static final String PAY_ORDER_PREFIX_FORMAT = "PO%s"; // 第三方支付流水号格式
public static final String PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT = "P%dD%s"; // 产品购买流水号格式
public static final String PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT = "PD%s"; // 产品购买流水号格式
public static final String PAY_PRODUCT_DETAIL_AUTO_GENERATE_MONTH_ID_FORMAT = "1759029544%d"; // 1~12月定价规则自动生成ID格式
@@ -152,7 +152,7 @@ public class ManualAdjustAccountBalanceServiceImpl implements ManualAdjustAccoun
Long payOrderId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
payOrderDO.setId(payOrderId);
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, organId, payOrderId));
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, payOrderId));
payOrderDO.setStatus(PayOrderStatusEnum.SUCCESS);
payOrderDO.setPrice(recharge);
payOrderDO.setSubject("手工调账");
@@ -349,7 +349,7 @@ public class PurchaseServiceImpl implements PurchaseService {
BigDecimal totalAmount = orgInitialPurchaseRecord.getTotalAmount();
// 定价中有的,以年数量*组织定价*折扣展示
List<ProductDetailsRespVO> productDetailRespVOList = new ArrayList<>();
for (ProductsDetailDO detailDO : page.getList().stream().sorted(Comparator.comparingInt(ProductsDetailDO::getDuration)).collect(Collectors.toList())) {
for (ProductsDetailDO detailDO : page.getList()) {
ProductDetailsRespVO newDetailRespVO = BeanUtils.toBean(detailDO, ProductDetailsRespVO.class);
// 折扣
BigDecimal discount = detailDO.getDiscount();
@@ -417,7 +417,7 @@ public class PurchaseServiceImpl implements PurchaseService {
BigDecimal monthAverageAmount = totalAmount.divide(new BigDecimal(10), 2, RoundingMode.DOWN);
List<ProductDetailsRespVO> productDetailRespVOList = new ArrayList<>();
for (ProductsDetailDO detailDO : productsDetailDOS.stream().sorted(Comparator.comparingInt(ProductsDetailDO::getDuration)).collect(Collectors.toList())) {
for (ProductsDetailDO detailDO : productsDetailDOS) {
ProductDetailsRespVO newDetailRespVO = BeanUtils.toBean(detailDO, ProductDetailsRespVO.class);
// 折扣
BigDecimal discount = detailDO.getDiscount();
@@ -477,7 +477,7 @@ public class PayOrderServiceImpl implements PayOrderService {
Long organId = SecurityFrameworkUtils.getUserOrganId();
payOrderDO.setId(payOrderId);
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, organId, payOrderId));
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, payOrderId));
payOrderDO.setStatus(PayOrderStatusEnum.WAITING);
payOrderDO.setExpireTime(LocalDateTime.now().plus(payConfig.getPayExpireTime()));
payOrderDO.setPrice(price);
@@ -715,7 +715,7 @@ public class PayOrderServiceImpl implements PayOrderService {
if (PayProductChannelCodeEnum.ALIPAY_PC.getCode().equals(paymentMethod) || PayProductChannelCodeEnum.WECHAT_NATIVE.getCode().equals(paymentMethod)) {
IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder()
.organId(organId)
.orderNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId))
.orderNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId))
.businessNo(snowflakeSerialNoWorker3rd.nextSerialNo())
.tradeType(TradeTypeEnum.PRODUCT.getCode())
.incomeExpenseType(IncomeExpenseTypeEnum.EXPENSES.getCode())
@@ -821,7 +821,7 @@ public class PayOrderServiceImpl implements PayOrderService {
// 3、新增退回的收支记录
IncomeExpenseDetailsDO incomeExpenseDetailsDO = IncomeExpenseDetailsDO.builder()
.organId(organId)
.orderNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId))
.orderNo(String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId))
.businessNo(snowflakeSerialNoWorker3rd.nextSerialNo())
.tradeType(TradeTypeEnum.PRODUCT.getCode())
.incomeExpenseType(IncomeExpenseTypeEnum.INCOME.getCode())
@@ -2,7 +2,6 @@ package com.cf.imes.module.system.service.pay;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -192,7 +191,7 @@ public class PayProductProcessor {
}
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -252,7 +251,7 @@ public class PayProductProcessor {
}
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -388,7 +387,7 @@ public class PayProductProcessor {
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -468,7 +467,7 @@ public class PayProductProcessor {
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -547,7 +546,7 @@ public class PayProductProcessor {
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -628,7 +627,7 @@ public class PayProductProcessor {
// 新增购买记录
long purchaseId = IdUtil.getSnowflake(mybatisIdProperties.getWorkerId(), mybatisIdProperties.getDatacenterId()).nextId();
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, organId, purchaseId);
String orderNo = String.format(PayConstants.PAY_PRODUCT_DETAIL_BUSINESSNO_PREFIX_FORMAT, purchaseId);
PurchaseRecordDO purchaseRecordDO = PurchaseRecordDO.builder()
.id(purchaseId)
.organId(organId)
@@ -718,7 +717,7 @@ public class PayProductProcessor {
Long organId = SecurityFrameworkUtils.getUserOrganId();
payOrderDO.setId(payOrderId);
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, organId, payOrderId, DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN)));
payOrderDO.setPayNo(String.format(PayConstants.PAY_ORDER_PREFIX_FORMAT, payOrderId));
payOrderDO.setStatus(PayOrderStatusEnum.WAITING);
payOrderDO.setExpireTime(LocalDateTime.now().plus(payConfig.getPayExpireTime()));
payOrderDO.setPrice(price);