CNLiveShopBaseModel.swift 10.5 KB
//
//  CNLiveShopBaseModel.swift
//  metaCode
//
//  Created by open on 2023/10/31.
//

import Foundation
import HandyJSON
//!!!: /api/v1/orders或者/api/v1/refundList数据返回
class ShopOrderListModel: BaseModel {

    var isRefund: String? = "" // 是不是在退款界面 1是退款界面  2不是退款界面
    var title: String? = "" //  退款名称
    var status: String? = "" // state = 2 && status = 1 等待邮寄   state= 2 && status = 2  同意退款
    var id: String? = "" //  订单id && 退款单号
    var uid: String? = "" //  用户id
    var price: String? = "" //  金额 && 申请退款的金额
    var addtime: String? = "" //  下单时间 &&  申请时间戳
    var state: String? = "" //  状态 1待付款 2待发货 3待收货 4已完成 5已取消 6已退款  &&  通过两个字段判断状态 state=1 申请中  state=3  已拒绝 state=5 已撤销  state = 2 时候要在判断status
    var orderid: String? = "" //  付款订单号
    var buytime: String? = "" //  支付时间
    var finishtime: String? = "" //  完成时间
    var sendtime: String? = "" //  发货时间
    var is_tui: String? = "" //   2为退款中
    var delivery: String? = "" //   配送方式 1配送 2门店自提,
    var address_name: String? = "" //  地址名称 或者 店铺名称
    var address_address: String? = "" //  地址
    var address_phone: String? = "" //  电话
    var ems: String? = "" //   配送费用
    var payment: String? = "" //   支付方式 1支付宝 2微信 3银联
    var content: String? = "" //   订单备注  取消状态为 取消理由
    var user_phone: String? = "" //   用户手机号
    var express_id: String? = "" //   快递公司编号
    var express_num: String? = "" //   快递号
    var express_state: String? = "" //   2在途 3签收
    var order_detail = [ShopOrderListGoodsModel]() //   商品
    var is_send: String? = "" //   state为3时 is_send为 0时为部分发货 1已发货
    var send_num: Int = 0 //   发货数量
    
    override func mapping(mapper: HelpingMapper) {
        mapper <<<
            self.addtime <-- TransformOf(fromJSON: { (raw) -> String in
                if raw!.count > 0 {
                    let date = NSDate(timeIntervalSince1970: TimeInterval(raw!)!)
                    let dateFormatter = DateFormatter()
                    dateFormatter.locale = Locale.init(identifier: "zh_CN")
                    dateFormatter.dateFormat = "YYYY-MM-dd hh:mm"
                    return dateFormatter.string(from: date as Date)
                }
                return raw!
            }, toJSON: { (tuple) -> String? in
                return tuple
            })
    }
}

//!!!: /api/v1/order数据返回
class ShopOrderDetailModel: BaseModel {

    var id: String? = "" //  订单id && 退款单号
    var uid: String? = "" //   用户id
    var price: String? = "" //   金额
    var addtime: String? = "" //   下单时间
    var state: String? = "" //   状态 1待付款 2待发货 3待收货 4已完成 5已取消 6已退款
    var orderid: String? = "" //  付款订单号
    var buytime: String? = "" //   支付时间
    var finishtime: String? = "" //   完成时间
    var sendtime: String? = "" //   发货时间
    var is_tui: String? = "" //   2为退款中
    var delivery: String? = "" //  配送方式 1配送 2门店自提,
    var address_name: String? = "" //   地址名称 或者 店铺名称
    var address_address: String? = "" //   地址
    var address_phone: String? = "" //   电话
    var ems: String? = "" //   配送费用
    var pay_price: String? = "" //   实际支付金额
    var yunfei_fee: String? = "" //   配送费用
    var coupon_price: String? = "" //  优惠金额
    var coupon_type: String? = "" //   优惠类型(coupon_price > 0) 判断 1为平台优惠券 0为店铺类型
    var payment: String? = "" //   支付方式 1支付宝 2微信 3银联 4网家家支付 5货到付款
    var content: String? = "" //   订单备注  取消状态为 取消理由
    var user_phone: String? = "" //   用户手机号
    var express_id: String? = "" //   快递公司编号
    var express_num: String? = "" //   快递号
    var express_state: String? = "" //   2在途 3签收
    var order_detail = [ShopOrderListGoodsModel]() //   商品
    var username: String? = "" //  用户名
    var is_send: String? = "" //   是否拆单,state = 3时判断
    var send_num: Int = 0 //   物流数量
    var refund_num: String? = "" //   已经退款数量
    var is_send_all: Bool = true //  是否是全部发货,这是自己设置的属性
    
    override func mapping(mapper: HelpingMapper) {
        mapper <<<
            self.addtime <-- TransformOf(fromJSON: { (raw) -> String in
                if raw!.count > 0 {
                    let date = NSDate(timeIntervalSince1970: TimeInterval(raw!)!)
                    let dateFormatter = DateFormatter()
                    dateFormatter.locale = Locale.init(identifier: "zh_CN")
                    dateFormatter.dateFormat = "YYYY-MM-dd hh:mm:SS"
                    return dateFormatter.string(from: date as Date)
                }
                return raw!
            }, toJSON: { (tuple) -> String? in
                return tuple
            })
    }
}

//!!!: /api/v1/refundById & /api/v1/refund 接口返回
class ShopOrderRefundModel: BaseModel {
    var id: String? = "" //清单id
    var type: String? = "" // 退款单id
    var title: String? = "" // 1 普通 2 售后
    var orderid: String? = "" // 退款原因
    var uid: String? = "" // 订单id
    var addtime: String? = "" // 申请时间
    var statetime: String? = "" //同意申请时间
    var state: String? = "" //1申请中 2同意申请 3拒绝 5用户撤销申请'
    var status: String? = "" //1 申请中 2完成退款  (判断 state == 2 && status == 1 为 已同意申请  state == 2 && status == 2 为完成退款)
    var content: String? = "" //详细说明
    var price: String? = "" //金额
    var tui_mode: String? = "" // 类型 1退款退货 2仅退款
    var refundtime: String? = "" // 确认退款或者拒绝退款时间
    var return_time: String? = "" // 放款时间
    var img = [String]() //退款图片地址
    var desc: String? = "" // 商家同意或拒绝原因
    var express: String? = "" // 快递名称
    var express_num: String? = "" // 快递单号
    var num: Int = 0 // 总数
    var with_order_detail = [ShopOrderListGoodsModel]() // 订单商品列表
    var username: String? = "" //用户名
    
    override func mapping(mapper: HelpingMapper) {
        mapper <<<
            self.addtime <-- TransformOf(fromJSON: { (raw) -> String in
                if raw!.count > 0 {
                    let date = NSDate(timeIntervalSince1970: TimeInterval(raw!)!)
                    let dateFormatter = DateFormatter()
                    dateFormatter.locale = Locale.init(identifier: "zh_CN")
                    dateFormatter.dateFormat = "YYYY-MM-dd hh:mm:SS"
                    return dateFormatter.string(from: date as Date)
                }
                return raw!
            }, toJSON: { (tuple) -> String? in
                return tuple
            });
        mapper <<<
            self.statetime <-- TransformOf(fromJSON: { (raw) -> String in
                if raw!.count > 0 {
                    let date = NSDate(timeIntervalSince1970: TimeInterval(raw!)!)
                    let dateFormatter = DateFormatter()
                    dateFormatter.locale = Locale.init(identifier: "zh_CN")
                    dateFormatter.dateFormat = "YYYY-MM-dd hh:mm:SS"
                    return dateFormatter.string(from: date as Date)
                }
                return raw!
            }, toJSON: { (tuple) -> String? in
                return tuple
            });
        mapper <<<
            self.refundtime <-- TransformOf(fromJSON: { (raw) -> String in
                if raw!.count > 0 {
                    let date = NSDate(timeIntervalSince1970: TimeInterval(raw!)!)
                    let dateFormatter = DateFormatter()
                    dateFormatter.locale = Locale.init(identifier: "zh_CN")
                    dateFormatter.dateFormat = "YYYY-MM-dd hh:mm:SS"
                    return dateFormatter.string(from: date as Date)
                }
                return raw!
            }, toJSON: { (tuple) -> String? in
                return tuple
            });
    }
}

class ShopOrderListGoodsModel: BaseModel {

    var id: String? = "" //清单id
    var price: Float? = 0.00 //    价格 &&  申请退款的金额
    var prices: Float? = 0.00 //   原价
    var simg: String? = "" //   图片
    var title: String? = "" //    名称 &&  主标题
    var ads: String? = "" //    副标题
    var num: Int? = 0 //   数量
    var goods_id: String? = "" //  商品id
    var coupon_price: String? = "" //  优惠金额
    var selectNum: Int? = 0 //  选中发货数量
    var send_num: Int? = 0//  剩余未发货数量
    var refund_num: Int? = 0 //  退款成功数量
    var username: String? = "" //  用户名
    
    var select: Bool = false // 商品是否被选中
}

//!!!: 快递公司model
class ShopOrderExpressModel: BaseModel {
    var id: String? = ""// 快递公司id
    var com: String? = ""// 名称
    var no: String? = ""// 编号
    var tel: String? = ""// 电话
    var simg: String? = ""// logo
    var address: String? = ""// 收货地址
    var state: String? = ""// 3为已完成 其他为运输中
}

//!!!: 店铺model
class ShopOrderStoreModel: BaseModel {
    var id: String? = ""//  店铺id
    var title: String? = ""// 名称
    var address: String? = ""// 地址
    var phone: String? = ""// 电话
    var longitude: String? = ""// 经度
    var latitude: String? = ""// 维度
    var state: String? = ""// 状态
}

//!!!: 多物流数据源
class ShopOrderExpressListModel: BaseModel {
    var id: String? = ""//  发货单id
    var order_id: String? = ""//  订单id
    var express: String? = ""// 快递名称
    var express_num: String? = ""//  快递单号
    var simg: String? = ""//  快递logo
    var detail_goods = [ShopOrderListGoodsModel]()//  发货单内商品
    var expressNew = ShopOrderExpressDetailDateModel()// 快递信息
}
//!!!: 物流详情数据
class ShopOrderExpressDetailModel: BaseModel {
    var express = ShopOrderExpressModel()// 快递公司信息
    var data = [ShopOrderExpressDetailDateModel]()// 数据
}

//!!!: 物流详情数据
class ShopOrderExpressDetailDateModel: BaseModel {
    var AcceptTime: String? = ""//  时间
    var AcceptStation: String? = ""// 内容
    var accept_time: String? = ""//   时间戳
}