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

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'],
);
}
}