初始化天卡开放平台后端项目

包含完整功能模块:
- 设备激活(直销激活码模式 + 代销免激活码模式)
- 微信支付 + 天卡订单
- 天卡池管理 + 异步橘视厅SDK激活
- 第三方合作伙伴接口(代销模式)
  - 签名鉴权(appKey/appSecret + nonce防重放)
  - 天卡消耗(事务 + 幂等 + 并发控制)
  - 媒资接口(三级授权过滤)
  - 审计日志
- 定价策略(3层:门店 > 渠道 > 平台)
- 分账(微信分账 + 分润规则)
- Docker部署(含Redis容器)
This commit is contained in:
zhaogd
2026-07-26 12:34:13 +08:00
commit 30198c7191
349 changed files with 28837 additions and 0 deletions
@@ -0,0 +1,166 @@
package io.as.modules.daycard.constants;
import java.math.BigDecimal;
/**
* 天卡业务相关常量
*/
public final class DayCardConstants {
private DayCardConstants() {
}
// ==================== 订单状态 ====================
/** 已创建 */
public static final String ORDER_STATUS_CREATED = "PENDING";
/** 支付中 */
public static final String ORDER_STATUS_PAYING = "PAYING";
/** 已支付 */
public static final String ORDER_STATUS_PAID = "PAID";
/** 支付失败 */
public static final String ORDER_STATUS_PAY_FAILED = "PAY_FAILED";
/** 已取消 */
public static final String ORDER_STATUS_CANCELLED = "CANCELLED";
/** 退款中 */
public static final String ORDER_STATUS_REFUNDING = "REFUNDING";
// ==================== 天卡池状态 ====================
/** 未使用 */
public static final String POOL_STATUS_UNUSED = "UNUSED";
/** 已预留 */
public static final String POOL_STATUS_RESERVED = "RESERVED";
/** 已使用 */
public static final String POOL_STATUS_USED = "USED";
/** 可复用(已解绑,橘视厅权益仍有效) */
public static final String POOL_STATUS_REUSABLE = "REUSABLE";
// ==================== 导入批次状态 ====================
/** 处理中 */
public static final String BATCH_STATUS_PROCESSING = "PROCESSING";
/** 成功 */
public static final String BATCH_STATUS_SUCCEEDED = "SUCCEEDED";
/** 部分失败 */
public static final String BATCH_STATUS_PARTIAL_FAILED = "PARTIAL_FAILED";
/** 失败 */
public static final String BATCH_STATUS_FAILED = "FAILED";
// ==================== 激活状态 ====================
/** 待激活 */
public static final String ACTIVATE_STATUS_PENDING = "PENDING";
/** 激活成功 */
public static final String ACTIVATE_STATUS_SUCCESS = "SUCCESS";
/** 激活失败 */
public static final String ACTIVATE_STATUS_FAILED = "FAILED";
// ==================== 卡类型 ====================
/** 天卡 */
public static final String CARD_TYPE_DAY = "DAY";
// ==================== Redis Key 前缀 ====================
/** 设备防重锁前缀 */
public static final String REDIS_LOCK_PREFIX = "daycard:lock:device:";
/** 订单前缀 */
public static final String REDIS_ORDER_PREFIX = "daycard:order:";
/** 设备订单前缀 */
public static final String REDIS_DEVICE_ORDER_PREFIX = "daycard:device:";
/** 代销天卡消耗防重锁前缀(按设备标识加锁) */
public static final String REDIS_PARTNER_CONSUME_LOCK_PREFIX = "daycard:partner:consume:";
/** 第三方激活Token缓存前缀(按thirdCardNo缓存) */
public static final String REDIS_THIRD_PARTY_TOKEN_PREFIX = "api:thirdparty:activate:";
/** 第三方激活任务锁前缀(按poolId加锁,防止重复激活) */
public static final String REDIS_THIRD_PARTY_ACTIVATE_LOCK_PREFIX = "api:thirdparty:activate:lock:";
// ==================== 删除标记 ====================
/** 未删除 */
public static final String DELETE_FLAG_UNDEL = "UNDEL";
/** 已删除 */
public static final String DELETE_FLAG_DEL = "DEL";
// ==================== 分润规则范围 ====================
/** 全局 */
public static final String SCOPE_GLOBAL = "GLOBAL";
/** 渠道 */
public static final String SCOPE_CHANNEL = "CHANNEL";
/** 代理商 */
public static final String SCOPE_AGENT = "AGENT";
/** 门店 */
public static final String SCOPE_STORE = "STORE";
// ==================== 分润规则状态 ====================
/** 启用 */
public static final String PROFIT_RULE_STATUS_ACTIVE = "ACTIVE";
/** 禁用 */
public static final String PROFIT_RULE_STATUS_DISABLED = "DISABLED";
// ==================== 分润类型 ====================
/** 按比例分润 */
public static final String SHARE_TYPE_RATIO = "RATIO";
/** 固定金额分润 */
public static final String SHARE_TYPE_FIXED = "FIXED";
// ==================== 分账单状态 ====================
/** 待处理 */
public static final String SETTLE_STATUS_PENDING = "PENDING";
/** 处理中 */
public static final String SETTLE_STATUS_PROCESSING = "PROCESSING";
/** 成功 */
public static final String SETTLE_STATUS_SUCCESS = "SUCCESS";
/** 失败 */
public static final String SETTLE_STATUS_FAILED = "FAILED";
/** 部分成功 */
public static final String SETTLE_STATUS_PARTIAL = "PARTIAL";
// ==================== 接收方绑定状态 ====================
/** 待绑定 */
public static final String BIND_STATUS_PENDING = "PENDING";
/** 已绑定 */
public static final String BIND_STATUS_ACTIVE = "ACTIVE";
/** 绑定失败 */
public static final String BIND_STATUS_FAILED = "FAILED";
// ==================== 分账接收方类型 ====================
/** 商户号 */
public static final String RECEIVER_TYPE_MERCHANT_ID = "MERCHANT_ID";
/** 个人OpenID */
public static final String RECEIVER_TYPE_PERSONAL_OPENID = "PERSONAL_OPENID";
// ==================== 组织角色 ====================
/** 平台 */
public static final String ORG_ROLE_PLATFORM = "PLATFORM";
/** 渠道 */
public static final String ORG_ROLE_CHANNEL = "CHANNEL";
/** 代理 */
public static final String ORG_ROLE_AGENT = "AGENT";
/** 门店 */
public static final String ORG_ROLE_STORE = "STORE";
// ==================== 微信绑定状态 ====================
/** 已绑定 */
public static final String WX_BIND_STATUS_BINDED = "BINDED";
/** 未绑定 */
public static final String WX_BIND_STATUS_UNBOUND = "UNBOUND";
// ==================== 分润比例上限 ====================
/** 分润比例上限:30% */
public static final BigDecimal SHARE_RATIO_LIMIT = new BigDecimal("0.3000");
/** 非平台方分润比例之和上限:30% */
public static final double PROFIT_SHARE_LIMIT = 30.0;
// ==================== 退款状态 ====================
/** 退款待处理 */
public static final String REFUND_STATUS_PENDING = "PENDING";
/** 退款处理中 */
public static final String REFUND_STATUS_PROCESSING = "PROCESSING";
/** 退款成功 */
public static final String REFUND_STATUS_SUCCESS = "SUCCESS";
/** 退款失败 */
public static final String REFUND_STATUS_FAILED = "FAILED";
/** 退款关闭 */
public static final String REFUND_STATUS_CLOSED = "CLOSED";
// ==================== 支付渠道 ====================
/** Mock支付 */
public static final String PAY_CHANNEL_MOCK = "MOCK";
/** 微信支付 */
public static final String PAY_CHANNEL_WECHAT = "WECHAT";
}