package cn.pluss.platform.jty;

import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.jty.constant.JtyConstant;
import cn.pluss.platform.util.StringUtil;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.UUID;

/**
 * TODO
 * 佳天亿音箱播报参数封装
 * @author crystal
 * @date 2022/3/17 15:32
 */
@Data
@NoArgsConstructor
public class JtyYxPayNotice {

    /**
     * 设备号
     */
    private String deviceNum;

    /**
     * 通知类型，1001(普通文本);1002(支付成功消息);1003(支付失败消息)
     */
    private String noticeType;
    /**
     * 支付方式
     * 10001	支付宝
     * 10002	微信
     * 10003	收银呗
     */
    private String payType;

    /**
     * 对应产品编码
     */
    private String productNum;

    /**
     * 支付金额单位元
     */
    private BigDecimal payAmount;

    /**
     * 请求唯一标识
     */
    private String requestId;

    public JtyYxPayNotice(String deviceNum, String type, BigDecimal payAmount) {
        this.deviceNum = deviceNum;
        String noticeType = JtyNoticeEnum.getConverCode(type);
        if(StringUtil.isEmpty(noticeType)){
            MsgException.throwException("消息类型配置异常");
        }
        this.noticeType = noticeType;
        this.payAmount = payAmount;
        this.requestId = UUID.randomUUID().toString();
        this.payType = "1003";
        this.productNum = JtyConstant.PRODUCT_REQ_NUM;
    }
}
