package com.haha.service.payment.payscore;

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

/**
 * 支付分 - 创建服务订单请求
 */
@Data
public class PayScoreCreateRequest {
    
    /**
     * 商户服务订单号
     */
    private String outOrderNo;
    
    /**
     * 服务信息描述（不超过20字符）
     */
    private String serviceIntroduction;
    
    /**
     * 用户OpenID
     */
    private String openId;
    
    /**
     * 风险金名称: DEPOSIT(押金)/ADVANCE(预付款)/CASH_DEPOSIT(保证金)
     */
    private String riskFundName;
    
    /**
     * 风险金额（元）
     */
    private BigDecimal riskFundAmount;
    
    /**
     * 后付费项目列表
     */
    private List<PostPayment> postPayments;
    
    /**
     * 服务开始时间（yyyyMMddHHmmss 或 OnAccept）
     */
    private String startTime;
    
    /**
     * 服务结束时间（yyyyMMddHHmmss）
     */
    private String endTime;
    
    /**
     * 服务开始设备ID（充电桩SN，必传）
     */
    private String startDeviceId;
    
    /**
     * 服务结束设备ID
     */
    private String endDeviceId;
    
    /**
     * 商户自定义数据（需urlencode，不超过256字符）
     */
    private String attach;
    
    /**
     * 后付费项目
     */
    @Data
    public static class PostPayment {
        
        /**
         * 付费名称（不超过20字符）
         */
        private String name;
        
        /**
         * 付费金额（元），大于等于0
         */
        private BigDecimal amount;
        
        /**
         * 付费说明（不超过30字符）
         */
        private String description;
        
        /**
         * 付费数量 [1,100]
         */
        private Integer count;
    }
}
