All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.binarywang.wxpay.bean.entpay.EntPayRedpackRequest Maven / Gradle / Ivy

The newest version!
package com.github.binarywang.wxpay.bean.entpay;

import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.*;
import me.chanjar.weixin.common.annotation.Required;

import java.util.Map;

/**
 * 发送企业红包
 *
 * @author wuyong
 * created on  2019-12-1
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("xml")
public class EntPayRedpackRequest extends BaseWxPayRequest {

  private static final long serialVersionUID = 1L;

  @Override
  protected void checkConstraints() throws WxPayException {

  }

  /**
   * 商户订单号(每个订单号必须唯一)
   * 组成:mch_id+yyyymmdd+10位一天内不能重复的数字。  接口根据商户订单号支持重入,如出现超时可再调用。
   * 必填:是
   */
  @Required
  @XStreamAlias("mch_billno")
  private String mchBillNo;

  /**
   * 微信分配的公众账号ID(企业微信corpid即为此appId)
   * 必填:是
   */
  @Required
  @XStreamAlias("wxappid")
  private String wxAppId;

  /**
   * 发送者名称
   * 以个人名义发红包,红包发送者名称(需要utf-8格式)。与agentid互斥,二者只能填一个。
   * 必填:否
   */
  @XStreamAlias("sender_name")
  private String senderName;

  /**
   * 发送红包的应用id
   * 以企业应用的名义发红包,企业应用id,整型,可在企业微信管理端应用的设置页面查看。与sender_name互斥,二者只能填一个。
   * 必填:否
   */
  @XStreamAlias("agentid")
  private String agentId;

  /**
   * 发送者头像
   * 发送者头像素材id,通过企业微信开放上传素材接口获取
   * 必填:否
   */
  @XStreamAlias("sender_header_media_id")
  private String senderHeaderMediaId;

  /**
   * 用户openid
   * 接受红包的用户.用户在wxappid下的openid。
   * 必填:是
   */
  @Required
  @XStreamAlias("re_openid")
  private String reOpenid;

  /**
   * 金额
   * 单位分,单笔最小金额默认为1元
   * 必填:是
   */
  @Required
  @XStreamAlias("total_amount")
  private Integer totalAmount;

  /**
   * 红包祝福语
   * 必填:是
   */
  @Required
  @XStreamAlias("wishing")
  private String wishing;

  /**
   * 项目名称
   * 必填:是
   */
  @Required
  @XStreamAlias("act_name")
  private String actName;

  /**
   * 备注
   * 必填:是
   */
  @Required
  @XStreamAlias("remark")
  private String remark;

  /**
   * 场景
   * 发放红包使用场景,红包金额大于200时必传
   * PRODUCT_1:商品促销
   * PRODUCT_2:抽奖
   * PRODUCT_3:虚拟物品兑奖
   * PRODUCT_4:企业内部福利
   * PRODUCT_5:渠道分润
   * PRODUCT_6:保险回馈
   * PRODUCT_7:彩票派奖
   * PRODUCT_8:税务刮奖
   */
  @XStreamAlias("scene_id")
  private String sceneId;


  @Override
  protected boolean ignoreAppid() {
    return true;
  }

  @Override
  protected boolean ignoreSubAppId() {
    return true;
  }

  @Override
  protected boolean ignoreSubMchId() {
    return true;
  }

  @Override
  protected boolean isWxWorkSign() {
    return true;
  }

  @Override
  protected String[] getIgnoredParamsForSign() {
    return new String[]{"sign_type"};
  }

  @Override
  protected void storeMap(Map map) {
    map.put("mch_billno", mchBillNo);
    map.put("wxappid", wxAppId);
    map.put("sender_name", senderName);
    map.put("agentid", agentId);
    map.put("sender_header_media_id", senderHeaderMediaId);
    map.put("re_openid", reOpenid);
    map.put("total_amount", totalAmount.toString());
    map.put("wishing", wishing);
    map.put("act_name", actName);
    map.put("remark", remark);
    map.put("scene_id", sceneId);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy