feat: 订单售后
This commit is contained in:
@@ -2,6 +2,8 @@ import type { Context } from '../utils/handler.js'
|
||||
import { guardMethod } from '../utils/method.js'
|
||||
import { withErrorBoundary } from '../utils/handler.js'
|
||||
import { basicService } from '../services/basic.service.js'
|
||||
import { minioUploadService, type PreviewInput, type UploadInput } from '../services/minio-upload.service.js'
|
||||
import { readJson } from '../utils/request.js'
|
||||
import { toHttpResponse } from './controller-response.js'
|
||||
|
||||
export const loginController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
@@ -22,7 +24,14 @@ export const uploadController = withErrorBoundary(async (request: Request, _cont
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(basicService.upload())
|
||||
return toHttpResponse(await minioUploadService.upload(await readJson<UploadInput>(request)))
|
||||
})
|
||||
|
||||
export const uploadPreviewController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(minioUploadService.preview(await readJson<PreviewInput>(request)))
|
||||
})
|
||||
|
||||
export const userInfoController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
import type { Context } from '../utils/handler.js'
|
||||
import { guardMethod } from '../utils/method.js'
|
||||
import { readJson } from '../utils/request.js'
|
||||
import { withErrorBoundary } from '../utils/handler.js'
|
||||
import {
|
||||
merchantService,
|
||||
type MerchantAfterSaleListInput,
|
||||
type MerchantOrderListInput,
|
||||
type MerchantShipInput
|
||||
} from '../services/merchant.service.js'
|
||||
import type { AfterSaleAuditInput, AfterSaleLogisticsInput } from '../services/after-sale.service.js'
|
||||
import { toHttpResponse } from './controller-response.js'
|
||||
|
||||
type MerchantAfterSaleActionInput = AfterSaleLogisticsInput & {
|
||||
logisticsNo?: string
|
||||
logisticsCompany?: string
|
||||
}
|
||||
|
||||
export const merchantOrderListController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(await merchantService.listOrders(await readJson<MerchantOrderListInput>(request)))
|
||||
})
|
||||
|
||||
export const merchantOrderShipController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(await merchantService.shipOrder(await readJson<MerchantShipInput>(request)))
|
||||
})
|
||||
|
||||
export const merchantAfterSaleListController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(await merchantService.listAfterSales(await readJson<MerchantAfterSaleListInput>(request)))
|
||||
})
|
||||
|
||||
export const merchantAfterSaleAuditController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(await merchantService.auditAfterSale(await readJson<AfterSaleAuditInput>(request)))
|
||||
})
|
||||
|
||||
export const merchantAfterSaleReceiveController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
const body = await readJson<MerchantAfterSaleActionInput>(request)
|
||||
return toHttpResponse(await merchantService.receiveAfterSale(
|
||||
String(body.serviceOrderId || '').trim(),
|
||||
String(body.supplierId || '').trim()
|
||||
))
|
||||
})
|
||||
|
||||
export const merchantAfterSaleShipController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
const body = await readJson<MerchantAfterSaleActionInput>(request)
|
||||
return toHttpResponse(await merchantService.shipExchange(
|
||||
String(body.serviceOrderId || '').trim(),
|
||||
String(body.supplierId || '').trim(),
|
||||
String(body.logisticsNo || body.merchantLogisticsNo || '').trim(),
|
||||
String(body.logisticsCompany || body.merchantLogisticsCompany || '').trim()
|
||||
))
|
||||
})
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
afterSaleService,
|
||||
type AfterSaleApplyInput,
|
||||
type AfterSaleAuditInput,
|
||||
type AfterSaleDetailInput,
|
||||
type AfterSaleListInput,
|
||||
type AfterSaleLogisticsInput
|
||||
} from '../services/after-sale.service.js'
|
||||
@@ -99,6 +100,13 @@ export const afterSaleListController = withErrorBoundary(async (request: Request
|
||||
return toHttpResponse(await afterSaleService.list(await readJson<AfterSaleListInput>(request)))
|
||||
})
|
||||
|
||||
export const afterSaleDetailController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
return toHttpResponse(await afterSaleService.detail(await readJson<AfterSaleDetailInput>(request)))
|
||||
})
|
||||
|
||||
export const afterSaleAuditController = withErrorBoundary(async (request: Request, _context: Context) => {
|
||||
const methodResponse = guardMethod(request, ['POST'])
|
||||
if (methodResponse) return methodResponse
|
||||
|
||||
Reference in New Issue
Block a user