diff --git a/es/components/order/pay/index.js b/es/components/order/pay/index.js index f0671cfc..2fc9ca0b 100644 --- a/es/components/order/pay/index.js +++ b/es/components/order/pay/index.js @@ -24,10 +24,10 @@ export default OakComponent({ }, isList: false, properties: { - accountId: '', - accountAvailMax: 0, + accountId: '', // 是否可以使用帐户中的余额抵扣 + accountAvailMax: 0, // 本次交易可以使用的帐户中的Avail max值,调用者自己保证此数值的一致性,不要扣成负数 onSetPays: (pays) => undefined, - accountTips: '', + accountTips: '', // 使用余额支付的提示说明 autoStartPay: false, }, formData({ data }) { diff --git a/es/entities/Ship.js b/es/entities/Ship.js index da30dd9c..321a4029 100644 --- a/es/entities/Ship.js +++ b/es/entities/Ship.js @@ -60,8 +60,8 @@ export const entityDesc = { }, v: { iState: { - unshipped: '未发货', - shipping: '发货中', + unshipped: '待发货', + shipping: '运输中', received: '已收货', rejected: '已拒绝', givenUp: '已放弃', diff --git a/es/oak-app-domain/Ship/locales/zh_CN.json b/es/oak-app-domain/Ship/locales/zh_CN.json index 6917cd0f..59fb1151 100644 --- a/es/oak-app-domain/Ship/locales/zh_CN.json +++ b/es/oak-app-domain/Ship/locales/zh_CN.json @@ -18,8 +18,8 @@ }, "v": { "iState": { - "unshipped": "未发货", - "shipping": "发货中", + "unshipped": "待发货", + "shipping": "运输中", "received": "已收货", "rejected": "已拒绝", "givenUp": "已放弃", diff --git a/es/triggers/ship.js b/es/triggers/ship.js index 11da48c5..8bc85361 100644 --- a/es/triggers/ship.js +++ b/es/triggers/ship.js @@ -77,6 +77,40 @@ const triggers = [ } return 1; } + }, + { + name: '当物流创建时,将对应的order状态变为已发货', + entity: 'ship', + action: 'create', + when: 'after', + fn: async ({ operation }, context, option) => { + const { data } = operation; + const orders = await context.select('order', { + data: { + id: 1, + gState: 1, + }, + filter: { + shipOrder$order: { + shipId: data.id, + } + } + }, { dontCollect: true }); + const unshipped = orders.filter(ele => ele.gState === 'unshipped'); + if (unshipped.length > 0) { + await context.operate('order', { + id: await generateNewIdAsync(), + action: 'ship', + data: {}, + filter: { + id: { + $in: unshipped.map(ele => ele.id), + }, + }, + }, option); + } + return unshipped.length; + } } ]; export default triggers; diff --git a/lib/entities/Ship.js b/lib/entities/Ship.js index 16d44fd6..435be408 100644 --- a/lib/entities/Ship.js +++ b/lib/entities/Ship.js @@ -63,8 +63,8 @@ exports.entityDesc = { }, v: { iState: { - unshipped: '未发货', - shipping: '发货中', + unshipped: '待发货', + shipping: '运输中', received: '已收货', rejected: '已拒绝', givenUp: '已放弃', diff --git a/lib/oak-app-domain/Ship/locales/zh_CN.json b/lib/oak-app-domain/Ship/locales/zh_CN.json index 6917cd0f..59fb1151 100644 --- a/lib/oak-app-domain/Ship/locales/zh_CN.json +++ b/lib/oak-app-domain/Ship/locales/zh_CN.json @@ -18,8 +18,8 @@ }, "v": { "iState": { - "unshipped": "未发货", - "shipping": "发货中", + "unshipped": "待发货", + "shipping": "运输中", "received": "已收货", "rejected": "已拒绝", "givenUp": "已放弃", diff --git a/lib/triggers/ship.js b/lib/triggers/ship.js index ea2182fe..e06cb954 100644 --- a/lib/triggers/ship.js +++ b/lib/triggers/ship.js @@ -79,6 +79,40 @@ const triggers = [ } return 1; } + }, + { + name: '当物流创建时,将对应的order状态变为已发货', + entity: 'ship', + action: 'create', + when: 'after', + fn: async ({ operation }, context, option) => { + const { data } = operation; + const orders = await context.select('order', { + data: { + id: 1, + gState: 1, + }, + filter: { + shipOrder$order: { + shipId: data.id, + } + } + }, { dontCollect: true }); + const unshipped = orders.filter(ele => ele.gState === 'unshipped'); + if (unshipped.length > 0) { + await context.operate('order', { + id: await (0, uuid_1.generateNewIdAsync)(), + action: 'ship', + data: {}, + filter: { + id: { + $in: unshipped.map(ele => ele.id), + }, + }, + }, option); + } + return unshipped.length; + } } ]; exports.default = triggers; diff --git a/src/entities/Ship.ts b/src/entities/Ship.ts index 5b4bfcfb..f2326aeb 100644 --- a/src/entities/Ship.ts +++ b/src/entities/Ship.ts @@ -100,8 +100,8 @@ export const entityDesc: EntityDesc[] = [ } return; }, - }, + } as CreateTriggerCrossTxn, { entity: 'ship', name: '当虚拟的ship变为shipping状态时,调用小程序发货信息录入接口', @@ -84,7 +84,42 @@ const triggers: Trigger[] = [ } return 1; } - } as UpdateTriggerInTxn + } as UpdateTriggerInTxn, + { + name: '当物流创建时,将对应的order状态变为已发货', + entity: 'ship', + action: 'create', + when: 'after', + fn: async ({ operation }, context, option) => { + const { data } = operation as EntityDict['ship']['CreateSingle']; + const orders = await context.select('order', { + data: { + id: 1, + gState: 1, + }, + filter: { + shipOrder$order: { + shipId: data.id, + } + } + }, { dontCollect: true }); + + const unshipped = orders.filter(ele => ele.gState === 'unshipped'); + if (unshipped.length > 0) { + await context.operate('order', { + id: await generateNewIdAsync(), + action: 'ship', + data: {}, + filter: { + id: { + $in: unshipped.map(ele => ele.id!), + }, + }, + }, option); + } + return unshipped.length; + } + } as CreateTrigger ]; export default triggers; \ No newline at end of file