支付时检测是否已经微信授权
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
import { Controller, Get } from '@nestjs/common';
|
||||
import { loadAppConfig } from '@dukang/shared-types';
|
||||
|
||||
@Controller('common')
|
||||
export class ClientConfigController {
|
||||
@Get('client-config')
|
||||
clientConfig() {
|
||||
const cfg = loadAppConfig();
|
||||
return {
|
||||
mockPay: cfg.mockPay,
|
||||
wechatPayEnabled: cfg.wechatPayEnabled,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -10,10 +10,18 @@ import { EventController } from './event.controller';
|
||||
import { TicketController } from './ticket.controller';
|
||||
import { ThirdPartyLogController } from './third-party-log.controller';
|
||||
import { WechatController } from './wechat.controller';
|
||||
import { ClientConfigController } from './client-config.controller';
|
||||
|
||||
@Module({
|
||||
imports: [IamModule, IntegrationsModule],
|
||||
controllers: [ResourceController, EventController, TicketController, ThirdPartyLogController, WechatController],
|
||||
controllers: [
|
||||
ResourceController,
|
||||
EventController,
|
||||
TicketController,
|
||||
ThirdPartyLogController,
|
||||
WechatController,
|
||||
ClientConfigController,
|
||||
],
|
||||
providers: [ResourceService, EventService, TicketService, ThirdPartyLogService],
|
||||
exports: [ResourceService, EventService, TicketService],
|
||||
})
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
orderTabToStatuses,
|
||||
validateMinPurchase,
|
||||
} from '@dukang/domain';
|
||||
import { loadAppConfig, WECHAT_AUTH_REQUIRED } from '@dukang/shared-types';
|
||||
import { PrismaService } from '../../common/prisma/prisma.module';
|
||||
import { serializeBigInt } from '../../common/decorators/current-user.decorator';
|
||||
import { BenefitService } from '../benefit/benefit.service';
|
||||
@@ -169,6 +170,10 @@ export class TradeService {
|
||||
|
||||
const user = await this.prisma.user.findUnique({ where: { id: userId } });
|
||||
const openId = user?.wxOpenId ?? undefined;
|
||||
const appConfig = loadAppConfig();
|
||||
if (!appConfig.mockPay && !openId) {
|
||||
throw new BadRequestException(WECHAT_AUTH_REQUIRED);
|
||||
}
|
||||
const payResult = await this.payProvider.payOrder(orderId, openId);
|
||||
|
||||
if (payResult.mode === 'jsapi') {
|
||||
|
||||
Reference in New Issue
Block a user