初始化天卡开放平台后端项目
包含完整功能模块: - 设备激活(直销激活码模式 + 代销免激活码模式) - 微信支付 + 天卡订单 - 天卡池管理 + 异步橘视厅SDK激活 - 第三方合作伙伴接口(代销模式) - 签名鉴权(appKey/appSecret + nonce防重放) - 天卡消耗(事务 + 幂等 + 并发控制) - 媒资接口(三级授权过滤) - 审计日志 - 定价策略(3层:门店 > 渠道 > 平台) - 分账(微信分账 + 分润规则) - Docker部署(含Redis容器)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package io.as.modules.openapi.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 开放API内容包授权表
|
||||
*/
|
||||
@Data
|
||||
@TableName("open_api_content_package")
|
||||
public class ContentPackageEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
/** 合作伙伴ID */
|
||||
private String partnerId;
|
||||
/** 内容包名称 */
|
||||
private String name;
|
||||
/** 目录ID集合 */
|
||||
private String catalogIds;
|
||||
/** 内容编码集合 */
|
||||
private String contentCodes;
|
||||
/** 状态:ACTIVE / DISABLED */
|
||||
private String status;
|
||||
/** 删除标记 */
|
||||
private String deleteFlag;
|
||||
/** 创建时间 */
|
||||
private Date createdAt;
|
||||
/** 更新时间 */
|
||||
private Date updatedAt;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package io.as.modules.openapi.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 开放API调用日志表
|
||||
*/
|
||||
@Data
|
||||
@TableName("open_api_call_log")
|
||||
public class OpenApiCallLogEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
/** 合作伙伴ID */
|
||||
private String partnerId;
|
||||
/** 应用Key */
|
||||
private String appKey;
|
||||
/** 调用API */
|
||||
private String api;
|
||||
/** HTTP方法 */
|
||||
private String httpMethod;
|
||||
/** 请求参数 */
|
||||
private String params;
|
||||
/** 结果码 */
|
||||
private Integer resultCode;
|
||||
/** 调用方IP */
|
||||
private String ip;
|
||||
/** 耗时(毫秒) */
|
||||
private Integer costMs;
|
||||
/** 创建时间 */
|
||||
private Date createdAt;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package io.as.modules.openapi.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 开放API合作伙伴表
|
||||
*/
|
||||
@Data
|
||||
@TableName("open_api_partner")
|
||||
public class OpenApiPartnerEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
/** 合作伙伴ID */
|
||||
private String partnerId;
|
||||
/** 应用Key */
|
||||
private String appKey;
|
||||
/** 应用密钥 */
|
||||
private String appSecret;
|
||||
/** 合作伙伴名称 */
|
||||
private String name;
|
||||
/** 状态:ACTIVE / DISABLED */
|
||||
private String status;
|
||||
/** API权限(JSON) */
|
||||
private String apiPermissions;
|
||||
/** 速率限制(默认100) */
|
||||
private Integer rateLimit;
|
||||
/** 删除标记 */
|
||||
private String deleteFlag;
|
||||
/** 创建时间 */
|
||||
private Date createdAt;
|
||||
/** 更新时间 */
|
||||
private Date updatedAt;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package io.as.modules.openapi.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 合作伙伴天卡池
|
||||
*/
|
||||
@Data
|
||||
@TableName("open_api_partner_card_pool")
|
||||
public class PartnerCardPoolEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
/** 合作伙伴ID */
|
||||
private String partnerId;
|
||||
/** 天卡池ID */
|
||||
private Long poolId;
|
||||
/** 卡编码 */
|
||||
private String cardCode;
|
||||
/** 第三方卡号 */
|
||||
private String thirdCardNo;
|
||||
/** 状态:AVAILABLE / CONSUMED */
|
||||
private String status;
|
||||
/** 设备ID */
|
||||
private Long deviceId;
|
||||
/** 渠道机构ID */
|
||||
private Long channelOrgId;
|
||||
/** 采购批次 */
|
||||
private String purchaseBatch;
|
||||
/** 消费时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date consumedAt;
|
||||
/** 删除标记 */
|
||||
private String deleteFlag;
|
||||
/** 创建时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createdAt;
|
||||
/** 更新时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updatedAt;
|
||||
}
|
||||
Reference in New Issue
Block a user