40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
"use strict";
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
const tslib_1 = require("tslib");
|
||
const uuid_1 = require("oak-domain/lib/utils/uuid");
|
||
const assert_1 = tslib_1.__importDefault(require("assert"));
|
||
const triggers = [
|
||
{
|
||
name: '当生成sysAccountOper时,修改对应的系统帐户中的值',
|
||
entity: 'sysAccountOper',
|
||
action: 'create',
|
||
when: 'after',
|
||
fn: async ({ operation }, context, option) => {
|
||
const { id, data } = operation;
|
||
(0, assert_1.default)(!(data instanceof Array));
|
||
const { entity, entityId, delta, type } = data;
|
||
const [row] = await context.select(entity, {
|
||
data: {
|
||
id: 1,
|
||
price: 1,
|
||
},
|
||
filter: {
|
||
id: entityId,
|
||
},
|
||
}, { forUpdate: true });
|
||
await context.operate(entity, {
|
||
id: await (0, uuid_1.generateNewIdAsync)(),
|
||
action: type,
|
||
data: {
|
||
price: row.price + delta,
|
||
},
|
||
filter: {
|
||
id: entityId,
|
||
},
|
||
}, {});
|
||
return 1;
|
||
},
|
||
},
|
||
];
|
||
exports.default = triggers;
|