修复 SQLite 钱包调账锁异常
This commit is contained in:
@@ -259,10 +259,13 @@ export class WalletsService {
|
||||
if (!lock || !manager.createQueryBuilder) {
|
||||
return manager.findOne(StudentWallet, { where: { studentId } });
|
||||
}
|
||||
return manager.createQueryBuilder(StudentWallet, 'wallet')
|
||||
.where('wallet.studentId = :studentId', { studentId })
|
||||
.setLock('pessimistic_write')
|
||||
.getOne();
|
||||
let query = manager
|
||||
.createQueryBuilder(StudentWallet, 'wallet')
|
||||
.where('wallet.studentId = :studentId', { studentId });
|
||||
if (['mysql', 'mariadb', 'postgres', 'cockroachdb'].includes(this.dataSource.options.type)) {
|
||||
query = query.setLock('pessimistic_write');
|
||||
}
|
||||
return query.getOne();
|
||||
};
|
||||
let wallet = await find();
|
||||
if (!wallet) {
|
||||
|
||||
Reference in New Issue
Block a user