初始化天卡开放平台后端项目
包含完整功能模块: - 设备激活(直销激活码模式 + 代销免激活码模式) - 微信支付 + 天卡订单 - 天卡池管理 + 异步橘视厅SDK激活 - 第三方合作伙伴接口(代销模式) - 签名鉴权(appKey/appSecret + nonce防重放) - 天卡消耗(事务 + 幂等 + 并发控制) - 媒资接口(三级授权过滤) - 审计日志 - 定价策略(3层:门店 > 渠道 > 平台) - 分账(微信分账 + 分润规则) - Docker部署(含Redis容器)
This commit is contained in:
@@ -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";
|
||||
}
|
||||
Reference in New Issue
Block a user