package com.ruoyi.system.wxPay.model; import lombok.*; import java.util.List; /** * @author xiaochen * @ClassName WxPaymentInfoModel * @Description */ @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public class WxPaymentInfoModel { /** * 合单商户appid */ private String combine_appid; /** * 合单商户号 */ private String combine_mchid; /** * 合单商户订单号 */ private String combine_out_trade_no; /** * 合单--子单信息 */ private List sub_orders; /** * 合单--支付者 */ private CombinePayerInfo combine_payer_info; private String appid; private String sp_appid; private String mchid; private String sp_mchid; private String sub_appid; private String sub_mchid; private String description; private String out_trade_no; private String time_expire; private String attach; private String notify_url; private String goods_tag; private SettleInfo settle_info; private Amount amount; private Payer payer; private Detail detail; private SceneInfo scene_info; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class SettleInfo { private Boolean profit_sharing; private Integer subsidy_amount; } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class Amount { private Integer total; /** * 合单支付时需要 */ private Integer total_amount; @Builder.Default private String currency = "CNY"; } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class Payer { private String openid; private String sp_openid; private String sub_openid; } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class Detail { private int cost_price; private String invoice_id; private List goods_detail; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class GoodsDetail { private String merchant_goods_id; private String wechatpay_goods_id; private String goods_name; private int quantity; private int unit_price; } } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class SceneInfo { private String payer_client_ip; private String device_id; private StoreInfo store_info; private H5Info h5_info; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class StoreInfo { private String id; private String name; private String area_code; private String address; } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class H5Info { private String type; private String app_name; private String app_url; private String bundle_id; private String package_name; } } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class SubOrders { private String out_trade_no; private Amount amount; private String mchid; private String sub_mchid; private String attach; private String description; private String goods_tag; private SettleInfo settle_info; } @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @ToString public static class CombinePayerInfo { private String openid; } }