xiongzhu 2 лет назад
Родитель
Сommit
71c95994ce

+ 2 - 1
src/membership/membership.module.ts

@@ -7,9 +7,10 @@ import { MemberPlan } from './entities/memberPlan.entity'
 import { MembershipAdminController } from './membership.admin.controller'
 import { MemberOrder } from './entities/member-order.entity'
 import { WeixinModule } from '../weixin/weixin.module'
+import { CommissionModule } from '../commission/commission.module'
 
 @Module({
-    imports: [TypeOrmModule.forFeature([Membership, MemberPlan, MemberOrder]), WeixinModule],
+    imports: [TypeOrmModule.forFeature([Membership, MemberPlan, MemberOrder]), WeixinModule, CommissionModule],
     providers: [MembershipService],
     controllers: [MembershipController, MembershipAdminController],
     exports: [MembershipService]

+ 5 - 2
src/membership/membership.service.ts

@@ -7,14 +7,16 @@ import { addDays } from 'date-fns'
 import { MemberPlanDto } from './dto/memberPlan.dto'
 import { MemberOrder, MemberOrderStatus, PayMethod } from './entities/member-order.entity'
 import { WeixinService } from 'src/weixin/weixin.service'
-import { Attach, AttachType } from 'src/weixin/dto/attach.dto'
+import { Attach, AttachType } from '../weixin/dto/attach.dto'
+import { CommissionService } from '../commission/commission.service'
 @Injectable()
 export class MembershipService {
     constructor(
         @InjectRepository(Membership) private readonly memberShipRepository: Repository<Membership>,
         @InjectRepository(MemberPlan) private readonly memberPlanRepository: Repository<MemberPlan>,
         @InjectRepository(MemberOrder) private readonly memberOrderRepository: Repository<MemberOrder>,
-        private readonly weixinService: WeixinService
+        private readonly weixinService: WeixinService,
+        private readonly commissionService: CommissionService
     ) {}
 
     async trial(userId: number) {
@@ -127,6 +129,7 @@ export class MembershipService {
         order.payMethod = payMethod
         await this.memberOrderRepository.save(order)
         await this.renewMembership(order.userId, order.planId)
+        await this.commissionService.doCommission(order.userId, order.price)
     }
 
     async saveUsage(userId: number, usage: number) {

+ 7 - 6
src/users/users.controller.ts

@@ -13,6 +13,7 @@ import { UsersService } from './users.service'
 import { UserProfileDto } from './dto/user-profile.dto'
 import { IUsers } from './interfaces/users.interface'
 import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'
+import { Users } from './entities/users.entity'
 
 @ApiTags('users')
 @Controller('users')
@@ -21,7 +22,7 @@ export class UsersController {
     constructor(private readonly usersService: UsersService) {}
 
     @Get('/my')
-    public async my(@Req() req): Promise<IUsers> {
+    public async my(@Req() req) {
         return this.usersService.findById(req.user.userId)
     }
 
@@ -39,6 +40,11 @@ export class UsersController {
         }
     }
 
+    @Get('/invites')
+    public async invites(@Req() req) {
+        return this.usersService.getInvites(req.user.id)
+    }
+
     @Get('/:userId')
     public async findOneUser(@Param('userId') userId: string): Promise<IUsers> {
         return this.usersService.findById(userId)
@@ -57,9 +63,4 @@ export class UsersController {
             status: HttpStatus.OK
         }
     }
-
-    @Get('/invites')
-    public async getInvites(@Req() req): Promise<any> {
-        return await this.usersService.invites(req.user.userId)
-    }
 }

+ 1 - 1
src/users/users.service.ts

@@ -140,7 +140,7 @@ export class UsersService {
         await this.userRepository.remove(user)
     }
 
-    public async invites(userId: number) {
+    public async getInvites(userId: number) {
         return await this.userRepository.find({
             where: {
                 invitor: userId