package com.hz.his.dto.order;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单信息
 * @author wzh
 */
@Data
public class OrderItemDto {

    /** id */
    private String id;

    /** 订单编号,以SO)开头, SOyyyyMMdd0000000 */
    private String orderNo;
    /** 商品类型(OrderItemConstants) crm填默认project,充值就填recharge,纯商品订单填retail零售, 必填*/
    private String type;

    /** 项目编号/商品编码/套餐编码/其他编码 */
    private String goodsNo;
    /** 项目名称/商品名称 */
    private String goodsName;
    /** 项目主图/商品图片 */
    private String goodsImage;
    /** 规格,冗余字段(格式:[{'specsId':‘规格标识’,'specsTitle':'规格名称,'specsValue':'规格值','unit':'单位'}]) */
    private String specs = "[]";
    /** 身体部位标识 */
    private String bodyPartsId;
    /** 身体部位名称 */
    private String bodyPartsName;

    /** 支付状态(OrderTotalConstants) */
    private Integer payStatus;

    /** 退款状态 */
    private Integer refundStatus;

    /** 订单总金额 */
    private BigDecimal total;
    /** 实付金额 */
    private BigDecimal actualTotal;
    /** 原价 */
    private BigDecimal userPaidTotal;
    /** 原价 */
    private BigDecimal oriPrice;
    /** 现价 */
    private BigDecimal curPrice;
    /** 项目/商品疗程单次数(疗程次数,默认为0) */
    private Integer single;

    /** 折扣(单位:百分比) 必填,默认100*/
    private BigDecimal discount;

    /** 总次数(疗程次数,默认为0) */
    private Integer usedTotal;

    /** 购买数量 必填,默认0*/
    private Integer buyNum;

    /** 子项订单备注 */
    private String remarks;

    /** 项目id/商品id/套餐标识/其他标识(公用标识) 必填*/
    private String commonId;
    /** 执行条目ID */
    private String performId;
    /** 订单id(OrdersTotal) */
    private String orderId;

    /** 卡包标识(UserCard) */
    private String userCardId;

    /** 转入门店id */
    private String transferIntoShopId;

    /** 转入门店名称 */
    private String transferIntoShopName;

    /** 是否转疗 */
    private Integer isTransfer;

    /** 是否转赠 */
    private Integer isTurn;
    /** 平台类型(艾心荟、p-his、其他,crm默认crm) */
    private String platformType=TYPE_PLATFORM_CRM;
    /** 平台类型关联商品id 在phis下单crm商品必填*/
    private String platformTypeId;

    /** 卡包标识 */
    private List<CardItemInfoDto> cardItemInfoIds;

    /** 第三方item标识 */
    private String commonItemId;



    /**平台类型-CRM*/
    public static String  TYPE_PLATFORM_CRM= "crm";
    /**平台类型-CRM*/
    public static String  TYPE_PLATFORM_PHIS= "p-his";
}