You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
app/lib/models/order_detail_model.dart

420 lines
9.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import 'dart:convert';
/*
* ====================================================
* package :
* author : Created by nansi.
* time : 2019-08-08 15:46
* remark :
* ====================================================
*/
import 'package:json_annotation/json_annotation.dart';
part 'order_detail_model.g.dart';
/*
invoice
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',
`user_id` INT UNSIGNED NOT NULL COMMENT '用户',
`type` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发票类型 0个人 1公司',
`title` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '抬头',
`tax_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '税号',
`created_at` TIMESTAMP,
*/
@JsonSerializable()
class OrderDetailModel extends Object {
String code;
OrderDetail data;
String msg;
OrderDetailModel(
this.code,
this.data,
this.msg,
);
factory OrderDetailModel.fromJson(Map<String, dynamic> srcJson) =>
_$OrderDetailModelFromJson(srcJson);
Map<String, dynamic> toJson() => _$OrderDetailModelToJson(this);
}
@JsonSerializable()
class OrderDetail extends Object {
int id;
int parentId; //分享者id
int userId; //下单者id
int isSubordinate; //是否为上下级
String title; //订单简要标题
double brandCouponTotalAmount; //品牌优惠券抵扣总金额
double universeCouponTotalAmount; // 购物券抵扣总金额
double coinTotalAmount; // 瑞币抵扣总金额
double expressTotalFee; // 总快递费
double goodsTotalAmount; // 商品总金额,
double goodsTotalCommission; // 商品总返还金额
double actualTotalAmount; // 实际支付的金额
int shippingMethod; // 0快递 1自提
String buyerMessage; // 买家留言
int status; // 0未付款 1支付成功 2订单取消 3订单过期 4交易成功 5订单关闭
int expressStatus; // 快递状态 0 没有发货 1部分发货 2全部发货
// int isApplyInvoice;// 是否申请过开票
// int isFinishInvoice;// 是否完成开票 0没有 1完成了
int invoiceStatus; // 开票状态 0 未申请, 1已申请 2已开票
int isAss; // 0正常 1申请过售后
String evaluatedAt; // 评价时间
String createdAt; // 创建时间
String expireTime; // 订单过期时间
String payIp; // 支付时的ip
String tradeNo; // 传递给第三方支付的id凭证
String payTime; // 支付时间
int payMethod; // 支付方式: 0:recookpay 1:微信 2:支付宝 3:零支付 4:小程序支付'
String completedAt; // 交易完成时间
int totalGoodsCount; // 商品总件数
// double actualAmount;
// int shippingMethod;
// String buyerMessage;
// int status;
// String createdAt;
// String evaluatedAt;
// String expireTime;
// String completedAt;
Coupon coupon;
Addr addr;
List<Brands> brands;
// Balance balance;
// Payment payment;
// Invoice invoice;
bool canConfirm;
List<StatusList> statusList;
// String title;
// String subTitle;
OrderDetail(
this.id,
this.parentId,
this.userId,
this.isSubordinate,
this.title,
this.brandCouponTotalAmount,
this.universeCouponTotalAmount,
this.coinTotalAmount,
this.expressTotalFee,
this.goodsTotalAmount,
this.goodsTotalCommission,
this.actualTotalAmount,
this.shippingMethod,
this.buyerMessage,
this.status,
this.expressStatus,
this.invoiceStatus,
this.isAss,
this.evaluatedAt,
this.createdAt,
this.expireTime,
this.payIp,
this.tradeNo,
this.payTime,
this.payMethod,
this.completedAt,
this.totalGoodsCount,
this.coupon,
this.addr,
this.brands,
this.canConfirm,
this.statusList,
);
factory OrderDetail.fromJson(Map<String, dynamic> srcJson) =>
_$OrderDetailFromJson(srcJson);
Map<String, dynamic> toJson() => _$OrderDetailToJson(this);
}
@JsonSerializable()
class Addr extends Object {
int id;
int orderId;
int addressId;
String province;
String city;
String district;
String address;
String receiverName;
String mobile;
Addr(
this.id,
this.orderId,
this.addressId,
this.province,
this.city,
this.district,
this.address,
this.receiverName,
this.mobile,
);
factory Addr.fromJson(Map<String, dynamic> srcJson) =>
_$AddrFromJson(srcJson);
Map<String, dynamic> toJson() => _$AddrToJson(this);
}
@JsonSerializable()
class Brands extends Object {
int brandId;
String brandName;
String brandLogoUrl;
double brandExpressTotalAmount;
double brandGoodsTotalAmount;
int brandGoodsTotalCount;
Coupon coupon;
List<Goods> goods;
Brands(
this.brandId,
this.brandName,
this.brandLogoUrl,
this.brandExpressTotalAmount,
this.brandGoodsTotalAmount,
this.brandGoodsTotalCount,
this.goods,
this.coupon);
factory Brands.fromJson(Map<String, dynamic> srcJson) =>
_$BrandsFromJson(srcJson);
Map<String, dynamic> toJson() => _$BrandsToJson(this);
}
@JsonSerializable()
class Goods extends Object {
int goodsDetailId;
int orderId;
int vendorId; // 供应商ID: 0表示自营
int brandId; // 品牌
String brandName; // 品牌名称
int goodsId; // 商品ID
String goodsName; // 商品名快照
int skuId; // 商品sku_id
String skuName; // SKU名字组合起来
String skuCode; // 条形码或者编码
String mainPhotoUrl; // 主图快照 先读sku 没有则读取主图
int quantity; // 商品数量
String promotionName; // 活动名称
double unitPrice; // 单价
double totalCommission; // 提成总额
double brandCouponAmount; // 品牌优惠券抵扣金额
double universeBrandCouponAmount; // 购物券抵扣金额
double coinAmount; // 瑞币抵扣金额
double goodsAmount; // 商品总金额 单价x数量不含其他费用减除
double expressFee; // 快递费
double actualAmount; // 实际支付的金额
int expressStatus;
String expressCompName;
String expressCompCode;
String expressNo;
int assType; //售后类型 0无 1退款 2退货退款
int refundStatus; // 0无申请退款的记录 1退款中 2退款成功
int returnStatus; // 0正常1等待商家审核 2审核被拒绝 3审核成功 4买家已填写退货物流信息 5收到退货确认退款完成 6退货被拒绝
String returnReason; // 买家退货理由
String returnRejectReason;
bool selected;
String rStatus;
int isClosed;
int asId;
Goods(
this.goodsDetailId,
this.orderId,
this.vendorId,
this.brandId,
this.brandName,
this.goodsId,
this.goodsName,
this.skuId,
this.skuName,
this.skuCode,
this.mainPhotoUrl,
this.quantity,
this.promotionName,
this.unitPrice,
this.totalCommission,
this.brandCouponAmount,
this.universeBrandCouponAmount,
this.coinAmount,
this.goodsAmount,
this.expressFee,
this.actualAmount,
this.expressStatus,
this.expressCompName,
this.expressCompCode,
this.expressNo,
this.assType,
this.refundStatus,
this.returnStatus,
this.returnReason,
this.returnRejectReason,
this.selected,
this.rStatus,
this.isClosed,
this.asId) {
this.selected = false;
}
// Goods(this.id,
// this.orderId,
// this.brandDetailId,
// this.selected) {
// this.selected = false;
// }
factory Goods.fromJson(Map<String, dynamic> srcJson) =>
_$GoodsFromJson(srcJson);
Map<String, dynamic> toJson() => _$GoodsToJson(this);
}
@JsonSerializable()
class Balance extends Object {
int id;
int orderId;
double deductedAmount;
Balance(
this.id,
this.orderId,
this.deductedAmount,
);
factory Balance.fromJson(Map<String, dynamic> srcJson) =>
_$BalanceFromJson(srcJson);
Map<String, dynamic> toJson() => _$BalanceToJson(this);
}
@JsonSerializable()
class Payment extends Object {
String tradeNo;
int method;
double amount;
int status;
String createdAt;
String completeTime;
String expireTime;
Payment(this.tradeNo, this.method, this.amount, this.status, this.createdAt,
this.completeTime, this.expireTime);
factory Payment.fromJson(Map<String, dynamic> srcJson) =>
_$PaymentFromJson(srcJson);
Map<String, dynamic> toJson() => _$PaymentToJson(this);
}
@JsonSerializable()
class Invoice extends Object {
int id;
int userId;
int type;
String title;
String taxNo;
String createdAt;
Invoice(
this.id, this.userId, this.type, this.title, this.taxNo, this.createdAt);
factory Invoice.fromJson(Map<String, dynamic> srcJson) =>
_$InvoiceFromJson(srcJson);
Map<String, dynamic> toJson() => _$InvoiceToJson(this);
}
@JsonSerializable()
class Coupon extends Object {
int id;
int brandId;
int scope;
String couponName; //'使用的优惠券名称'
double deductedAmount; //'抵扣的金额',
Coupon(
this.id,
this.brandId,
this.scope,
this.couponName,
this.deductedAmount,
);
factory Coupon.fromJson(Map<String, dynamic> srcJson) =>
_$CouponFromJson(srcJson);
Map<String, dynamic> toJson() => _$CouponToJson(this);
}
@JsonSerializable()
class StatusList extends Object{
int goodsId;
int status;
StatusList({this.goodsId, this.status});
StatusList.fromJson(Map<String, dynamic> json) {
goodsId = json['goods_id'];
status = json['status'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['goods_id'] = this.goodsId;
data['status'] = this.status;
return data;
}
Map<String, dynamic> toMap() {
return {
'goodsId': goodsId,
'status': status,
};
}
factory StatusList.fromMap(Map<String, dynamic> map) {
return StatusList(
goodsId: map['goodsId'],
status: map['status'],
);
}
}