Spring 入参XML转对象

前言

记录个示例,怕以后忘了又去找

正文

接口

	/**
	 * <pre>
	 * 微信支付成功回调函数
	 * 此函数会被执行多次,通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 总计 24h4m
	 * 请求入参示例:
	 * <xml><appid><![CDATA[XXXXX]]></appid><bank_type><![CDATA[OTHERS]]></bank_type><cash_fee><![CDATA[10]]></cash_fee><fee_type><![CDATA[CNY]]></fee_type><is_subscribe><![CDATA[N]]></is_subscribe>
	 * 		<mch_id><![CDATA[XXXXX123]]></mch_id><nonce_str><![CDATA[4GICBgXzvwngnfsHQPQeC7dKmxXsmcpi]]></nonce_str><openid><![CDATA[oFd-P5VFL6KYQMVD6YGMT8wSHAlY]]></openid>
	 * 		<out_trade_no><![CDATA[f7b1c1c820cd41b1b8029d49655e9031]]></out_trade_no><result_code><![CDATA[SUCCESS]]></result_code><return_code><![CDATA[SUCCESS]]></return_code>
	 * 		<sign><![CDATA[33AD26158C9AC8C6F3DFCECF932DD73E35DB97A7AB22CCE9850A6A280F4F596D]]></sign><time_end><![CDATA[20210623153126]]></time_end><total_fee>10</total_fee><trade_type><![CDATA[JSAPI]]></trade_type>
	 * 		<transaction_id><![CDATA[4200001168202106236790274028]]></transaction_id></xml>
	 * </pre>
	 * @param param 支付成功通知信息
	 * @return java.lang.String
	 * @date 2021/6/4 10:37
	 * @author wei.heng
	 */
	@ApiIgnore
	@PostMapping(value = "/success", produces = MediaType.TEXT_PLAIN_VALUE)
	@ResponseBody
	@AppLog(title = "微信平台-支付成功回调通知", businessType = BusinessType.PAY, operatorType = OperatorType.APPLET)
	public String successNotify(@RequestBody WxPayNotifyParam param) {
		log.info("successNotify WxPayNotifyParam:{}", param);
		return payOrderService.successNotify(param);
	}

回调参数对象

/**
 * 微信支付成功回调接口入参
 * @date 2021/6/4 14:47
 * @author wei.heng
 */
@JacksonXmlRootElement(localName = "xml")
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiIgnore
public class WxPayNotifyParam {

	/** 应用ID */
	private String appid;
	/** 附加数据 */
	private String attach;
	/** 付款银行 - 见官方 《银行类型对照表》 */
	private String bank_type;
	/** 货币类型 - 见 FeeType 枚举 */
	private String fee_type;
	/**  */
	private String is_subscribe;
	/** 商户ID */
	private String mch_id;
	/** 随机字符串 */
	private String nonce_str;
	/** 用户唯一标识 */
	private String openid;
	/** 平台侧订单ID */
	private Long tradeId;
	/** 订单编号	 */
	private String out_trade_no;
	/** 结果编码 */
	private String result_code;
	/** 返回编码 */
	private String return_code;
	/** 加签信息 */
	private String sign;
	/** 结束时间 */
	private String time_end;
	/** 支付总金额 */
	private String total_fee;
	/** 订单支付类型 - 见 TradeType 枚举 */
	private String trade_type;
	/** 微信支付系统生成的订单号 */
	private String transaction_id;
	/** 这个字段没找到是干撒用的 - 不影响业务,先不管 */
	private String cash_fee;
	/** 优惠卷ID */
	private String coupon_id;
	/** 优惠卷金额 */
	private String coupon_fee;
	/** 优惠卷数量 */
	private String coupon_count;
	/** 优惠卷类型 */
	private String coupon_type;
}

依赖

		<!-- controller xml入参解析为参数对象 -->
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值