mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-03-10 00:13:40 +08:00
🆕 #2562 【微信支付】增加微信消费者投诉2.0接口
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉单详情请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ComplaintDetailRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3244929701614280801L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_id")
|
||||
private String complaintId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
|
||||
import com.github.binarywang.wxpay.v3.SpecEncrypt;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉单列表返回的实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
public class ComplaintDetailResult implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6201692411535927503L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_id")
|
||||
private String complaintId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉时间
|
||||
* 是否必填:是
|
||||
* 描述:投诉时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss.sss+TIMEZONE,yyyy-MM-DD表示年月日,
|
||||
* T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
|
||||
* 例如:2015-05-20T13:29:35.120+08:00表示北京时间2015年05月20日13点29分35秒
|
||||
* 示例值:2015-05-20T13:29:35.120+08:00
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_time")
|
||||
private String complaintTime;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉详情
|
||||
* 是否必填:是
|
||||
* 投诉的具体描述
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_detail")
|
||||
private String complaintDetail;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:被诉商户号
|
||||
* 是否必填:是
|
||||
* 投诉单对应的被诉商户号。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complainted_mchid")
|
||||
private String complaintedMchid;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单状态
|
||||
* 是否必填:是
|
||||
* 标识当前投诉单所处的处理阶段,具体状态如下所示:
|
||||
* PENDING:待处理
|
||||
* PROCESSING:处理中
|
||||
* PROCESSED:已处理完成
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_state")
|
||||
private String complaintState;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉人联系方式
|
||||
* 是否必填:否
|
||||
* 投诉人联系方式。该字段已做加密处理,具体解密方法详见敏感信息加密说明。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("payer_phone")
|
||||
@SpecEncrypt
|
||||
private String payerPhone;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉人openid
|
||||
* 是否必填:是
|
||||
* 投诉人在商户appid下的唯一标识
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("payer_openid")
|
||||
private String payerOpenid;
|
||||
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉资料列表
|
||||
* 是否必填:是
|
||||
* 用户上传的投诉相关资料,包括图片凭证等
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_media_list")
|
||||
private List<ComplaintMedia> complaintMediaList;
|
||||
|
||||
@Data
|
||||
public static class ComplaintMedia implements Serializable {
|
||||
private static final long serialVersionUID = 4240983048700956803L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:媒体文件业务类型
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 媒体文件对应的业务类型
|
||||
* USER_COMPLAINT_IMAGE:用户投诉图片,用户提交投诉时上传的图片凭证
|
||||
* OPERATION_IMAGE:操作流水图片,用户、商户、微信支付客服在协商解决投诉时,上传的图片凭证
|
||||
* 注:用户上传的图片凭证会以白名单的形式提供给商户,若希望查看用户图片,联系微信支付客服
|
||||
* 示例值:USER_COMPLAINT_IMAGE
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("media_type")
|
||||
private String mediaType;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:媒体文件请求url
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 微信返回的媒体文件请求url
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("media_url")
|
||||
private String mediaUrl;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单关联订单信息
|
||||
* 是否必填:是
|
||||
* 投诉单关联订单信息
|
||||
* 注:投诉单和订单目前是一对一关系,array是预留未来一对多的扩展
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_order_info")
|
||||
private List<ComplaintOrder> complaintOrderInfo;
|
||||
|
||||
@Data
|
||||
public static class ComplaintOrder implements Serializable {
|
||||
private static final long serialVersionUID = 4240983048700956804L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:微信订单号
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 投诉单关联的微信订单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("transaction_id")
|
||||
private String transactionId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:商户订单号
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 投诉单关联的商户订单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("out_trade_no")
|
||||
private String outTradeNo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:订单金额
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 订单金额,单位(分)
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("amount")
|
||||
private Integer amount;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单是否已全额退款
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 投诉单下所有订单是否已全部全额退款
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_full_refunded")
|
||||
private Boolean complaintFullRefunded;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:是否有待回复的用户留言
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 投诉单是否有待回复的用户留言
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("incoming_user_response")
|
||||
private Boolean incomingUserResponse;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:问题描述
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 用户发起投诉前选择的faq标题(2021年7月15日之后的投诉单均包含此信息)
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("problem_description")
|
||||
private String problemDescription;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:用户投诉次数
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 用户投诉次数。用户首次发起投诉记为1次,用户每有一次继续投诉就加1
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("user_complaint_times")
|
||||
private Integer userComplaintTimes;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 投诉通知请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ComplaintNotifyUrlRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:通知地址
|
||||
* 是否必填:是
|
||||
* 描述:通知地址,仅支持https。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("url")
|
||||
private String url;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
|
||||
import com.github.binarywang.wxpay.bean.media.MarketingImageUploadResult;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 投诉通知地址返回的实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
public class ComplaintNotifyUrlResult implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6201692411535927502L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:商户号
|
||||
* 是否必填:是
|
||||
* 描述:返回创建回调地址的商户号,由微信支付生成并下发。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("mchid")
|
||||
private String mchid;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:通知地址
|
||||
* 是否必填:是
|
||||
* 描述:通知地址,仅支持https。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("url")
|
||||
private String url;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉单列表请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ComplaintRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3244929701614280800L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页大小
|
||||
* 是否必填:否
|
||||
* 描述:设置该次请求返回的最大投诉条数,范围【1,50】,商户自定义字段,不传默认为10。
|
||||
* 注:如遇到提示“当前查询结果数据量过大”,是回包触发微信支付下行数据包大小限制,请缩小入参limit并重试。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("limit")
|
||||
private Integer limit = 10;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页开始位置
|
||||
* 是否必填:否
|
||||
* 描述:该次请求的分页开始位置,从0开始计数,例如offset=10,表示从第11条记录开始返回,不传默认为0 。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("offset")
|
||||
private Integer offset = 0;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:开始日期
|
||||
* 是否必填:是
|
||||
* 描述:投诉发生的开始日期,格式为yyyy-MM-DD。注意,查询日期跨度不超过30天,当前查询为实时查询
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("begin_date")
|
||||
private String beginDate;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:结束日期
|
||||
* 是否必填:是
|
||||
* 描述:投诉发生的结束日期,格式为yyyy-MM-DD。注意,查询日期跨度不超过30天,当前查询为实时查询
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("end_date")
|
||||
private String endDate;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:被诉商户号
|
||||
* 是否必填:否
|
||||
* 描述:投诉单对应的被诉商户号。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complainted_mchid")
|
||||
private String complaintedMchid;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉单列表返回的实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
public class ComplaintResult implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6201692411535927502L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页大小
|
||||
* 是否必填:是
|
||||
* 描述:设置该次请求返回的最大投诉条数,范围【1,50】
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("limit")
|
||||
private Integer limit;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页开始位置
|
||||
* 是否必填:是
|
||||
* 描述:该次请求的分页开始位置,从0开始计数,例如offset=10,表示从第11条记录开始返回。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("offset")
|
||||
private Integer offset;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉总条数
|
||||
* 是否必填:否
|
||||
* 描述:投诉总条数,当offset=0时返回
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("total_count")
|
||||
private Integer totalCount;
|
||||
|
||||
/**
|
||||
* 用户投诉信息详情
|
||||
*/
|
||||
@SerializedName("data")
|
||||
private List<ComplaintDetailResult> data;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 反馈处理完成请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CompleteRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3243229701614220801L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_id")
|
||||
@Expose
|
||||
private String complaintId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:被诉商户号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的被诉商户号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complainted_mchid")
|
||||
private String complaintedMchid;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉协商历史请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class NegotiationHistoryRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3244929701614280806L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_id")
|
||||
private String complaintId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页大小
|
||||
* 是否必填:否
|
||||
* 描述:设置该次请求返回的最大投诉条数,范围【1,50】,商户自定义字段,不传默认为10。
|
||||
* 注:如遇到提示“当前查询结果数据量过大”,是回包触发微信支付下行数据包大小限制,请缩小入参limit并重试。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("limit")
|
||||
private Integer limit = 10;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页开始位置
|
||||
* 是否必填:否
|
||||
* 描述:该次请求的分页开始位置,从0开始计数,例如offset=10,表示从第11条记录开始返回,不传默认为0 。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("offset")
|
||||
private Integer offset = 0;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 查询投诉单协商历史返回的实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
public class NegotiationHistoryResult implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6201692411535927502L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页大小
|
||||
* 是否必填:是
|
||||
* 描述:设置该次请求返回的最大投诉条数,范围【1,50】
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("limit")
|
||||
private Integer limit;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:分页开始位置
|
||||
* 是否必填:是
|
||||
* 描述:该次请求的分页开始位置,从0开始计数,例如offset=10,表示从第11条记录开始返回。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("offset")
|
||||
private Integer offset;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉协商历史总条数
|
||||
* 是否必填:否
|
||||
* 描述:投诉协商历史总条数,当offset=0时返回
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("total_count")
|
||||
private Integer totalCount;
|
||||
|
||||
/**
|
||||
* 投诉协商历史
|
||||
*/
|
||||
@SerializedName("data")
|
||||
private List<NegotiationHistory> data;
|
||||
|
||||
@Data
|
||||
public static class NegotiationHistory implements Serializable {
|
||||
private static final long serialVersionUID = 4240983048700956824L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉资料列表
|
||||
* 是否必填:是
|
||||
* 用户上传的投诉相关资料,包括图片凭证等
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_media_list")
|
||||
private List<ComplaintDetailResult.ComplaintMedia> complaintMediaList;
|
||||
|
||||
@Data
|
||||
public static class ComplaintMedia implements Serializable {
|
||||
private static final long serialVersionUID = 4240983048700956803L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:媒体文件业务类型
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 媒体文件对应的业务类型
|
||||
* USER_COMPLAINT_IMAGE:用户投诉图片,用户提交投诉时上传的图片凭证
|
||||
* OPERATION_IMAGE:操作流水图片,用户、商户、微信支付客服在协商解决投诉时,上传的图片凭证
|
||||
* 注:用户上传的图片凭证会以白名单的形式提供给商户,若希望查看用户图片,联系微信支付客服
|
||||
* 示例值:USER_COMPLAINT_IMAGE
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("media_type")
|
||||
private String mediaType;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:媒体文件请求url
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 微信返回的媒体文件请求url
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("media_url")
|
||||
private String mediaUrl;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:操作流水号
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 操作流水号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("log_id")
|
||||
private String logId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:操作人
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 当前投诉协商记录的操作人
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("operator")
|
||||
private String operator;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:操作时间
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 当前投诉协商记录的操作时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss.sss+TIMEZONE,yyyy-MM-DD表示年月日,
|
||||
* T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。
|
||||
* 例如:2015-05-20T13:29:35.120+08:00表示北京时间2015年05月20日13点29分35秒。
|
||||
* 示例值:2015-05-20T13:29:35.120+08:00
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("operate_time")
|
||||
private String operateTime;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:操作类型
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 当前投诉协商记录的操作类型,对应枚举:
|
||||
* USER_CREATE_COMPLAINT:用户提交投诉
|
||||
* USER_CONTINUE_COMPLAINT:用户继续投诉
|
||||
* USER_RESPONSE:用户留言
|
||||
* PLATFORM_RESPONSE:平台留言
|
||||
* MERCHANT_RESPONSE:商户留言
|
||||
* MERCHANT_CONFIRM_COMPLETE:商户申请结单
|
||||
* COMPLAINT_FULL_REFUNDED:投诉单全额退款
|
||||
* USER_CREATE_COMPLAINT_SYSTEM_MESSAGE:用户提交投诉系统通知
|
||||
* COMPLAINT_FULL_REFUNDED_SYSTEM_MESSAGE:投诉单全额退款系统通知
|
||||
* USER_CONTINUE_COMPLAINT_SYSTEM_MESSAGE:用户继续投诉系统通知
|
||||
* MERCHANT_CONFIRM_COMPLETE_SYSTEM_MESSAGE:商户申请结单系统通知
|
||||
* USER_REVOKE_COMPLAINT:用户主动撤诉(只存在于历史投诉单的协商历史中)
|
||||
* PLATFORM_HELP_APPLICATION:平台问询
|
||||
* USER_APPLY_PLATFORM_HELP:申请协助
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("operate_type")
|
||||
private String operateType;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:操作内容
|
||||
* 是否必填:否
|
||||
* 描述:
|
||||
* 当前投诉协商记录的具体内容
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("operate_details")
|
||||
private String operateDetails;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:图片凭证
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 当前投诉协商记录提交的图片凭证(url格式),最多返回4张图片,url有效时间为1小时。如未查询到协商历史图片凭证,则返回空数组。
|
||||
* 注:本字段包含商户、微信支付客服在协商解决投诉时上传的图片凭证,若希望查看用户图片,请使用complaint_media_list字段并联系微信支付客服
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("image_list")
|
||||
private List<String> imageList;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.github.binarywang.wxpay.bean.complaint;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 微信消费者投诉2.0
|
||||
* 提交回复请求实体
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
* @date 2022-3-19
|
||||
*/
|
||||
@Data
|
||||
@Builder(builderMethodName = "newBuilder")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ResponseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3244929701614220801L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complaint_id")
|
||||
@Expose
|
||||
private String complaintId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:被诉商户号
|
||||
* 是否必填:是
|
||||
* 描述:投诉单对应的被诉商户号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("complainted_mchid")
|
||||
private String complaintedMchid;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:回复内容
|
||||
* 是否必填:是
|
||||
* 描述:具体的投诉处理方案,限制200个字符以内。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("response_content")
|
||||
private String responseContent;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:回复图片
|
||||
* 是否必填:否
|
||||
* 描述:
|
||||
* 传入调用商户上传反馈图片接口返回的media_id,最多上传4张图片凭证
|
||||
* 示例值:file23578_21798531.jpg
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("response_images")
|
||||
private String responseImages;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:跳转链接
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 商户可在回复中附加跳转链接,引导用户跳转至商户客诉处理页面,链接需满足https格式
|
||||
* 注:配置文字链属于灰度功能, 若有需要请使用超管邮箱,按照要求发送邮件申请。邮件要求详情见:
|
||||
* 商户申请开通留言链接白名单指南。
|
||||
* 示例值:https://www.xxx.com/notify
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("jump_url")
|
||||
private String jumpUrl;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:跳转链接文案
|
||||
* 是否必填:否
|
||||
* 描述:
|
||||
* 实际展示给用户的文案,附在回复内容之后。用户点击文案,即可进行跳转。
|
||||
* 注:若传入跳转链接,则跳转链接文案为必传项,二者缺一不可。
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName("jump_url_text")
|
||||
private String jumpUrlText;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.github.binarywang.wxpay.bean.notify;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 投诉通知.
|
||||
* 文档见:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter10_2_16.shtml
|
||||
*
|
||||
* @author <a href="https://gitee.com/jeequan/jeepay">jmdhappy</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ComplaintNotifyResult implements Serializable {
|
||||
private static final long serialVersionUID = -1L;
|
||||
/**
|
||||
* 源数据
|
||||
*/
|
||||
private OriginNotifyResponse rawData;
|
||||
/**
|
||||
* 解密后的数据
|
||||
*/
|
||||
private DecryptNotifyResult result;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public static class DecryptNotifyResult implements Serializable {
|
||||
private static final long serialVersionUID = -1L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:投诉单号
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 投诉单对应的投诉单号
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName(value = "complaint_id")
|
||||
private String complaintId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 字段名:动作类型
|
||||
* 是否必填:是
|
||||
* 描述:
|
||||
* 触发本次投诉通知回调的具体动作类型,枚举如下:
|
||||
* CREATE_COMPLAINT:用户提交投诉
|
||||
* CONTINUE_COMPLAINT:用户继续投诉
|
||||
* USER_RESPONSE:用户新留言
|
||||
* RESPONSE_BY_PLATFORM:平台新留言
|
||||
* SELLER_REFUND:收款方全额退款
|
||||
* MERCHANT_RESPONSE:商户新回复
|
||||
* MERCHANT_CONFIRM_COMPLETE:商户反馈处理完成
|
||||
* </pre>
|
||||
*/
|
||||
@SerializedName(value = "action_type")
|
||||
private String actionType;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user