import { ApiProperty } from '@midwayjs/swagger'; import { Category } from '../entity/category.entity'; import { Order } from '../entity/order.entity'; import { Product } from '../entity/product.entty'; import { StockPoint } from '../entity/stock_point.entity'; import { PaginatedWrapper } from '../utils/paginated-response.util'; import { SuccessArrayWrapper, SuccessWrapper, } from '../utils/response-wrapper.util'; import { OrderStatusCountDTO } from './order.dto'; import { SiteConfig } from './site.dto'; import { PurchaseOrderDTO, StockDTO, StockRecordDTO } from './stock.dto'; import { LoginResDTO } from './user.dto'; import { WpProductDTO } from './wp_product.dto'; import { OrderSale } from '../entity/order_sale.entity'; import { Service } from '../entity/service.entity'; import { RateDTO } from './freightcom.dto'; import { ShippingAddress } from '../entity/shipping_address.entity'; import { OrderItem } from '../entity/order_item.entity'; import { OrderRefundItem } from '../entity/order_retund_item.entity'; import { OrderNote } from '../entity/order_note.entity'; import { PaymentMethodDTO } from './logistics.dto'; import { Flavors } from '../entity/flavors.entity'; import { Strength } from '../entity/strength.entity'; export class BooleanRes extends SuccessWrapper(Boolean) {} //网站配置返回数据 export class WpSitesResponse extends SuccessArrayWrapper(SiteConfig) {} //产品分页数据 export class ProductPaginatedResponse extends PaginatedWrapper(Product) {} //产品分页返回数据 export class ProductListRes extends SuccessWrapper(ProductPaginatedResponse) {} //产品返回数据 export class ProductRes extends SuccessWrapper(Product) {} export class ProductsRes extends SuccessArrayWrapper(Product) {} //产品分类返分页数据 export class CategoryPaginatedResponse extends PaginatedWrapper(Category) {} export class FlavorsPaginatedResponse extends PaginatedWrapper(Flavors) {} export class StrengthPaginatedResponse extends PaginatedWrapper(Strength) {} //产品分类返分页返回数据 export class ProductCatListRes extends SuccessWrapper( CategoryPaginatedResponse ) {} //产品分类返所有数据 export class ProductCatAllRes extends SuccessArrayWrapper(Category) {} //产品分类返回数据 export class ProductCatRes extends SuccessWrapper(Category) {} //产品分页数据 export class WpProductPaginatedResponse extends PaginatedWrapper( WpProductDTO ) {} //产品分页返回数据 export class WpProductListRes extends SuccessWrapper( WpProductPaginatedResponse ) {} export class LoginRes extends SuccessWrapper(LoginResDTO) {} export class StockPaginatedRespone extends PaginatedWrapper(StockDTO) {} export class StockListRes extends SuccessWrapper(StockPaginatedRespone) {} export class StockRecordPaginatedRespone extends PaginatedWrapper( StockRecordDTO ) {} export class StockRecordListRes extends SuccessWrapper( StockRecordPaginatedRespone ) {} export class StockPointAllRespone extends SuccessArrayWrapper(StockPoint) {} export class StockPointPaginatedRespone extends PaginatedWrapper(StockPoint) {} export class StockPointListRes extends SuccessWrapper( StockPointPaginatedRespone ) {} export class PurchaseOrderPaginatedRespone extends PaginatedWrapper( PurchaseOrderDTO ) {} export class PurchaseOrderListRes extends SuccessWrapper( PurchaseOrderPaginatedRespone ) {} export class OrderStatusCountRes extends SuccessArrayWrapper( OrderStatusCountDTO ) {} export class OrderPaginatedRespone extends PaginatedWrapper(Order) { @ApiProperty({ type: OrderStatusCountDTO, isArray: true }) count: OrderStatusCountDTO; } export class OrderListRes extends SuccessWrapper(OrderPaginatedRespone) {} export class OrderSaleDTO extends OrderSale { @ApiProperty() totalQuantity: number; } export class OrderSalePaginatedRespone extends PaginatedWrapper(OrderSaleDTO) {} export class OrderSaleListRes extends SuccessWrapper( OrderSalePaginatedRespone ) {} export class ServiceListRes extends SuccessArrayWrapper(Service) {} export class RateLitRes extends SuccessArrayWrapper(RateDTO) {} export class ShippingAddressListRes extends SuccessArrayWrapper( ShippingAddress ) {} export class OrderDetail extends Order { @ApiProperty({ type: OrderItem, isArray: true }) items: OrderItem[]; @ApiProperty({ type: OrderSale, isArray: true }) sales: OrderSale[]; @ApiProperty({ type: OrderRefundItem, isArray: true }) refundItems: OrderRefundItem[]; // @ApiProperty({ type: Tracking, isArray: true }) // trackings: Tracking[]; @ApiProperty({ type: OrderNote, isArray: true }) notes: OrderNote[]; } export class OrderDetailRes extends SuccessWrapper(OrderDetail) {} export class PaymentMethodListRes extends SuccessArrayWrapper( PaymentMethodDTO ) {}