Forráskód Böngészése

新增团队默认配置创建功能,在团队创建时自动生成并保存默认配置,优化团队服务逻辑以支持新功能。

wuyi 3 hónapja
szülő
commit
129f810d91
2 módosított fájl, 30 hozzáadás és 0 törlés
  1. 24 0
      src/services/sys-config.service.ts
  2. 6 0
      src/services/team.service.ts

+ 24 - 0
src/services/sys-config.service.ts

@@ -281,4 +281,28 @@ export class SysConfigService {
 
     return configs
   }
+
+  // 创建团队默认配置
+  async createDefaultTeamConfigs(teamId: number) {
+    const defaultConfigs = [
+      { name: 'hourly', value: '10', remark: '包时会员', type: ConfigType.Number },
+      { name: 'daily', value: '20', remark: '包天会员', type: ConfigType.Number },
+      { name: 'weekly', value: '60', remark: '包周会员', type: ConfigType.Number },
+      { name: 'monthly', value: '80', remark: '包月会员', type: ConfigType.Number },
+      { name: 'quarterly', value: '100', remark: '包季会员', type: ConfigType.Number },
+      { name: 'yearly', value: '150', remark: '包年会员', type: ConfigType.Number },
+      { name: 'lifetime', value: '300', remark: '终生会员', type: ConfigType.Number },
+      { name: 'single', value: '10', remark: '单片价格', type: ConfigType.Number },
+      { name: 'preview_duration', value: '30', remark: '试看时间(秒)', type: ConfigType.Number }
+    ]
+
+    const configs = defaultConfigs.map(config => 
+      this.sysConfigRepository.create({
+        ...config,
+        teamId
+      })
+    )
+
+    return await this.sysConfigRepository.save(configs)
+  }
 }

+ 6 - 0
src/services/team.service.ts

@@ -4,16 +4,19 @@ import { Team } from '../entities/team.entity'
 import { PaginationResponse } from '../dto/common.dto'
 import { CreateTeamBody, UpdateTeamBody, ListTeamQuery } from '../dto/team.dto'
 import { UserService } from './user.service'
+import { SysConfigService } from './sys-config.service'
 import { UserRole } from '../entities/user.entity'
 import * as randomstring from 'randomstring'
 
 export class TeamService {
   private teamRepository: Repository<Team>
   private userService: UserService
+  private sysConfigService: SysConfigService
 
   constructor(app: FastifyInstance) {
     this.teamRepository = app.dataSource.getRepository(Team)
     this.userService = new UserService(app)
+    this.sysConfigService = new SysConfigService(app)
   }
 
   async create(data: CreateTeamBody, creatorId: number): Promise<Team> {
@@ -45,6 +48,9 @@ export class TeamService {
     })
     const savedTeam = await this.teamRepository.save(team)
 
+    // 创建团队默认配置
+    await this.sysConfigService.createDefaultTeamConfigs(savedTeam.id)
+
     return savedTeam
   }