package com.hz.his.dto.order; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 总订单 * @author wzh */ @Data public class OrdersTotalDto { /** 订单id */ private String id; /** 订单编号,以S开头, SyyyyMMdd0000000(前缀从字典获取) */ private String orderNo; /** 订单类型(OrderTotalConstants),crm填默认project,充值就填recharge,纯商品订单填retail零售, 必填*/ private String type; /** 状态(OrderTotalConstants) */ private Integer status; /** 支付状态(OrderTotalConstants) */ private Integer payStatus; /** 支付时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date payTime; /** 退款状态 */ private Integer refundStatus; /** 取消时间/作废时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date cancelTime; /** 订单总金额,以元为存储(全部金额,包括优惠价格) */ private BigDecimal total; /** 应付总金额,以元为存储(payTotal+其他支付模式) */ private BigDecimal shouldTotal; /** 已支付总金额,以元为存储(payTotal+其他支付模式) */ private BigDecimal actualTotal; /** 已支付现金金额(微信/支付宝支付/其他),以元为存储 默认:0 */ private BigDecimal payTotal; /** 已支付储值金金额 默认:0 */ private BigDecimal payRecharge; /** 已支付增值金金额 默认:0 */ private BigDecimal payIncrement; /** 优惠金额,以元为存储 */ private BigDecimal discountTotal; /** 活动规则优惠总金额 */ private BigDecimal activityTotal; /** 赠送金额 */ private BigDecimal givingAmount; /** 赠送金额类型(GivingAmountType) */ private String givingType; /** 所属门店标识(Shop)(操作人的门店名称) */ private String shopId; /** 所属门店名称(操作人的门店名称) */ private String shopName; /** 操作类型(0:系统管理员,1:员工,3:第三方平台) */ private Integer operatorType; /** 下单操作人标识(Employee) */ private String operatorId; /** 下单操作人名称 */ private String operatorName; /** 开发人门店标识(Shop,没有传值默认用户绑定销售顾问的门店) 必填*/ private String developerShopId; /** 开发人门店名称(没有传值默认用户绑定销售顾问的门店) */ private String developerShopName; /** 开发人标识(Shop,没有传值默认用户绑定销售顾问的标识) 必填,三少说,crm就填用户*/ private String developerId; /** 开发人名称(没有传值默认用户绑定销售顾问的名称) 必填,三少说,crm就填用户*/ private String developerName; /*平台来源**/ /** 来源应用appId(创建订单平台,系统默认) 必填*/ private String appId; /** 来源应用编码(商户设置平台编码,系统默认,代码必填) 必填*/ private String appIdCode; /*销售订单来源,销售可以选择*/ /** 订单来源代码(默认:应用appId) * 销售平台编码,例如:淘宝,在电商平台设置里面,在第三方平台配置,必填,crm默认填crm * */ private String sourceCode; /** 订单来源名称(冗余) ,必填,rm默认填crm*/ private String sourceName; /** 第三方订单号 crm必填,填crm的订单号*/ private String sourceOrderNo; /** 兑换码(第三方兑换码) */ private String conversionCode; /** 订单渠道来源类型(OrderTotalConstants) */ private String channelType; /** 订单渠道标识(渠道/用户) crm必填,三少说 */ private String commonId; /** 订单渠道来源名称(渠道/用户) */ private String commonName; /** 科室编码 */ private String departmentCode; /** 科室名称 */ private String departmentName; /** 美容师标识 */ private String beauticianId; /** 美容师名称 */ private String beauticianName; /** 医生标识 */ private String doctorId; /** 医生名称 */ private String doctorName; /** 同步状态0否1是 ,必填,如果要同步到领建必填1,否则0*/ private int hisSynStatus; /** 同步his订单号 */ private String hisOrderId; /** 预约订单标识 */ private String appointmentId; /** 剩余储值金,以元保留2位小数为单位存储加密后的字符串 */ private String storedValueFund; /** 剩余增值金,以元保留2位小数为单位存储加密后的字符串 */ private String valueAddedFund; /** 剩余积分,以元保留2位小数为单位存储加密后的字符串 */ private String integral; /** 会员等级 */ private String userLevel; /** CID */ private String CIQ; /** 订单备注 */ private String remarks; /** 订单推荐人标识 crm必填,三少说*/ private String inviteeId; /** 订单推荐人名称(冗余) crm必填,三少说*/ private String inviteeName; /** 订单推荐人所属类型(UserChannelType) */ private String userBelongingType; /** 用户Id 必填*/ private String userId; /** 同步状态(OrderTotalConstants) */ private Integer syncStatus; /** 康博佳标识(KoapOrderTotal) */ private String koapOrderId; private OrderInfoDto orderInfo; private List activityIds; }