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

com.github.binarywang.wxpay.bean.entwxpay.EntWxEmpPayRequest Maven / Gradle / Ivy

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

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;

/**
 * Created on 2020/11/29.
 * 向员工付款请求对象
 * @author 拎小壶冲
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("xml")
public class EntWxEmpPayRequest extends BaseWxPayRequest {
  private static final long serialVersionUID = -3677217123742740648L;

  /**
   * 
   * 字段名:商户订单号.
   * 变量名:partner_trade_no
   * 是否必填:是
   * 示例值:10000098201411111234567890
   * 类型:String
   * 描述:商户订单号
   * 
*/ @Required @XStreamAlias("partner_trade_no") private String partnerTradeNo; /** *
   * 字段名:需保持唯一性 用户openid.
   * 变量名:openid
   * 是否必填:是
   * 示例值:oxTWIuGaIt6gTKsQRLau2M0yL16E
   * 类型:String
   * 描述:商户appid下,某用户的openid
   * 
*/ @Required @XStreamAlias("openid") private String openid; /** *
   * 字段名:设备号.
   * 变量名:device_info
   * 是否必填:否
   * 示例值:13467007045764
   * 类型:String(32)
   * 描述:微信支付分配的终端设备号
   * 
*/ @XStreamAlias("device_info") private String deviceInfo; /** *
   * 字段名:校验用户姓名选项.
   * 变量名:check_name
   * 是否必填:是
   * 示例值:OPTION_CHECK
   * 类型:String
   * 描述:NO_CHECK:不校验真实姓名 
   * FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账) 
   * OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
   * 
*/ @Required @XStreamAlias("check_name") private String checkName; /** *
   * 字段名:收款用户姓名.
   * 变量名:re_user_name
   * 是否必填:可选
   * 示例值:马花花
   * 类型:String
   * 描述:收款用户真实姓名。
   * 如果check_name设置为FORCE_CHECK或OPTION_CHECK,  则必填用户真实姓名
   * 
*/ @XStreamAlias("re_user_name") private String reUserName; /** *
   * 字段名:金额.
   * 变量名:amount
   * 是否必填:是
   * 示例值:10099
   * 类型:int
   * 描述:企业付款金额, 单位为分
   * 
*/ @Required @XStreamAlias("amount") private Integer amount; /** *
   * 字段名:企业付款描述信息.
   * 变量名:desc
   * 是否必填:是
   * 示例值:理赔
   * 类型:String
   * 描述:企业付款操作说明信息。必填。
   * 
*/ @Required @XStreamAlias("desc") private String description; /** *
   * 字段名:Ip地址.
   * 变量名:spbill_create_ip
   * 是否必填:是
   * 示例值:192.168.0.1
   * 类型:String(32)
   * 描述:调用接口的机器Ip地址
   * 
*/ @Required @XStreamAlias("spbill_create_ip") private String spbillCreateIp; /** *
   *   字段名: 付款消息类型
   *   变量名: ww_msg_type
   *   是否必填: 是
   *   示例值:NORMAL_MSG
   *   描述:NORMAL_MSG:普通付款消息 APPROVAL _MSG:审批付款消息
   * 
*/ @Required @XStreamAlias("ww_msg_type") private String wwMsgType; /** *
   *   字段名: 审批单号
   *   变量名: approval_number
   *   是否必填: 否
   *   示例值: 201705160008
   *   描述:ww_msg_type为APPROVAL _MSG时,需要填写approval_number
   * 
*/ @XStreamAlias("approval_number") private String approvalNumber; /** *
   *   字段名: 审批类型
   *   变量名: approval_type
   *   是否必填: 否
   *   示例值: 1
   *   描述:ww_msg_type为APPROVAL _MSG时,需要填写1
   * 
*/ @XStreamAlias("approval_type") private Integer approvalType; /** *
   *   字段名: 项目名称
   *   变量名: act_name
   *   是否必填: 是
   *   示例值: 产品部门报销
   *   描述:项目名称,最长50个utf8字符
   * 
*/ @Required @XStreamAlias("act_name") private String actName; /** *
   *   字段名: 付款的应用id
   *   变量名: agentid
   *   是否必填: 否
   *   示例值: 1
   *   描述:以企业应用的名义付款,企业应用id,整型,可在企业微信管理端应用的设置页面查看。
   * 
*/ @XStreamAlias("agentid") private Integer agentId; @Override protected void checkConstraints() throws WxPayException { } @Override protected boolean isWxWorkSign() { return true; } @Override protected void storeMap(Map map) { map.put("appid", appid); map.put("mch_id", mchId); map.put("device_info", deviceInfo); map.put("partner_trade_no", partnerTradeNo); map.put("openid", openid); map.put("check_name", checkName); map.put("re_user_name", reUserName); map.put("amount", amount.toString()); map.put("desc", description); map.put("spbill_create_ip", spbillCreateIp); map.put("act_name", actName); map.put("ww_msg_type", wwMsgType); map.put("approval_number", approvalNumber); map.put("approval_type", approvalType.toString()); map.put("agentid", agentId.toString()); } @Override protected String[] getIgnoredParamsForSign() { return new String[]{"sign_type"}; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy