diff --git a/es/oak-app-domain/Captcha/Storage.js b/es/oak-app-domain/Captcha/Storage.js index ae2b6c7b..6fc92db7 100644 --- a/es/oak-app-domain/Captcha/Storage.js +++ b/es/oak-app-domain/Captcha/Storage.js @@ -44,6 +44,10 @@ export const desc = { type: "enum", enumeration: ["login", "changePassword", "confirm"] }, + applicationId: { + type: "ref", + ref: "application" + }, iState: { type: "enum", enumeration: ["unsent", "sending", "sent", "failure"] diff --git a/es/oak-app-domain/Captcha/_baseSchema.d.ts b/es/oak-app-domain/Captcha/_baseSchema.d.ts index e4f78d7e..bfe2672b 100644 --- a/es/oak-app-domain/Captcha/_baseSchema.d.ts +++ b/es/oak-app-domain/Captcha/_baseSchema.d.ts @@ -1,3 +1,4 @@ +import { ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction, IState } from "./Action"; @@ -12,6 +13,7 @@ export type OpSchema = EntityShape & { expired: Boolean; expiresAt: Datetime; type: "login" | "changePassword" | "confirm"; + applicationId?: ForeignKey<"application"> | null; iState?: IState | null; } & { [A in ExpressionKey]?: any; @@ -31,6 +33,7 @@ export type OpFilter = { expired: Q_BooleanValue; expiresAt: Q_DateValue; type: Q_EnumValue<"login" | "changePassword" | "confirm">; + applicationId: Q_StringValue; iState: Q_EnumValue; } & ExprOp; export type OpProjection = { @@ -49,6 +52,7 @@ export type OpProjection = { expired?: number; expiresAt?: number; type?: number; + applicationId?: number; iState?: number; } & Partial>; export type OpSortAttr = Partial<{ @@ -64,6 +68,7 @@ export type OpSortAttr = Partial<{ expired: number; expiresAt: number; type: number; + applicationId: number; iState: number; [k: string]: any; } | ExprOp>; diff --git a/es/oak-app-domain/Captcha/locales/zh_CN.json b/es/oak-app-domain/Captcha/locales/zh_CN.json index d4f32479..9bf4f10c 100644 --- a/es/oak-app-domain/Captcha/locales/zh_CN.json +++ b/es/oak-app-domain/Captcha/locales/zh_CN.json @@ -10,7 +10,8 @@ "expired": "是否过期", "expiresAt": "过期时间", "iState": "状态", - "type": "类型" + "type": "类型", + "application": "应用" }, "action": { "send": "发送", diff --git a/es/oak-app-domain/EntityDict.d.ts b/es/oak-app-domain/EntityDict.d.ts index 9135ad0c..e918fbd9 100644 --- a/es/oak-app-domain/EntityDict.d.ts +++ b/es/oak-app-domain/EntityDict.d.ts @@ -1211,6 +1211,7 @@ export type Application = { system: System["Schema"]; domain?: Domain["Schema"]; applicationPassport$application?: Array>; + captcha$application?: Array>; extraFile$application?: Array>; notification$application?: Array>; sessionMessage$application?: Array>; @@ -1228,6 +1229,7 @@ export type Application = { wpProduct$application?: Array>; session$entity?: Array>; applicationPassport$application$$aggr?: AggregationResult>; + captcha$application$$aggr?: AggregationResult>; extraFile$application$$aggr?: AggregationResult>; notification$application$$aggr?: AggregationResult>; sessionMessage$application$$aggr?: AggregationResult>; @@ -1254,6 +1256,12 @@ export type Application = { applicationPassport$application$$aggr?: DeduceAggregation, Omit, ApplicationPassport["Sorter"]> & { $entity: "applicationPassport"; }; + captcha$application?: OakSelection<"select", Omit, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; + captcha$application$$aggr?: DeduceAggregation, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; extraFile$application?: OakSelection<"select", Omit, Omit, ExtraFile["Sorter"]> & { $entity: "extraFile"; }; @@ -1355,6 +1363,7 @@ export type Application = { system: MakeFilter; domain: MakeFilter; applicationPassport$application: MakeFilter> & SubQueryPredicateMetadata; + captcha$application: MakeFilter> & SubQueryPredicateMetadata; extraFile$application: MakeFilter> & SubQueryPredicateMetadata; notification$application: MakeFilter> & SubQueryPredicateMetadata; sessionMessage$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1388,6 +1397,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]>)[]; @@ -1412,6 +1422,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation | OakOperation<"remove", Domain["RemoveOperationData"], Domain["Filter"]>; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]> | OakOperation<"remove", ApplicationPassport["RemoveOperationData"], ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]> | OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]> | OakOperation<"remove", ExtraFile["RemoveOperationData"], ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]> | OakOperation<"remove", Notification["RemoveOperationData"], Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]> | OakOperation<"remove", SessionMessage["RemoveOperationData"], SessionMessage["Filter"]>)[]; @@ -1675,11 +1686,19 @@ export type ArticleMenu = { export type Captcha = { OpSchema: BaseCaptcha.OpSchema; Action: BaseCaptcha.OpAction; - Schema: BaseCaptcha.OpSchema & {}; - Projection: BaseCaptcha.OpProjection & {}; - FilterUnit: BaseCaptcha.OpFilter & {}; + Schema: BaseCaptcha.OpSchema & { + application?: Application["Schema"]; + }; + Projection: BaseCaptcha.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseCaptcha.OpFilter & { + application: MakeFilter; + }; Filter: MakeFilter; - SortAttr: Partial; + SortAttr: Partial; SortNode: { $attr: Captcha["SortAttr"]; $direction?: "asc" | "desc"; @@ -1687,11 +1706,15 @@ export type Captcha = { Sorter: Captcha["SortNode"][]; Selection: OakSelection<"select", Captcha["Projection"], Captcha["Filter"], Captcha["Sorter"]>; Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData; + CreateOperationData: FormCreateData | OakOperation; + }>; CreateSingle: OakOperation<"create", Captcha["CreateOperationData"]>; CreateMulti: OakOperation<"create", Array>; Create: Captcha["CreateSingle"] | Captcha["CreateMulti"]; - UpdateOperationData: FormUpdateData; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; Update: OakOperation; RemoveOperationData: {}; Remove: OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"], Captcha["Sorter"]>; diff --git a/es/utils/ship.js b/es/utils/ship.js index 60f7c789..5f85e1d7 100644 --- a/es/utils/ship.js +++ b/es/utils/ship.js @@ -58,6 +58,7 @@ export const shipProjection = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -197,14 +198,14 @@ export async function uploadShippingInfo(shipId, context) { //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from.phone); - const toPhoneStr = maskPhone(to.phone); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order.find((ele) => ele.entity === 'wpProduct'); const meta = wechatPay?.meta; let shippingList = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from.phone); + const toPhoneStr = maskPhone(to.phone); shippingList = [ { tracking_no: extraShipId, diff --git a/lib/oak-app-domain/Captcha/Storage.js b/lib/oak-app-domain/Captcha/Storage.js index f22a5d16..dd78f80e 100644 --- a/lib/oak-app-domain/Captcha/Storage.js +++ b/lib/oak-app-domain/Captcha/Storage.js @@ -47,6 +47,10 @@ exports.desc = { type: "enum", enumeration: ["login", "changePassword", "confirm"] }, + applicationId: { + type: "ref", + ref: "application" + }, iState: { type: "enum", enumeration: ["unsent", "sending", "sent", "failure"] diff --git a/lib/oak-app-domain/Captcha/_baseSchema.d.ts b/lib/oak-app-domain/Captcha/_baseSchema.d.ts index e4f78d7e..bfe2672b 100644 --- a/lib/oak-app-domain/Captcha/_baseSchema.d.ts +++ b/lib/oak-app-domain/Captcha/_baseSchema.d.ts @@ -1,3 +1,4 @@ +import { ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction, IState } from "./Action"; @@ -12,6 +13,7 @@ export type OpSchema = EntityShape & { expired: Boolean; expiresAt: Datetime; type: "login" | "changePassword" | "confirm"; + applicationId?: ForeignKey<"application"> | null; iState?: IState | null; } & { [A in ExpressionKey]?: any; @@ -31,6 +33,7 @@ export type OpFilter = { expired: Q_BooleanValue; expiresAt: Q_DateValue; type: Q_EnumValue<"login" | "changePassword" | "confirm">; + applicationId: Q_StringValue; iState: Q_EnumValue; } & ExprOp; export type OpProjection = { @@ -49,6 +52,7 @@ export type OpProjection = { expired?: number; expiresAt?: number; type?: number; + applicationId?: number; iState?: number; } & Partial>; export type OpSortAttr = Partial<{ @@ -64,6 +68,7 @@ export type OpSortAttr = Partial<{ expired: number; expiresAt: number; type: number; + applicationId: number; iState: number; [k: string]: any; } | ExprOp>; diff --git a/lib/oak-app-domain/Captcha/locales/zh_CN.json b/lib/oak-app-domain/Captcha/locales/zh_CN.json index d4f32479..9bf4f10c 100644 --- a/lib/oak-app-domain/Captcha/locales/zh_CN.json +++ b/lib/oak-app-domain/Captcha/locales/zh_CN.json @@ -10,7 +10,8 @@ "expired": "是否过期", "expiresAt": "过期时间", "iState": "状态", - "type": "类型" + "type": "类型", + "application": "应用" }, "action": { "send": "发送", diff --git a/lib/oak-app-domain/EntityDict.d.ts b/lib/oak-app-domain/EntityDict.d.ts index 9135ad0c..e918fbd9 100644 --- a/lib/oak-app-domain/EntityDict.d.ts +++ b/lib/oak-app-domain/EntityDict.d.ts @@ -1211,6 +1211,7 @@ export type Application = { system: System["Schema"]; domain?: Domain["Schema"]; applicationPassport$application?: Array>; + captcha$application?: Array>; extraFile$application?: Array>; notification$application?: Array>; sessionMessage$application?: Array>; @@ -1228,6 +1229,7 @@ export type Application = { wpProduct$application?: Array>; session$entity?: Array>; applicationPassport$application$$aggr?: AggregationResult>; + captcha$application$$aggr?: AggregationResult>; extraFile$application$$aggr?: AggregationResult>; notification$application$$aggr?: AggregationResult>; sessionMessage$application$$aggr?: AggregationResult>; @@ -1254,6 +1256,12 @@ export type Application = { applicationPassport$application$$aggr?: DeduceAggregation, Omit, ApplicationPassport["Sorter"]> & { $entity: "applicationPassport"; }; + captcha$application?: OakSelection<"select", Omit, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; + captcha$application$$aggr?: DeduceAggregation, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; extraFile$application?: OakSelection<"select", Omit, Omit, ExtraFile["Sorter"]> & { $entity: "extraFile"; }; @@ -1355,6 +1363,7 @@ export type Application = { system: MakeFilter; domain: MakeFilter; applicationPassport$application: MakeFilter> & SubQueryPredicateMetadata; + captcha$application: MakeFilter> & SubQueryPredicateMetadata; extraFile$application: MakeFilter> & SubQueryPredicateMetadata; notification$application: MakeFilter> & SubQueryPredicateMetadata; sessionMessage$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1388,6 +1397,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]>)[]; @@ -1412,6 +1422,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation | OakOperation<"remove", Domain["RemoveOperationData"], Domain["Filter"]>; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]> | OakOperation<"remove", ApplicationPassport["RemoveOperationData"], ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]> | OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]> | OakOperation<"remove", ExtraFile["RemoveOperationData"], ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]> | OakOperation<"remove", Notification["RemoveOperationData"], Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]> | OakOperation<"remove", SessionMessage["RemoveOperationData"], SessionMessage["Filter"]>)[]; @@ -1675,11 +1686,19 @@ export type ArticleMenu = { export type Captcha = { OpSchema: BaseCaptcha.OpSchema; Action: BaseCaptcha.OpAction; - Schema: BaseCaptcha.OpSchema & {}; - Projection: BaseCaptcha.OpProjection & {}; - FilterUnit: BaseCaptcha.OpFilter & {}; + Schema: BaseCaptcha.OpSchema & { + application?: Application["Schema"]; + }; + Projection: BaseCaptcha.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseCaptcha.OpFilter & { + application: MakeFilter; + }; Filter: MakeFilter; - SortAttr: Partial; + SortAttr: Partial; SortNode: { $attr: Captcha["SortAttr"]; $direction?: "asc" | "desc"; @@ -1687,11 +1706,15 @@ export type Captcha = { Sorter: Captcha["SortNode"][]; Selection: OakSelection<"select", Captcha["Projection"], Captcha["Filter"], Captcha["Sorter"]>; Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData; + CreateOperationData: FormCreateData | OakOperation; + }>; CreateSingle: OakOperation<"create", Captcha["CreateOperationData"]>; CreateMulti: OakOperation<"create", Array>; Create: Captcha["CreateSingle"] | Captcha["CreateMulti"]; - UpdateOperationData: FormUpdateData; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; Update: OakOperation; RemoveOperationData: {}; Remove: OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"], Captcha["Sorter"]>; diff --git a/lib/utils/ship.js b/lib/utils/ship.js index 6d2ca2f2..9c1ec8ad 100644 --- a/lib/utils/ship.js +++ b/lib/utils/ship.js @@ -61,6 +61,7 @@ exports.shipProjection = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -201,14 +202,14 @@ async function uploadShippingInfo(shipId, context) { //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from.phone); - const toPhoneStr = maskPhone(to.phone); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order.find((ele) => ele.entity === 'wpProduct'); const meta = wechatPay?.meta; let shippingList = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from.phone); + const toPhoneStr = maskPhone(to.phone); shippingList = [ { tracking_no: extraShipId, diff --git a/package.json b/package.json index fdfe9bae..8ef2f1af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oak-pay-business", - "version": "3.1.4", + "version": "3.1.5", "description": "", "files": [ "lib/**/*", @@ -33,8 +33,8 @@ "dayjs": "^1.11.5", "oak-domain": "^5.1.27", "oak-external-sdk": "^2.3.10", - "oak-frontend-base": "^5.3.34", - "oak-general-business": "~5.7.8", + "oak-frontend-base": "^5.3.35", + "oak-general-business": "~5.7.9", "react-markdown": "^9.0.3", "wechat-pay-nodejs": "^0.2.3" }, diff --git a/src/utils/ship.ts b/src/utils/ship.ts index 8ac1b768..5f635dda 100644 --- a/src/utils/ship.ts +++ b/src/utils/ship.ts @@ -62,6 +62,7 @@ export const shipProjection: EntityDict['ship']['Projection'] = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -218,8 +219,6 @@ export async function uploadShippingInfo( //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from!.phone!); - const toPhoneStr = maskPhone(to!.phone!); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order!.find((ele) => ele.entity === 'wpProduct'); @@ -231,6 +230,8 @@ export async function uploadShippingInfo( }; let shippingList: Array = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from!.phone!); + const toPhoneStr = maskPhone(to!.phone!); shippingList = [ { tracking_no: extraShipId,