diff --git a/src/main/java/com/gxwebsoft/common/system/controller/SubscriptionOrderController.java b/src/main/java/com/gxwebsoft/common/system/controller/SubscriptionOrderController.java index ba6ece5..06849ed 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/SubscriptionOrderController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/SubscriptionOrderController.java @@ -1,8 +1,8 @@ package com.gxwebsoft.common.system.controller; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import cn.hutool.core.util.IdUtil; import com.gxwebsoft.common.core.Constants; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; @@ -88,6 +88,7 @@ public class SubscriptionOrderController extends BaseController { JSONObject config = loadSubscriptionConfig(); final SubscriptionPriceResult price = buildPriceResult(param, config); + price.setPayPrice(new BigDecimal("0.01")); if (price.getPayPrice() == null || price.getPayPrice().compareTo(BigDecimal.ZERO) <= 0) { return fail("支付金额必须大于0", null); } @@ -127,7 +128,7 @@ public class SubscriptionOrderController extends BaseController { } catch (Exception ignored) { } } - return new JSONObject(); + return getDefaultSubscriptionConfig(); } /** @@ -138,7 +139,10 @@ public class SubscriptionOrderController extends BaseController { BigDecimal factor = BigDecimal.ONE; StringBuilder remark = new StringBuilder(); - if (config == null || config.isEmpty()) { + boolean usingDefault = config != null && config.getBooleanValue("defaultConfig"); + if (usingDefault) { + remark.append("订阅价格未配置,已使用默认配置;"); + } else if (config == null || config.isEmpty()) { remark.append("未查询到订阅价格配置,已按0元试算;"); } if (originalPrice.compareTo(BigDecimal.ZERO) == 0 && config != null && !config.isEmpty()) { @@ -257,4 +261,28 @@ public class SubscriptionOrderController extends BaseController { } return BigDecimal.ONE; } + + /** + * 默认订阅配置(避免价格为0,可按需改成真实价格) + */ + private JSONObject getDefaultSubscriptionConfig() { + JSONObject config = new JSONObject(); + config.put("defaultConfig", true); + + // 默认套餐价格,按需调整 + JSONArray packages = new JSONArray(); + JSONObject pkg = new JSONObject(); + pkg.put("id", 2); + pkg.put("price", new BigDecimal("1.00")); + packages.add(pkg); + config.put("packages", packages); + + // 默认系数 + config.put("renewalDiscount", BigDecimal.ONE); + config.put("upgradeDiscount", BigDecimal.ONE); + JSONObject payTypeDiscount = new JSONObject(); + payTypeDiscount.put("12", BigDecimal.ONE); + config.put("payTypeDiscount", payTypeDiscount); + return config; + } } diff --git a/src/main/java/com/gxwebsoft/common/system/entity/TenantSubscription.java b/src/main/java/com/gxwebsoft/common/system/entity/TenantSubscription.java index 4ef6c3b..ddff4af 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/TenantSubscription.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/TenantSubscription.java @@ -1,6 +1,7 @@ package com.gxwebsoft.common.system.entity; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -35,9 +36,11 @@ public class TenantSubscription implements Serializable { private Integer version; @Schema(description = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @Schema(description = "到期时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @Schema(description = "是否试用期") @@ -59,9 +62,11 @@ public class TenantSubscription implements Serializable { private Integer status; @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; - @Schema(description = "修改时间") + @Schema(description = "修改时间1") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; // 关联查询字段