rht
This commit is contained in:
parent
4dcccff01e
commit
1ba65b8c89
|
@ -0,0 +1,9 @@
|
|||
import { Controller, UseGuards } from "@nestjs/common";
|
||||
import { AuthGuard } from '@server/auth/auth.guard';
|
||||
import { DailyTrainService } from "./dailyTrain.service";
|
||||
|
||||
@Controller('train-content')
|
||||
export class DailyTrainController {
|
||||
constructor(private readonly dailyTrainService: DailyTrainService) {}
|
||||
//@UseGuards(AuthGuard)
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
import { StaffModule } from '../staff/staff.module';
|
||||
import { TrpcService } from '@server/trpc/trpc.service';
|
||||
import { DailyTrainController } from './dailyTrain.controller';
|
||||
import { DailyTrainService } from './dailyTrain.service';
|
||||
import { DailyTrainRouter } from './dailyTrain.router';
|
||||
|
||||
|
||||
@Module({
|
||||
imports: [StaffModule],
|
||||
controllers: [DailyTrainController],
|
||||
providers: [DailyTrainService,DailyTrainRouter,TrpcService],
|
||||
exports: [DailyTrainService,DailyTrainRouter],
|
||||
})
|
||||
export class DailyTrainModule {}
|
|
@ -0,0 +1,16 @@
|
|||
import { Injectable } from "@nestjs/common";
|
||||
import { TrpcService } from "@server/trpc/trpc.service";
|
||||
import { DailyTrainService } from "./dailyTrain.service";
|
||||
|
||||
@Injectable()
|
||||
export class DailyTrainRouter {
|
||||
constructor(
|
||||
private readonly trpc: TrpcService,
|
||||
private readonly dailyTrainService: DailyTrainService,
|
||||
) { }
|
||||
|
||||
router = this.trpc.router({
|
||||
|
||||
})
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
import { Injectable } from "@nestjs/common";
|
||||
import { BaseService } from "../base/base.service";
|
||||
import { db, ObjectType, Prisma, UserProfile } from "@nice/common";
|
||||
import { DefaultArgs } from "@prisma/client/runtime/library";
|
||||
import EventBus, { CrudOperation } from "@server/utils/event-bus";
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class DailyTrainService extends BaseService<Prisma.DailyTrainTimeDelegate> {
|
||||
constructor() {
|
||||
super(db,ObjectType.DAILY_TRAIN,true);
|
||||
}
|
||||
async create(args: Prisma.DailyTrainTimeCreateArgs) {
|
||||
console.log(args)
|
||||
const result = await super.create(args)
|
||||
this.emitDataChanged(CrudOperation.CREATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
async update(args:Prisma.DailyTrainTimeUpdateArgs){
|
||||
const result = await super.update(args)
|
||||
this.emitDataChanged(CrudOperation.UPDATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
async findMany(args: Prisma.DailyTrainTimeFindManyArgs) {
|
||||
const result = await super.findMany(args);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private emitDataChanged(operation: CrudOperation, data: any) {
|
||||
EventBus.emit('dataChanged', {
|
||||
type:ObjectType.DAILY_TRAIN,
|
||||
operation,
|
||||
data,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import { Controller, UseGuards } from "@nestjs/common";
|
||||
import { AuthGuard } from '@server/auth/auth.guard';
|
||||
import { DailyTrainService } from "./dailyTrain.service";
|
||||
|
||||
@Controller('train-content')
|
||||
export class DailyTrainController {
|
||||
constructor(private readonly dailyTrainService: DailyTrainService) {}
|
||||
//@UseGuards(AuthGuard)
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
import { StaffModule } from '../staff/staff.module';
|
||||
import { TrpcService } from '@server/trpc/trpc.service';
|
||||
import { DailyTrainController } from './dailyTrain.controller';
|
||||
import { DailyTrainService } from './dailyTrain.service';
|
||||
import { DailyTrainRouter } from './dailyTrain.router';
|
||||
|
||||
|
||||
@Module({
|
||||
imports: [StaffModule],
|
||||
controllers: [DailyTrainController],
|
||||
providers: [DailyTrainService,DailyTrainRouter,TrpcService],
|
||||
exports: [DailyTrainService,DailyTrainRouter],
|
||||
})
|
||||
export class DailyTrainModule {}
|
|
@ -0,0 +1,16 @@
|
|||
import { Injectable } from "@nestjs/common";
|
||||
import { TrpcService } from "@server/trpc/trpc.service";
|
||||
import { DailyTrainService } from "./dailyTrain.service";
|
||||
|
||||
@Injectable()
|
||||
export class DailyTrainRouter {
|
||||
constructor(
|
||||
private readonly trpc: TrpcService,
|
||||
private readonly dailyTrainService: DailyTrainService,
|
||||
) { }
|
||||
|
||||
router = this.trpc.router({
|
||||
|
||||
})
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
import { Injectable } from "@nestjs/common";
|
||||
import { BaseService } from "../base/base.service";
|
||||
import { db, ObjectType, Prisma, UserProfile } from "@nice/common";
|
||||
import { DefaultArgs } from "@prisma/client/runtime/library";
|
||||
import EventBus, { CrudOperation } from "@server/utils/event-bus";
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class DailyTrainService extends BaseService<Prisma.DailyTrainTimeDelegate> {
|
||||
constructor() {
|
||||
super(db,ObjectType.DAILY_TRAIN,true);
|
||||
}
|
||||
async create(args: Prisma.DailyTrainTimeCreateArgs) {
|
||||
console.log(args)
|
||||
const result = await super.create(args)
|
||||
this.emitDataChanged(CrudOperation.CREATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
async update(args:Prisma.DailyTrainTimeUpdateArgs){
|
||||
const result = await super.update(args)
|
||||
this.emitDataChanged(CrudOperation.UPDATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
async findMany(args: Prisma.DailyTrainTimeFindManyArgs) {
|
||||
const result = await super.findMany(args);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private emitDataChanged(operation: CrudOperation, data: any) {
|
||||
EventBus.emit('dataChanged', {
|
||||
type:ObjectType.DAILY_TRAIN,
|
||||
operation,
|
||||
data,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
import { Injectable } from "@nestjs/common";
|
||||
import { BaseService } from "../base/base.service";
|
||||
import { db, ObjectType, Prisma, UserProfile } from "@nice/common";
|
||||
import { DefaultArgs } from "@prisma/client/runtime/library";
|
||||
import EventBus, { CrudOperation } from "@server/utils/event-bus";
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -8,5 +10,31 @@ export class TrainContentService extends BaseService<Prisma.TrainContentDelegate
|
|||
constructor() {
|
||||
super(db,ObjectType.TRAIN_CONTENT,true);
|
||||
}
|
||||
async create(args: Prisma.TrainContentCreateArgs) {
|
||||
console.log(args)
|
||||
const result = await super.create(args)
|
||||
this.emitDataChanged(CrudOperation.CREATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
async update(args:Prisma.TrainContentUpdateArgs){
|
||||
const result = await super.update(args)
|
||||
this.emitDataChanged(CrudOperation.UPDATED,result)
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
async findMany(args: Prisma.TrainContentFindManyArgs) {
|
||||
const result = await super.findMany(args);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private emitDataChanged(operation: CrudOperation, data: any) {
|
||||
EventBus.emit('dataChanged', {
|
||||
type:ObjectType.TRAIN_SITUATION,
|
||||
operation,
|
||||
data,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -67,6 +67,7 @@ export class TrainSituationService extends BaseService<Prisma.TrainSituationDele
|
|||
})
|
||||
return result
|
||||
}
|
||||
//async createDailyTrainTime()
|
||||
|
||||
// 发送数据变化事件
|
||||
private emitDataChanged(operation: CrudOperation, data: any) {
|
||||
|
@ -75,5 +76,5 @@ export class TrainSituationService extends BaseService<Prisma.TrainSituationDele
|
|||
operation,
|
||||
data,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@ import { TransformModule } from '@server/models/transform/transform.module';
|
|||
import { TrainContentModule } from '@server/models/train-content/trainContent.module';
|
||||
import { ResourceModule } from '@server/models/resource/resource.module';
|
||||
import { TrainSituationModule } from '@server/models/train-situation/trainSituation.module';
|
||||
|
||||
import { DailyTrainModule } from '@server/models/daily-train/dailyTrain.module';
|
||||
@Module({
|
||||
imports: [
|
||||
AuthModule,
|
||||
|
@ -35,7 +35,8 @@ import { TrainSituationModule } from '@server/models/train-situation/trainSituat
|
|||
WebSocketModule,
|
||||
ResourceModule,
|
||||
TrainContentModule,
|
||||
TrainSituationModule
|
||||
TrainSituationModule,
|
||||
DailyTrainModule
|
||||
],
|
||||
controllers: [],
|
||||
providers: [TrpcService, TrpcRouter, Logger],
|
||||
|
|
|
@ -16,6 +16,7 @@ import { RoleRouter } from '@server/models/rbac/role.router';
|
|||
import { ResourceRouter } from '../models/resource/resource.router';
|
||||
import { TrainContentRouter } from '@server/models/train-content/trainContent.router';
|
||||
import { TrainSituationRouter } from '@server/models/train-situation/trainSituation.router';
|
||||
import { DailyTrainRouter } from '@server/models/daily-train/dailyTrain.router';
|
||||
|
||||
@Injectable()
|
||||
export class TrpcRouter {
|
||||
|
@ -36,6 +37,7 @@ export class TrpcRouter {
|
|||
private readonly resource: ResourceRouter,
|
||||
private readonly trainContent: TrainContentRouter,
|
||||
private readonly trainSituation:TrainSituationRouter,
|
||||
private readonly dailyTrain:DailyTrainRouter
|
||||
) {}
|
||||
getRouter() {
|
||||
return;
|
||||
|
@ -54,7 +56,8 @@ export class TrpcRouter {
|
|||
visitor: this.visitor.router,
|
||||
resource: this.resource.router,
|
||||
trainContent:this.trainContent.router,
|
||||
trainSituation:this.trainSituation.router
|
||||
trainSituation:this.trainSituation.router,
|
||||
dailyTrain:this.dailyTrain.router
|
||||
});
|
||||
wss: WebSocketServer = undefined;
|
||||
|
||||
|
|
|
@ -17,7 +17,15 @@ export function useTrainSituation(){
|
|||
},
|
||||
});
|
||||
|
||||
const update = api.trainSituation.update.useMutation({
|
||||
onSuccess:(res:any)=>{
|
||||
queryClient.invalidateQueries({queryKey});
|
||||
emitDataChange(ObjectType.TRAIN_SITUATION,res,CrudOperation.UPDATED)
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
create
|
||||
create,
|
||||
update
|
||||
}
|
||||
}
|
|
@ -359,21 +359,24 @@ model TrainSituation {
|
|||
trainContentId String @map("train_content_id")
|
||||
trainContent TrainContent @relation(fields: [trainContentId], references: [id])
|
||||
|
||||
score Float @default(0.0) @map("score")
|
||||
mustTrainTime Float @map("must_train_time")
|
||||
alreadyTrainTime Float @map("already_train_time")
|
||||
score Float @default(0.0) @map("score")
|
||||
mustTrainTime Float @map("must_train_time")
|
||||
alreadyTrainTime Float @map("already_train_time")
|
||||
dailyTrainTime DailyTrainTime[] @relation("DailyTrainSituation")
|
||||
|
||||
@@map("train_situation")
|
||||
}
|
||||
|
||||
model DailyTrainTime {
|
||||
id String @id @default(cuid())
|
||||
trainTime Float @default(0.0)@map("trainTime")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
id String @id @default(cuid())
|
||||
trainSituationId String @map("train_situatio_id")
|
||||
trainSituation TrainSituation @relation("DailyTrainSituation", fields: [trainSituationId], references: [id])
|
||||
trainTime Float @default(0.0) @map("trainTime")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
|
||||
@@map("daily_train_situation")
|
||||
}
|
||||
|
||||
|
||||
model Position {
|
||||
id String @id @default(cuid()) @map("id")
|
||||
type String @map("type")
|
||||
|
|
|
@ -60,7 +60,8 @@ export enum ObjectType {
|
|||
ENROLLMENT = "enrollment",
|
||||
RESOURCE = "resource",
|
||||
TRAIN_CONTENT = "trainContent",
|
||||
TRAIN_SITUATION = "trainSituation"
|
||||
TRAIN_SITUATION = "trainSituation",
|
||||
DAILY_TRAIN = "dailyTrainTime"
|
||||
}
|
||||
export enum RolePerms {
|
||||
// Create Permissions 创建权限
|
||||
|
|
Loading…
Reference in New Issue