增加了ShipService对象

This commit is contained in:
Xu Chang 2025-03-05 14:14:24 +08:00
parent 076f6d53d8
commit 22e192d9ba
131 changed files with 2350 additions and 1103 deletions

View File

@ -155,7 +155,7 @@ const checkers = [
// 订单根据receivingMethod决定货品发送动作
entity: 'order',
type: 'row',
action: ['send', 'turnBack', 'receive'],
action: ['package', 'send', 'turnBack', 'receive'],
filter: {
receivingMethod: 'express',
},

View File

@ -61,14 +61,14 @@ declare const Detail: <T extends keyof EntityDict>(props: ReactComponentProps<En
data: Partial<EntityDict[T]["Schema"]>;
title?: string | undefined;
bordered?: boolean | undefined;
layout?: "horizontal" | "vertical" | undefined;
layout?: "vertical" | "horizontal" | undefined;
}>) => React.ReactElement;
declare const Upsert: <T extends keyof EntityDict>(props: ReactComponentProps<EntityDict, T, false, {
helps: Record<string, string>;
entity: T;
attributes: OakAbsAttrUpsertDef<EntityDict, T, string | number>[];
data: EntityDict[T]["Schema"];
layout: "horizontal" | "vertical";
layout: "vertical" | "horizontal";
mode: "default" | "card";
}>) => React.ReactElement;
export { FilterPanel, List, ListPro, Detail, Upsert, ReactComponentProps, ColumnProps, RowWithActions, OakExtraActionProps, OakAbsAttrDef, onActionFnDef, };

View File

@ -2,5 +2,7 @@
"tips": {
"header": "启用某个Ship模块需要在程序中进行注入",
"desc": "如下所示的一个例子是将oak-pay-business中的微信小程序物流组件启用但注意要同步在此页面对应的web.pc.tsx中注入相应的ShipClazz"
}
},
"shipEntity": "外部物流接口设置",
"shipService": "物流服务设置"
}

View File

@ -7,4 +7,4 @@ export declare function registerShipSettingComponent(entity: string, component:
}) => React.ReactElement): void;
export default function render(props: WebComponentProps<EntityDict, 'system', false, {
executable: boolean;
}>): React.JSX.Element;
}>): React.JSX.Element | undefined;

View File

@ -1,6 +1,7 @@
import React from 'react';
import Markdown from 'react-markdown';
import assert from "assert";
import ShipServiceSystem from '../../shipServiceSystem/list';
import { Tabs, Flex, Alert } from 'antd';
import Styles from './web.pc.module.less';
const ShipSettingComponentDict = {};
@ -8,8 +9,8 @@ export function registerShipSettingComponent(entity, component) {
assert(!ShipSettingComponentDict[entity]);
ShipSettingComponentDict[entity] = component;
}
export default function render(props) {
const { oakId, oakFullpath, oakDirty, executable } = props.data;
function renderShipEntity(props) {
const { oakId, oakFullpath } = props.data;
const { t, execute, clean } = props.methods;
const entities = Object.keys(ShipSettingComponentDict);
if (oakId && oakFullpath && entities.length) {
@ -59,3 +60,22 @@ export default function render(props) {
</div>
</Flex>);
}
export default function render(props) {
const { oakFullpath, oakId } = props.data;
const { t } = props.methods;
const E = renderShipEntity(props);
if (oakFullpath && oakId) {
return (<Tabs items={[
{
key: '1',
label: t('shipEntity'),
children: E,
},
{
key: '2',
label: t('shipService'),
children: <ShipServiceSystem oakPath={"$$opb-shipSystem-shipServices"} systemId={oakId}/>
}
]}/>);
}
}

View File

@ -8,7 +8,6 @@ export default OakComponent({
},
},
disabled: 1,
bizId: 1,
sort: 1,
},
isList: true,

View File

@ -1,162 +0,0 @@
import { isEqual } from "oak-domain/lib/utils/lodash";
export default OakComponent({
entity: 'shipCompanySystem',
isList: true,
actions: ['create', 'remove'],
projection: {
id: 1,
systemId: 1,
shipCompanyId: 1,
shipCompany: {
id: 1,
name: 1,
abbr: 1,
wechatMpName: 1,
},
},
formData({ data, legalActions }) {
const canCreate = legalActions?.includes('create');
return {
systemShipCompanies: data,
canCreate,
};
},
filters: [
{
filter() {
const systemId = this.features.application.getApplication()?.systemId;
return {
systemId,
};
}
}
],
sorters: [
{
sorter: {
$attr: {
$$createAt$$: 1,
},
$direction: 'desc',
}
}
],
getTotal: 100,
features: ['application'],
properties: {
addOpen: false, //控制添加modal的显示
setAddOpen: (newAddOpen) => undefined,
},
data: {
allShipCompanies: [],
shipCompanyOptions: [],
searchLoading: false,
},
lifetimes: {
async ready() {
await this.refreshShipCompanies();
}
},
listeners: {
async systemShipCompanies(prev, next) {
if (!this.arraysAreEqual(prev.systemShipCompanies, next.systemShipCompanies) && next.systemShipCompanies) {
await this.refreshShipCompanies();
}
}
},
methods: {
async refreshShipCompanies() {
const { systemShipCompanies } = this.state;
const { data: shipCompanys } = await this.features.cache.refresh('shipCompany', {
data: {
id: 1,
name: 1,
abbr: 1,
wechatMpName: 1,
},
}, {});
const allShipCompanies = shipCompanys;
const systemShipCompanyIds = systemShipCompanies?.map((ele) => ele?.shipCompanyId) || [];
const shipCompanyOptions = systemShipCompanyIds && systemShipCompanyIds?.length > 0 ? allShipCompanies.filter((ele) => !systemShipCompanyIds.includes(ele.id)) : allShipCompanies;
this.setState({
allShipCompanies,
shipCompanyOptions,
});
},
async myAddItems(shipCompanyIds) {
const systemId = this.features.application.getApplication()?.systemId;
const addItemsData = shipCompanyIds?.map((ele) => ({
shipCompanyId: ele,
systemId,
}));
this.addItems(addItemsData);
await this.execute();
const { shipCompanyOptions } = this.state;
const newShipCompanyOptions = shipCompanyOptions.filter((ele) => !shipCompanyIds.includes(ele.id));
this.setState({
shipCompanyOptions: newShipCompanyOptions,
});
},
searchShipCompany(searchValue) {
this.setState({
searchLoading: true,
});
const { shipCompanyOptions, systemShipCompanies, allShipCompanies } = this.state;
const systemShipCompanyIds = systemShipCompanies?.map((ele) => ele.shipCompanyId);
let newShipCompanyOptions = shipCompanyOptions;
if (searchValue.trim() !== '') {
const shipCompaies = this.features.cache.get('shipCompany', {
data: {
id: 1,
name: 1,
abbr: 1,
wechatMpName: 1,
},
filter: {
$or: [
{
name: {
$includes: searchValue.trim(),
}
},
{
abbr: {
$includes: searchValue.trim(),
}
}
]
}
}, {});
if (systemShipCompanyIds && systemShipCompanyIds.length > 0) {
newShipCompanyOptions = shipCompaies.filter((ele) => !systemShipCompanyIds.includes(ele.id));
}
else {
newShipCompanyOptions = shipCompaies;
}
}
else {
if (systemShipCompanyIds && systemShipCompanyIds.length > 0) {
newShipCompanyOptions = allShipCompanies.filter((ele) => !systemShipCompanyIds.includes(ele.id));
}
else {
newShipCompanyOptions = allShipCompanies;
}
}
this.setState({
shipCompanyOptions: newShipCompanyOptions,
searchLoading: false,
});
},
arraysAreEqual(first, second) {
if (first?.length !== second?.length) {
return false;
}
for (let i = 0; i < first?.length; ++i) {
if (!isEqual(first[i], second[i])) {
return false;
}
}
return true;
},
},
});

View File

@ -1,14 +0,0 @@
import React from 'react';
import { EntityDict } from "../../../oak-app-domain";
import { RowWithActions, WebComponentProps } from "oak-frontend-base";
export default function render(props: WebComponentProps<EntityDict, 'shipCompanySystem', false, {
systemShipCompanies: RowWithActions<EntityDict, 'shipCompanySystem'>[];
shipCompanyOptions: EntityDict['shipCompany']['Schema'][];
canCreate: boolean;
searchLoading: boolean;
addOpen: boolean;
setAddOpen: (newAddOpen: boolean) => void;
}, {
myAddItems: (shipCompanyIds: string[]) => Promise<void>;
searchShipCompany: (searchValue: string) => void;
}>): React.JSX.Element;

View File

@ -1,173 +0,0 @@
import React, { useState } from 'react';
import { FilterPanel } from '../../../components/AbstractComponents';
import ListPro from 'oak-frontend-base/es/components/listPro';
import { Modal, Table, Button, Input } from 'antd';
import Styles from './web.pc.module.less';
import { pull } from 'oak-domain/lib/utils/lodash';
export default function render(props) {
const { systemShipCompanies, shipCompanyOptions, canCreate, addOpen, setAddOpen, oakFullpath, oakEntity, oakLoading, oakExecuting, searchLoading, } = props.data;
const { t, clean, setMessage, myAddItems, searchShipCompany, removeItem, execute } = props.methods;
// const [addOpen, setAddOpen] = useState(false);
const [selectedIds, setSelectedIds] = useState([]);
const [searchValue, setSearcheValue] = useState('');
const filerColumns = [
{
attr: 'shipCompany.name',
op: '$includes',
transformFilter: (column, value) => {
return {
shipCompany: {
name: {
$includes: value
}
}
};
},
colSpan: 2
}
];
const shipCompanyColumns = [
{
path: 'name',
dataIndex: 'name',
title: t('shipCompany:attr.name'),
},
{
path: 'abbr',
dataIndex: 'abbr',
title: t('shipCompany:attr.abbr'),
},
Table.SELECTION_COLUMN,
];
return (<>
<FilterPanel oakPath={oakFullpath} entity={oakEntity} columns={filerColumns}/>
{systemShipCompanies && <ListPro data={systemShipCompanies} entity={oakEntity} attributes={[
{
path: 'shipCompany.name',
label: t('shipCompany:attr.name'),
},
{
path: 'shipCompany.abbr',
label: t('shipCompany:attr.abbr'),
},
]}
// buttonGroup={[
// {
// label: t('common::action.add'),
// show: canCreate,
// type: 'primary',
// onClick: () => {
// setAddOpen(true);
// }
// }
// ]}
onAction={async (row, action) => {
if (action === 'remove') {
removeItem(row.id);
await execute();
}
}} oakPath={oakFullpath}/>}
<Modal title={'物流公司'} width={800} destroyOnClose maskClosable={false} open={addOpen} onCancel={() => {
clean();
setSelectedIds([]);
setAddOpen(false);
}} footer={() => (<>
<Button onClick={() => {
clean();
setSearcheValue('');
searchShipCompany('');
setSelectedIds([]);
setAddOpen(false);
}}>
取消
</Button>
<Button type="primary" disabled={oakLoading || oakExecuting || !(selectedIds && selectedIds.length > 0)} onClick={async () => {
await myAddItems(selectedIds);
setSearcheValue('');
searchShipCompany('');
setSelectedIds([]);
setAddOpen(false);
}}>
添加
</Button>
</>)}>
<>
<div className={Styles.searchBox}>
<Input placeholder='请输入名称或缩写' value={searchValue} allowClear={true} onChange={(e) => {
if (e.target.value.trim() === '') {
setSearcheValue('');
searchShipCompany('');
}
else {
setSearcheValue(e.target.value.trim());
}
}} onPressEnter={() => {
if (searchValue !== '') {
searchShipCompany(searchValue);
}
else {
setMessage({
type: 'warning',
content: '请输入物流公司的名称或缩写',
});
}
}}/>
<Button type='primary' onClick={() => {
if (searchValue !== '') {
searchShipCompany(searchValue);
}
else {
setMessage({
type: 'warning',
content: '请输入物流公司的名称或缩写',
});
}
}}>
搜索
</Button>
</div>
{shipCompanyOptions &&
<Table columns={shipCompanyColumns} dataSource={shipCompanyOptions} rowKey={(record) => { return record.id; }} loading={oakLoading || searchLoading} rowSelection={{
selectedRowKeys: selectedIds,
onSelect: (record, selected) => {
let newSelectedIds = [...selectedIds];
if (selected) {
newSelectedIds.push(record.id);
setSelectedIds(newSelectedIds);
}
else {
const newSelectedIds2 = pull(newSelectedIds, record.id);
setSelectedIds([...newSelectedIds2]);
}
},
onSelectAll: (selected, selectedRows, changeRows) => {
const changeIds = changeRows.map((ele) => ele.id);
let newSelectedIds = [...selectedIds];
if (selected) {
newSelectedIds.push(...changeIds);
setSelectedIds(newSelectedIds);
}
else {
const newSelectedIds2 = pull(newSelectedIds, ...changeIds);
setSelectedIds([...newSelectedIds2]);
}
}
}} onRow={(record) => {
return {
onClick: (event) => {
let newSelectedIds = [...selectedIds];
if (selectedIds.includes(record.id)) {
const newSelectedIds2 = pull(newSelectedIds, record.id);
setSelectedIds([...newSelectedIds2]);
}
else {
newSelectedIds.push(record.id);
setSelectedIds(newSelectedIds);
}
},
};
}} style={{ minHeight: 560 }}/>}
</>
</Modal>
</>);
}

View File

@ -1,6 +1,5 @@
import { EntityDict } from "../../../oak-app-domain";
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "shipCompanySystem", true, {
addOpen: boolean;
setAddOpen: (newAddOpen: boolean) => void;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "shipServiceSystem", true, {
systemId: string;
}>) => React.ReactElement;
export default _default;

View File

@ -0,0 +1,123 @@
import { generateNewIdAsync } from "oak-domain/lib/utils/uuid";
export default OakComponent({
entity: 'shipServiceSystem',
isList: true,
actions: ['create', 'remove'],
projection: {
id: 1,
systemId: 1,
shipService: {
id: 1,
name: 1,
shipCompany: {
id: 1,
name: 1,
abbr: 1,
wechatMpName: 1,
}
},
},
formData({ data, legalActions, features }) {
const [system] = features.cache.get('system', {
data: {
id: 1,
name: 1,
},
filter: {
id: this.props.systemId,
}
});
const canCreate = legalActions?.includes('create');
return {
shipServiceSystems: data,
canCreate,
systemName: system.name,
};
},
filters: [
{
filter() {
const { systemId } = this.props;
return {
systemId,
};
}
}
],
sorters: [
{
sorter: {
$attr: {
$$createAt$$: 1,
},
$direction: 'desc',
}
}
],
properties: {
systemId: '',
},
pagination: {
currentPage: 1,
pageSize: 100,
},
getTotal: 100,
features: ['application'],
data: {
shipServices: [],
searchLoading: false,
},
methods: {
async addShipServices(shipServiceIds) {
const { systemId } = this.props;
await this.execute(undefined, undefined, undefined, await Promise.all(shipServiceIds.map(async (shipServiceId) => ({
entity: 'shipServiceSystem',
operation: {
id: await generateNewIdAsync(),
action: 'create',
data: {
id: await generateNewIdAsync(),
systemId,
shipServiceId,
}
}
}))));
},
async searchShipService(searchValue) {
const { systemId } = this.props;
this.setState({
searchLoading: true,
});
const filter = {
shipServiceSystem$shipService: {
'#sqp': 'not in',
systemId,
}
};
if (searchValue) {
filter.shipCompany = {
name: {
$startsWith: searchValue,
},
};
}
const { data: shipServices } = await this.features.cache.refresh('shipService', {
data: {
id: 1,
name: 1,
shipCompany: {
id: 1,
name: 1,
abbr: 1,
wechatMpName: 1,
},
},
filter,
});
this.setState({
shipServices,
searchLoading: false,
});
},
},
});

View File

@ -0,0 +1,6 @@
{
"placeholder": {
"shipCompanyName": "请输入快递公司名称"
},
"setting": "正在配置%{name}系统能启用的物流公司"
}

View File

@ -0,0 +1,13 @@
import React from 'react';
import { EntityDict } from "../../../oak-app-domain";
import { RowWithActions, WebComponentProps } from "oak-frontend-base";
export default function render(props: WebComponentProps<EntityDict, 'shipServiceSystem', false, {
shipServiceSystems: RowWithActions<EntityDict, 'shipServiceSystem'>[];
shipServices: EntityDict['shipService']['Schema'][];
canCreate: boolean;
searchLoading: boolean;
systemName: string;
}, {
addShipServices: (shipServiceIds: string[]) => Promise<void>;
searchShipService: (searchValue: string) => Promise<void>;
}>): React.JSX.Element;

View File

@ -0,0 +1,131 @@
import React, { useState } from 'react';
import ListPro from 'oak-frontend-base/es/components/listPro';
import { Modal, Table, Button, Input } from 'antd';
import Styles from './web.pc.module.less';
import { pull } from 'oak-domain/lib/utils/lodash';
export default function render(props) {
const { shipServiceSystems, shipServices, canCreate, oakFullpath, oakEntity, oakLoading, oakExecuting, searchLoading, systemName } = props.data;
const { t, clean, addShipServices, searchShipService, removeItem, execute } = props.methods;
const [addOpen, setAddOpen] = useState(false);
const [selectedIds, setSelectedIds] = useState([]);
const filerColumns = [
{
attr: 'shipService.shipCompany.name',
op: '$startsWith',
}
];
const shipServiceColumns = [
{
title: t('shipService:name'),
render(row, record) {
return record.name;
}
},
{
title: t('shipCompany:attr.name'),
render(row, record) {
return record.shipCompany?.name;
}
},
{
title: t('shipCompany:attr.abbr'),
render(row, record) {
return record.shipCompany?.abbr;
}
},
Table.SELECTION_COLUMN,
];
const [searchValue, setSearchValue] = useState('');
return (<>
{/* <FilterPanel
oakPath={oakFullpath}
entity={oakEntity}
columns={filerColumns}
/> */}
<ListPro title={t('setting', { name: systemName })} data={shipServiceSystems} entity={oakEntity} extraContent={canCreate && <Button type="primary" onClick={() => {
searchShipService('');
setAddOpen(true);
}}>
{t('common::action.add')}
</Button>} attributes={[
{
path: 'shipService.name',
label: t('shipService:name'),
},
{
path: 'shipService.shipCompany.name',
label: t('shipCompany:name'),
},
{
path: 'shipService.shipCompany.abbr',
label: t('shipCompany:name') + t('shipCompany:attr.abbr'),
},
]} onAction={async (row, action) => {
if (action === 'remove') {
removeItem(row.id);
await execute();
}
}} oakPath={oakFullpath}/>
<Modal title={t('shipService:name')} width={800} destroyOnClose maskClosable={false} open={addOpen} onCancel={() => {
clean();
setSelectedIds([]);
setAddOpen(false);
}} okText={t('common::action.add')} cancelText={t('common::action.cancel')} okButtonProps={{
disabled: oakLoading || oakExecuting || !(selectedIds && selectedIds.length > 0)
}} onOk={async () => {
await addShipServices(selectedIds);
setSelectedIds([]);
setAddOpen(false);
}}>
<>
<div className={Styles.searchBox}>
<Input placeholder={t('placeholder.shipCompanyName')} value={searchValue} allowClear={true} onChange={(e) => {
setSearchValue(e.target.value.trim());
}} onPressEnter={() => {
searchShipService(searchValue);
}}/>
</div>
<Table columns={shipServiceColumns} dataSource={shipServices} rowKey={(record) => { return record.id; }} loading={oakLoading || searchLoading} rowSelection={{
selectedRowKeys: selectedIds,
onSelect: (record, selected) => {
let newSelectedIds = [...selectedIds];
if (selected) {
newSelectedIds.push(record.id);
setSelectedIds(newSelectedIds);
}
else {
const newSelectedIds2 = pull(newSelectedIds, record.id);
setSelectedIds([...newSelectedIds2]);
}
},
onSelectAll: (selected, selectedRows, changeRows) => {
const changeIds = changeRows.map((ele) => ele.id);
let newSelectedIds = [...selectedIds];
if (selected) {
newSelectedIds.push(...changeIds);
setSelectedIds(newSelectedIds);
}
else {
const newSelectedIds2 = pull(newSelectedIds, ...changeIds);
setSelectedIds([...newSelectedIds2]);
}
}
}} onRow={(record) => {
return {
onClick: (event) => {
let newSelectedIds = [...selectedIds];
if (selectedIds.includes(record.id)) {
const newSelectedIds2 = pull(newSelectedIds, record.id);
setSelectedIds([...newSelectedIds2]);
}
else {
newSelectedIds.push(record.id);
setSelectedIds(newSelectedIds);
}
},
};
}} style={{ minHeight: 560 }}/>
</>
</Modal>
</>);
}

View File

@ -304,7 +304,9 @@ const i18ns = [
"tips": {
"header": "启用某个Ship模块需要在程序中进行注入",
"desc": "如下所示的一个例子是将oak-pay-business中的微信小程序物流组件启用但注意要同步在此页面对应的web.pc.tsx中注入相应的ShipClazz"
}
},
"shipEntity": "外部物流接口设置",
"shipService": "物流服务设置"
}
},
{
@ -338,12 +340,17 @@ const i18ns = [
}
},
{
id: "297eb88cf8a759b3bd882e8bd2eeae5a",
namespace: "oak-pay-business-c-shipCompanySystem-list",
id: "53643e51a5aac36c9ba5848c7ec55de5",
namespace: "oak-pay-business-c-shipServiceSystem-list",
language: "zh-CN",
module: "oak-pay-business",
position: "src/components/shipCompanySystem/list",
data: {}
position: "src/components/shipServiceSystem/list",
data: {
"placeholder": {
"shipCompanyName": "请输入快递公司名称"
},
"setting": "正在配置%{name}系统能启用的物流公司"
}
},
{
id: "c014581e9b3508d49c8dc75b2c7f5730",

View File

@ -2,9 +2,11 @@ import i18n from "./i18n";
import path from './path';
import actionAuth from './actionAuth';
import shipCompany from "./shipCompany";
import shipService from './shipService';
export default {
i18n,
path,
actionAuth,
shipCompany,
shipService,
};

3
es/data/shipService.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
import { CreateOperationData as ShipService } from '../oak-app-domain/ShipService/Schema';
declare const shipServices: ShipService[];
export default shipServices;

89
es/data/shipService.js Normal file
View File

@ -0,0 +1,89 @@
// 参见https://www.yuque.com/kdnjishuzhichi/dfcrg1/hgx758hom5p6wz0l
const shipServices = [
{
id: 'sf-sftk',
name: '顺丰特快',
shipCompanyId: 'SF',
},
{
id: 'sf-sfbk',
name: '顺丰标快',
shipCompanyId: 'SF',
},
{
id: 'sf-sfjr',
name: '顺丰即日',
shipCompanyId: 'SF',
},
{
id: 'sf-gjxb',
name: '国际小包',
shipCompanyId: 'SF',
},
{
id: 'sf-gjthps',
name: '国际特惠配送',
shipCompanyId: 'SF',
},
{
id: 'sf-sfgjthwj',
name: '顺丰国际特惠(文件)',
shipCompanyId: 'SF',
},
{
id: 'sf-sfgjthbg',
name: '顺丰国际特惠(包裹)',
shipCompanyId: 'SF',
},
{
id: 'sf-gjdszd',
name: '国际电商专递-标准',
shipCompanyId: 'SF',
},
{
id: 'dbl-bzkd',
name: '标准快递',
shipCompanyId: 'DBL',
},
{
id: 'dbl-tzkj',
name: '特准快件',
shipCompanyId: 'DBL',
},
{
id: 'dbl-djkd360',
name: '大件快递360',
shipCompanyId: 'DBL',
},
{
id: 'yto-bzkd',
name: '标准快递',
shipCompanyId: 'YTO',
},
{
id: 'yto-yzd',
name: '圆准达',
shipCompanyId: 'YTO',
},
{
id: 'zto-bzkd',
name: '标准快递',
shipCompanyId: 'ZTO',
},
{
id: 'zto-zthk',
name: '中通好快',
shipCompanyId: 'ZTO',
},
{
id: 'zto-ztbk',
name: '中通标快',
shipCompanyId: 'ZTO',
},
{
id: 'sto-bzkd',
name: '标准快递',
shipCompanyId: 'STO',
}
];
export default shipServices;

View File

@ -1,9 +1,14 @@
import { String, Int, Decimal } from 'oak-domain/lib/types/DataType';
import { String, Boolean, Int, Decimal } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as Ship } from './Ship';
import { Schema as System } from './System';
export interface Schema extends EntityShape {
sort: Decimal<12, 8>;
phatom1?: Int<8>;
phatom2?: String<64>;
ships: Ship[];
system: System;
disabled: Boolean;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -6,7 +6,10 @@ export const entityDesc = {
attr: {
phatom1: '备用属性一',
phatom2: '备用属性二',
disabled: '是否禁用',
sort: '排序',
ships: '关联快递',
system: '所属系统',
},
},
},

View File

@ -1,7 +1,7 @@
import { String, Int } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { ActionDef, EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipCompany } from './ShipCompany';
import { Schema as ShipService } from './ShipService';
import { Schema as Address } from 'oak-general-business/lib/entities/Address';
type Paths = Array<{
time: number;
@ -9,7 +9,7 @@ type Paths = Array<{
}>;
export interface Schema extends EntityShape {
type: 'virtual' | 'pickup' | 'express';
shipCompany?: ShipCompany;
shipService?: ShipService;
serial?: String<64>;
to?: Address;
from?: Address;

View File

@ -44,7 +44,7 @@ export const entityDesc = {
name: '物流公司系统连接',
attr: {
type: '物流类型',
shipCompany: '物流公司',
shipService: '物流服务',
serial: '物流编号',
to: '收件地址',
from: '寄件地址',

9
es/entities/ShipService.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
import { String } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipCompany } from './ShipCompany';
export interface Schema extends EntityShape {
name: String<32>;
shipCompany: ShipCompany;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -0,0 +1,12 @@
;
export const entityDesc = {
locales: {
zh_CN: {
name: '物流服务',
attr: {
name: '名称',
shipCompany: '所属服务公司',
},
},
},
};

9
es/entities/ShipServiceSystem.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipService } from './ShipService';
import { Schema as System } from './System';
export interface Schema extends EntityShape {
shipService: ShipService;
system: System;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -0,0 +1,12 @@
;
export const entityDesc = {
locales: {
zh_CN: {
name: '物流服务系统连接',
attr: {
shipService: '物流服务',
system: '系统'
},
},
},
};

View File

@ -1,13 +1,7 @@
import { Boolean } from 'oak-domain/lib/types/DataType';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as System } from './System';
import { Schema as AbstractShipAccount } from './AbstractShipAccount';
import { Schema as WpProduct } from './WpProduct';
import { Schema as Ship } from './Ship';
export interface Schema extends AbstractShipAccount {
wpProduct: WpProduct;
ships: Ship[];
disabled: Boolean;
system: System;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -21,6 +21,15 @@ export const desc = {
params: {
length: 64
}
},
systemId: {
notNull: true,
type: "ref",
ref: "system"
},
disabled: {
notNull: true,
type: "boolean"
}
},
actionType: "crud",

View File

@ -1,11 +1,14 @@
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
import { Decimal, Int, String } from "oak-domain/lib/types/DataType";
import { Decimal, Int, String, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
sort: Decimal<12, 8>;
phatom1?: Int<8> | null;
phatom2?: String<64> | null;
systemId: ForeignKey<"system">;
disabled: Boolean;
} & {
[A in ExpressionKey]?: any;
};
@ -18,6 +21,8 @@ export type OpFilter = {
sort: Q_NumberValue;
phatom1: Q_NumberValue;
phatom2: Q_StringValue;
systemId: Q_StringValue;
disabled: Q_BooleanValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
@ -29,6 +34,8 @@ export type OpProjection = {
sort?: number;
phatom1?: number;
phatom2?: number;
systemId?: number;
disabled?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
@ -38,6 +45,7 @@ export type OpSortAttr = Partial<{
sort: number;
phatom1: number;
phatom2: number;
disabled: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;

View File

@ -3,6 +3,9 @@
"attr": {
"phatom1": "备用属性一",
"phatom2": "备用属性二",
"sort": "排序"
"disabled": "是否禁用",
"sort": "排序",
"ships": "关联快递",
"system": "所属系统"
}
}

View File

@ -70,8 +70,9 @@ import * as BaseRefund from "./Refund/_baseSchema";
import * as BaseSettlement from "./Settlement/_baseSchema";
import * as BaseShip from "./Ship/_baseSchema";
import * as BaseShipCompany from "./ShipCompany/_baseSchema";
import * as BaseShipCompanySystem from "./ShipCompanySystem/_baseSchema";
import * as BaseShipOrder from "./ShipOrder/_baseSchema";
import * as BaseShipService from "./ShipService/_baseSchema";
import * as BaseShipServiceSystem from "./ShipServiceSystem/_baseSchema";
import * as BaseSysAccountMove from "./SysAccountMove/_baseSchema";
import * as BaseSysAccountOper from "./SysAccountOper/_baseSchema";
import * as BaseWechatMpShip from "./WechatMpShip/_baseSchema";
@ -2819,11 +2820,12 @@ export type System = {
passport$system?: Array<Omit<Passport["Schema"], "system">>;
smsTemplate$system?: Array<Omit<SmsTemplate["Schema"], "system">>;
userSystem$system?: Array<Omit<UserSystem["Schema"], "system">>;
abstractShipAccount$system?: Array<Omit<AbstractShipAccount["Schema"], "system">>;
account$ofSystem?: Array<Omit<Account["Schema"], "ofSystem">>;
account$entity?: Array<Omit<Account["Schema"], "entity">>;
offlineAccount$system?: Array<Omit<OfflineAccount["Schema"], "system">>;
order$system?: Array<Omit<Order["Schema"], "system">>;
shipCompanySystem$system?: Array<Omit<ShipCompanySystem["Schema"], "system">>;
shipServiceSystem$system?: Array<Omit<ShipServiceSystem["Schema"], "system">>;
sysAccountMove$system?: Array<Omit<SysAccountMove["Schema"], "system">>;
wechatMpShip$system?: Array<Omit<WechatMpShip["Schema"], "system">>;
wechatPay$system?: Array<Omit<WechatPay["Schema"], "system">>;
@ -2837,11 +2839,12 @@ export type System = {
passport$system$$aggr?: AggregationResult<Omit<Passport["Schema"], "system">>;
smsTemplate$system$$aggr?: AggregationResult<Omit<SmsTemplate["Schema"], "system">>;
userSystem$system$$aggr?: AggregationResult<Omit<UserSystem["Schema"], "system">>;
abstractShipAccount$system$$aggr?: AggregationResult<Omit<AbstractShipAccount["Schema"], "system">>;
account$ofSystem$$aggr?: AggregationResult<Omit<Account["Schema"], "ofSystem">>;
account$entity$$aggr?: AggregationResult<Omit<Account["Schema"], "entity">>;
offlineAccount$system$$aggr?: AggregationResult<Omit<OfflineAccount["Schema"], "system">>;
order$system$$aggr?: AggregationResult<Omit<Order["Schema"], "system">>;
shipCompanySystem$system$$aggr?: AggregationResult<Omit<ShipCompanySystem["Schema"], "system">>;
shipServiceSystem$system$$aggr?: AggregationResult<Omit<ShipServiceSystem["Schema"], "system">>;
sysAccountMove$system$$aggr?: AggregationResult<Omit<SysAccountMove["Schema"], "system">>;
wechatMpShip$system$$aggr?: AggregationResult<Omit<WechatMpShip["Schema"], "system">>;
wechatPay$system$$aggr?: AggregationResult<Omit<WechatPay["Schema"], "system">>;
@ -2888,6 +2891,12 @@ export type System = {
userSystem$system$$aggr?: DeduceAggregation<Omit<UserSystem["Projection"], "system">, Omit<UserSystem["Filter"], "system">, UserSystem["Sorter"]> & {
$entity: "userSystem";
};
abstractShipAccount$system?: OakSelection<"select", Omit<AbstractShipAccount["Projection"], "system">, Omit<AbstractShipAccount["Filter"], "system">, AbstractShipAccount["Sorter"]> & {
$entity: "abstractShipAccount";
};
abstractShipAccount$system$$aggr?: DeduceAggregation<Omit<AbstractShipAccount["Projection"], "system">, Omit<AbstractShipAccount["Filter"], "system">, AbstractShipAccount["Sorter"]> & {
$entity: "abstractShipAccount";
};
account$ofSystem?: OakSelection<"select", Omit<Account["Projection"], "system">, Omit<Account["Filter"], "system">, Account["Sorter"]> & {
$entity: "account";
};
@ -2912,11 +2921,11 @@ export type System = {
order$system$$aggr?: DeduceAggregation<Omit<Order["Projection"], "system">, Omit<Order["Filter"], "system">, Order["Sorter"]> & {
$entity: "order";
};
shipCompanySystem$system?: OakSelection<"select", Omit<ShipCompanySystem["Projection"], "system">, Omit<ShipCompanySystem["Filter"], "system">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipServiceSystem$system?: OakSelection<"select", Omit<ShipServiceSystem["Projection"], "system">, Omit<ShipServiceSystem["Filter"], "system">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
shipCompanySystem$system$$aggr?: DeduceAggregation<Omit<ShipCompanySystem["Projection"], "system">, Omit<ShipCompanySystem["Filter"], "system">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipServiceSystem$system$$aggr?: DeduceAggregation<Omit<ShipServiceSystem["Projection"], "system">, Omit<ShipServiceSystem["Filter"], "system">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
sysAccountMove$system?: OakSelection<"select", Omit<SysAccountMove["Projection"], "system">, Omit<SysAccountMove["Filter"], "system">, SysAccountMove["Sorter"]> & {
$entity: "sysAccountMove";
@ -2969,11 +2978,12 @@ export type System = {
passport$system: MakeFilter<Omit<Passport["FilterUnit"], "system">> & SubQueryPredicateMetadata;
smsTemplate$system: MakeFilter<Omit<SmsTemplate["FilterUnit"], "system">> & SubQueryPredicateMetadata;
userSystem$system: MakeFilter<Omit<UserSystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
abstractShipAccount$system: MakeFilter<Omit<AbstractShipAccount["FilterUnit"], "system">> & SubQueryPredicateMetadata;
account$ofSystem: MakeFilter<Omit<Account["FilterUnit"], "ofSystem">> & SubQueryPredicateMetadata;
account$entity: MakeFilter<Omit<Account["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
offlineAccount$system: MakeFilter<Omit<OfflineAccount["FilterUnit"], "system">> & SubQueryPredicateMetadata;
order$system: MakeFilter<Omit<Order["FilterUnit"], "system">> & SubQueryPredicateMetadata;
shipCompanySystem$system: MakeFilter<Omit<ShipCompanySystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
shipServiceSystem$system: MakeFilter<Omit<ShipServiceSystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
sysAccountMove$system: MakeFilter<Omit<SysAccountMove["FilterUnit"], "system">> & SubQueryPredicateMetadata;
wechatMpShip$system: MakeFilter<Omit<WechatMpShip["FilterUnit"], "system">> & SubQueryPredicateMetadata;
wechatPay$system: MakeFilter<Omit<WechatPay["FilterUnit"], "system">> & SubQueryPredicateMetadata;
@ -3001,11 +3011,12 @@ export type System = {
passport$system?: (OakOperation<"create", Omit<Passport["CreateOperationData"], "system"> | Omit<Passport["CreateOperationData"], "system">[]> | OakOperation<BasePassport.OpUpdateAction, Omit<Passport["UpdateOperationData"], "system">, Passport["Filter"]>)[];
smsTemplate$system?: (OakOperation<"create", Omit<SmsTemplate["CreateOperationData"], "system"> | Omit<SmsTemplate["CreateOperationData"], "system">[]> | OakOperation<BaseSmsTemplate.OpUpdateAction, Omit<SmsTemplate["UpdateOperationData"], "system">, SmsTemplate["Filter"]>)[];
userSystem$system?: (OakOperation<"create", Omit<UserSystem["CreateOperationData"], "system"> | Omit<UserSystem["CreateOperationData"], "system">[]> | OakOperation<BaseUserSystem.OpUpdateAction, Omit<UserSystem["UpdateOperationData"], "system">, UserSystem["Filter"]>)[];
abstractShipAccount$system?: (OakOperation<"create", Omit<AbstractShipAccount["CreateOperationData"], "system"> | Omit<AbstractShipAccount["CreateOperationData"], "system">[]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, Omit<AbstractShipAccount["UpdateOperationData"], "system">, AbstractShipAccount["Filter"]>)[];
account$ofSystem?: (OakOperation<"create", Omit<Account["CreateOperationData"], "ofSystem"> | Omit<Account["CreateOperationData"], "ofSystem">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "ofSystem">, Account["Filter"]>)[];
account$entity?: (OakOperation<"create", Omit<Account["CreateOperationData"], "system"> | Omit<Account["CreateOperationData"], "system">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "system">, Account["Filter"]>)[];
offlineAccount$system?: (OakOperation<"create", Omit<OfflineAccount["CreateOperationData"], "system"> | Omit<OfflineAccount["CreateOperationData"], "system">[]> | OakOperation<BaseOfflineAccount.OpUpdateAction, Omit<OfflineAccount["UpdateOperationData"], "system">, OfflineAccount["Filter"]>)[];
order$system?: (OakOperation<"create", Omit<Order["CreateOperationData"], "system"> | Omit<Order["CreateOperationData"], "system">[]> | OakOperation<BaseOrder.OpUpdateAction, Omit<Order["UpdateOperationData"], "system">, Order["Filter"]>)[];
shipCompanySystem$system?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "system"> | Omit<ShipCompanySystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "system">, ShipCompanySystem["Filter"]>)[];
shipServiceSystem$system?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "system"> | Omit<ShipServiceSystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "system">, ShipServiceSystem["Filter"]>)[];
sysAccountMove$system?: OakOperation<"create", Omit<SysAccountMove["CreateOperationData"], "system"> | Omit<SysAccountMove["CreateOperationData"], "system">[]>[];
wechatMpShip$system?: (OakOperation<"create", Omit<WechatMpShip["CreateOperationData"], "system"> | Omit<WechatMpShip["CreateOperationData"], "system">[]> | OakOperation<BaseWechatMpShip.OpUpdateAction, Omit<WechatMpShip["UpdateOperationData"], "system">, WechatMpShip["Filter"]>)[];
wechatPay$system?: (OakOperation<"create", Omit<WechatPay["CreateOperationData"], "system"> | Omit<WechatPay["CreateOperationData"], "system">[]> | OakOperation<BaseWechatPay.OpUpdateAction, Omit<WechatPay["UpdateOperationData"], "system">, WechatPay["Filter"]>)[];
@ -3025,11 +3036,12 @@ export type System = {
passport$system?: (OakOperation<"create", Omit<Passport["CreateOperationData"], "system"> | Omit<Passport["CreateOperationData"], "system">[]> | OakOperation<BasePassport.OpUpdateAction, Omit<Passport["UpdateOperationData"], "system">, Passport["Filter"]> | OakOperation<"remove", Passport["RemoveOperationData"], Passport["Filter"]>)[];
smsTemplate$system?: (OakOperation<"create", Omit<SmsTemplate["CreateOperationData"], "system"> | Omit<SmsTemplate["CreateOperationData"], "system">[]> | OakOperation<BaseSmsTemplate.OpUpdateAction, Omit<SmsTemplate["UpdateOperationData"], "system">, SmsTemplate["Filter"]> | OakOperation<"remove", SmsTemplate["RemoveOperationData"], SmsTemplate["Filter"]>)[];
userSystem$system?: (OakOperation<"create", Omit<UserSystem["CreateOperationData"], "system"> | Omit<UserSystem["CreateOperationData"], "system">[]> | OakOperation<BaseUserSystem.OpUpdateAction, Omit<UserSystem["UpdateOperationData"], "system">, UserSystem["Filter"]> | OakOperation<"remove", UserSystem["RemoveOperationData"], UserSystem["Filter"]>)[];
abstractShipAccount$system?: (OakOperation<"create", Omit<AbstractShipAccount["CreateOperationData"], "system"> | Omit<AbstractShipAccount["CreateOperationData"], "system">[]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, Omit<AbstractShipAccount["UpdateOperationData"], "system">, AbstractShipAccount["Filter"]> | OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"]>)[];
account$ofSystem?: (OakOperation<"create", Omit<Account["CreateOperationData"], "ofSystem"> | Omit<Account["CreateOperationData"], "ofSystem">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "ofSystem">, Account["Filter"]> | OakOperation<"remove", Account["RemoveOperationData"], Account["Filter"]>)[];
account$entity?: (OakOperation<"create", Omit<Account["CreateOperationData"], "system"> | Omit<Account["CreateOperationData"], "system">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "system">, Account["Filter"]> | OakOperation<"remove", Account["RemoveOperationData"], Account["Filter"]>)[];
offlineAccount$system?: (OakOperation<"create", Omit<OfflineAccount["CreateOperationData"], "system"> | Omit<OfflineAccount["CreateOperationData"], "system">[]> | OakOperation<BaseOfflineAccount.OpUpdateAction, Omit<OfflineAccount["UpdateOperationData"], "system">, OfflineAccount["Filter"]> | OakOperation<"remove", OfflineAccount["RemoveOperationData"], OfflineAccount["Filter"]>)[];
order$system?: (OakOperation<"create", Omit<Order["CreateOperationData"], "system"> | Omit<Order["CreateOperationData"], "system">[]> | OakOperation<BaseOrder.OpUpdateAction, Omit<Order["UpdateOperationData"], "system">, Order["Filter"]> | OakOperation<"remove", Order["RemoveOperationData"], Order["Filter"]>)[];
shipCompanySystem$system?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "system"> | Omit<ShipCompanySystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "system">, ShipCompanySystem["Filter"]> | OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"]>)[];
shipServiceSystem$system?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "system"> | Omit<ShipServiceSystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "system">, ShipServiceSystem["Filter"]> | OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"]>)[];
sysAccountMove$system?: OakOperation<"create", Omit<SysAccountMove["CreateOperationData"], "system"> | Omit<SysAccountMove["CreateOperationData"], "system">[]>[];
wechatMpShip$system?: (OakOperation<"create", Omit<WechatMpShip["CreateOperationData"], "system"> | Omit<WechatMpShip["CreateOperationData"], "system">[]> | OakOperation<BaseWechatMpShip.OpUpdateAction, Omit<WechatMpShip["UpdateOperationData"], "system">, WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>)[];
wechatPay$system?: (OakOperation<"create", Omit<WechatPay["CreateOperationData"], "system"> | Omit<WechatPay["CreateOperationData"], "system">[]> | OakOperation<BaseWechatPay.OpUpdateAction, Omit<WechatPay["UpdateOperationData"], "system">, WechatPay["Filter"]> | OakOperation<"remove", WechatPay["RemoveOperationData"], WechatPay["Filter"]>)[];
@ -3725,11 +3737,28 @@ export type AbstractPayAccount = {
export type AbstractShipAccount = {
OpSchema: BaseAbstractShipAccount.OpSchema;
Action: BaseAbstractShipAccount.OpAction;
Schema: BaseAbstractShipAccount.OpSchema & {};
Projection: BaseAbstractShipAccount.OpProjection & {};
FilterUnit: BaseAbstractShipAccount.OpFilter & {};
Schema: BaseAbstractShipAccount.OpSchema & {
system: System["Schema"];
ship$entity?: Array<Omit<Ship["Schema"], "entity">>;
ship$entity$$aggr?: AggregationResult<Omit<Ship["Schema"], "entity">>;
};
Projection: BaseAbstractShipAccount.OpProjection & {
system?: System["Projection"];
ship$entity?: OakSelection<"select", Omit<Ship["Projection"], "abstractShipAccount">, Omit<Ship["Filter"], "abstractShipAccount">, Ship["Sorter"]> & {
$entity: "ship";
};
ship$entity$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "abstractShipAccount">, Omit<Ship["Filter"], "abstractShipAccount">, Ship["Sorter"]> & {
$entity: "ship";
};
};
FilterUnit: BaseAbstractShipAccount.OpFilter & {
system: MakeFilter<System["FilterUnit"]>;
ship$entity: MakeFilter<Omit<Ship["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<AbstractShipAccount["FilterUnit"]>;
SortAttr: Partial<BaseAbstractShipAccount.OpSortAttr | {}>;
SortAttr: Partial<BaseAbstractShipAccount.OpSortAttr | {
system: System["SortAttr"];
}>;
SortNode: {
$attr: AbstractShipAccount["SortAttr"];
$direction?: "asc" | "desc";
@ -3737,11 +3766,17 @@ export type AbstractShipAccount = {
Sorter: AbstractShipAccount["SortNode"][];
Selection: OakSelection<"select", AbstractShipAccount["Projection"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
Aggregation: DeduceAggregation<AbstractShipAccount["Projection"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
CreateOperationData: FormCreateData<BaseAbstractShipAccount.OpSchema>;
CreateOperationData: FormCreateData<BaseAbstractShipAccount.OpSchema & {
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "abstractShipAccount"> | Omit<Ship["CreateOperationData"], "abstractShipAccount">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "abstractShipAccount">, Ship["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", AbstractShipAccount["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<AbstractShipAccount["CreateOperationData"]>>;
Create: AbstractShipAccount["CreateSingle"] | AbstractShipAccount["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseAbstractShipAccount.OpSchema>;
UpdateOperationData: FormUpdateData<BaseAbstractShipAccount.OpSchema & {
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "abstractShipAccount"> | Omit<Ship["CreateOperationData"], "abstractShipAccount">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "abstractShipAccount">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
}>;
Update: OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
@ -4382,9 +4417,10 @@ export type Ship = {
OpSchema: BaseShip.OpSchema;
Action: BaseShip.OpAction;
Schema: BaseShip.OpSchema & {
shipCompany?: ShipCompany["Schema"];
shipService?: ShipService["Schema"];
to?: Address["Schema"];
from?: Address["Schema"];
abstractShipAccount?: AbstractShipAccount["Schema"];
wechatMpShip?: WechatMpShip["Schema"];
deposit$ship?: Array<Omit<Deposit["Schema"], "ship">>;
shipOrder$ship?: Array<Omit<ShipOrder["Schema"], "ship">>;
@ -4392,9 +4428,10 @@ export type Ship = {
shipOrder$ship$$aggr?: AggregationResult<Omit<ShipOrder["Schema"], "ship">>;
};
Projection: BaseShip.OpProjection & {
shipCompany?: ShipCompany["Projection"];
shipService?: ShipService["Projection"];
to?: Address["Projection"];
from?: Address["Projection"];
abstractShipAccount?: AbstractShipAccount["Projection"];
wechatMpShip?: WechatMpShip["Projection"];
deposit$ship?: OakSelection<"select", Omit<Deposit["Projection"], "ship">, Omit<Deposit["Filter"], "ship">, Deposit["Sorter"]> & {
$entity: "deposit";
@ -4410,18 +4447,20 @@ export type Ship = {
};
};
FilterUnit: BaseShip.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
shipService: MakeFilter<ShipService["FilterUnit"]>;
to: MakeFilter<Address["FilterUnit"]>;
from: MakeFilter<Address["FilterUnit"]>;
abstractShipAccount: MakeFilter<AbstractShipAccount["FilterUnit"]>;
wechatMpShip: MakeFilter<WechatMpShip["FilterUnit"]>;
deposit$ship: MakeFilter<Omit<Deposit["FilterUnit"], "ship">> & SubQueryPredicateMetadata;
shipOrder$ship: MakeFilter<Omit<ShipOrder["FilterUnit"], "ship">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<Ship["FilterUnit"]>;
SortAttr: Partial<BaseShip.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
shipService: ShipService["SortAttr"];
to: Address["SortAttr"];
from: Address["SortAttr"];
abstractShipAccount: AbstractShipAccount["SortAttr"];
wechatMpShip: WechatMpShip["SortAttr"];
}>;
SortNode: {
@ -4432,9 +4471,10 @@ export type Ship = {
Selection: OakSelection<"select", Ship["Projection"], Ship["Filter"], Ship["Sorter"]>;
Aggregation: DeduceAggregation<Ship["Projection"], Ship["Filter"], Ship["Sorter"]>;
CreateOperationData: FormCreateData<BaseShip.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]>;
to?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]>;
from?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]>;
abstractShipAccount?: OakOperation<"create", AbstractShipAccount["CreateOperationData"]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"]>;
wechatMpShip?: OakOperation<"create", WechatMpShip["CreateOperationData"]> | OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"]>;
deposit$ship?: (OakOperation<"create", Omit<Deposit["CreateOperationData"], "ship"> | Omit<Deposit["CreateOperationData"], "ship">[]> | OakOperation<BaseDeposit.OpUpdateAction, Omit<Deposit["UpdateOperationData"], "ship">, Deposit["Filter"]>)[];
shipOrder$ship?: (OakOperation<"create", Omit<ShipOrder["CreateOperationData"], "ship"> | Omit<ShipOrder["CreateOperationData"], "ship">[]> | OakOperation<BaseShipOrder.OpUpdateAction, Omit<ShipOrder["UpdateOperationData"], "ship">, ShipOrder["Filter"]>)[];
@ -4443,9 +4483,10 @@ export type Ship = {
CreateMulti: OakOperation<"create", Array<Ship["CreateOperationData"]>>;
Create: Ship["CreateSingle"] | Ship["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShip.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>;
to?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]> | OakOperation<"remove", Address["RemoveOperationData"], Address["Filter"]>;
from?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]> | OakOperation<"remove", Address["RemoveOperationData"], Address["Filter"]>;
abstractShipAccount?: OakOperation<"create", AbstractShipAccount["CreateOperationData"]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"]> | OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"]>;
wechatMpShip?: OakOperation<"create", WechatMpShip["CreateOperationData"]> | OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>;
deposit$ship?: (OakOperation<"create", Omit<Deposit["CreateOperationData"], "ship"> | Omit<Deposit["CreateOperationData"], "ship">[]> | OakOperation<BaseDeposit.OpUpdateAction, Omit<Deposit["UpdateOperationData"], "ship">, Deposit["Filter"]> | OakOperation<"remove", Deposit["RemoveOperationData"], Deposit["Filter"]>)[];
shipOrder$ship?: (OakOperation<"create", Omit<ShipOrder["CreateOperationData"], "ship"> | Omit<ShipOrder["CreateOperationData"], "ship">[]> | OakOperation<BaseShipOrder.OpUpdateAction, Omit<ShipOrder["UpdateOperationData"], "ship">, ShipOrder["Filter"]> | OakOperation<"remove", ShipOrder["RemoveOperationData"], ShipOrder["Filter"]>)[];
@ -4459,28 +4500,19 @@ export type ShipCompany = {
OpSchema: BaseShipCompany.OpSchema;
Action: BaseShipCompany.OpAction;
Schema: BaseShipCompany.OpSchema & {
ship$shipCompany?: Array<Omit<Ship["Schema"], "shipCompany">>;
shipCompanySystem$shipCompany?: Array<Omit<ShipCompanySystem["Schema"], "shipCompany">>;
ship$shipCompany$$aggr?: AggregationResult<Omit<Ship["Schema"], "shipCompany">>;
shipCompanySystem$shipCompany$$aggr?: AggregationResult<Omit<ShipCompanySystem["Schema"], "shipCompany">>;
shipService$shipCompany?: Array<Omit<ShipService["Schema"], "shipCompany">>;
shipService$shipCompany$$aggr?: AggregationResult<Omit<ShipService["Schema"], "shipCompany">>;
};
Projection: BaseShipCompany.OpProjection & {
ship$shipCompany?: OakSelection<"select", Omit<Ship["Projection"], "shipCompany">, Omit<Ship["Filter"], "shipCompany">, Ship["Sorter"]> & {
$entity: "ship";
shipService$shipCompany?: OakSelection<"select", Omit<ShipService["Projection"], "shipCompany">, Omit<ShipService["Filter"], "shipCompany">, ShipService["Sorter"]> & {
$entity: "shipService";
};
ship$shipCompany$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "shipCompany">, Omit<Ship["Filter"], "shipCompany">, Ship["Sorter"]> & {
$entity: "ship";
};
shipCompanySystem$shipCompany?: OakSelection<"select", Omit<ShipCompanySystem["Projection"], "shipCompany">, Omit<ShipCompanySystem["Filter"], "shipCompany">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
};
shipCompanySystem$shipCompany$$aggr?: DeduceAggregation<Omit<ShipCompanySystem["Projection"], "shipCompany">, Omit<ShipCompanySystem["Filter"], "shipCompany">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipService$shipCompany$$aggr?: DeduceAggregation<Omit<ShipService["Projection"], "shipCompany">, Omit<ShipService["Filter"], "shipCompany">, ShipService["Sorter"]> & {
$entity: "shipService";
};
};
FilterUnit: BaseShipCompany.OpFilter & {
ship$shipCompany: MakeFilter<Omit<Ship["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
shipCompanySystem$shipCompany: MakeFilter<Omit<ShipCompanySystem["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
shipService$shipCompany: MakeFilter<Omit<ShipService["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
} & FulltextFilter;
Filter: MakeFilter<ShipCompany["FilterUnit"]>;
SortAttr: Partial<BaseShipCompany.OpSortAttr | {}>;
@ -4492,64 +4524,19 @@ export type ShipCompany = {
Selection: OakSelection<"select", ShipCompany["Projection"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
Aggregation: DeduceAggregation<ShipCompany["Projection"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipCompany.OpSchema & {
ship$shipCompany?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipCompany"> | Omit<Ship["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipCompany">, Ship["Filter"]>)[];
shipCompanySystem$shipCompany?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "shipCompany"> | Omit<ShipCompanySystem["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "shipCompany">, ShipCompanySystem["Filter"]>)[];
shipService$shipCompany?: (OakOperation<"create", Omit<ShipService["CreateOperationData"], "shipCompany"> | Omit<ShipService["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipService.OpUpdateAction, Omit<ShipService["UpdateOperationData"], "shipCompany">, ShipService["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", ShipCompany["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipCompany["CreateOperationData"]>>;
Create: ShipCompany["CreateSingle"] | ShipCompany["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipCompany.OpSchema & {
ship$shipCompany?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipCompany"> | Omit<Ship["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipCompany">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
shipCompanySystem$shipCompany?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "shipCompany"> | Omit<ShipCompanySystem["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "shipCompany">, ShipCompanySystem["Filter"]> | OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"]>)[];
shipService$shipCompany?: (OakOperation<"create", Omit<ShipService["CreateOperationData"], "shipCompany"> | Omit<ShipService["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipService.OpUpdateAction, Omit<ShipService["UpdateOperationData"], "shipCompany">, ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>)[];
}>;
Update: OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
Operation: ShipCompany["Create"] | ShipCompany["Update"] | ShipCompany["Remove"];
};
export type ShipCompanySystem = {
OpSchema: BaseShipCompanySystem.OpSchema;
Action: BaseShipCompanySystem.OpAction;
Schema: BaseShipCompanySystem.OpSchema & {
shipCompany: ShipCompany["Schema"];
system: System["Schema"];
};
Projection: BaseShipCompanySystem.OpProjection & {
shipCompany?: ShipCompany["Projection"];
system?: System["Projection"];
};
FilterUnit: BaseShipCompanySystem.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
};
Filter: MakeFilter<ShipCompanySystem["FilterUnit"]>;
SortAttr: Partial<BaseShipCompanySystem.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
system: System["SortAttr"];
}>;
SortNode: {
$attr: ShipCompanySystem["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipCompanySystem["SortNode"][];
Selection: OakSelection<"select", ShipCompanySystem["Projection"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
Aggregation: DeduceAggregation<ShipCompanySystem["Projection"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipCompanySystem.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
}>;
CreateSingle: OakOperation<"create", ShipCompanySystem["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipCompanySystem["CreateOperationData"]>>;
Create: ShipCompanySystem["CreateSingle"] | ShipCompanySystem["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipCompanySystem.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
}>;
Update: OakOperation<BaseShipCompanySystem.OpUpdateAction, ShipCompanySystem["UpdateOperationData"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
Operation: ShipCompanySystem["Create"] | ShipCompanySystem["Update"] | ShipCompanySystem["Remove"];
};
export type ShipOrder = {
OpSchema: BaseShipOrder.OpSchema;
Action: BaseShipOrder.OpAction;
@ -4593,6 +4580,108 @@ export type ShipOrder = {
Remove: OakOperation<"remove", ShipOrder["RemoveOperationData"], ShipOrder["Filter"], ShipOrder["Sorter"]>;
Operation: ShipOrder["Create"] | ShipOrder["Update"] | ShipOrder["Remove"];
};
export type ShipService = {
OpSchema: BaseShipService.OpSchema;
Action: BaseShipService.OpAction;
Schema: BaseShipService.OpSchema & {
shipCompany: ShipCompany["Schema"];
ship$shipService?: Array<Omit<Ship["Schema"], "shipService">>;
shipServiceSystem$shipService?: Array<Omit<ShipServiceSystem["Schema"], "shipService">>;
ship$shipService$$aggr?: AggregationResult<Omit<Ship["Schema"], "shipService">>;
shipServiceSystem$shipService$$aggr?: AggregationResult<Omit<ShipServiceSystem["Schema"], "shipService">>;
};
Projection: BaseShipService.OpProjection & {
shipCompany?: ShipCompany["Projection"];
ship$shipService?: OakSelection<"select", Omit<Ship["Projection"], "shipService">, Omit<Ship["Filter"], "shipService">, Ship["Sorter"]> & {
$entity: "ship";
};
ship$shipService$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "shipService">, Omit<Ship["Filter"], "shipService">, Ship["Sorter"]> & {
$entity: "ship";
};
shipServiceSystem$shipService?: OakSelection<"select", Omit<ShipServiceSystem["Projection"], "shipService">, Omit<ShipServiceSystem["Filter"], "shipService">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
shipServiceSystem$shipService$$aggr?: DeduceAggregation<Omit<ShipServiceSystem["Projection"], "shipService">, Omit<ShipServiceSystem["Filter"], "shipService">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
};
FilterUnit: BaseShipService.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
ship$shipService: MakeFilter<Omit<Ship["FilterUnit"], "shipService">> & SubQueryPredicateMetadata;
shipServiceSystem$shipService: MakeFilter<Omit<ShipServiceSystem["FilterUnit"], "shipService">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<ShipService["FilterUnit"]>;
SortAttr: Partial<BaseShipService.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
}>;
SortNode: {
$attr: ShipService["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipService["SortNode"][];
Selection: OakSelection<"select", ShipService["Projection"], ShipService["Filter"], ShipService["Sorter"]>;
Aggregation: DeduceAggregation<ShipService["Projection"], ShipService["Filter"], ShipService["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipService.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
ship$shipService?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipService"> | Omit<Ship["CreateOperationData"], "shipService">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipService">, Ship["Filter"]>)[];
shipServiceSystem$shipService?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "shipService"> | Omit<ShipServiceSystem["CreateOperationData"], "shipService">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "shipService">, ShipServiceSystem["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", ShipService["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipService["CreateOperationData"]>>;
Create: ShipService["CreateSingle"] | ShipService["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipService.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
ship$shipService?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipService"> | Omit<Ship["CreateOperationData"], "shipService">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipService">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
shipServiceSystem$shipService?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "shipService"> | Omit<ShipServiceSystem["CreateOperationData"], "shipService">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "shipService">, ShipServiceSystem["Filter"]> | OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"]>)[];
}>;
Update: OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"], ShipService["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"], ShipService["Sorter"]>;
Operation: ShipService["Create"] | ShipService["Update"] | ShipService["Remove"];
};
export type ShipServiceSystem = {
OpSchema: BaseShipServiceSystem.OpSchema;
Action: BaseShipServiceSystem.OpAction;
Schema: BaseShipServiceSystem.OpSchema & {
shipService: ShipService["Schema"];
system: System["Schema"];
};
Projection: BaseShipServiceSystem.OpProjection & {
shipService?: ShipService["Projection"];
system?: System["Projection"];
};
FilterUnit: BaseShipServiceSystem.OpFilter & {
shipService: MakeFilter<ShipService["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
};
Filter: MakeFilter<ShipServiceSystem["FilterUnit"]>;
SortAttr: Partial<BaseShipServiceSystem.OpSortAttr | {
shipService: ShipService["SortAttr"];
system: System["SortAttr"];
}>;
SortNode: {
$attr: ShipServiceSystem["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipServiceSystem["SortNode"][];
Selection: OakSelection<"select", ShipServiceSystem["Projection"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
Aggregation: DeduceAggregation<ShipServiceSystem["Projection"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipServiceSystem.OpSchema & {
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
}>;
CreateSingle: OakOperation<"create", ShipServiceSystem["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipServiceSystem["CreateOperationData"]>>;
Create: ShipServiceSystem["CreateSingle"] | ShipServiceSystem["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipServiceSystem.OpSchema & {
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
}>;
Update: OakOperation<BaseShipServiceSystem.OpUpdateAction, ShipServiceSystem["UpdateOperationData"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
Operation: ShipServiceSystem["Create"] | ShipServiceSystem["Update"] | ShipServiceSystem["Remove"];
};
export type SysAccountMove = {
OpSchema: BaseSysAccountMove.OpSchema;
Action: BaseSysAccountMove.OpAction;
@ -4718,14 +4807,14 @@ export type WechatMpShip = {
OpSchema: BaseWechatMpShip.OpSchema;
Action: BaseWechatMpShip.OpAction;
Schema: BaseWechatMpShip.OpSchema & {
wpProduct: WpProduct["Schema"];
system: System["Schema"];
wpProduct: WpProduct["Schema"];
ship$entity?: Array<Omit<Ship["Schema"], "entity">>;
ship$entity$$aggr?: AggregationResult<Omit<Ship["Schema"], "entity">>;
};
Projection: BaseWechatMpShip.OpProjection & {
wpProduct?: WpProduct["Projection"];
system?: System["Projection"];
wpProduct?: WpProduct["Projection"];
ship$entity?: OakSelection<"select", Omit<Ship["Projection"], "wechatMpShip">, Omit<Ship["Filter"], "wechatMpShip">, Ship["Sorter"]> & {
$entity: "ship";
};
@ -4734,14 +4823,14 @@ export type WechatMpShip = {
};
};
FilterUnit: BaseWechatMpShip.OpFilter & {
wpProduct: MakeFilter<WpProduct["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
wpProduct: MakeFilter<WpProduct["FilterUnit"]>;
ship$entity: MakeFilter<Omit<Ship["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<WechatMpShip["FilterUnit"]>;
SortAttr: Partial<BaseWechatMpShip.OpSortAttr | {
wpProduct: WpProduct["SortAttr"];
system: System["SortAttr"];
wpProduct: WpProduct["SortAttr"];
}>;
SortNode: {
$attr: WechatMpShip["SortAttr"];
@ -4751,16 +4840,16 @@ export type WechatMpShip = {
Selection: OakSelection<"select", WechatMpShip["Projection"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
Aggregation: DeduceAggregation<WechatMpShip["Projection"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
CreateOperationData: FormCreateData<BaseWechatMpShip.OpSchema & {
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "wechatMpShip"> | Omit<Ship["CreateOperationData"], "wechatMpShip">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "wechatMpShip">, Ship["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", WechatMpShip["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<WechatMpShip["CreateOperationData"]>>;
Create: WechatMpShip["CreateSingle"] | WechatMpShip["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseWechatMpShip.OpSchema & {
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "wechatMpShip"> | Omit<Ship["CreateOperationData"], "wechatMpShip">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "wechatMpShip">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
}>;
Update: OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
@ -5307,8 +5396,9 @@ export type EntityDict = {
settlement: Settlement;
ship: Ship;
shipCompany: ShipCompany;
shipCompanySystem: ShipCompanySystem;
shipOrder: ShipOrder;
shipService: ShipService;
shipServiceSystem: ShipServiceSystem;
sysAccountMove: SysAccountMove;
sysAccountOper: SysAccountOper;
wechatMpShip: WechatMpShip;

View File

@ -6,9 +6,9 @@ export const desc = {
type: "enum",
enumeration: ["virtual", "pickup", "express"]
},
shipCompanyId: {
shipServiceId: {
type: "ref",
ref: "shipCompany"
ref: "shipService"
},
serial: {
type: "varchar",
@ -29,7 +29,7 @@ export const desc = {
params: {
length: 32
},
ref: ["wechatMpShip"]
ref: ["abstractShipAccount", "wechatMpShip"]
},
entityId: {
type: "varchar",

View File

@ -9,11 +9,11 @@ type Paths = Array<{
}>;
export type OpSchema = EntityShape & {
type: "virtual" | "pickup" | "express";
shipCompanyId?: ForeignKey<"shipCompany"> | null;
shipServiceId?: ForeignKey<"shipService"> | null;
serial?: String<64> | null;
toId?: ForeignKey<"address"> | null;
fromId?: ForeignKey<"address"> | null;
entity?: ("wechatMpShip" | string) | null;
entity?: ("abstractShipAccount" | "wechatMpShip" | string) | null;
entityId?: String<64> | null;
phantom1?: String<32> | null;
phantom2?: String<32> | null;
@ -32,11 +32,11 @@ export type OpFilter = {
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
type: Q_EnumValue<"virtual" | "pickup" | "express">;
shipCompanyId: Q_StringValue;
shipServiceId: Q_StringValue;
serial: Q_StringValue;
toId: Q_StringValue;
fromId: Q_StringValue;
entity: Q_EnumValue<"wechatMpShip" | string>;
entity: Q_EnumValue<"abstractShipAccount" | "wechatMpShip" | string>;
entityId: Q_StringValue;
phantom1: Q_StringValue;
phantom2: Q_StringValue;
@ -54,7 +54,7 @@ export type OpProjection = {
$$updateAt$$?: number;
$$seq$$?: number;
type?: number;
shipCompanyId?: number;
shipServiceId?: number;
serial?: number;
toId?: number;
fromId?: number;

View File

@ -2,7 +2,7 @@
"name": "物流公司系统连接",
"attr": {
"type": "物流类型",
"shipCompany": "物流公司",
"shipService": "物流服务",
"serial": "物流编号",
"to": "收件地址",
"from": "寄件地址",

View File

@ -0,0 +1,19 @@
export * from "./_baseSchema";
import { ShipService } from "../EntityDict";
export type Schema = ShipService["Schema"];
export type Action = ShipService["Action"];
export type Projection = ShipService["Projection"];
export type Filter = ShipService["Filter"];
export type SortNode = ShipService["SortNode"];
export type Sorter = ShipService["Sorter"];
export type Selection = ShipService["Selection"];
export type Aggregation = ShipService["Aggregation"];
export type CreateOperationData = ShipService["CreateOperationData"];
export type CreateSingle = ShipService["CreateSingle"];
export type CreateMulti = ShipService["CreateMulti"];
export type Create = ShipService["Create"];
export type UpdateOperationData = ShipService["UpdateOperationData"];
export type Update = ShipService["Update"];
export type RemoveOperationData = ShipService["RemoveOperationData"];
export type Remove = ShipService["Remove"];
export type Operation = ShipService["Operation"];

View File

@ -0,0 +1 @@
export * from "./_baseSchema";

View File

@ -0,0 +1,3 @@
import { StorageDesc } from "oak-domain/lib/types/Storage";
import { OpSchema } from "./Schema";
export declare const desc: StorageDesc<OpSchema>;

View File

@ -0,0 +1,19 @@
import { genericActions as actions } from "oak-domain/lib/actions/action";
export const desc = {
attributes: {
name: {
notNull: true,
type: "varchar",
params: {
length: 32
}
},
shipCompanyId: {
notNull: true,
type: "ref",
ref: "shipCompany"
}
},
actionType: "crud",
actions
};

View File

@ -0,0 +1,40 @@
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
import { String } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
name: String<32>;
shipCompanyId: ForeignKey<"shipCompany">;
} & {
[A in ExpressionKey]?: any;
};
export type OpAttr = keyof OpSchema;
export type OpFilter = {
id: Q_StringValue;
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
name: Q_StringValue;
shipCompanyId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
[k: string]: any;
id?: number;
$$createAt$$?: number;
$$updateAt$$?: number;
$$seq$$?: number;
name?: number;
shipCompanyId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
$$createAt$$: number;
$$seq$$: number;
$$updateAt$$: number;
name: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;
export type OpUpdateAction = "update" | string;

View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,7 @@
{
"name": "物流服务",
"attr": {
"name": "名称",
"shipCompany": "所属服务公司"
}
}

View File

@ -0,0 +1,19 @@
export * from "./_baseSchema";
import { ShipServiceSystem } from "../EntityDict";
export type Schema = ShipServiceSystem["Schema"];
export type Action = ShipServiceSystem["Action"];
export type Projection = ShipServiceSystem["Projection"];
export type Filter = ShipServiceSystem["Filter"];
export type SortNode = ShipServiceSystem["SortNode"];
export type Sorter = ShipServiceSystem["Sorter"];
export type Selection = ShipServiceSystem["Selection"];
export type Aggregation = ShipServiceSystem["Aggregation"];
export type CreateOperationData = ShipServiceSystem["CreateOperationData"];
export type CreateSingle = ShipServiceSystem["CreateSingle"];
export type CreateMulti = ShipServiceSystem["CreateMulti"];
export type Create = ShipServiceSystem["Create"];
export type UpdateOperationData = ShipServiceSystem["UpdateOperationData"];
export type Update = ShipServiceSystem["Update"];
export type RemoveOperationData = ShipServiceSystem["RemoveOperationData"];
export type Remove = ShipServiceSystem["Remove"];
export type Operation = ShipServiceSystem["Operation"];

View File

@ -0,0 +1 @@
export * from "./_baseSchema";

View File

@ -0,0 +1,3 @@
import { StorageDesc } from "oak-domain/lib/types/Storage";
import { OpSchema } from "./Schema";
export declare const desc: StorageDesc<OpSchema>;

View File

@ -0,0 +1,17 @@
import { genericActions as actions } from "oak-domain/lib/actions/action";
export const desc = {
attributes: {
shipServiceId: {
notNull: true,
type: "ref",
ref: "shipService"
},
systemId: {
notNull: true,
type: "ref",
ref: "system"
}
},
actionType: "crud",
actions
};

View File

@ -0,0 +1,38 @@
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
export type OpSchema = EntityShape & {
shipServiceId: ForeignKey<"shipService">;
systemId: ForeignKey<"system">;
} & {
[A in ExpressionKey]?: any;
};
export type OpAttr = keyof OpSchema;
export type OpFilter = {
id: Q_StringValue;
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
shipServiceId: Q_StringValue;
systemId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
[k: string]: any;
id?: number;
$$createAt$$?: number;
$$updateAt$$?: number;
$$seq$$?: number;
shipServiceId?: number;
systemId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
$$createAt$$: number;
$$seq$$: number;
$$updateAt$$: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;
export type OpUpdateAction = "update" | string;

View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,7 @@
{
"name": "物流服务系统连接",
"attr": {
"shipService": "物流服务",
"system": "系统"
}
}

View File

@ -68,8 +68,9 @@ import { desc as refundDesc } from "./Refund/Storage";
import { desc as settlementDesc } from "./Settlement/Storage";
import { desc as shipDesc } from "./Ship/Storage";
import { desc as shipCompanyDesc } from "./ShipCompany/Storage";
import { desc as shipCompanySystemDesc } from "./ShipCompanySystem/Storage";
import { desc as shipOrderDesc } from "./ShipOrder/Storage";
import { desc as shipServiceDesc } from "./ShipService/Storage";
import { desc as shipServiceSystemDesc } from "./ShipServiceSystem/Storage";
import { desc as sysAccountMoveDesc } from "./SysAccountMove/Storage";
import { desc as sysAccountOperDesc } from "./SysAccountOper/Storage";
import { desc as wechatMpShipDesc } from "./WechatMpShip/Storage";
@ -151,8 +152,9 @@ export const storageSchema = {
settlement: settlementDesc,
ship: shipDesc,
shipCompany: shipCompanyDesc,
shipCompanySystem: shipCompanySystemDesc,
shipOrder: shipOrderDesc,
shipService: shipServiceDesc,
shipServiceSystem: shipServiceSystemDesc,
sysAccountMove: sysAccountMoveDesc,
sysAccountOper: sysAccountOperDesc,
wechatMpShip: wechatMpShipDesc,

View File

@ -22,19 +22,19 @@ export const desc = {
length: 64
}
},
wpProductId: {
systemId: {
notNull: true,
type: "ref",
ref: "wpProduct"
ref: "system"
},
disabled: {
notNull: true,
type: "boolean"
},
systemId: {
wpProductId: {
notNull: true,
type: "ref",
ref: "system"
ref: "wpProduct"
}
},
actionType: "crud",

View File

@ -7,9 +7,9 @@ export type OpSchema = EntityShape & {
sort: Decimal<12, 8>;
phatom1?: Int<8> | null;
phatom2?: String<64> | null;
wpProductId: ForeignKey<"wpProduct">;
disabled: Boolean;
systemId: ForeignKey<"system">;
disabled: Boolean;
wpProductId: ForeignKey<"wpProduct">;
} & {
[A in ExpressionKey]?: any;
};
@ -22,9 +22,9 @@ export type OpFilter = {
sort: Q_NumberValue;
phatom1: Q_NumberValue;
phatom2: Q_StringValue;
wpProductId: Q_StringValue;
disabled: Q_BooleanValue;
systemId: Q_StringValue;
disabled: Q_BooleanValue;
wpProductId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
@ -36,9 +36,9 @@ export type OpProjection = {
sort?: number;
phatom1?: number;
phatom2?: number;
wpProductId?: number;
disabled?: number;
systemId?: number;
disabled?: number;
wpProductId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;

View File

@ -1,6 +1,7 @@
import { generateNewIdAsync } from 'oak-domain/lib/utils/uuid';
import { DATA_SUBSCRIBER_KEYS } from '../config/constants';
import assert from 'assert';
import { getShipEntity } from '../utils/shipClazz';
import { getShipState, uploadShippingInfo } from '../utils/ship';
const triggers = [
{
@ -80,9 +81,9 @@ const triggers = [
}
},
{
name: '当物流发货时将对应的order状态变为已发货/提货中',
name: '当物流创建时将对应的receivingMethod为express的order变为packaged状态',
entity: 'ship',
action: 'ship',
action: 'create',
when: 'after',
fn: async ({ operation }, context, option) => {
const { data } = operation;
@ -92,11 +93,69 @@ const triggers = [
gState: 1,
},
filter: {
receivingMethod: 'express',
shipOrder$order: {
shipId: data.id,
}
}
}, { dontCollect: true });
orders.forEach(ele => assert(ele.gState === 'unshipped'));
await context.operate('order', {
id: await generateNewIdAsync(),
action: 'package',
data: {},
filter: {
id: {
$in: orders.map(ele => ele.id),
},
},
}, option);
return orders.length;
}
},
{
name: '当物流创建时,赋上对应的物流系统对象',
entity: 'ship',
action: 'create',
when: 'before',
fn: async ({ operation }, context) => {
const result = await getShipEntity(context);
if (result) {
const { data } = operation;
if (data instanceof Array) {
data.forEach(ele => {
ele.entity = result[0];
ele.entityId = result[1];
});
}
else {
data.entity = result[0];
data.entityId = result[1];
}
return 1;
}
return 0;
}
},
{
name: '当物流发货时将对应的order状态变为已发货/提货中',
entity: 'ship',
action: 'ship',
when: 'after',
fn: async ({ operation }, context, option) => {
const { filter } = operation;
assert(typeof filter.id === 'string');
const orders = await context.select('order', {
data: {
id: 1,
gState: 1,
},
filter: {
shipOrder$order: {
shipId: filter.id,
}
}
}, { dontCollect: true });
const packaged = orders.filter(ele => ele.gState === 'packaged');
if (packaged.length > 0) {
await context.operate('order', {

View File

@ -1,14 +1,14 @@
import { EntityDict } from '../oak-app-domain';
import { BRC } from '../types/RuntimeCxt';
export default interface ShipClazz {
eOrder(ship: EntityDict['ship']['OpSchema'], context: BRC): Promise<string>;
preOrder(ship: EntityDict['ship']['OpSchema'], context: BRC): Promise<string | void>;
cancelOrder(ship: EntityDict['ship']['OpSchema'], context: BRC): Promise<void>;
getState(ship: EntityDict['ship']['OpSchema']): Promise<{
hasService(serviceId: string): boolean;
eOrder(shipId: string, context: BRC): Promise<string>;
cancelOrder(shipId: string, context: BRC): Promise<void>;
getState(shipId: string): Promise<{
iState: EntityDict['ship']['OpSchema']['iState'];
extraPaths?: EntityDict['ship']['OpSchema']['extraPaths'];
}>;
getPrintInfo(ship: EntityDict['ship']['OpSchema']): Promise<{
getPrintInfo(shipId: string): Promise<{
type: 'html';
data: string;
}>;

View File

@ -0,0 +1,16 @@
import { EntityDict } from "../../../oak-app-domain";
import { BRC } from "../../../types/RuntimeCxt";
import ShipClazz from "../../../types/ShipClazz";
export default class WechatMpShipDebug implements ShipClazz {
hasService(serviceId: string): boolean;
eOrder(shipId: string, context: BRC): Promise<string>;
cancelOrder(shipId: string, context: BRC): Promise<void>;
getState(shipId: string): Promise<{
iState: EntityDict["ship"]["OpSchema"]["iState"];
extraPaths?: EntityDict["ship"]["OpSchema"]["extraPaths"];
}>;
getPrintInfo(shipId: string): Promise<{
type: "html";
data: string;
}>;
}

View File

@ -0,0 +1,18 @@
export default class WechatMpShipDebug {
hasService(serviceId) {
throw new Error("Method not implemented.");
}
eOrder(shipId, context) {
throw new Error("Method not implemented.");
}
cancelOrder(shipId, context) {
throw new Error("Method not implemented.");
}
getState(shipId) {
throw new Error("Method not implemented.");
}
getPrintInfo(shipId) {
throw new Error("Method not implemented.");
}
}
;

View File

@ -0,0 +1,2 @@
import WechatMpShipDebug from './WechatMpShip.debug';
export default WechatMpShipDebug;

View File

@ -0,0 +1,3 @@
import WechatMpShipDebug from './WechatMpShip.debug';
// import WechatMpShip from './WechatMpShip';
export default WechatMpShipDebug;

View File

@ -6,4 +6,10 @@ import { StorageSchema } from 'oak-domain/lib/types/Storage';
type ShipClazzConstructor = (entityId: string, context: BRC) => Promise<ShipClazz>;
export declare function registerShipClazzEntity<ED extends EntityDict & BaseEntityDict, T extends keyof ED>(entity: T, clazzConstructor: ShipClazzConstructor, schema: StorageSchema<ED>): void;
export declare function getShipClazz(ship: EntityDict['ship']['OpSchema'], context: BRC): Promise<ShipClazz>;
/**
* ship时
* @param shipId
* @param context
*/
export declare function getShipEntity(context: BRC): Promise<void | [string, string]>;
export {};

View File

@ -8,6 +8,8 @@ export function registerShipClazzEntity(entity, clazzConstructor, schema) {
const { attributes } = schema[entity];
assert(attributes.bizId && attributes.bizId.type === 'varchar');
assert(attributes.sort && attributes.sort.type === 'decimal');
assert(attributes.systemId && attributes.systemId.type === 'ref' && attributes.systemId.ref === 'system');
assert(attributes.disabled && attributes.disabled.type === 'boolean');
ShipClazzEntityDict[entity] = clazzConstructor;
}
export async function getShipClazz(ship, context) {
@ -23,3 +25,53 @@ export async function getShipClazz(ship, context) {
ShipClazzDict[key] = clazz;
return clazz;
}
/**
* 创建ship时根据系统物流的配置去对接对应的物流系统
* @param shipId
* @param context
*/
export async function getShipEntity(context) {
const systemId = context.getSystemId();
assert(systemId);
const entities = Object.keys(ShipClazzEntityDict);
if (!entities.length) {
return;
}
const projection = {
id: 1,
};
entities.forEach((ele) => {
Object.assign(projection, {
[`${ele}$system`]: {
$entity: ele,
data: {
id: 1,
sort: 1,
},
filter: {
disabled: false,
},
}
});
});
const [system] = await context.select('system', {
data: projection,
filter: {
id: systemId,
},
}, { dontCollect: true });
let entity = '', entityId = '';
let sort = 0;
for (const e of entities) {
const k = `${e}$system`;
const row = system[k][0];
if (row && row.sort > sort) {
sort = row.sort;
entity = e;
entityId = row.id;
}
}
if (entity) {
return [entity, entityId];
}
}

View File

@ -158,7 +158,7 @@ const checkers = [
// 订单根据receivingMethod决定货品发送动作
entity: 'order',
type: 'row',
action: ['send', 'turnBack', 'receive'],
action: ['package', 'send', 'turnBack', 'receive'],
filter: {
receivingMethod: 'express',
},

View File

@ -306,7 +306,9 @@ const i18ns = [
"tips": {
"header": "启用某个Ship模块需要在程序中进行注入",
"desc": "如下所示的一个例子是将oak-pay-business中的微信小程序物流组件启用但注意要同步在此页面对应的web.pc.tsx中注入相应的ShipClazz"
}
},
"shipEntity": "外部物流接口设置",
"shipService": "物流服务设置"
}
},
{
@ -340,12 +342,17 @@ const i18ns = [
}
},
{
id: "297eb88cf8a759b3bd882e8bd2eeae5a",
namespace: "oak-pay-business-c-shipCompanySystem-list",
id: "53643e51a5aac36c9ba5848c7ec55de5",
namespace: "oak-pay-business-c-shipServiceSystem-list",
language: "zh-CN",
module: "oak-pay-business",
position: "src/components/shipCompanySystem/list",
data: {}
position: "src/components/shipServiceSystem/list",
data: {
"placeholder": {
"shipCompanyName": "请输入快递公司名称"
},
"setting": "正在配置%{name}系统能启用的物流公司"
}
},
{
id: "c014581e9b3508d49c8dc75b2c7f5730",

View File

@ -5,9 +5,11 @@ const i18n_1 = tslib_1.__importDefault(require("./i18n"));
const path_1 = tslib_1.__importDefault(require("./path"));
const actionAuth_1 = tslib_1.__importDefault(require("./actionAuth"));
const shipCompany_1 = tslib_1.__importDefault(require("./shipCompany"));
const shipService_1 = tslib_1.__importDefault(require("./shipService"));
exports.default = {
i18n: i18n_1.default,
path: path_1.default,
actionAuth: actionAuth_1.default,
shipCompany: shipCompany_1.default,
shipService: shipService_1.default,
};

3
lib/data/shipService.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
import { CreateOperationData as ShipService } from '../oak-app-domain/ShipService/Schema';
declare const shipServices: ShipService[];
export default shipServices;

91
lib/data/shipService.js Normal file
View File

@ -0,0 +1,91 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// 参见https://www.yuque.com/kdnjishuzhichi/dfcrg1/hgx758hom5p6wz0l
const shipServices = [
{
id: 'sf-sftk',
name: '顺丰特快',
shipCompanyId: 'SF',
},
{
id: 'sf-sfbk',
name: '顺丰标快',
shipCompanyId: 'SF',
},
{
id: 'sf-sfjr',
name: '顺丰即日',
shipCompanyId: 'SF',
},
{
id: 'sf-gjxb',
name: '国际小包',
shipCompanyId: 'SF',
},
{
id: 'sf-gjthps',
name: '国际特惠配送',
shipCompanyId: 'SF',
},
{
id: 'sf-sfgjthwj',
name: '顺丰国际特惠(文件)',
shipCompanyId: 'SF',
},
{
id: 'sf-sfgjthbg',
name: '顺丰国际特惠(包裹)',
shipCompanyId: 'SF',
},
{
id: 'sf-gjdszd',
name: '国际电商专递-标准',
shipCompanyId: 'SF',
},
{
id: 'dbl-bzkd',
name: '标准快递',
shipCompanyId: 'DBL',
},
{
id: 'dbl-tzkj',
name: '特准快件',
shipCompanyId: 'DBL',
},
{
id: 'dbl-djkd360',
name: '大件快递360',
shipCompanyId: 'DBL',
},
{
id: 'yto-bzkd',
name: '标准快递',
shipCompanyId: 'YTO',
},
{
id: 'yto-yzd',
name: '圆准达',
shipCompanyId: 'YTO',
},
{
id: 'zto-bzkd',
name: '标准快递',
shipCompanyId: 'ZTO',
},
{
id: 'zto-zthk',
name: '中通好快',
shipCompanyId: 'ZTO',
},
{
id: 'zto-ztbk',
name: '中通标快',
shipCompanyId: 'ZTO',
},
{
id: 'sto-bzkd',
name: '标准快递',
shipCompanyId: 'STO',
}
];
exports.default = shipServices;

View File

@ -1,9 +1,14 @@
import { String, Int, Decimal } from 'oak-domain/lib/types/DataType';
import { String, Boolean, Int, Decimal } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as Ship } from './Ship';
import { Schema as System } from './System';
export interface Schema extends EntityShape {
sort: Decimal<12, 8>;
phatom1?: Int<8>;
phatom2?: String<64>;
ships: Ship[];
system: System;
disabled: Boolean;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -9,7 +9,10 @@ exports.entityDesc = {
attr: {
phatom1: '备用属性一',
phatom2: '备用属性二',
disabled: '是否禁用',
sort: '排序',
ships: '关联快递',
system: '所属系统',
},
},
},

View File

@ -1,7 +1,7 @@
import { String, Int } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { ActionDef, EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipCompany } from './ShipCompany';
import { Schema as ShipService } from './ShipService';
import { Schema as Address } from 'oak-general-business/lib/entities/Address';
type Paths = Array<{
time: number;
@ -9,7 +9,7 @@ type Paths = Array<{
}>;
export interface Schema extends EntityShape {
type: 'virtual' | 'pickup' | 'express';
shipCompany?: ShipCompany;
shipService?: ShipService;
serial?: String<64>;
to?: Address;
from?: Address;

View File

@ -47,7 +47,7 @@ exports.entityDesc = {
name: '物流公司系统连接',
attr: {
type: '物流类型',
shipCompany: '物流公司',
shipService: '物流服务',
serial: '物流编号',
to: '收件地址',
from: '寄件地址',

9
lib/entities/ShipService.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
import { String } from 'oak-domain/lib/types/DataType';
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipCompany } from './ShipCompany';
export interface Schema extends EntityShape {
name: String<32>;
shipCompany: ShipCompany;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.entityDesc = void 0;
;
exports.entityDesc = {
locales: {
zh_CN: {
name: '物流服务',
attr: {
name: '名称',
shipCompany: '所属服务公司',
},
},
},
};

9
lib/entities/ShipServiceSystem.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as ShipService } from './ShipService';
import { Schema as System } from './System';
export interface Schema extends EntityShape {
shipService: ShipService;
system: System;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.entityDesc = void 0;
;
exports.entityDesc = {
locales: {
zh_CN: {
name: '物流服务系统连接',
attr: {
shipService: '物流服务',
system: '系统'
},
},
},
};

View File

@ -1,13 +1,7 @@
import { Boolean } from 'oak-domain/lib/types/DataType';
import { EntityDesc } from 'oak-domain/lib/types';
import { Schema as System } from './System';
import { Schema as AbstractShipAccount } from './AbstractShipAccount';
import { Schema as WpProduct } from './WpProduct';
import { Schema as Ship } from './Ship';
export interface Schema extends AbstractShipAccount {
wpProduct: WpProduct;
ships: Ship[];
disabled: Boolean;
system: System;
}
export declare const entityDesc: EntityDesc<Schema>;

View File

@ -24,6 +24,15 @@ exports.desc = {
params: {
length: 64
}
},
systemId: {
notNull: true,
type: "ref",
ref: "system"
},
disabled: {
notNull: true,
type: "boolean"
}
},
actionType: "crud",

View File

@ -1,11 +1,14 @@
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
import { Decimal, Int, String } from "oak-domain/lib/types/DataType";
import { Decimal, Int, String, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
sort: Decimal<12, 8>;
phatom1?: Int<8> | null;
phatom2?: String<64> | null;
systemId: ForeignKey<"system">;
disabled: Boolean;
} & {
[A in ExpressionKey]?: any;
};
@ -18,6 +21,8 @@ export type OpFilter = {
sort: Q_NumberValue;
phatom1: Q_NumberValue;
phatom2: Q_StringValue;
systemId: Q_StringValue;
disabled: Q_BooleanValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
@ -29,6 +34,8 @@ export type OpProjection = {
sort?: number;
phatom1?: number;
phatom2?: number;
systemId?: number;
disabled?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
@ -38,6 +45,7 @@ export type OpSortAttr = Partial<{
sort: number;
phatom1: number;
phatom2: number;
disabled: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;

View File

@ -3,6 +3,9 @@
"attr": {
"phatom1": "备用属性一",
"phatom2": "备用属性二",
"sort": "排序"
"disabled": "是否禁用",
"sort": "排序",
"ships": "关联快递",
"system": "所属系统"
}
}

View File

@ -70,8 +70,9 @@ import * as BaseRefund from "./Refund/_baseSchema";
import * as BaseSettlement from "./Settlement/_baseSchema";
import * as BaseShip from "./Ship/_baseSchema";
import * as BaseShipCompany from "./ShipCompany/_baseSchema";
import * as BaseShipCompanySystem from "./ShipCompanySystem/_baseSchema";
import * as BaseShipOrder from "./ShipOrder/_baseSchema";
import * as BaseShipService from "./ShipService/_baseSchema";
import * as BaseShipServiceSystem from "./ShipServiceSystem/_baseSchema";
import * as BaseSysAccountMove from "./SysAccountMove/_baseSchema";
import * as BaseSysAccountOper from "./SysAccountOper/_baseSchema";
import * as BaseWechatMpShip from "./WechatMpShip/_baseSchema";
@ -2819,11 +2820,12 @@ export type System = {
passport$system?: Array<Omit<Passport["Schema"], "system">>;
smsTemplate$system?: Array<Omit<SmsTemplate["Schema"], "system">>;
userSystem$system?: Array<Omit<UserSystem["Schema"], "system">>;
abstractShipAccount$system?: Array<Omit<AbstractShipAccount["Schema"], "system">>;
account$ofSystem?: Array<Omit<Account["Schema"], "ofSystem">>;
account$entity?: Array<Omit<Account["Schema"], "entity">>;
offlineAccount$system?: Array<Omit<OfflineAccount["Schema"], "system">>;
order$system?: Array<Omit<Order["Schema"], "system">>;
shipCompanySystem$system?: Array<Omit<ShipCompanySystem["Schema"], "system">>;
shipServiceSystem$system?: Array<Omit<ShipServiceSystem["Schema"], "system">>;
sysAccountMove$system?: Array<Omit<SysAccountMove["Schema"], "system">>;
wechatMpShip$system?: Array<Omit<WechatMpShip["Schema"], "system">>;
wechatPay$system?: Array<Omit<WechatPay["Schema"], "system">>;
@ -2837,11 +2839,12 @@ export type System = {
passport$system$$aggr?: AggregationResult<Omit<Passport["Schema"], "system">>;
smsTemplate$system$$aggr?: AggregationResult<Omit<SmsTemplate["Schema"], "system">>;
userSystem$system$$aggr?: AggregationResult<Omit<UserSystem["Schema"], "system">>;
abstractShipAccount$system$$aggr?: AggregationResult<Omit<AbstractShipAccount["Schema"], "system">>;
account$ofSystem$$aggr?: AggregationResult<Omit<Account["Schema"], "ofSystem">>;
account$entity$$aggr?: AggregationResult<Omit<Account["Schema"], "entity">>;
offlineAccount$system$$aggr?: AggregationResult<Omit<OfflineAccount["Schema"], "system">>;
order$system$$aggr?: AggregationResult<Omit<Order["Schema"], "system">>;
shipCompanySystem$system$$aggr?: AggregationResult<Omit<ShipCompanySystem["Schema"], "system">>;
shipServiceSystem$system$$aggr?: AggregationResult<Omit<ShipServiceSystem["Schema"], "system">>;
sysAccountMove$system$$aggr?: AggregationResult<Omit<SysAccountMove["Schema"], "system">>;
wechatMpShip$system$$aggr?: AggregationResult<Omit<WechatMpShip["Schema"], "system">>;
wechatPay$system$$aggr?: AggregationResult<Omit<WechatPay["Schema"], "system">>;
@ -2888,6 +2891,12 @@ export type System = {
userSystem$system$$aggr?: DeduceAggregation<Omit<UserSystem["Projection"], "system">, Omit<UserSystem["Filter"], "system">, UserSystem["Sorter"]> & {
$entity: "userSystem";
};
abstractShipAccount$system?: OakSelection<"select", Omit<AbstractShipAccount["Projection"], "system">, Omit<AbstractShipAccount["Filter"], "system">, AbstractShipAccount["Sorter"]> & {
$entity: "abstractShipAccount";
};
abstractShipAccount$system$$aggr?: DeduceAggregation<Omit<AbstractShipAccount["Projection"], "system">, Omit<AbstractShipAccount["Filter"], "system">, AbstractShipAccount["Sorter"]> & {
$entity: "abstractShipAccount";
};
account$ofSystem?: OakSelection<"select", Omit<Account["Projection"], "system">, Omit<Account["Filter"], "system">, Account["Sorter"]> & {
$entity: "account";
};
@ -2912,11 +2921,11 @@ export type System = {
order$system$$aggr?: DeduceAggregation<Omit<Order["Projection"], "system">, Omit<Order["Filter"], "system">, Order["Sorter"]> & {
$entity: "order";
};
shipCompanySystem$system?: OakSelection<"select", Omit<ShipCompanySystem["Projection"], "system">, Omit<ShipCompanySystem["Filter"], "system">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipServiceSystem$system?: OakSelection<"select", Omit<ShipServiceSystem["Projection"], "system">, Omit<ShipServiceSystem["Filter"], "system">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
shipCompanySystem$system$$aggr?: DeduceAggregation<Omit<ShipCompanySystem["Projection"], "system">, Omit<ShipCompanySystem["Filter"], "system">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipServiceSystem$system$$aggr?: DeduceAggregation<Omit<ShipServiceSystem["Projection"], "system">, Omit<ShipServiceSystem["Filter"], "system">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
sysAccountMove$system?: OakSelection<"select", Omit<SysAccountMove["Projection"], "system">, Omit<SysAccountMove["Filter"], "system">, SysAccountMove["Sorter"]> & {
$entity: "sysAccountMove";
@ -2969,11 +2978,12 @@ export type System = {
passport$system: MakeFilter<Omit<Passport["FilterUnit"], "system">> & SubQueryPredicateMetadata;
smsTemplate$system: MakeFilter<Omit<SmsTemplate["FilterUnit"], "system">> & SubQueryPredicateMetadata;
userSystem$system: MakeFilter<Omit<UserSystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
abstractShipAccount$system: MakeFilter<Omit<AbstractShipAccount["FilterUnit"], "system">> & SubQueryPredicateMetadata;
account$ofSystem: MakeFilter<Omit<Account["FilterUnit"], "ofSystem">> & SubQueryPredicateMetadata;
account$entity: MakeFilter<Omit<Account["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
offlineAccount$system: MakeFilter<Omit<OfflineAccount["FilterUnit"], "system">> & SubQueryPredicateMetadata;
order$system: MakeFilter<Omit<Order["FilterUnit"], "system">> & SubQueryPredicateMetadata;
shipCompanySystem$system: MakeFilter<Omit<ShipCompanySystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
shipServiceSystem$system: MakeFilter<Omit<ShipServiceSystem["FilterUnit"], "system">> & SubQueryPredicateMetadata;
sysAccountMove$system: MakeFilter<Omit<SysAccountMove["FilterUnit"], "system">> & SubQueryPredicateMetadata;
wechatMpShip$system: MakeFilter<Omit<WechatMpShip["FilterUnit"], "system">> & SubQueryPredicateMetadata;
wechatPay$system: MakeFilter<Omit<WechatPay["FilterUnit"], "system">> & SubQueryPredicateMetadata;
@ -3001,11 +3011,12 @@ export type System = {
passport$system?: (OakOperation<"create", Omit<Passport["CreateOperationData"], "system"> | Omit<Passport["CreateOperationData"], "system">[]> | OakOperation<BasePassport.OpUpdateAction, Omit<Passport["UpdateOperationData"], "system">, Passport["Filter"]>)[];
smsTemplate$system?: (OakOperation<"create", Omit<SmsTemplate["CreateOperationData"], "system"> | Omit<SmsTemplate["CreateOperationData"], "system">[]> | OakOperation<BaseSmsTemplate.OpUpdateAction, Omit<SmsTemplate["UpdateOperationData"], "system">, SmsTemplate["Filter"]>)[];
userSystem$system?: (OakOperation<"create", Omit<UserSystem["CreateOperationData"], "system"> | Omit<UserSystem["CreateOperationData"], "system">[]> | OakOperation<BaseUserSystem.OpUpdateAction, Omit<UserSystem["UpdateOperationData"], "system">, UserSystem["Filter"]>)[];
abstractShipAccount$system?: (OakOperation<"create", Omit<AbstractShipAccount["CreateOperationData"], "system"> | Omit<AbstractShipAccount["CreateOperationData"], "system">[]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, Omit<AbstractShipAccount["UpdateOperationData"], "system">, AbstractShipAccount["Filter"]>)[];
account$ofSystem?: (OakOperation<"create", Omit<Account["CreateOperationData"], "ofSystem"> | Omit<Account["CreateOperationData"], "ofSystem">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "ofSystem">, Account["Filter"]>)[];
account$entity?: (OakOperation<"create", Omit<Account["CreateOperationData"], "system"> | Omit<Account["CreateOperationData"], "system">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "system">, Account["Filter"]>)[];
offlineAccount$system?: (OakOperation<"create", Omit<OfflineAccount["CreateOperationData"], "system"> | Omit<OfflineAccount["CreateOperationData"], "system">[]> | OakOperation<BaseOfflineAccount.OpUpdateAction, Omit<OfflineAccount["UpdateOperationData"], "system">, OfflineAccount["Filter"]>)[];
order$system?: (OakOperation<"create", Omit<Order["CreateOperationData"], "system"> | Omit<Order["CreateOperationData"], "system">[]> | OakOperation<BaseOrder.OpUpdateAction, Omit<Order["UpdateOperationData"], "system">, Order["Filter"]>)[];
shipCompanySystem$system?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "system"> | Omit<ShipCompanySystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "system">, ShipCompanySystem["Filter"]>)[];
shipServiceSystem$system?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "system"> | Omit<ShipServiceSystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "system">, ShipServiceSystem["Filter"]>)[];
sysAccountMove$system?: OakOperation<"create", Omit<SysAccountMove["CreateOperationData"], "system"> | Omit<SysAccountMove["CreateOperationData"], "system">[]>[];
wechatMpShip$system?: (OakOperation<"create", Omit<WechatMpShip["CreateOperationData"], "system"> | Omit<WechatMpShip["CreateOperationData"], "system">[]> | OakOperation<BaseWechatMpShip.OpUpdateAction, Omit<WechatMpShip["UpdateOperationData"], "system">, WechatMpShip["Filter"]>)[];
wechatPay$system?: (OakOperation<"create", Omit<WechatPay["CreateOperationData"], "system"> | Omit<WechatPay["CreateOperationData"], "system">[]> | OakOperation<BaseWechatPay.OpUpdateAction, Omit<WechatPay["UpdateOperationData"], "system">, WechatPay["Filter"]>)[];
@ -3025,11 +3036,12 @@ export type System = {
passport$system?: (OakOperation<"create", Omit<Passport["CreateOperationData"], "system"> | Omit<Passport["CreateOperationData"], "system">[]> | OakOperation<BasePassport.OpUpdateAction, Omit<Passport["UpdateOperationData"], "system">, Passport["Filter"]> | OakOperation<"remove", Passport["RemoveOperationData"], Passport["Filter"]>)[];
smsTemplate$system?: (OakOperation<"create", Omit<SmsTemplate["CreateOperationData"], "system"> | Omit<SmsTemplate["CreateOperationData"], "system">[]> | OakOperation<BaseSmsTemplate.OpUpdateAction, Omit<SmsTemplate["UpdateOperationData"], "system">, SmsTemplate["Filter"]> | OakOperation<"remove", SmsTemplate["RemoveOperationData"], SmsTemplate["Filter"]>)[];
userSystem$system?: (OakOperation<"create", Omit<UserSystem["CreateOperationData"], "system"> | Omit<UserSystem["CreateOperationData"], "system">[]> | OakOperation<BaseUserSystem.OpUpdateAction, Omit<UserSystem["UpdateOperationData"], "system">, UserSystem["Filter"]> | OakOperation<"remove", UserSystem["RemoveOperationData"], UserSystem["Filter"]>)[];
abstractShipAccount$system?: (OakOperation<"create", Omit<AbstractShipAccount["CreateOperationData"], "system"> | Omit<AbstractShipAccount["CreateOperationData"], "system">[]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, Omit<AbstractShipAccount["UpdateOperationData"], "system">, AbstractShipAccount["Filter"]> | OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"]>)[];
account$ofSystem?: (OakOperation<"create", Omit<Account["CreateOperationData"], "ofSystem"> | Omit<Account["CreateOperationData"], "ofSystem">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "ofSystem">, Account["Filter"]> | OakOperation<"remove", Account["RemoveOperationData"], Account["Filter"]>)[];
account$entity?: (OakOperation<"create", Omit<Account["CreateOperationData"], "system"> | Omit<Account["CreateOperationData"], "system">[]> | OakOperation<BaseAccount.OpUpdateAction, Omit<Account["UpdateOperationData"], "system">, Account["Filter"]> | OakOperation<"remove", Account["RemoveOperationData"], Account["Filter"]>)[];
offlineAccount$system?: (OakOperation<"create", Omit<OfflineAccount["CreateOperationData"], "system"> | Omit<OfflineAccount["CreateOperationData"], "system">[]> | OakOperation<BaseOfflineAccount.OpUpdateAction, Omit<OfflineAccount["UpdateOperationData"], "system">, OfflineAccount["Filter"]> | OakOperation<"remove", OfflineAccount["RemoveOperationData"], OfflineAccount["Filter"]>)[];
order$system?: (OakOperation<"create", Omit<Order["CreateOperationData"], "system"> | Omit<Order["CreateOperationData"], "system">[]> | OakOperation<BaseOrder.OpUpdateAction, Omit<Order["UpdateOperationData"], "system">, Order["Filter"]> | OakOperation<"remove", Order["RemoveOperationData"], Order["Filter"]>)[];
shipCompanySystem$system?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "system"> | Omit<ShipCompanySystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "system">, ShipCompanySystem["Filter"]> | OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"]>)[];
shipServiceSystem$system?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "system"> | Omit<ShipServiceSystem["CreateOperationData"], "system">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "system">, ShipServiceSystem["Filter"]> | OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"]>)[];
sysAccountMove$system?: OakOperation<"create", Omit<SysAccountMove["CreateOperationData"], "system"> | Omit<SysAccountMove["CreateOperationData"], "system">[]>[];
wechatMpShip$system?: (OakOperation<"create", Omit<WechatMpShip["CreateOperationData"], "system"> | Omit<WechatMpShip["CreateOperationData"], "system">[]> | OakOperation<BaseWechatMpShip.OpUpdateAction, Omit<WechatMpShip["UpdateOperationData"], "system">, WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>)[];
wechatPay$system?: (OakOperation<"create", Omit<WechatPay["CreateOperationData"], "system"> | Omit<WechatPay["CreateOperationData"], "system">[]> | OakOperation<BaseWechatPay.OpUpdateAction, Omit<WechatPay["UpdateOperationData"], "system">, WechatPay["Filter"]> | OakOperation<"remove", WechatPay["RemoveOperationData"], WechatPay["Filter"]>)[];
@ -3725,11 +3737,28 @@ export type AbstractPayAccount = {
export type AbstractShipAccount = {
OpSchema: BaseAbstractShipAccount.OpSchema;
Action: BaseAbstractShipAccount.OpAction;
Schema: BaseAbstractShipAccount.OpSchema & {};
Projection: BaseAbstractShipAccount.OpProjection & {};
FilterUnit: BaseAbstractShipAccount.OpFilter & {};
Schema: BaseAbstractShipAccount.OpSchema & {
system: System["Schema"];
ship$entity?: Array<Omit<Ship["Schema"], "entity">>;
ship$entity$$aggr?: AggregationResult<Omit<Ship["Schema"], "entity">>;
};
Projection: BaseAbstractShipAccount.OpProjection & {
system?: System["Projection"];
ship$entity?: OakSelection<"select", Omit<Ship["Projection"], "abstractShipAccount">, Omit<Ship["Filter"], "abstractShipAccount">, Ship["Sorter"]> & {
$entity: "ship";
};
ship$entity$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "abstractShipAccount">, Omit<Ship["Filter"], "abstractShipAccount">, Ship["Sorter"]> & {
$entity: "ship";
};
};
FilterUnit: BaseAbstractShipAccount.OpFilter & {
system: MakeFilter<System["FilterUnit"]>;
ship$entity: MakeFilter<Omit<Ship["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<AbstractShipAccount["FilterUnit"]>;
SortAttr: Partial<BaseAbstractShipAccount.OpSortAttr | {}>;
SortAttr: Partial<BaseAbstractShipAccount.OpSortAttr | {
system: System["SortAttr"];
}>;
SortNode: {
$attr: AbstractShipAccount["SortAttr"];
$direction?: "asc" | "desc";
@ -3737,11 +3766,17 @@ export type AbstractShipAccount = {
Sorter: AbstractShipAccount["SortNode"][];
Selection: OakSelection<"select", AbstractShipAccount["Projection"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
Aggregation: DeduceAggregation<AbstractShipAccount["Projection"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
CreateOperationData: FormCreateData<BaseAbstractShipAccount.OpSchema>;
CreateOperationData: FormCreateData<BaseAbstractShipAccount.OpSchema & {
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "abstractShipAccount"> | Omit<Ship["CreateOperationData"], "abstractShipAccount">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "abstractShipAccount">, Ship["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", AbstractShipAccount["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<AbstractShipAccount["CreateOperationData"]>>;
Create: AbstractShipAccount["CreateSingle"] | AbstractShipAccount["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseAbstractShipAccount.OpSchema>;
UpdateOperationData: FormUpdateData<BaseAbstractShipAccount.OpSchema & {
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "abstractShipAccount"> | Omit<Ship["CreateOperationData"], "abstractShipAccount">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "abstractShipAccount">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
}>;
Update: OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"], AbstractShipAccount["Sorter"]>;
@ -4382,9 +4417,10 @@ export type Ship = {
OpSchema: BaseShip.OpSchema;
Action: BaseShip.OpAction;
Schema: BaseShip.OpSchema & {
shipCompany?: ShipCompany["Schema"];
shipService?: ShipService["Schema"];
to?: Address["Schema"];
from?: Address["Schema"];
abstractShipAccount?: AbstractShipAccount["Schema"];
wechatMpShip?: WechatMpShip["Schema"];
deposit$ship?: Array<Omit<Deposit["Schema"], "ship">>;
shipOrder$ship?: Array<Omit<ShipOrder["Schema"], "ship">>;
@ -4392,9 +4428,10 @@ export type Ship = {
shipOrder$ship$$aggr?: AggregationResult<Omit<ShipOrder["Schema"], "ship">>;
};
Projection: BaseShip.OpProjection & {
shipCompany?: ShipCompany["Projection"];
shipService?: ShipService["Projection"];
to?: Address["Projection"];
from?: Address["Projection"];
abstractShipAccount?: AbstractShipAccount["Projection"];
wechatMpShip?: WechatMpShip["Projection"];
deposit$ship?: OakSelection<"select", Omit<Deposit["Projection"], "ship">, Omit<Deposit["Filter"], "ship">, Deposit["Sorter"]> & {
$entity: "deposit";
@ -4410,18 +4447,20 @@ export type Ship = {
};
};
FilterUnit: BaseShip.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
shipService: MakeFilter<ShipService["FilterUnit"]>;
to: MakeFilter<Address["FilterUnit"]>;
from: MakeFilter<Address["FilterUnit"]>;
abstractShipAccount: MakeFilter<AbstractShipAccount["FilterUnit"]>;
wechatMpShip: MakeFilter<WechatMpShip["FilterUnit"]>;
deposit$ship: MakeFilter<Omit<Deposit["FilterUnit"], "ship">> & SubQueryPredicateMetadata;
shipOrder$ship: MakeFilter<Omit<ShipOrder["FilterUnit"], "ship">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<Ship["FilterUnit"]>;
SortAttr: Partial<BaseShip.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
shipService: ShipService["SortAttr"];
to: Address["SortAttr"];
from: Address["SortAttr"];
abstractShipAccount: AbstractShipAccount["SortAttr"];
wechatMpShip: WechatMpShip["SortAttr"];
}>;
SortNode: {
@ -4432,9 +4471,10 @@ export type Ship = {
Selection: OakSelection<"select", Ship["Projection"], Ship["Filter"], Ship["Sorter"]>;
Aggregation: DeduceAggregation<Ship["Projection"], Ship["Filter"], Ship["Sorter"]>;
CreateOperationData: FormCreateData<BaseShip.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]>;
to?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]>;
from?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]>;
abstractShipAccount?: OakOperation<"create", AbstractShipAccount["CreateOperationData"]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"]>;
wechatMpShip?: OakOperation<"create", WechatMpShip["CreateOperationData"]> | OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"]>;
deposit$ship?: (OakOperation<"create", Omit<Deposit["CreateOperationData"], "ship"> | Omit<Deposit["CreateOperationData"], "ship">[]> | OakOperation<BaseDeposit.OpUpdateAction, Omit<Deposit["UpdateOperationData"], "ship">, Deposit["Filter"]>)[];
shipOrder$ship?: (OakOperation<"create", Omit<ShipOrder["CreateOperationData"], "ship"> | Omit<ShipOrder["CreateOperationData"], "ship">[]> | OakOperation<BaseShipOrder.OpUpdateAction, Omit<ShipOrder["UpdateOperationData"], "ship">, ShipOrder["Filter"]>)[];
@ -4443,9 +4483,10 @@ export type Ship = {
CreateMulti: OakOperation<"create", Array<Ship["CreateOperationData"]>>;
Create: Ship["CreateSingle"] | Ship["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShip.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>;
to?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]> | OakOperation<"remove", Address["RemoveOperationData"], Address["Filter"]>;
from?: OakOperation<"create", Address["CreateOperationData"]> | OakOperation<BaseAddress.OpUpdateAction, Address["UpdateOperationData"], Address["Filter"]> | OakOperation<"remove", Address["RemoveOperationData"], Address["Filter"]>;
abstractShipAccount?: OakOperation<"create", AbstractShipAccount["CreateOperationData"]> | OakOperation<BaseAbstractShipAccount.OpUpdateAction, AbstractShipAccount["UpdateOperationData"], AbstractShipAccount["Filter"]> | OakOperation<"remove", AbstractShipAccount["RemoveOperationData"], AbstractShipAccount["Filter"]>;
wechatMpShip?: OakOperation<"create", WechatMpShip["CreateOperationData"]> | OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>;
deposit$ship?: (OakOperation<"create", Omit<Deposit["CreateOperationData"], "ship"> | Omit<Deposit["CreateOperationData"], "ship">[]> | OakOperation<BaseDeposit.OpUpdateAction, Omit<Deposit["UpdateOperationData"], "ship">, Deposit["Filter"]> | OakOperation<"remove", Deposit["RemoveOperationData"], Deposit["Filter"]>)[];
shipOrder$ship?: (OakOperation<"create", Omit<ShipOrder["CreateOperationData"], "ship"> | Omit<ShipOrder["CreateOperationData"], "ship">[]> | OakOperation<BaseShipOrder.OpUpdateAction, Omit<ShipOrder["UpdateOperationData"], "ship">, ShipOrder["Filter"]> | OakOperation<"remove", ShipOrder["RemoveOperationData"], ShipOrder["Filter"]>)[];
@ -4459,28 +4500,19 @@ export type ShipCompany = {
OpSchema: BaseShipCompany.OpSchema;
Action: BaseShipCompany.OpAction;
Schema: BaseShipCompany.OpSchema & {
ship$shipCompany?: Array<Omit<Ship["Schema"], "shipCompany">>;
shipCompanySystem$shipCompany?: Array<Omit<ShipCompanySystem["Schema"], "shipCompany">>;
ship$shipCompany$$aggr?: AggregationResult<Omit<Ship["Schema"], "shipCompany">>;
shipCompanySystem$shipCompany$$aggr?: AggregationResult<Omit<ShipCompanySystem["Schema"], "shipCompany">>;
shipService$shipCompany?: Array<Omit<ShipService["Schema"], "shipCompany">>;
shipService$shipCompany$$aggr?: AggregationResult<Omit<ShipService["Schema"], "shipCompany">>;
};
Projection: BaseShipCompany.OpProjection & {
ship$shipCompany?: OakSelection<"select", Omit<Ship["Projection"], "shipCompany">, Omit<Ship["Filter"], "shipCompany">, Ship["Sorter"]> & {
$entity: "ship";
shipService$shipCompany?: OakSelection<"select", Omit<ShipService["Projection"], "shipCompany">, Omit<ShipService["Filter"], "shipCompany">, ShipService["Sorter"]> & {
$entity: "shipService";
};
ship$shipCompany$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "shipCompany">, Omit<Ship["Filter"], "shipCompany">, Ship["Sorter"]> & {
$entity: "ship";
};
shipCompanySystem$shipCompany?: OakSelection<"select", Omit<ShipCompanySystem["Projection"], "shipCompany">, Omit<ShipCompanySystem["Filter"], "shipCompany">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
};
shipCompanySystem$shipCompany$$aggr?: DeduceAggregation<Omit<ShipCompanySystem["Projection"], "shipCompany">, Omit<ShipCompanySystem["Filter"], "shipCompany">, ShipCompanySystem["Sorter"]> & {
$entity: "shipCompanySystem";
shipService$shipCompany$$aggr?: DeduceAggregation<Omit<ShipService["Projection"], "shipCompany">, Omit<ShipService["Filter"], "shipCompany">, ShipService["Sorter"]> & {
$entity: "shipService";
};
};
FilterUnit: BaseShipCompany.OpFilter & {
ship$shipCompany: MakeFilter<Omit<Ship["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
shipCompanySystem$shipCompany: MakeFilter<Omit<ShipCompanySystem["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
shipService$shipCompany: MakeFilter<Omit<ShipService["FilterUnit"], "shipCompany">> & SubQueryPredicateMetadata;
} & FulltextFilter;
Filter: MakeFilter<ShipCompany["FilterUnit"]>;
SortAttr: Partial<BaseShipCompany.OpSortAttr | {}>;
@ -4492,64 +4524,19 @@ export type ShipCompany = {
Selection: OakSelection<"select", ShipCompany["Projection"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
Aggregation: DeduceAggregation<ShipCompany["Projection"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipCompany.OpSchema & {
ship$shipCompany?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipCompany"> | Omit<Ship["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipCompany">, Ship["Filter"]>)[];
shipCompanySystem$shipCompany?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "shipCompany"> | Omit<ShipCompanySystem["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "shipCompany">, ShipCompanySystem["Filter"]>)[];
shipService$shipCompany?: (OakOperation<"create", Omit<ShipService["CreateOperationData"], "shipCompany"> | Omit<ShipService["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipService.OpUpdateAction, Omit<ShipService["UpdateOperationData"], "shipCompany">, ShipService["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", ShipCompany["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipCompany["CreateOperationData"]>>;
Create: ShipCompany["CreateSingle"] | ShipCompany["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipCompany.OpSchema & {
ship$shipCompany?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipCompany"> | Omit<Ship["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipCompany">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
shipCompanySystem$shipCompany?: (OakOperation<"create", Omit<ShipCompanySystem["CreateOperationData"], "shipCompany"> | Omit<ShipCompanySystem["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipCompanySystem.OpUpdateAction, Omit<ShipCompanySystem["UpdateOperationData"], "shipCompany">, ShipCompanySystem["Filter"]> | OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"]>)[];
shipService$shipCompany?: (OakOperation<"create", Omit<ShipService["CreateOperationData"], "shipCompany"> | Omit<ShipService["CreateOperationData"], "shipCompany">[]> | OakOperation<BaseShipService.OpUpdateAction, Omit<ShipService["UpdateOperationData"], "shipCompany">, ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>)[];
}>;
Update: OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"], ShipCompany["Sorter"]>;
Operation: ShipCompany["Create"] | ShipCompany["Update"] | ShipCompany["Remove"];
};
export type ShipCompanySystem = {
OpSchema: BaseShipCompanySystem.OpSchema;
Action: BaseShipCompanySystem.OpAction;
Schema: BaseShipCompanySystem.OpSchema & {
shipCompany: ShipCompany["Schema"];
system: System["Schema"];
};
Projection: BaseShipCompanySystem.OpProjection & {
shipCompany?: ShipCompany["Projection"];
system?: System["Projection"];
};
FilterUnit: BaseShipCompanySystem.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
};
Filter: MakeFilter<ShipCompanySystem["FilterUnit"]>;
SortAttr: Partial<BaseShipCompanySystem.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
system: System["SortAttr"];
}>;
SortNode: {
$attr: ShipCompanySystem["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipCompanySystem["SortNode"][];
Selection: OakSelection<"select", ShipCompanySystem["Projection"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
Aggregation: DeduceAggregation<ShipCompanySystem["Projection"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipCompanySystem.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
}>;
CreateSingle: OakOperation<"create", ShipCompanySystem["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipCompanySystem["CreateOperationData"]>>;
Create: ShipCompanySystem["CreateSingle"] | ShipCompanySystem["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipCompanySystem.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
}>;
Update: OakOperation<BaseShipCompanySystem.OpUpdateAction, ShipCompanySystem["UpdateOperationData"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipCompanySystem["RemoveOperationData"], ShipCompanySystem["Filter"], ShipCompanySystem["Sorter"]>;
Operation: ShipCompanySystem["Create"] | ShipCompanySystem["Update"] | ShipCompanySystem["Remove"];
};
export type ShipOrder = {
OpSchema: BaseShipOrder.OpSchema;
Action: BaseShipOrder.OpAction;
@ -4593,6 +4580,108 @@ export type ShipOrder = {
Remove: OakOperation<"remove", ShipOrder["RemoveOperationData"], ShipOrder["Filter"], ShipOrder["Sorter"]>;
Operation: ShipOrder["Create"] | ShipOrder["Update"] | ShipOrder["Remove"];
};
export type ShipService = {
OpSchema: BaseShipService.OpSchema;
Action: BaseShipService.OpAction;
Schema: BaseShipService.OpSchema & {
shipCompany: ShipCompany["Schema"];
ship$shipService?: Array<Omit<Ship["Schema"], "shipService">>;
shipServiceSystem$shipService?: Array<Omit<ShipServiceSystem["Schema"], "shipService">>;
ship$shipService$$aggr?: AggregationResult<Omit<Ship["Schema"], "shipService">>;
shipServiceSystem$shipService$$aggr?: AggregationResult<Omit<ShipServiceSystem["Schema"], "shipService">>;
};
Projection: BaseShipService.OpProjection & {
shipCompany?: ShipCompany["Projection"];
ship$shipService?: OakSelection<"select", Omit<Ship["Projection"], "shipService">, Omit<Ship["Filter"], "shipService">, Ship["Sorter"]> & {
$entity: "ship";
};
ship$shipService$$aggr?: DeduceAggregation<Omit<Ship["Projection"], "shipService">, Omit<Ship["Filter"], "shipService">, Ship["Sorter"]> & {
$entity: "ship";
};
shipServiceSystem$shipService?: OakSelection<"select", Omit<ShipServiceSystem["Projection"], "shipService">, Omit<ShipServiceSystem["Filter"], "shipService">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
shipServiceSystem$shipService$$aggr?: DeduceAggregation<Omit<ShipServiceSystem["Projection"], "shipService">, Omit<ShipServiceSystem["Filter"], "shipService">, ShipServiceSystem["Sorter"]> & {
$entity: "shipServiceSystem";
};
};
FilterUnit: BaseShipService.OpFilter & {
shipCompany: MakeFilter<ShipCompany["FilterUnit"]>;
ship$shipService: MakeFilter<Omit<Ship["FilterUnit"], "shipService">> & SubQueryPredicateMetadata;
shipServiceSystem$shipService: MakeFilter<Omit<ShipServiceSystem["FilterUnit"], "shipService">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<ShipService["FilterUnit"]>;
SortAttr: Partial<BaseShipService.OpSortAttr | {
shipCompany: ShipCompany["SortAttr"];
}>;
SortNode: {
$attr: ShipService["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipService["SortNode"][];
Selection: OakSelection<"select", ShipService["Projection"], ShipService["Filter"], ShipService["Sorter"]>;
Aggregation: DeduceAggregation<ShipService["Projection"], ShipService["Filter"], ShipService["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipService.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]>;
ship$shipService?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipService"> | Omit<Ship["CreateOperationData"], "shipService">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipService">, Ship["Filter"]>)[];
shipServiceSystem$shipService?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "shipService"> | Omit<ShipServiceSystem["CreateOperationData"], "shipService">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "shipService">, ShipServiceSystem["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", ShipService["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipService["CreateOperationData"]>>;
Create: ShipService["CreateSingle"] | ShipService["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipService.OpSchema & {
shipCompany?: OakOperation<"create", ShipCompany["CreateOperationData"]> | OakOperation<BaseShipCompany.OpUpdateAction, ShipCompany["UpdateOperationData"], ShipCompany["Filter"]> | OakOperation<"remove", ShipCompany["RemoveOperationData"], ShipCompany["Filter"]>;
ship$shipService?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "shipService"> | Omit<Ship["CreateOperationData"], "shipService">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "shipService">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
shipServiceSystem$shipService?: (OakOperation<"create", Omit<ShipServiceSystem["CreateOperationData"], "shipService"> | Omit<ShipServiceSystem["CreateOperationData"], "shipService">[]> | OakOperation<BaseShipServiceSystem.OpUpdateAction, Omit<ShipServiceSystem["UpdateOperationData"], "shipService">, ShipServiceSystem["Filter"]> | OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"]>)[];
}>;
Update: OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"], ShipService["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"], ShipService["Sorter"]>;
Operation: ShipService["Create"] | ShipService["Update"] | ShipService["Remove"];
};
export type ShipServiceSystem = {
OpSchema: BaseShipServiceSystem.OpSchema;
Action: BaseShipServiceSystem.OpAction;
Schema: BaseShipServiceSystem.OpSchema & {
shipService: ShipService["Schema"];
system: System["Schema"];
};
Projection: BaseShipServiceSystem.OpProjection & {
shipService?: ShipService["Projection"];
system?: System["Projection"];
};
FilterUnit: BaseShipServiceSystem.OpFilter & {
shipService: MakeFilter<ShipService["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
};
Filter: MakeFilter<ShipServiceSystem["FilterUnit"]>;
SortAttr: Partial<BaseShipServiceSystem.OpSortAttr | {
shipService: ShipService["SortAttr"];
system: System["SortAttr"];
}>;
SortNode: {
$attr: ShipServiceSystem["SortAttr"];
$direction?: "asc" | "desc";
};
Sorter: ShipServiceSystem["SortNode"][];
Selection: OakSelection<"select", ShipServiceSystem["Projection"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
Aggregation: DeduceAggregation<ShipServiceSystem["Projection"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
CreateOperationData: FormCreateData<BaseShipServiceSystem.OpSchema & {
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
}>;
CreateSingle: OakOperation<"create", ShipServiceSystem["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<ShipServiceSystem["CreateOperationData"]>>;
Create: ShipServiceSystem["CreateSingle"] | ShipServiceSystem["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseShipServiceSystem.OpSchema & {
shipService?: OakOperation<"create", ShipService["CreateOperationData"]> | OakOperation<BaseShipService.OpUpdateAction, ShipService["UpdateOperationData"], ShipService["Filter"]> | OakOperation<"remove", ShipService["RemoveOperationData"], ShipService["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
}>;
Update: OakOperation<BaseShipServiceSystem.OpUpdateAction, ShipServiceSystem["UpdateOperationData"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
RemoveOperationData: {};
Remove: OakOperation<"remove", ShipServiceSystem["RemoveOperationData"], ShipServiceSystem["Filter"], ShipServiceSystem["Sorter"]>;
Operation: ShipServiceSystem["Create"] | ShipServiceSystem["Update"] | ShipServiceSystem["Remove"];
};
export type SysAccountMove = {
OpSchema: BaseSysAccountMove.OpSchema;
Action: BaseSysAccountMove.OpAction;
@ -4718,14 +4807,14 @@ export type WechatMpShip = {
OpSchema: BaseWechatMpShip.OpSchema;
Action: BaseWechatMpShip.OpAction;
Schema: BaseWechatMpShip.OpSchema & {
wpProduct: WpProduct["Schema"];
system: System["Schema"];
wpProduct: WpProduct["Schema"];
ship$entity?: Array<Omit<Ship["Schema"], "entity">>;
ship$entity$$aggr?: AggregationResult<Omit<Ship["Schema"], "entity">>;
};
Projection: BaseWechatMpShip.OpProjection & {
wpProduct?: WpProduct["Projection"];
system?: System["Projection"];
wpProduct?: WpProduct["Projection"];
ship$entity?: OakSelection<"select", Omit<Ship["Projection"], "wechatMpShip">, Omit<Ship["Filter"], "wechatMpShip">, Ship["Sorter"]> & {
$entity: "ship";
};
@ -4734,14 +4823,14 @@ export type WechatMpShip = {
};
};
FilterUnit: BaseWechatMpShip.OpFilter & {
wpProduct: MakeFilter<WpProduct["FilterUnit"]>;
system: MakeFilter<System["FilterUnit"]>;
wpProduct: MakeFilter<WpProduct["FilterUnit"]>;
ship$entity: MakeFilter<Omit<Ship["FilterUnit"], "entity">> & SubQueryPredicateMetadata;
};
Filter: MakeFilter<WechatMpShip["FilterUnit"]>;
SortAttr: Partial<BaseWechatMpShip.OpSortAttr | {
wpProduct: WpProduct["SortAttr"];
system: System["SortAttr"];
wpProduct: WpProduct["SortAttr"];
}>;
SortNode: {
$attr: WechatMpShip["SortAttr"];
@ -4751,16 +4840,16 @@ export type WechatMpShip = {
Selection: OakSelection<"select", WechatMpShip["Projection"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
Aggregation: DeduceAggregation<WechatMpShip["Projection"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
CreateOperationData: FormCreateData<BaseWechatMpShip.OpSchema & {
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]>;
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "wechatMpShip"> | Omit<Ship["CreateOperationData"], "wechatMpShip">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "wechatMpShip">, Ship["Filter"]>)[];
}>;
CreateSingle: OakOperation<"create", WechatMpShip["CreateOperationData"]>;
CreateMulti: OakOperation<"create", Array<WechatMpShip["CreateOperationData"]>>;
Create: WechatMpShip["CreateSingle"] | WechatMpShip["CreateMulti"];
UpdateOperationData: FormUpdateData<BaseWechatMpShip.OpSchema & {
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>;
system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation<BaseSystem.OpUpdateAction, System["UpdateOperationData"], System["Filter"]> | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>;
wpProduct?: OakOperation<"create", WpProduct["CreateOperationData"]> | OakOperation<BaseWpProduct.OpUpdateAction, WpProduct["UpdateOperationData"], WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>;
ship$entity?: (OakOperation<"create", Omit<Ship["CreateOperationData"], "wechatMpShip"> | Omit<Ship["CreateOperationData"], "wechatMpShip">[]> | OakOperation<BaseShip.OpUpdateAction, Omit<Ship["UpdateOperationData"], "wechatMpShip">, Ship["Filter"]> | OakOperation<"remove", Ship["RemoveOperationData"], Ship["Filter"]>)[];
}>;
Update: OakOperation<BaseWechatMpShip.OpUpdateAction, WechatMpShip["UpdateOperationData"], WechatMpShip["Filter"], WechatMpShip["Sorter"]>;
@ -5307,8 +5396,9 @@ export type EntityDict = {
settlement: Settlement;
ship: Ship;
shipCompany: ShipCompany;
shipCompanySystem: ShipCompanySystem;
shipOrder: ShipOrder;
shipService: ShipService;
shipServiceSystem: ShipServiceSystem;
sysAccountMove: SysAccountMove;
sysAccountOper: SysAccountOper;
wechatMpShip: WechatMpShip;

View File

@ -9,9 +9,9 @@ exports.desc = {
type: "enum",
enumeration: ["virtual", "pickup", "express"]
},
shipCompanyId: {
shipServiceId: {
type: "ref",
ref: "shipCompany"
ref: "shipService"
},
serial: {
type: "varchar",
@ -32,7 +32,7 @@ exports.desc = {
params: {
length: 32
},
ref: ["wechatMpShip"]
ref: ["abstractShipAccount", "wechatMpShip"]
},
entityId: {
type: "varchar",

View File

@ -9,11 +9,11 @@ type Paths = Array<{
}>;
export type OpSchema = EntityShape & {
type: "virtual" | "pickup" | "express";
shipCompanyId?: ForeignKey<"shipCompany"> | null;
shipServiceId?: ForeignKey<"shipService"> | null;
serial?: String<64> | null;
toId?: ForeignKey<"address"> | null;
fromId?: ForeignKey<"address"> | null;
entity?: ("wechatMpShip" | string) | null;
entity?: ("abstractShipAccount" | "wechatMpShip" | string) | null;
entityId?: String<64> | null;
phantom1?: String<32> | null;
phantom2?: String<32> | null;
@ -32,11 +32,11 @@ export type OpFilter = {
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
type: Q_EnumValue<"virtual" | "pickup" | "express">;
shipCompanyId: Q_StringValue;
shipServiceId: Q_StringValue;
serial: Q_StringValue;
toId: Q_StringValue;
fromId: Q_StringValue;
entity: Q_EnumValue<"wechatMpShip" | string>;
entity: Q_EnumValue<"abstractShipAccount" | "wechatMpShip" | string>;
entityId: Q_StringValue;
phantom1: Q_StringValue;
phantom2: Q_StringValue;
@ -54,7 +54,7 @@ export type OpProjection = {
$$updateAt$$?: number;
$$seq$$?: number;
type?: number;
shipCompanyId?: number;
shipServiceId?: number;
serial?: number;
toId?: number;
fromId?: number;

View File

@ -2,7 +2,7 @@
"name": "物流公司系统连接",
"attr": {
"type": "物流类型",
"shipCompany": "物流公司",
"shipService": "物流服务",
"serial": "物流编号",
"to": "收件地址",
"from": "寄件地址",

View File

@ -0,0 +1,19 @@
export * from "./_baseSchema";
import { ShipService } from "../EntityDict";
export type Schema = ShipService["Schema"];
export type Action = ShipService["Action"];
export type Projection = ShipService["Projection"];
export type Filter = ShipService["Filter"];
export type SortNode = ShipService["SortNode"];
export type Sorter = ShipService["Sorter"];
export type Selection = ShipService["Selection"];
export type Aggregation = ShipService["Aggregation"];
export type CreateOperationData = ShipService["CreateOperationData"];
export type CreateSingle = ShipService["CreateSingle"];
export type CreateMulti = ShipService["CreateMulti"];
export type Create = ShipService["Create"];
export type UpdateOperationData = ShipService["UpdateOperationData"];
export type Update = ShipService["Update"];
export type RemoveOperationData = ShipService["RemoveOperationData"];
export type Remove = ShipService["Remove"];
export type Operation = ShipService["Operation"];

View File

@ -0,0 +1,4 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./_baseSchema"), exports);

View File

@ -0,0 +1,3 @@
import { StorageDesc } from "oak-domain/lib/types/Storage";
import { OpSchema } from "./Schema";
export declare const desc: StorageDesc<OpSchema>;

View File

@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.desc = void 0;
const action_1 = require("oak-domain/lib/actions/action");
exports.desc = {
attributes: {
name: {
notNull: true,
type: "varchar",
params: {
length: 32
}
},
shipCompanyId: {
notNull: true,
type: "ref",
ref: "shipCompany"
}
},
actionType: "crud",
actions: action_1.genericActions
};

View File

@ -0,0 +1,40 @@
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
import { String } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
name: String<32>;
shipCompanyId: ForeignKey<"shipCompany">;
} & {
[A in ExpressionKey]?: any;
};
export type OpAttr = keyof OpSchema;
export type OpFilter = {
id: Q_StringValue;
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
name: Q_StringValue;
shipCompanyId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
[k: string]: any;
id?: number;
$$createAt$$?: number;
$$updateAt$$?: number;
$$seq$$?: number;
name?: number;
shipCompanyId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
$$createAt$$: number;
$$seq$$: number;
$$updateAt$$: number;
name: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;
export type OpUpdateAction = "update" | string;

View File

@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@ -0,0 +1,7 @@
{
"name": "物流服务",
"attr": {
"name": "名称",
"shipCompany": "所属服务公司"
}
}

View File

@ -0,0 +1,19 @@
export * from "./_baseSchema";
import { ShipServiceSystem } from "../EntityDict";
export type Schema = ShipServiceSystem["Schema"];
export type Action = ShipServiceSystem["Action"];
export type Projection = ShipServiceSystem["Projection"];
export type Filter = ShipServiceSystem["Filter"];
export type SortNode = ShipServiceSystem["SortNode"];
export type Sorter = ShipServiceSystem["Sorter"];
export type Selection = ShipServiceSystem["Selection"];
export type Aggregation = ShipServiceSystem["Aggregation"];
export type CreateOperationData = ShipServiceSystem["CreateOperationData"];
export type CreateSingle = ShipServiceSystem["CreateSingle"];
export type CreateMulti = ShipServiceSystem["CreateMulti"];
export type Create = ShipServiceSystem["Create"];
export type UpdateOperationData = ShipServiceSystem["UpdateOperationData"];
export type Update = ShipServiceSystem["Update"];
export type RemoveOperationData = ShipServiceSystem["RemoveOperationData"];
export type Remove = ShipServiceSystem["Remove"];
export type Operation = ShipServiceSystem["Operation"];

View File

@ -0,0 +1,4 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./_baseSchema"), exports);

View File

@ -0,0 +1,3 @@
import { StorageDesc } from "oak-domain/lib/types/Storage";
import { OpSchema } from "./Schema";
export declare const desc: StorageDesc<OpSchema>;

View File

@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.desc = void 0;
const action_1 = require("oak-domain/lib/actions/action");
exports.desc = {
attributes: {
shipServiceId: {
notNull: true,
type: "ref",
ref: "shipService"
},
systemId: {
notNull: true,
type: "ref",
ref: "system"
}
},
actionType: "crud",
actions: action_1.genericActions
};

View File

@ -0,0 +1,38 @@
import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action";
export type OpSchema = EntityShape & {
shipServiceId: ForeignKey<"shipService">;
systemId: ForeignKey<"system">;
} & {
[A in ExpressionKey]?: any;
};
export type OpAttr = keyof OpSchema;
export type OpFilter = {
id: Q_StringValue;
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
shipServiceId: Q_StringValue;
systemId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
[k: string]: any;
id?: number;
$$createAt$$?: number;
$$updateAt$$?: number;
$$seq$$?: number;
shipServiceId?: number;
systemId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;
$$createAt$$: number;
$$seq$$: number;
$$updateAt$$: number;
[k: string]: any;
} | ExprOp<OpAttr | string>>;
export type OpAction = OakMakeAction<GenericAction | string>;
export type OpUpdateAction = "update" | string;

View File

@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@ -0,0 +1,7 @@
{
"name": "物流服务系统连接",
"attr": {
"shipService": "物流服务",
"system": "系统"
}
}

View File

@ -71,18 +71,19 @@ const Storage_67 = require("./Refund/Storage");
const Storage_68 = require("./Settlement/Storage");
const Storage_69 = require("./Ship/Storage");
const Storage_70 = require("./ShipCompany/Storage");
const Storage_71 = require("./ShipCompanySystem/Storage");
const Storage_72 = require("./ShipOrder/Storage");
const Storage_73 = require("./SysAccountMove/Storage");
const Storage_74 = require("./SysAccountOper/Storage");
const Storage_75 = require("./WechatMpShip/Storage");
const Storage_76 = require("./WechatPay/Storage");
const Storage_77 = require("./Withdraw/Storage");
const Storage_78 = require("./WithdrawAccount/Storage");
const Storage_79 = require("./WithdrawChannel/Storage");
const Storage_80 = require("./WithdrawTransfer/Storage");
const Storage_81 = require("./WpAccount/Storage");
const Storage_82 = require("./WpProduct/Storage");
const Storage_71 = require("./ShipOrder/Storage");
const Storage_72 = require("./ShipService/Storage");
const Storage_73 = require("./ShipServiceSystem/Storage");
const Storage_74 = require("./SysAccountMove/Storage");
const Storage_75 = require("./SysAccountOper/Storage");
const Storage_76 = require("./WechatMpShip/Storage");
const Storage_77 = require("./WechatPay/Storage");
const Storage_78 = require("./Withdraw/Storage");
const Storage_79 = require("./WithdrawAccount/Storage");
const Storage_80 = require("./WithdrawChannel/Storage");
const Storage_81 = require("./WithdrawTransfer/Storage");
const Storage_82 = require("./WpAccount/Storage");
const Storage_83 = require("./WpProduct/Storage");
exports.storageSchema = {
actionAuth: Storage_1.desc,
i18n: Storage_2.desc,
@ -154,16 +155,17 @@ exports.storageSchema = {
settlement: Storage_68.desc,
ship: Storage_69.desc,
shipCompany: Storage_70.desc,
shipCompanySystem: Storage_71.desc,
shipOrder: Storage_72.desc,
sysAccountMove: Storage_73.desc,
sysAccountOper: Storage_74.desc,
wechatMpShip: Storage_75.desc,
wechatPay: Storage_76.desc,
withdraw: Storage_77.desc,
withdrawAccount: Storage_78.desc,
withdrawChannel: Storage_79.desc,
withdrawTransfer: Storage_80.desc,
wpAccount: Storage_81.desc,
wpProduct: Storage_82.desc
shipOrder: Storage_71.desc,
shipService: Storage_72.desc,
shipServiceSystem: Storage_73.desc,
sysAccountMove: Storage_74.desc,
sysAccountOper: Storage_75.desc,
wechatMpShip: Storage_76.desc,
wechatPay: Storage_77.desc,
withdraw: Storage_78.desc,
withdrawAccount: Storage_79.desc,
withdrawChannel: Storage_80.desc,
withdrawTransfer: Storage_81.desc,
wpAccount: Storage_82.desc,
wpProduct: Storage_83.desc
};

View File

@ -25,19 +25,19 @@ exports.desc = {
length: 64
}
},
wpProductId: {
systemId: {
notNull: true,
type: "ref",
ref: "wpProduct"
ref: "system"
},
disabled: {
notNull: true,
type: "boolean"
},
systemId: {
wpProductId: {
notNull: true,
type: "ref",
ref: "system"
ref: "wpProduct"
}
},
actionType: "crud",

View File

@ -7,9 +7,9 @@ export type OpSchema = EntityShape & {
sort: Decimal<12, 8>;
phatom1?: Int<8> | null;
phatom2?: String<64> | null;
wpProductId: ForeignKey<"wpProduct">;
disabled: Boolean;
systemId: ForeignKey<"system">;
disabled: Boolean;
wpProductId: ForeignKey<"wpProduct">;
} & {
[A in ExpressionKey]?: any;
};
@ -22,9 +22,9 @@ export type OpFilter = {
sort: Q_NumberValue;
phatom1: Q_NumberValue;
phatom2: Q_StringValue;
wpProductId: Q_StringValue;
disabled: Q_BooleanValue;
systemId: Q_StringValue;
disabled: Q_BooleanValue;
wpProductId: Q_StringValue;
} & ExprOp<OpAttr | string>;
export type OpProjection = {
"#id"?: NodeId;
@ -36,9 +36,9 @@ export type OpProjection = {
sort?: number;
phatom1?: number;
phatom2?: number;
wpProductId?: number;
disabled?: number;
systemId?: number;
disabled?: number;
wpProductId?: number;
} & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{
id: number;

Some files were not shown because too many files have changed in this diff Show More