后端迁移平台配置服务入口
This commit is contained in:
+2
-5
@@ -1,5 +1,3 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import { query } from '../../../db/client.js'
|
import { query } from '../../../db/client.js'
|
||||||
import {
|
import {
|
||||||
getAgisoMessagingDefaults,
|
getAgisoMessagingDefaults,
|
||||||
@@ -14,7 +12,7 @@ import {
|
|||||||
} from './domain.js'
|
} from './domain.js'
|
||||||
import { buildAdminAgisoMessagingSavePayload } from './writes.js'
|
import { buildAdminAgisoMessagingSavePayload } from './writes.js'
|
||||||
|
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminAgisoShopConfigSaveInput} AdminAgisoShopConfigSaveInput */
|
type JsonObject = Record<string, any>
|
||||||
|
|
||||||
export async function getAdminAgisoShopConfigs() {
|
export async function getAdminAgisoShopConfigs() {
|
||||||
const configMap = getAgisoShopConfigMap()
|
const configMap = getAgisoShopConfigMap()
|
||||||
@@ -51,8 +49,7 @@ export async function getAdminAgisoShopConfigs() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {AdminAgisoShopConfigSaveInput} [payload] */
|
export function updateAdminAgisoShopConfigs(payload: JsonObject = {}) {
|
||||||
export function updateAdminAgisoShopConfigs(payload = /** @type {AdminAgisoShopConfigSaveInput} */ ({})) {
|
|
||||||
const saved = saveAgisoMessagingConfig(buildAdminAgisoMessagingSavePayload(payload, {
|
const saved = saveAgisoMessagingConfig(buildAdminAgisoMessagingSavePayload(payload, {
|
||||||
currentDefaults: getAgisoMessagingDefaults(),
|
currentDefaults: getAgisoMessagingDefaults(),
|
||||||
currentMap: getAgisoShopConfigMap(),
|
currentMap: getAgisoShopConfigMap(),
|
||||||
+2
-4
@@ -1,5 +1,3 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getKuaishouCloudFulfillmentConfig,
|
getKuaishouCloudFulfillmentConfig,
|
||||||
getKuaishouCloudFulfillmentFilePath,
|
getKuaishouCloudFulfillmentFilePath,
|
||||||
@@ -8,7 +6,7 @@ import {
|
|||||||
import { syncConfiguredFulfillmentBindings } from '../../bootstrap/fulfillment-bootstrap-service.js'
|
import { syncConfiguredFulfillmentBindings } from '../../bootstrap/fulfillment-bootstrap-service.js'
|
||||||
import { mapAdminKuaishouCloudFulfillmentSource } from './mappers.js'
|
import { mapAdminKuaishouCloudFulfillmentSource } from './mappers.js'
|
||||||
|
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminKuaishouCloudFulfillmentConfigInput} AdminKuaishouCloudFulfillmentConfigInput */
|
type JsonObject = Record<string, any>
|
||||||
|
|
||||||
export function getAdminKuaishouCloudFulfillmentConfig() {
|
export function getAdminKuaishouCloudFulfillmentConfig() {
|
||||||
const config = getKuaishouCloudFulfillmentConfig()
|
const config = getKuaishouCloudFulfillmentConfig()
|
||||||
@@ -21,7 +19,7 @@ export function getAdminKuaishouCloudFulfillmentConfig() {
|
|||||||
|
|
||||||
/** @param {AdminKuaishouCloudFulfillmentConfigInput} [payload] */
|
/** @param {AdminKuaishouCloudFulfillmentConfigInput} [payload] */
|
||||||
export async function updateAdminKuaishouCloudFulfillmentConfig(
|
export async function updateAdminKuaishouCloudFulfillmentConfig(
|
||||||
payload = /** @type {AdminKuaishouCloudFulfillmentConfigInput} */ ({}),
|
payload: JsonObject = {},
|
||||||
) {
|
) {
|
||||||
const saved = saveKuaishouCloudFulfillmentConfig({
|
const saved = saveKuaishouCloudFulfillmentConfig({
|
||||||
enabled: payload.enabled !== false,
|
enabled: payload.enabled !== false,
|
||||||
+6
-15
@@ -1,5 +1,3 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
consumeKuaishouEticket,
|
consumeKuaishouEticket,
|
||||||
queryKuaishouEticketConsumeDetail,
|
queryKuaishouEticketConsumeDetail,
|
||||||
@@ -16,12 +14,9 @@ import { queryKuaishouEticketStableInfo } from '../../platforms/kuaishou-eticket
|
|||||||
import { resolveKuaishouEticketAdminContext } from './context.js'
|
import { resolveKuaishouEticketAdminContext } from './context.js'
|
||||||
import { mapAdminKuaishouEticketSourceConfig } from './mappers.js'
|
import { mapAdminKuaishouEticketSourceConfig } from './mappers.js'
|
||||||
|
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminKuaishouEticketSourceConfigInput} AdminKuaishouEticketSourceConfigInput */
|
type JsonObject = Record<string, any>
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminKuaishouEticketShopInfoInput} AdminKuaishouEticketShopInfoInput */
|
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminKuaishouEticketDetailQueryInput} AdminKuaishouEticketDetailQueryInput */
|
|
||||||
/** @typedef {import('../../../types/admin-write-inputs.js').AdminKuaishouEticketConsumeInput} AdminKuaishouEticketConsumeInput */
|
|
||||||
|
|
||||||
function resolveAdminKuaishouEticketContext(payload = {}) {
|
function resolveAdminKuaishouEticketContext(payload: JsonObject = {}) {
|
||||||
return resolveKuaishouEticketAdminContext(payload, {
|
return resolveKuaishouEticketAdminContext(payload, {
|
||||||
savedSource: getKuaishouEticketSourceConfig(),
|
savedSource: getKuaishouEticketSourceConfig(),
|
||||||
findShopConfig: findKuaishouEticketShopConfig,
|
findShopConfig: findKuaishouEticketShopConfig,
|
||||||
@@ -38,8 +33,7 @@ export function getAdminKuaishouEticketSourceConfig() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {AdminKuaishouEticketSourceConfigInput} [payload] */
|
export function updateAdminKuaishouEticketSourceConfig(payload: JsonObject = {}) {
|
||||||
export function updateAdminKuaishouEticketSourceConfig(payload = /** @type {AdminKuaishouEticketSourceConfigInput} */ ({})) {
|
|
||||||
const saved = saveKuaishouEticketSourceConfig({
|
const saved = saveKuaishouEticketSourceConfig({
|
||||||
enabled: payload.enabled !== false,
|
enabled: payload.enabled !== false,
|
||||||
baseUrl: String(payload.baseUrl || '').trim() || 'https://s.kwaixiaodian.com',
|
baseUrl: String(payload.baseUrl || '').trim() || 'https://s.kwaixiaodian.com',
|
||||||
@@ -52,8 +46,7 @@ export function updateAdminKuaishouEticketSourceConfig(payload = /** @type {Admi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {AdminKuaishouEticketDetailQueryInput} [payload] */
|
export async function queryAdminKuaishouEticketDetail(payload: JsonObject = {}) {
|
||||||
export async function queryAdminKuaishouEticketDetail(payload = /** @type {AdminKuaishouEticketDetailQueryInput} */ ({})) {
|
|
||||||
const context = resolveAdminKuaishouEticketContext(payload)
|
const context = resolveAdminKuaishouEticketContext(payload)
|
||||||
|
|
||||||
return queryKuaishouEticketConsumeDetail({
|
return queryKuaishouEticketConsumeDetail({
|
||||||
@@ -63,8 +56,7 @@ export async function queryAdminKuaishouEticketDetail(payload = /** @type {Admin
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {AdminKuaishouEticketShopInfoInput} [payload] */
|
export async function queryAdminKuaishouEticketShopInfo(payload: JsonObject = {}) {
|
||||||
export async function queryAdminKuaishouEticketShopInfo(payload = /** @type {AdminKuaishouEticketShopInfoInput} */ ({})) {
|
|
||||||
const context = resolveAdminKuaishouEticketContext(payload)
|
const context = resolveAdminKuaishouEticketContext(payload)
|
||||||
|
|
||||||
return queryKuaishouEticketStableInfo({
|
return queryKuaishouEticketStableInfo({
|
||||||
@@ -73,8 +65,7 @@ export async function queryAdminKuaishouEticketShopInfo(payload = /** @type {Adm
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {AdminKuaishouEticketConsumeInput} [payload] */
|
export async function consumeAdminKuaishouEticket(payload: JsonObject = {}) {
|
||||||
export async function consumeAdminKuaishouEticket(payload = /** @type {AdminKuaishouEticketConsumeInput} */ ({})) {
|
|
||||||
const context = resolveAdminKuaishouEticketContext(payload)
|
const context = resolveAdminKuaishouEticketContext(payload)
|
||||||
|
|
||||||
return consumeKuaishouEticket({
|
return consumeKuaishouEticket({
|
||||||
+5
-9
@@ -1,13 +1,12 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
failOpen91Order,
|
failOpen91Order,
|
||||||
listOpen91Orders,
|
listOpen91Orders,
|
||||||
retryOpen91Order,
|
retryOpen91Order,
|
||||||
} from '../../platforms/ninetyone/order-service.js'
|
} from '../../platforms/ninetyone/order-service.js'
|
||||||
|
|
||||||
/** @param {{ page?: number | string, pageSize?: number | string, status?: string }} [query] */
|
type JsonObject = Record<string, any>
|
||||||
export async function getAdminNinetyoneOrders(query = {}) {
|
|
||||||
|
export async function getAdminNinetyoneOrders(query: JsonObject = {}) {
|
||||||
return listOpen91Orders({
|
return listOpen91Orders({
|
||||||
page: Number(query.page || 1) || 1,
|
page: Number(query.page || 1) || 1,
|
||||||
pageSize: Number(query.pageSize || 20) || 20,
|
pageSize: Number(query.pageSize || 20) || 20,
|
||||||
@@ -15,8 +14,7 @@ export async function getAdminNinetyoneOrders(query = {}) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {number | string} orderId */
|
export async function retryAdminNinetyoneOrder(orderId: number | string) {
|
||||||
export async function retryAdminNinetyoneOrder(orderId) {
|
|
||||||
const result = await retryOpen91Order(orderId)
|
const result = await retryOpen91Order(orderId)
|
||||||
return {
|
return {
|
||||||
orderId: Number(result.order?.id || 0),
|
orderId: Number(result.order?.id || 0),
|
||||||
@@ -27,9 +25,7 @@ export async function retryAdminNinetyoneOrder(orderId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {number | string} orderId */
|
export async function failAdminNinetyoneOrder(orderId: number | string, payload: JsonObject = {}) {
|
||||||
/** @param {{ reason?: string }} [payload] */
|
|
||||||
export async function failAdminNinetyoneOrder(orderId, payload = {}) {
|
|
||||||
const result = await failOpen91Order(orderId, payload.reason)
|
const result = await failOpen91Order(orderId, payload.reason)
|
||||||
return {
|
return {
|
||||||
orderId: Number(result.order?.id || 0),
|
orderId: Number(result.order?.id || 0),
|
||||||
@@ -607,6 +607,17 @@
|
|||||||
- `npm run typecheck`
|
- `npm run typecheck`
|
||||||
- `npm run build`
|
- `npm run build`
|
||||||
- `npm test` 共 139 个用例通过
|
- `npm test` 共 139 个用例通过
|
||||||
|
144. 后台平台配置薄服务包装层迁移到 `.ts`:
|
||||||
|
- `src/services/admin/platform-config/agiso-service.ts`
|
||||||
|
- `src/services/admin/platform-config/kuaishou-eticket-service.ts`
|
||||||
|
- `src/services/admin/platform-config/kuaishou-cloud-fulfillment-service.ts`
|
||||||
|
- `src/services/admin/platform-config/ninetyone-service.ts`
|
||||||
|
145. Agiso 店铺配置、快手电子券配置 / 查询 / 核销、快手 Cloud 履约配置、91 卡券后台订单操作入口已进入 TS 编译链路;payload / query 补齐动态对象类型
|
||||||
|
146. Docker 内验证通过:
|
||||||
|
- `src/services/admin/platform-config/*.test.js` 共 37 个用例通过
|
||||||
|
- `npm run typecheck`
|
||||||
|
- `npm run build`
|
||||||
|
- `npm test` 共 139 个用例通过
|
||||||
|
|
||||||
## 下一步建议
|
## 下一步建议
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user