发布商品,商品图片使用oss服务器地址
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import { Controller, Headers, Post, Req, Res } from '@nestjs/common';
|
||||
import type { Request, Response } from 'express';
|
||||
import { PrismaService } from '../common/prisma/prisma.module';
|
||||
|
||||
@Controller('callbacks/wechat')
|
||||
export class WechatRefundCallbackController {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
|
||||
@Post('refund')
|
||||
async refundNotify(
|
||||
@Req() req: Request,
|
||||
@Headers() _headers: Record<string, string | string[] | undefined>,
|
||||
@Res() res: Response,
|
||||
) {
|
||||
try {
|
||||
const body = typeof req.body === 'object' ? req.body : {};
|
||||
const outRefundNo = String((body as Record<string, unknown>).out_refund_no ?? '');
|
||||
const refundId = String((body as Record<string, unknown>).refund_id ?? outRefundNo);
|
||||
|
||||
const existing = await this.prisma.logThirdParty.findFirst({
|
||||
where: { provider: 'WECHAT_REFUND', externalNo: refundId, status: 'SUCCESS' },
|
||||
});
|
||||
if (existing) {
|
||||
return res.status(200).json({ code: 'SUCCESS', message: '成功' });
|
||||
}
|
||||
|
||||
await this.prisma.logThirdParty.create({
|
||||
data: {
|
||||
provider: 'WECHAT_REFUND',
|
||||
scene: 'ORDER_REFUND_CALLBACK',
|
||||
refType: 'TICKET',
|
||||
refId: BigInt(0),
|
||||
externalNo: refundId,
|
||||
status: 'SUCCESS',
|
||||
},
|
||||
});
|
||||
|
||||
return res.status(200).json({ code: 'SUCCESS', message: '成功' });
|
||||
} catch (err) {
|
||||
const message = err instanceof Error ? err.message : '处理失败';
|
||||
return res.status(500).json({ code: 'FAIL', message });
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user