From 273d5225abb77c25d04214cc6e41225b43eb9ae8 Mon Sep 17 00:00:00 2001 From: lxy Date: Sat, 19 Apr 2025 22:05:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3abstactPayProduct=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E5=90=8D=E4=B8=BAabstractPayProduct=EF=BC=8C=E5=8F=8A?= =?UTF-8?q?sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- es/entities/AbstractPayProduct.d.ts | 13 +++ es/entities/AbstractPayProduct.js | 16 ++++ es/entities/WpProduct.d.ts | 4 +- .../AbstractPayProduct/Schema.d.ts | 19 ++++ .../AbstractPayProduct/Schema.js | 1 + .../AbstractPayProduct/Storage.d.ts | 3 + .../AbstractPayProduct/Storage.js | 40 ++++++++ .../AbstractPayProduct/_baseSchema.d.ts | 57 +++++++++++ .../AbstractPayProduct/_baseSchema.js | 1 + .../AbstractPayProduct/locales/zh_CN.json | 11 +++ es/oak-app-domain/EntityDict.d.ts | 96 +++++++++---------- es/oak-app-domain/Storage.js | 4 +- lib/entities/AbstractPayProduct.d.ts | 13 +++ lib/entities/AbstractPayProduct.js | 19 ++++ lib/entities/WpProduct.d.ts | 4 +- .../AbstractPayProduct/Schema.d.ts | 19 ++++ .../AbstractPayProduct/Schema.js | 4 + .../AbstractPayProduct/Storage.d.ts | 3 + .../AbstractPayProduct/Storage.js | 43 +++++++++ .../AbstractPayProduct/_baseSchema.d.ts | 57 +++++++++++ .../AbstractPayProduct/_baseSchema.js | 2 + .../AbstractPayProduct/locales/zh_CN.json | 11 +++ lib/oak-app-domain/EntityDict.d.ts | 96 +++++++++---------- lib/oak-app-domain/Storage.js | 8 +- ...actPayProduct.ts => AbstractPayProduct.ts} | 0 src/entities/WpProduct.ts | 4 +- upgrade/3.0.0/01.sql | 10 +- 27 files changed, 446 insertions(+), 112 deletions(-) create mode 100644 es/entities/AbstractPayProduct.d.ts create mode 100644 es/entities/AbstractPayProduct.js create mode 100644 es/oak-app-domain/AbstractPayProduct/Schema.d.ts create mode 100644 es/oak-app-domain/AbstractPayProduct/Schema.js create mode 100644 es/oak-app-domain/AbstractPayProduct/Storage.d.ts create mode 100644 es/oak-app-domain/AbstractPayProduct/Storage.js create mode 100644 es/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts create mode 100644 es/oak-app-domain/AbstractPayProduct/_baseSchema.js create mode 100644 es/oak-app-domain/AbstractPayProduct/locales/zh_CN.json create mode 100644 lib/entities/AbstractPayProduct.d.ts create mode 100644 lib/entities/AbstractPayProduct.js create mode 100644 lib/oak-app-domain/AbstractPayProduct/Schema.d.ts create mode 100644 lib/oak-app-domain/AbstractPayProduct/Schema.js create mode 100644 lib/oak-app-domain/AbstractPayProduct/Storage.d.ts create mode 100644 lib/oak-app-domain/AbstractPayProduct/Storage.js create mode 100644 lib/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts create mode 100644 lib/oak-app-domain/AbstractPayProduct/_baseSchema.js create mode 100644 lib/oak-app-domain/AbstractPayProduct/locales/zh_CN.json rename src/entities/{AbstactPayProduct.ts => AbstractPayProduct.ts} (100%) diff --git a/es/entities/AbstractPayProduct.d.ts b/es/entities/AbstractPayProduct.d.ts new file mode 100644 index 00000000..7c971466 --- /dev/null +++ b/es/entities/AbstractPayProduct.d.ts @@ -0,0 +1,13 @@ +import { Boolean, Int, Decimal } from 'oak-domain/lib/types/DataType'; +import { EntityShape } from 'oak-domain/lib/types/Entity'; +import { Schema as Application } from 'oak-general-business/lib/entities/Application'; +import { EntityDesc } from 'oak-domain/lib/types'; +export interface Schema extends EntityShape { + taxLossRatio?: Decimal<4, 2>; + refundGapDays?: Int<4>; + refundCompensateRatio?: Int<4>; + needReceiving?: Boolean; + application: Application; + enabled: Boolean; +} +export declare const entityDesc: EntityDesc; diff --git a/es/entities/AbstractPayProduct.js b/es/entities/AbstractPayProduct.js new file mode 100644 index 00000000..7a39961c --- /dev/null +++ b/es/entities/AbstractPayProduct.js @@ -0,0 +1,16 @@ +; +export const entityDesc = { + locales: { + zh_CN: { + name: '抽象支付产品', + attr: { + taxLossRatio: '渠道手续费百分比', + refundGapDays: '允许最大退款天数', + refundCompensateRatio: '退款渠道补偿百分比', + needReceiving: '用户确认收货后到账', + application: '关联应用', + enabled: '是否启用' + }, + }, + }, +}; diff --git a/es/entities/WpProduct.d.ts b/es/entities/WpProduct.d.ts index ba286887..5a6393d9 100644 --- a/es/entities/WpProduct.d.ts +++ b/es/entities/WpProduct.d.ts @@ -1,8 +1,8 @@ import { EntityDesc } from 'oak-domain/lib/types'; import { Schema as WpAccount } from './WpAccount'; import { Schema as Pay } from './Pay'; -import { Schema as AbstactPayProduct } from './AbstactPayProduct'; -export interface Schema extends AbstactPayProduct { +import { Schema as AbstractPayProduct } from './AbstractPayProduct'; +export interface Schema extends AbstractPayProduct { wpAccount: WpAccount; type: 'native' | 'mp' | 'jsapi' | 'h5' | 'app'; pays: Pay[]; diff --git a/es/oak-app-domain/AbstractPayProduct/Schema.d.ts b/es/oak-app-domain/AbstractPayProduct/Schema.d.ts new file mode 100644 index 00000000..ba1d6f55 --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/Schema.d.ts @@ -0,0 +1,19 @@ +export * from "./_baseSchema"; +import { AbstractPayProduct } from "../EntityDict"; +export type Schema = AbstractPayProduct["Schema"]; +export type Action = AbstractPayProduct["Action"]; +export type Projection = AbstractPayProduct["Projection"]; +export type Filter = AbstractPayProduct["Filter"]; +export type SortNode = AbstractPayProduct["SortNode"]; +export type Sorter = AbstractPayProduct["Sorter"]; +export type Selection = AbstractPayProduct["Selection"]; +export type Aggregation = AbstractPayProduct["Aggregation"]; +export type CreateOperationData = AbstractPayProduct["CreateOperationData"]; +export type CreateSingle = AbstractPayProduct["CreateSingle"]; +export type CreateMulti = AbstractPayProduct["CreateMulti"]; +export type Create = AbstractPayProduct["Create"]; +export type UpdateOperationData = AbstractPayProduct["UpdateOperationData"]; +export type Update = AbstractPayProduct["Update"]; +export type RemoveOperationData = AbstractPayProduct["RemoveOperationData"]; +export type Remove = AbstractPayProduct["Remove"]; +export type Operation = AbstractPayProduct["Operation"]; diff --git a/es/oak-app-domain/AbstractPayProduct/Schema.js b/es/oak-app-domain/AbstractPayProduct/Schema.js new file mode 100644 index 00000000..6a83e4ba --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/Schema.js @@ -0,0 +1 @@ +export * from "./_baseSchema"; diff --git a/es/oak-app-domain/AbstractPayProduct/Storage.d.ts b/es/oak-app-domain/AbstractPayProduct/Storage.d.ts new file mode 100644 index 00000000..a3f0fbbb --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/Storage.d.ts @@ -0,0 +1,3 @@ +import { StorageDesc } from "oak-domain/lib/types/Storage"; +import { OpSchema } from "./Schema"; +export declare const desc: StorageDesc; diff --git a/es/oak-app-domain/AbstractPayProduct/Storage.js b/es/oak-app-domain/AbstractPayProduct/Storage.js new file mode 100644 index 00000000..d804a181 --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/Storage.js @@ -0,0 +1,40 @@ +import { genericActions as actions } from "oak-domain/lib/actions/action"; +export const desc = { + attributes: { + taxLossRatio: { + type: "decimal", + params: { + precision: 4, + scale: 2 + } + }, + refundGapDays: { + type: "int", + params: { + width: 4, + signed: true + } + }, + refundCompensateRatio: { + type: "int", + params: { + width: 4, + signed: true + } + }, + needReceiving: { + type: "boolean" + }, + applicationId: { + notNull: true, + type: "ref", + ref: "application" + }, + enabled: { + notNull: true, + type: "boolean" + } + }, + actionType: "crud", + actions +}; diff --git a/es/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts b/es/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts new file mode 100644 index 00000000..2154eb05 --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts @@ -0,0 +1,57 @@ +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, Boolean } from "oak-domain/lib/types/DataType"; +export type OpSchema = EntityShape & { + taxLossRatio?: Decimal<4, 2> | null; + refundGapDays?: Int<4> | null; + refundCompensateRatio?: Int<4> | null; + needReceiving?: Boolean | null; + applicationId: ForeignKey<"application">; + enabled: Boolean; +} & { + [A in ExpressionKey]?: any; +}; +export type OpAttr = keyof OpSchema; +export type OpFilter = { + id: Q_StringValue; + $$createAt$$: Q_DateValue; + $$seq$$: Q_NumberValue; + $$updateAt$$: Q_DateValue; + taxLossRatio: Q_NumberValue; + refundGapDays: Q_NumberValue; + refundCompensateRatio: Q_NumberValue; + needReceiving: Q_BooleanValue; + applicationId: Q_StringValue; + enabled: Q_BooleanValue; +} & ExprOp; +export type OpProjection = { + "#id"?: NodeId; + [k: string]: any; + id?: number; + $$createAt$$?: number; + $$updateAt$$?: number; + $$seq$$?: number; + taxLossRatio?: number; + refundGapDays?: number; + refundCompensateRatio?: number; + needReceiving?: number; + applicationId?: number; + enabled?: number; +} & Partial>; +export type OpSortAttr = Partial<{ + id: number; + $$createAt$$: number; + $$seq$$: number; + $$updateAt$$: number; + taxLossRatio: number; + refundGapDays: number; + refundCompensateRatio: number; + needReceiving: number; + applicationId: number; + enabled: number; + [k: string]: any; +} | ExprOp>; +export type OpAction = OakMakeAction; +export type OpUpdateAction = "update" | string; diff --git a/es/oak-app-domain/AbstractPayProduct/_baseSchema.js b/es/oak-app-domain/AbstractPayProduct/_baseSchema.js new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/_baseSchema.js @@ -0,0 +1 @@ +export {}; diff --git a/es/oak-app-domain/AbstractPayProduct/locales/zh_CN.json b/es/oak-app-domain/AbstractPayProduct/locales/zh_CN.json new file mode 100644 index 00000000..c99b7a46 --- /dev/null +++ b/es/oak-app-domain/AbstractPayProduct/locales/zh_CN.json @@ -0,0 +1,11 @@ +{ + "name": "抽象支付产品", + "attr": { + "taxLossRatio": "渠道手续费百分比", + "refundGapDays": "允许最大退款天数", + "refundCompensateRatio": "退款渠道补偿百分比", + "needReceiving": "用户确认收货后到账", + "application": "关联应用", + "enabled": "是否启用" + } +} diff --git a/es/oak-app-domain/EntityDict.d.ts b/es/oak-app-domain/EntityDict.d.ts index 364769d4..5377fd2f 100644 --- a/es/oak-app-domain/EntityDict.d.ts +++ b/es/oak-app-domain/EntityDict.d.ts @@ -58,8 +58,8 @@ import * as BaseWechatPublicTag from "./WechatPublicTag/_baseSchema"; import * as BaseWechatQrCode from "./WechatQrCode/_baseSchema"; import * as BaseWechatTemplate from "./WechatTemplate/_baseSchema"; import * as BaseWechatUser from "./WechatUser/_baseSchema"; -import * as BaseAbstactPayProduct from "./AbstactPayProduct/_baseSchema"; import * as BaseAbstractPayAccount from "./AbstractPayAccount/_baseSchema"; +import * as BaseAbstractPayProduct from "./AbstractPayProduct/_baseSchema"; import * as BaseAbstractShipAccount from "./AbstractShipAccount/_baseSchema"; import * as BaseAccount from "./Account/_baseSchema"; import * as BaseAccountOper from "./AccountOper/_baseSchema"; @@ -1217,7 +1217,7 @@ export type Application = { wechatQrCode$application?: Array>; wechatTemplate$application?: Array>; wechatUser$application?: Array>; - abstactPayProduct$application?: Array>; + abstractPayProduct$application?: Array>; pay$application?: Array>; wechatMpShip$application?: Array>; wpProduct$application?: Array>; @@ -1233,7 +1233,7 @@ export type Application = { wechatQrCode$application$$aggr?: AggregationResult>; wechatTemplate$application$$aggr?: AggregationResult>; wechatUser$application$$aggr?: AggregationResult>; - abstactPayProduct$application$$aggr?: AggregationResult>; + abstractPayProduct$application$$aggr?: AggregationResult>; pay$application$$aggr?: AggregationResult>; wechatMpShip$application$$aggr?: AggregationResult>; wpProduct$application$$aggr?: AggregationResult>; @@ -1308,11 +1308,11 @@ export type Application = { wechatUser$application$$aggr?: DeduceAggregation, Omit, WechatUser["Sorter"]> & { $entity: "wechatUser"; }; - abstactPayProduct$application?: OakSelection<"select", Omit, Omit, AbstactPayProduct["Sorter"]> & { - $entity: "abstactPayProduct"; + abstractPayProduct$application?: OakSelection<"select", Omit, Omit, AbstractPayProduct["Sorter"]> & { + $entity: "abstractPayProduct"; }; - abstactPayProduct$application$$aggr?: DeduceAggregation, Omit, AbstactPayProduct["Sorter"]> & { - $entity: "abstactPayProduct"; + abstractPayProduct$application$$aggr?: DeduceAggregation, Omit, AbstractPayProduct["Sorter"]> & { + $entity: "abstractPayProduct"; }; pay$application?: OakSelection<"select", Omit, Omit, Pay["Sorter"]> & { $entity: "pay"; @@ -1353,7 +1353,7 @@ export type Application = { wechatQrCode$application: MakeFilter> & SubQueryPredicateMetadata; wechatTemplate$application: MakeFilter> & SubQueryPredicateMetadata; wechatUser$application: MakeFilter> & SubQueryPredicateMetadata; - abstactPayProduct$application: MakeFilter> & SubQueryPredicateMetadata; + abstractPayProduct$application: MakeFilter> & SubQueryPredicateMetadata; pay$application: MakeFilter> & SubQueryPredicateMetadata; wechatMpShip$application: MakeFilter> & SubQueryPredicateMetadata; wpProduct$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1385,7 +1385,7 @@ export type Application = { wechatQrCode$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatQrCode["Filter"]>)[]; wechatTemplate$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatTemplate["Filter"]>)[]; wechatUser$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatUser["Filter"]>)[]; - abstactPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstactPayProduct["Filter"]>)[]; + abstractPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstractPayProduct["Filter"]>)[]; pay$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Pay["Filter"]>)[]; wechatMpShip$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatMpShip["Filter"]>)[]; wpProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WpProduct["Filter"]>)[]; @@ -1408,7 +1408,7 @@ export type Application = { wechatQrCode$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatQrCode["Filter"]> | OakOperation<"remove", WechatQrCode["RemoveOperationData"], WechatQrCode["Filter"]>)[]; wechatTemplate$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatTemplate["Filter"]> | OakOperation<"remove", WechatTemplate["RemoveOperationData"], WechatTemplate["Filter"]>)[]; wechatUser$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatUser["Filter"]> | OakOperation<"remove", WechatUser["RemoveOperationData"], WechatUser["Filter"]>)[]; - abstactPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstactPayProduct["Filter"]> | OakOperation<"remove", AbstactPayProduct["RemoveOperationData"], AbstactPayProduct["Filter"]>)[]; + abstractPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstractPayProduct["Filter"]> | OakOperation<"remove", AbstractPayProduct["RemoveOperationData"], AbstractPayProduct["Filter"]>)[]; pay$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Pay["Filter"]> | OakOperation<"remove", Pay["RemoveOperationData"], Pay["Filter"]>)[]; wechatMpShip$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>)[]; wpProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>)[]; @@ -3743,43 +3743,6 @@ export type WechatUser = { Remove: OakOperation<"remove", WechatUser["RemoveOperationData"], WechatUser["Filter"], WechatUser["Sorter"]>; Operation: WechatUser["Create"] | WechatUser["Update"] | WechatUser["Remove"]; }; -export type AbstactPayProduct = { - OpSchema: BaseAbstactPayProduct.OpSchema; - Action: BaseAbstactPayProduct.OpAction; - Schema: BaseAbstactPayProduct.OpSchema & { - application: Application["Schema"]; - }; - Projection: BaseAbstactPayProduct.OpProjection & { - application?: Application["Projection"]; - }; - FilterUnit: BaseAbstactPayProduct.OpFilter & { - application: MakeFilter; - }; - Filter: MakeFilter; - SortAttr: Partial; - SortNode: { - $attr: AbstactPayProduct["SortAttr"]; - $direction?: "asc" | "desc"; - }; - Sorter: AbstactPayProduct["SortNode"][]; - Selection: OakSelection<"select", AbstactPayProduct["Projection"], AbstactPayProduct["Filter"], AbstactPayProduct["Sorter"]>; - Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData | OakOperation; - }>; - CreateSingle: OakOperation<"create", AbstactPayProduct["CreateOperationData"]>; - CreateMulti: OakOperation<"create", Array>; - Create: AbstactPayProduct["CreateSingle"] | AbstactPayProduct["CreateMulti"]; - UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; - }>; - Update: OakOperation; - RemoveOperationData: {}; - Remove: OakOperation<"remove", AbstactPayProduct["RemoveOperationData"], AbstactPayProduct["Filter"], AbstactPayProduct["Sorter"]>; - Operation: AbstactPayProduct["Create"] | AbstactPayProduct["Update"] | AbstactPayProduct["Remove"]; -}; export type AbstractPayAccount = { OpSchema: BaseAbstractPayAccount.OpSchema; Action: BaseAbstractPayAccount.OpAction; @@ -3817,6 +3780,43 @@ export type AbstractPayAccount = { Remove: OakOperation<"remove", AbstractPayAccount["RemoveOperationData"], AbstractPayAccount["Filter"], AbstractPayAccount["Sorter"]>; Operation: AbstractPayAccount["Create"] | AbstractPayAccount["Update"] | AbstractPayAccount["Remove"]; }; +export type AbstractPayProduct = { + OpSchema: BaseAbstractPayProduct.OpSchema; + Action: BaseAbstractPayProduct.OpAction; + Schema: BaseAbstractPayProduct.OpSchema & { + application: Application["Schema"]; + }; + Projection: BaseAbstractPayProduct.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseAbstractPayProduct.OpFilter & { + application: MakeFilter; + }; + Filter: MakeFilter; + SortAttr: Partial; + SortNode: { + $attr: AbstractPayProduct["SortAttr"]; + $direction?: "asc" | "desc"; + }; + Sorter: AbstractPayProduct["SortNode"][]; + Selection: OakSelection<"select", AbstractPayProduct["Projection"], AbstractPayProduct["Filter"], AbstractPayProduct["Sorter"]>; + Aggregation: DeduceAggregation; + CreateOperationData: FormCreateData | OakOperation; + }>; + CreateSingle: OakOperation<"create", AbstractPayProduct["CreateOperationData"]>; + CreateMulti: OakOperation<"create", Array>; + Create: AbstractPayProduct["CreateSingle"] | AbstractPayProduct["CreateMulti"]; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; + Update: OakOperation; + RemoveOperationData: {}; + Remove: OakOperation<"remove", AbstractPayProduct["RemoveOperationData"], AbstractPayProduct["Filter"], AbstractPayProduct["Sorter"]>; + Operation: AbstractPayProduct["Create"] | AbstractPayProduct["Update"] | AbstractPayProduct["Remove"]; +}; export type AbstractShipAccount = { OpSchema: BaseAbstractShipAccount.OpSchema; Action: BaseAbstractShipAccount.OpAction; @@ -5473,8 +5473,8 @@ export type EntityDict = { wechatQrCode: WechatQrCode; wechatTemplate: WechatTemplate; wechatUser: WechatUser; - abstactPayProduct: AbstactPayProduct; abstractPayAccount: AbstractPayAccount; + abstractPayProduct: AbstractPayProduct; abstractShipAccount: AbstractShipAccount; account: Account; accountOper: AccountOper; diff --git a/es/oak-app-domain/Storage.js b/es/oak-app-domain/Storage.js index 3a35b8e6..9bda7b4e 100644 --- a/es/oak-app-domain/Storage.js +++ b/es/oak-app-domain/Storage.js @@ -56,8 +56,8 @@ import { desc as wechatPublicTagDesc } from "./WechatPublicTag/Storage"; import { desc as wechatQrCodeDesc } from "./WechatQrCode/Storage"; import { desc as wechatTemplateDesc } from "./WechatTemplate/Storage"; import { desc as wechatUserDesc } from "./WechatUser/Storage"; -import { desc as abstactPayProductDesc } from "./AbstactPayProduct/Storage"; import { desc as abstractPayAccountDesc } from "./AbstractPayAccount/Storage"; +import { desc as abstractPayProductDesc } from "./AbstractPayProduct/Storage"; import { desc as abstractShipAccountDesc } from "./AbstractShipAccount/Storage"; import { desc as accountDesc } from "./Account/Storage"; import { desc as accountOperDesc } from "./AccountOper/Storage"; @@ -141,8 +141,8 @@ export const storageSchema = { wechatQrCode: wechatQrCodeDesc, wechatTemplate: wechatTemplateDesc, wechatUser: wechatUserDesc, - abstactPayProduct: abstactPayProductDesc, abstractPayAccount: abstractPayAccountDesc, + abstractPayProduct: abstractPayProductDesc, abstractShipAccount: abstractShipAccountDesc, account: accountDesc, accountOper: accountOperDesc, diff --git a/lib/entities/AbstractPayProduct.d.ts b/lib/entities/AbstractPayProduct.d.ts new file mode 100644 index 00000000..7c971466 --- /dev/null +++ b/lib/entities/AbstractPayProduct.d.ts @@ -0,0 +1,13 @@ +import { Boolean, Int, Decimal } from 'oak-domain/lib/types/DataType'; +import { EntityShape } from 'oak-domain/lib/types/Entity'; +import { Schema as Application } from 'oak-general-business/lib/entities/Application'; +import { EntityDesc } from 'oak-domain/lib/types'; +export interface Schema extends EntityShape { + taxLossRatio?: Decimal<4, 2>; + refundGapDays?: Int<4>; + refundCompensateRatio?: Int<4>; + needReceiving?: Boolean; + application: Application; + enabled: Boolean; +} +export declare const entityDesc: EntityDesc; diff --git a/lib/entities/AbstractPayProduct.js b/lib/entities/AbstractPayProduct.js new file mode 100644 index 00000000..88583937 --- /dev/null +++ b/lib/entities/AbstractPayProduct.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.entityDesc = void 0; +; +exports.entityDesc = { + locales: { + zh_CN: { + name: '抽象支付产品', + attr: { + taxLossRatio: '渠道手续费百分比', + refundGapDays: '允许最大退款天数', + refundCompensateRatio: '退款渠道补偿百分比', + needReceiving: '用户确认收货后到账', + application: '关联应用', + enabled: '是否启用' + }, + }, + }, +}; diff --git a/lib/entities/WpProduct.d.ts b/lib/entities/WpProduct.d.ts index ba286887..5a6393d9 100644 --- a/lib/entities/WpProduct.d.ts +++ b/lib/entities/WpProduct.d.ts @@ -1,8 +1,8 @@ import { EntityDesc } from 'oak-domain/lib/types'; import { Schema as WpAccount } from './WpAccount'; import { Schema as Pay } from './Pay'; -import { Schema as AbstactPayProduct } from './AbstactPayProduct'; -export interface Schema extends AbstactPayProduct { +import { Schema as AbstractPayProduct } from './AbstractPayProduct'; +export interface Schema extends AbstractPayProduct { wpAccount: WpAccount; type: 'native' | 'mp' | 'jsapi' | 'h5' | 'app'; pays: Pay[]; diff --git a/lib/oak-app-domain/AbstractPayProduct/Schema.d.ts b/lib/oak-app-domain/AbstractPayProduct/Schema.d.ts new file mode 100644 index 00000000..ba1d6f55 --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/Schema.d.ts @@ -0,0 +1,19 @@ +export * from "./_baseSchema"; +import { AbstractPayProduct } from "../EntityDict"; +export type Schema = AbstractPayProduct["Schema"]; +export type Action = AbstractPayProduct["Action"]; +export type Projection = AbstractPayProduct["Projection"]; +export type Filter = AbstractPayProduct["Filter"]; +export type SortNode = AbstractPayProduct["SortNode"]; +export type Sorter = AbstractPayProduct["Sorter"]; +export type Selection = AbstractPayProduct["Selection"]; +export type Aggregation = AbstractPayProduct["Aggregation"]; +export type CreateOperationData = AbstractPayProduct["CreateOperationData"]; +export type CreateSingle = AbstractPayProduct["CreateSingle"]; +export type CreateMulti = AbstractPayProduct["CreateMulti"]; +export type Create = AbstractPayProduct["Create"]; +export type UpdateOperationData = AbstractPayProduct["UpdateOperationData"]; +export type Update = AbstractPayProduct["Update"]; +export type RemoveOperationData = AbstractPayProduct["RemoveOperationData"]; +export type Remove = AbstractPayProduct["Remove"]; +export type Operation = AbstractPayProduct["Operation"]; diff --git a/lib/oak-app-domain/AbstractPayProduct/Schema.js b/lib/oak-app-domain/AbstractPayProduct/Schema.js new file mode 100644 index 00000000..63a4184a --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/Schema.js @@ -0,0 +1,4 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./_baseSchema"), exports); diff --git a/lib/oak-app-domain/AbstractPayProduct/Storage.d.ts b/lib/oak-app-domain/AbstractPayProduct/Storage.d.ts new file mode 100644 index 00000000..a3f0fbbb --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/Storage.d.ts @@ -0,0 +1,3 @@ +import { StorageDesc } from "oak-domain/lib/types/Storage"; +import { OpSchema } from "./Schema"; +export declare const desc: StorageDesc; diff --git a/lib/oak-app-domain/AbstractPayProduct/Storage.js b/lib/oak-app-domain/AbstractPayProduct/Storage.js new file mode 100644 index 00000000..374dabe4 --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/Storage.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.desc = void 0; +const action_1 = require("oak-domain/lib/actions/action"); +exports.desc = { + attributes: { + taxLossRatio: { + type: "decimal", + params: { + precision: 4, + scale: 2 + } + }, + refundGapDays: { + type: "int", + params: { + width: 4, + signed: true + } + }, + refundCompensateRatio: { + type: "int", + params: { + width: 4, + signed: true + } + }, + needReceiving: { + type: "boolean" + }, + applicationId: { + notNull: true, + type: "ref", + ref: "application" + }, + enabled: { + notNull: true, + type: "boolean" + } + }, + actionType: "crud", + actions: action_1.genericActions +}; diff --git a/lib/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts b/lib/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts new file mode 100644 index 00000000..2154eb05 --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/_baseSchema.d.ts @@ -0,0 +1,57 @@ +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, Boolean } from "oak-domain/lib/types/DataType"; +export type OpSchema = EntityShape & { + taxLossRatio?: Decimal<4, 2> | null; + refundGapDays?: Int<4> | null; + refundCompensateRatio?: Int<4> | null; + needReceiving?: Boolean | null; + applicationId: ForeignKey<"application">; + enabled: Boolean; +} & { + [A in ExpressionKey]?: any; +}; +export type OpAttr = keyof OpSchema; +export type OpFilter = { + id: Q_StringValue; + $$createAt$$: Q_DateValue; + $$seq$$: Q_NumberValue; + $$updateAt$$: Q_DateValue; + taxLossRatio: Q_NumberValue; + refundGapDays: Q_NumberValue; + refundCompensateRatio: Q_NumberValue; + needReceiving: Q_BooleanValue; + applicationId: Q_StringValue; + enabled: Q_BooleanValue; +} & ExprOp; +export type OpProjection = { + "#id"?: NodeId; + [k: string]: any; + id?: number; + $$createAt$$?: number; + $$updateAt$$?: number; + $$seq$$?: number; + taxLossRatio?: number; + refundGapDays?: number; + refundCompensateRatio?: number; + needReceiving?: number; + applicationId?: number; + enabled?: number; +} & Partial>; +export type OpSortAttr = Partial<{ + id: number; + $$createAt$$: number; + $$seq$$: number; + $$updateAt$$: number; + taxLossRatio: number; + refundGapDays: number; + refundCompensateRatio: number; + needReceiving: number; + applicationId: number; + enabled: number; + [k: string]: any; +} | ExprOp>; +export type OpAction = OakMakeAction; +export type OpUpdateAction = "update" | string; diff --git a/lib/oak-app-domain/AbstractPayProduct/_baseSchema.js b/lib/oak-app-domain/AbstractPayProduct/_baseSchema.js new file mode 100644 index 00000000..c8ad2e54 --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/_baseSchema.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/oak-app-domain/AbstractPayProduct/locales/zh_CN.json b/lib/oak-app-domain/AbstractPayProduct/locales/zh_CN.json new file mode 100644 index 00000000..c99b7a46 --- /dev/null +++ b/lib/oak-app-domain/AbstractPayProduct/locales/zh_CN.json @@ -0,0 +1,11 @@ +{ + "name": "抽象支付产品", + "attr": { + "taxLossRatio": "渠道手续费百分比", + "refundGapDays": "允许最大退款天数", + "refundCompensateRatio": "退款渠道补偿百分比", + "needReceiving": "用户确认收货后到账", + "application": "关联应用", + "enabled": "是否启用" + } +} diff --git a/lib/oak-app-domain/EntityDict.d.ts b/lib/oak-app-domain/EntityDict.d.ts index 364769d4..5377fd2f 100644 --- a/lib/oak-app-domain/EntityDict.d.ts +++ b/lib/oak-app-domain/EntityDict.d.ts @@ -58,8 +58,8 @@ import * as BaseWechatPublicTag from "./WechatPublicTag/_baseSchema"; import * as BaseWechatQrCode from "./WechatQrCode/_baseSchema"; import * as BaseWechatTemplate from "./WechatTemplate/_baseSchema"; import * as BaseWechatUser from "./WechatUser/_baseSchema"; -import * as BaseAbstactPayProduct from "./AbstactPayProduct/_baseSchema"; import * as BaseAbstractPayAccount from "./AbstractPayAccount/_baseSchema"; +import * as BaseAbstractPayProduct from "./AbstractPayProduct/_baseSchema"; import * as BaseAbstractShipAccount from "./AbstractShipAccount/_baseSchema"; import * as BaseAccount from "./Account/_baseSchema"; import * as BaseAccountOper from "./AccountOper/_baseSchema"; @@ -1217,7 +1217,7 @@ export type Application = { wechatQrCode$application?: Array>; wechatTemplate$application?: Array>; wechatUser$application?: Array>; - abstactPayProduct$application?: Array>; + abstractPayProduct$application?: Array>; pay$application?: Array>; wechatMpShip$application?: Array>; wpProduct$application?: Array>; @@ -1233,7 +1233,7 @@ export type Application = { wechatQrCode$application$$aggr?: AggregationResult>; wechatTemplate$application$$aggr?: AggregationResult>; wechatUser$application$$aggr?: AggregationResult>; - abstactPayProduct$application$$aggr?: AggregationResult>; + abstractPayProduct$application$$aggr?: AggregationResult>; pay$application$$aggr?: AggregationResult>; wechatMpShip$application$$aggr?: AggregationResult>; wpProduct$application$$aggr?: AggregationResult>; @@ -1308,11 +1308,11 @@ export type Application = { wechatUser$application$$aggr?: DeduceAggregation, Omit, WechatUser["Sorter"]> & { $entity: "wechatUser"; }; - abstactPayProduct$application?: OakSelection<"select", Omit, Omit, AbstactPayProduct["Sorter"]> & { - $entity: "abstactPayProduct"; + abstractPayProduct$application?: OakSelection<"select", Omit, Omit, AbstractPayProduct["Sorter"]> & { + $entity: "abstractPayProduct"; }; - abstactPayProduct$application$$aggr?: DeduceAggregation, Omit, AbstactPayProduct["Sorter"]> & { - $entity: "abstactPayProduct"; + abstractPayProduct$application$$aggr?: DeduceAggregation, Omit, AbstractPayProduct["Sorter"]> & { + $entity: "abstractPayProduct"; }; pay$application?: OakSelection<"select", Omit, Omit, Pay["Sorter"]> & { $entity: "pay"; @@ -1353,7 +1353,7 @@ export type Application = { wechatQrCode$application: MakeFilter> & SubQueryPredicateMetadata; wechatTemplate$application: MakeFilter> & SubQueryPredicateMetadata; wechatUser$application: MakeFilter> & SubQueryPredicateMetadata; - abstactPayProduct$application: MakeFilter> & SubQueryPredicateMetadata; + abstractPayProduct$application: MakeFilter> & SubQueryPredicateMetadata; pay$application: MakeFilter> & SubQueryPredicateMetadata; wechatMpShip$application: MakeFilter> & SubQueryPredicateMetadata; wpProduct$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1385,7 +1385,7 @@ export type Application = { wechatQrCode$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatQrCode["Filter"]>)[]; wechatTemplate$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatTemplate["Filter"]>)[]; wechatUser$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatUser["Filter"]>)[]; - abstactPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstactPayProduct["Filter"]>)[]; + abstractPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstractPayProduct["Filter"]>)[]; pay$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Pay["Filter"]>)[]; wechatMpShip$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatMpShip["Filter"]>)[]; wpProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WpProduct["Filter"]>)[]; @@ -1408,7 +1408,7 @@ export type Application = { wechatQrCode$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatQrCode["Filter"]> | OakOperation<"remove", WechatQrCode["RemoveOperationData"], WechatQrCode["Filter"]>)[]; wechatTemplate$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatTemplate["Filter"]> | OakOperation<"remove", WechatTemplate["RemoveOperationData"], WechatTemplate["Filter"]>)[]; wechatUser$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatUser["Filter"]> | OakOperation<"remove", WechatUser["RemoveOperationData"], WechatUser["Filter"]>)[]; - abstactPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstactPayProduct["Filter"]> | OakOperation<"remove", AbstactPayProduct["RemoveOperationData"], AbstactPayProduct["Filter"]>)[]; + abstractPayProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, AbstractPayProduct["Filter"]> | OakOperation<"remove", AbstractPayProduct["RemoveOperationData"], AbstractPayProduct["Filter"]>)[]; pay$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Pay["Filter"]> | OakOperation<"remove", Pay["RemoveOperationData"], Pay["Filter"]>)[]; wechatMpShip$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WechatMpShip["Filter"]> | OakOperation<"remove", WechatMpShip["RemoveOperationData"], WechatMpShip["Filter"]>)[]; wpProduct$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, WpProduct["Filter"]> | OakOperation<"remove", WpProduct["RemoveOperationData"], WpProduct["Filter"]>)[]; @@ -3743,43 +3743,6 @@ export type WechatUser = { Remove: OakOperation<"remove", WechatUser["RemoveOperationData"], WechatUser["Filter"], WechatUser["Sorter"]>; Operation: WechatUser["Create"] | WechatUser["Update"] | WechatUser["Remove"]; }; -export type AbstactPayProduct = { - OpSchema: BaseAbstactPayProduct.OpSchema; - Action: BaseAbstactPayProduct.OpAction; - Schema: BaseAbstactPayProduct.OpSchema & { - application: Application["Schema"]; - }; - Projection: BaseAbstactPayProduct.OpProjection & { - application?: Application["Projection"]; - }; - FilterUnit: BaseAbstactPayProduct.OpFilter & { - application: MakeFilter; - }; - Filter: MakeFilter; - SortAttr: Partial; - SortNode: { - $attr: AbstactPayProduct["SortAttr"]; - $direction?: "asc" | "desc"; - }; - Sorter: AbstactPayProduct["SortNode"][]; - Selection: OakSelection<"select", AbstactPayProduct["Projection"], AbstactPayProduct["Filter"], AbstactPayProduct["Sorter"]>; - Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData | OakOperation; - }>; - CreateSingle: OakOperation<"create", AbstactPayProduct["CreateOperationData"]>; - CreateMulti: OakOperation<"create", Array>; - Create: AbstactPayProduct["CreateSingle"] | AbstactPayProduct["CreateMulti"]; - UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; - }>; - Update: OakOperation; - RemoveOperationData: {}; - Remove: OakOperation<"remove", AbstactPayProduct["RemoveOperationData"], AbstactPayProduct["Filter"], AbstactPayProduct["Sorter"]>; - Operation: AbstactPayProduct["Create"] | AbstactPayProduct["Update"] | AbstactPayProduct["Remove"]; -}; export type AbstractPayAccount = { OpSchema: BaseAbstractPayAccount.OpSchema; Action: BaseAbstractPayAccount.OpAction; @@ -3817,6 +3780,43 @@ export type AbstractPayAccount = { Remove: OakOperation<"remove", AbstractPayAccount["RemoveOperationData"], AbstractPayAccount["Filter"], AbstractPayAccount["Sorter"]>; Operation: AbstractPayAccount["Create"] | AbstractPayAccount["Update"] | AbstractPayAccount["Remove"]; }; +export type AbstractPayProduct = { + OpSchema: BaseAbstractPayProduct.OpSchema; + Action: BaseAbstractPayProduct.OpAction; + Schema: BaseAbstractPayProduct.OpSchema & { + application: Application["Schema"]; + }; + Projection: BaseAbstractPayProduct.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseAbstractPayProduct.OpFilter & { + application: MakeFilter; + }; + Filter: MakeFilter; + SortAttr: Partial; + SortNode: { + $attr: AbstractPayProduct["SortAttr"]; + $direction?: "asc" | "desc"; + }; + Sorter: AbstractPayProduct["SortNode"][]; + Selection: OakSelection<"select", AbstractPayProduct["Projection"], AbstractPayProduct["Filter"], AbstractPayProduct["Sorter"]>; + Aggregation: DeduceAggregation; + CreateOperationData: FormCreateData | OakOperation; + }>; + CreateSingle: OakOperation<"create", AbstractPayProduct["CreateOperationData"]>; + CreateMulti: OakOperation<"create", Array>; + Create: AbstractPayProduct["CreateSingle"] | AbstractPayProduct["CreateMulti"]; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; + Update: OakOperation; + RemoveOperationData: {}; + Remove: OakOperation<"remove", AbstractPayProduct["RemoveOperationData"], AbstractPayProduct["Filter"], AbstractPayProduct["Sorter"]>; + Operation: AbstractPayProduct["Create"] | AbstractPayProduct["Update"] | AbstractPayProduct["Remove"]; +}; export type AbstractShipAccount = { OpSchema: BaseAbstractShipAccount.OpSchema; Action: BaseAbstractShipAccount.OpAction; @@ -5473,8 +5473,8 @@ export type EntityDict = { wechatQrCode: WechatQrCode; wechatTemplate: WechatTemplate; wechatUser: WechatUser; - abstactPayProduct: AbstactPayProduct; abstractPayAccount: AbstractPayAccount; + abstractPayProduct: AbstractPayProduct; abstractShipAccount: AbstractShipAccount; account: Account; accountOper: AccountOper; diff --git a/lib/oak-app-domain/Storage.js b/lib/oak-app-domain/Storage.js index a3547ef5..c73013b4 100644 --- a/lib/oak-app-domain/Storage.js +++ b/lib/oak-app-domain/Storage.js @@ -59,8 +59,8 @@ const Storage_55 = require("./WechatPublicTag/Storage"); const Storage_56 = require("./WechatQrCode/Storage"); const Storage_57 = require("./WechatTemplate/Storage"); const Storage_58 = require("./WechatUser/Storage"); -const Storage_59 = require("./AbstactPayProduct/Storage"); -const Storage_60 = require("./AbstractPayAccount/Storage"); +const Storage_59 = require("./AbstractPayAccount/Storage"); +const Storage_60 = require("./AbstractPayProduct/Storage"); const Storage_61 = require("./AbstractShipAccount/Storage"); const Storage_62 = require("./Account/Storage"); const Storage_63 = require("./AccountOper/Storage"); @@ -144,8 +144,8 @@ exports.storageSchema = { wechatQrCode: Storage_56.desc, wechatTemplate: Storage_57.desc, wechatUser: Storage_58.desc, - abstactPayProduct: Storage_59.desc, - abstractPayAccount: Storage_60.desc, + abstractPayAccount: Storage_59.desc, + abstractPayProduct: Storage_60.desc, abstractShipAccount: Storage_61.desc, account: Storage_62.desc, accountOper: Storage_63.desc, diff --git a/src/entities/AbstactPayProduct.ts b/src/entities/AbstractPayProduct.ts similarity index 100% rename from src/entities/AbstactPayProduct.ts rename to src/entities/AbstractPayProduct.ts diff --git a/src/entities/WpProduct.ts b/src/entities/WpProduct.ts index 237c6250..3bc90817 100644 --- a/src/entities/WpProduct.ts +++ b/src/entities/WpProduct.ts @@ -11,9 +11,9 @@ import { EntityShape } from 'oak-domain/lib/types/Entity'; import { EntityDesc, ActionDef } from 'oak-domain/lib/types'; import { Schema as WpAccount } from './WpAccount'; import { Schema as Pay } from './Pay'; -import { Schema as AbstactPayProduct } from './AbstactPayProduct'; +import { Schema as AbstractPayProduct } from './AbstractPayProduct'; -export interface Schema extends AbstactPayProduct { +export interface Schema extends AbstractPayProduct { wpAccount: WpAccount; type: 'native' | 'mp' | 'jsapi' | 'h5' | 'app', pays: Pay[]; diff --git a/upgrade/3.0.0/01.sql b/upgrade/3.0.0/01.sql index 5afeddc9..6a80ccd8 100644 --- a/upgrade/3.0.0/01.sql +++ b/upgrade/3.0.0/01.sql @@ -21,6 +21,8 @@ CREATE TABLE `abstactPayProduct` ( INDEX `abstactPayProduct_fk_applicationId_auto_create`(`applicationId`, `$$deleteAt$$`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 10000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; +RENAME TABLE abstactPayProduct TO abstractPayProduct; + -- abstractPayAccount RENAME TABLE abstractAccount TO abstractPayAccount; @@ -208,12 +210,12 @@ CREATE TABLE `wechatMpShip` ( ) ENGINE = InnoDB AUTO_INCREMENT = 10000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; -- wpAccount -ALTER TABLE `wpAccount` ADD -`needReceiving` tinyint(1) NULL DEFAULT NULL; +ALTER TABLE `wpAccount` ADD `needReceiving` tinyint(1) NULL DEFAULT NULL; -- wpProduct -ALTER TABLE `wpProduct` ADD -`needReceiving` tinyint(1) NULL DEFAULT NULL; +ALTER TABLE `wpProduct` ADD `needReceiving` tinyint(1) NULL DEFAULT NULL; +ALTER TABLE `wpProduct` ADD `refundCompensateRatio` int(0) DEFAULT NULL; +ALTER TABLE `wpProduct` ADD `refundGapDays` int(0) DEFAULT NULL; -- path data INSERT INTO `path`(`destEntity`, `value`, `recursive`, `sourceEntity`, `desc`, `id`, `$$createAt$$`, `$$updateAt$$`, `$$deleteAt$$`, `$$triggerData$$`, `$$triggerUuid$$`) VALUES ('ship', 'deposit$ship.account.user', 0, 'user', NULL, 'user-deposit-ship', 1744696238413, 1744696238413, NULL, NULL, NULL);