feat: 完善多平台适配器架构和微信小程序集成功能

- 新增字节跳动和微信平台适配器实现
- 完善平台适配器基础架构和接口定义
- 添加平台用户管理和数据同步功能
- 实现完整的平台模块和控制器
- 更新所有实体类支持多平台数据结构
- 优化模板系统支持平台特定功能
This commit is contained in:
imeepos
2025-09-04 17:12:03 +08:00
parent 3b07e641db
commit 14f4c450b5
62 changed files with 3702 additions and 727 deletions

View File

@@ -1,4 +1,12 @@
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
ManyToOne,
JoinColumn,
} from 'typeorm';
import { UserEntity } from './user.entity';
import { PlatformType } from './platform-user.entity';
@@ -7,10 +15,10 @@ import { PlatformType } from './platform-user.entity';
* 定义用户积分账户的不同变动操作类型
*/
export enum CreditType {
REWARD = 'reward', // 奖励获得 - 用户通过完成任务获得积分
CONSUME = 'consume', // 消费扣除 - 用户使用功能消耗积分
PURCHASE = 'purchase', // 购买获得 - 用户付费购买积分
REFUND = 'refund' // 退款返还 - 服务异常或用户申请退款
REWARD = 'reward', // 奖励获得 - 用户通过完成任务获得积分
CONSUME = 'consume', // 消费扣除 - 用户使用功能消耗积分
PURCHASE = 'purchase', // 购买获得 - 用户付费购买积分
REFUND = 'refund', // 退款返还 - 服务异常或用户申请退款
}
/**
@@ -19,10 +27,10 @@ export enum CreditType {
* 用于积分流水分析和运营统计
*/
export enum CreditSource {
AD_WATCH = 'ad_watch', // 看广告 - 用户观看激励广告获得积分
SUBSCRIPTION = 'subscription', // 订阅赠送 - 订阅会员获得的积分奖励
AI_GENERATION = 'ai_generation', // AI生成消费 - 使用AI功能消耗积分
MANUAL = 'manual' // 手动调整 - 管理员手动调整用户积分
AD_WATCH = 'ad_watch', // 看广告 - 用户观看激励广告获得积分
SUBSCRIPTION = 'subscription', // 订阅赠送 - 订阅会员获得的积分奖励
AI_GENERATION = 'ai_generation', // AI生成消费 - 使用AI功能消耗积分
MANUAL = 'manual', // 手动调整 - 管理员手动调整用户积分
}
/**
@@ -44,21 +52,21 @@ export class UserCreditEntity {
/** 平台类型 - 标识积分变动发生的平台,支持多平台积分管理 */
@Column({
type: 'enum',
enum: PlatformType
enum: PlatformType,
})
platform: PlatformType;
/** 变动类型 - 积分的操作类型(奖励、消费、购买、退款) */
@Column({
type: 'enum',
enum: CreditType
enum: CreditType,
})
type: CreditType;
/** 积分来源 - 标识积分变动的具体业务来源,用于数据分析和运营决策 */
@Column({
type: 'enum',
enum: CreditSource
enum: CreditSource,
})
source: CreditSource;
@@ -91,7 +99,7 @@ export class UserCreditEntity {
updatedAt: Date;
/** 用户关系 - 与用户实体的多对一关系,级联删除 */
@ManyToOne(() => UserEntity, user => user.credits, { onDelete: 'CASCADE' })
@ManyToOne(() => UserEntity, (user) => user.credits, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'userId' })
user: UserEntity;
}
}