mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-20 00:44:25 +08:00
🎨 【开放平台】重构小程序认证及备案相关接口
This commit is contained in:
parent
d85e04a72a
commit
990dbba06b
@ -108,6 +108,21 @@ public class WxOpenProperties {
|
||||
*/
|
||||
private int maxRetryTimes = 5;
|
||||
|
||||
/**
|
||||
* 连接超时时间,单位毫秒
|
||||
*/
|
||||
private int connectionTimeout = 5000;
|
||||
|
||||
/**
|
||||
* 读数据超时时间,即socketTimeout,单位毫秒
|
||||
*/
|
||||
private int soTimeout = 1;
|
||||
|
||||
/**
|
||||
* 从连接池获取链接的超时时间,单位毫秒
|
||||
*/
|
||||
private int connectionRequestTimeout = 5000;
|
||||
|
||||
}
|
||||
|
||||
public enum StorageType {
|
||||
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.open.api;
|
||||
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenQueryAuthAndIcpResult;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenSubmitAuthAndIcpParam;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenSubmitAuthAndIcpResult;
|
||||
|
||||
/**
|
||||
* 微信第三方平台 小程序认证及备案
|
||||
* @author 痴货
|
||||
* @createTime 2025/06/18 23:00
|
||||
*/
|
||||
public interface WxOpenMaAuthAndIcpService {
|
||||
|
||||
String QUERY_AUTH_AND_ICP = "https://api.weixin.qq.com/wxa/sec/query_auth_and_icp";
|
||||
|
||||
String SUBMIT_AUTH_AND_ICP = "https://api.weixin.qq.com/wxa/sec/submit_auth_and_icp";
|
||||
|
||||
/**
|
||||
* 查询小程序认证及备案进度。
|
||||
* @param procedureId 小程序认证及备案任务流程id
|
||||
* @return 小程序认证及备案进度
|
||||
*/
|
||||
WxOpenQueryAuthAndIcpResult queryAuthAndIcp(String procedureId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 提交小程序认证及备案信息。
|
||||
* @param param 提交小程序认证及备案信息参数
|
||||
* @return 提交结果
|
||||
*/
|
||||
WxOpenSubmitAuthAndIcpResult submitAuthAndIcp(WxOpenSubmitAuthAndIcpParam param) throws WxErrorException;
|
||||
}
|
@ -53,19 +53,23 @@ public interface WxOpenMaBasicService {
|
||||
*/
|
||||
String OPEN_GET_ALL_CATEGORIES = "https://api.weixin.qq.com/cgi-bin/wxopen/getallcategories";
|
||||
/**
|
||||
* 8.2 添加类目
|
||||
* 8.2 获取不同类型主体可设置的类目
|
||||
*/
|
||||
String OPEN_GET_ALL_CATEGORIES_BY_TYPE = "https://api.weixin.qq.com/cgi-bin/wxopen/getcategoriesbytype";
|
||||
/**
|
||||
* 8.3 添加类目
|
||||
*/
|
||||
String OPEN_ADD_CATEGORY = "https://api.weixin.qq.com/cgi-bin/wxopen/addcategory";
|
||||
/**
|
||||
* 8.3 删除类目
|
||||
* 8.4 删除类目
|
||||
*/
|
||||
String OPEN_DELETE_CATEGORY = "https://api.weixin.qq.com/cgi-bin/wxopen/deletecategory";
|
||||
/**
|
||||
* 8.4 获取账号已经设置的所有类目
|
||||
* 8.5 获取账号已经设置的所有类目
|
||||
*/
|
||||
String OPEN_GET_CATEGORY = "https://api.weixin.qq.com/cgi-bin/wxopen/getcategory";
|
||||
/**
|
||||
* 8.5 修改类目
|
||||
* 8.6 修改类目
|
||||
*/
|
||||
String OPEN_MODIFY_CATEGORY = "https://api.weixin.qq.com/cgi-bin/wxopen/modifycategory";
|
||||
|
||||
@ -167,7 +171,12 @@ public interface WxOpenMaBasicService {
|
||||
String getAllCategories() throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 8.2添加类目
|
||||
* 8.2获取不同类型主体可设置的类目
|
||||
*/
|
||||
WxOpenGetAllCategoriesByTypeResult getAllCategoriesByType(String verifyType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 8.3添加类目
|
||||
*
|
||||
* @param categoryList 类目列表
|
||||
* @return .
|
||||
@ -176,7 +185,7 @@ public interface WxOpenMaBasicService {
|
||||
WxOpenResult addCategory(List<WxFastMaCategory> categoryList) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 8.3删除类目
|
||||
* 8.4删除类目
|
||||
*
|
||||
* @param first 一级类目ID
|
||||
* @param second 二级类目ID
|
||||
@ -186,7 +195,7 @@ public interface WxOpenMaBasicService {
|
||||
WxOpenResult deleteCategory(int first, int second) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 8.4获取账号已经设置的所有类目
|
||||
* 8.5获取账号已经设置的所有类目
|
||||
*
|
||||
* @return .
|
||||
* @throws WxErrorException .
|
||||
@ -194,7 +203,7 @@ public interface WxOpenMaBasicService {
|
||||
WxFastMaBeenSetCategoryResult getCategory() throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 8.5修改类目
|
||||
* 8.6修改类目
|
||||
*
|
||||
* @param category 实体
|
||||
* @return .
|
||||
|
@ -119,14 +119,6 @@ public interface WxOpenMaIcpService {
|
||||
*/
|
||||
WxOpenIcpVerifyTaskResult queryIcpVerifyTask(String taskId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 发起小程序管理员人脸核身
|
||||
*
|
||||
* @return 人脸核验任务结果
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
WxOpenIcpCreateIcpVerifyTaskResult createIcpVerifyTask() throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 发起小程序管理员人脸核身
|
||||
*
|
||||
@ -227,21 +219,4 @@ public interface WxOpenMaIcpService {
|
||||
*/
|
||||
File getIcpMedia(String mediaId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 申请小程序认证及备案
|
||||
*
|
||||
* @param param 参数
|
||||
* @return r
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
WxOpenSubmitAuthAndIcpResult submitAuthAndIcp(WxOpenSubmitAuthAndIcpParam param) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 查询小程序认证及备案进度
|
||||
* @param procedureId 小程序认证及备案任务流程id
|
||||
* @return r
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
WxOpenQueryAuthAndIcpResult queryAuthAndIcp(String procedureId) throws WxErrorException;
|
||||
|
||||
}
|
||||
|
@ -731,6 +731,13 @@ public interface WxOpenMaService extends WxMaService {
|
||||
*/
|
||||
WxOpenMaIcpService getIcpService();
|
||||
|
||||
/**
|
||||
* 小程序认证及备案服务
|
||||
*
|
||||
* @return 小程序认证及备案服务
|
||||
*/
|
||||
WxOpenMaAuthAndIcpService getAuthAndIcpService();
|
||||
|
||||
/**
|
||||
* 小程序用户隐私保护指引服务
|
||||
*
|
||||
|
@ -112,6 +112,11 @@ public class WxOpenFastMaServiceImpl extends WxMaServiceImpl implements WxOpenFa
|
||||
return get(OPEN_GET_ALL_CATEGORIES, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenGetAllCategoriesByTypeResult getAllCategoriesByType(String verifyType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenResult addCategory(List<WxFastMaCategory> categoryList) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
@ -0,0 +1,40 @@
|
||||
package me.chanjar.weixin.open.api.impl;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
|
||||
import com.google.gson.JsonObject;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.open.api.WxOpenMaAuthAndIcpService;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenQueryAuthAndIcpResult;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenSubmitAuthAndIcpParam;
|
||||
import me.chanjar.weixin.open.bean.authandicp.WxOpenSubmitAuthAndIcpResult;
|
||||
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder;
|
||||
|
||||
/**
|
||||
* 微信第三方平台 小程序认证及备案
|
||||
*
|
||||
* @author 痴货
|
||||
* @createTime 2025/06/18 23:00
|
||||
*/
|
||||
public class WxOpenMaAuthAndIcpServiceImpl implements WxOpenMaAuthAndIcpService {
|
||||
|
||||
private final WxMaService wxMaService;
|
||||
|
||||
public WxOpenMaAuthAndIcpServiceImpl(WxMaService wxMaService) {
|
||||
this.wxMaService = wxMaService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenQueryAuthAndIcpResult queryAuthAndIcp(String procedureId) throws WxErrorException {
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("procedure_id", procedureId);
|
||||
String response = wxMaService.post(QUERY_AUTH_AND_ICP, params);
|
||||
return WxOpenGsonBuilder.create().fromJson(response, WxOpenQueryAuthAndIcpResult.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenSubmitAuthAndIcpResult submitAuthAndIcp(WxOpenSubmitAuthAndIcpParam param) throws WxErrorException {
|
||||
String response = wxMaService.post(SUBMIT_AUTH_AND_ICP, param);
|
||||
return WxMaGsonBuilder.create().fromJson(response, WxOpenSubmitAuthAndIcpResult.class);
|
||||
}
|
||||
}
|
@ -94,6 +94,14 @@ public class WxOpenMaBasicServiceImpl implements WxOpenMaBasicService {
|
||||
return wxMaService.get(OPEN_GET_ALL_CATEGORIES, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenGetAllCategoriesByTypeResult getAllCategoriesByType(String verifyType) throws WxErrorException {
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("verify_type", verifyType);
|
||||
String response = wxMaService.post(OPEN_GET_ALL_CATEGORIES_BY_TYPE, params);
|
||||
return WxOpenGsonBuilder.create().fromJson(response, WxOpenGetAllCategoriesByTypeResult.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenResult addCategory(List<WxFastMaCategory> categoryList) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
@ -46,17 +46,6 @@ public class WxOpenMaIcpServiceImpl implements WxOpenMaIcpService {
|
||||
return WxOpenGsonBuilder.create().fromJson(response, WxOpenIcpVerifyTaskResult.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起小程序管理员人脸核身
|
||||
*
|
||||
* @return 人脸核验任务结果
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
@Override
|
||||
public WxOpenIcpCreateIcpVerifyTaskResult createIcpVerifyTask() throws WxErrorException {
|
||||
return createIcpVerifyTask(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起小程序管理员人脸核身
|
||||
*
|
||||
@ -227,31 +216,4 @@ public class WxOpenMaIcpServiceImpl implements WxOpenMaIcpService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 申请小程序认证及备案
|
||||
*
|
||||
* @param param 参数
|
||||
* @return r
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
@Override
|
||||
public WxOpenSubmitAuthAndIcpResult submitAuthAndIcp(WxOpenSubmitAuthAndIcpParam param) throws WxErrorException {
|
||||
String response = wxMaService.post(SUBMIT_AUTH_AND_ICP, param);
|
||||
return WxMaGsonBuilder.create().fromJson(response, WxOpenSubmitAuthAndIcpResult.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询小程序认证及备案进度
|
||||
*
|
||||
* @param procedureId 小程序认证及备案任务流程id
|
||||
* @return r
|
||||
* @throws WxErrorException e
|
||||
*/
|
||||
@Override
|
||||
public WxOpenQueryAuthAndIcpResult queryAuthAndIcp(String procedureId) throws WxErrorException {
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("procedure_id", procedureId);
|
||||
String response = wxMaService.post(QUERY_AUTH_AND_ICP, params);
|
||||
return WxOpenGsonBuilder.create().fromJson(response, WxOpenQueryAuthAndIcpResult.class);
|
||||
}
|
||||
}
|
||||
|
@ -56,6 +56,8 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ
|
||||
private final WxOpenMaShoppingOrdersService shoppingOrdersService;
|
||||
@Getter
|
||||
private final WxOpenMaEmbeddedService embeddedService;
|
||||
@Getter
|
||||
private final WxOpenMaAuthAndIcpService authAndIcpService;
|
||||
|
||||
public WxOpenMaServiceImpl(WxOpenComponentService wxOpenComponentService, String appId, WxMaConfig wxMaConfig) {
|
||||
this.wxOpenComponentService = wxOpenComponentService;
|
||||
@ -67,6 +69,7 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ
|
||||
this.privacyService = new WxOpenMaPrivacyServiceImpl(this);
|
||||
this.shoppingOrdersService = new WxOpenMaShoppingOrdersServiceImpl(this);
|
||||
this.embeddedService = new WxOpenMaEmbeddedServiceImpl(this);
|
||||
this.authAndIcpService = new WxOpenMaAuthAndIcpServiceImpl(this);
|
||||
initHttp();
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ public class MaAuthQueryIdentityTreeResult extends WxOpenResult {
|
||||
* 子节点信息 非叶子节点必有
|
||||
*/
|
||||
@Nullable
|
||||
@SerializedName("node_list")
|
||||
@SerializedName("identity_tree_list")
|
||||
private List<MaAuthQueryIdentityTreeResultIdentityNode> nodeList;
|
||||
}
|
||||
|
@ -0,0 +1,134 @@
|
||||
package me.chanjar.weixin.open.bean.authandicp;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.*;
|
||||
import me.chanjar.weixin.open.bean.result.WxOpenResult;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 痴货
|
||||
* @Description
|
||||
* @createTime 2025/06/18 23:00
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class WxOpenQueryAuthAndIcpResult extends WxOpenResult {
|
||||
|
||||
private static final long serialVersionUID = -1175687030580654852L;
|
||||
|
||||
/**
|
||||
* 当前任务流程状态,见下方任务流程状态枚举
|
||||
* 9 手机验证成功
|
||||
* 15 等待支付认证审核费用
|
||||
* 16 认证审核费用支付成功
|
||||
* 17 认证审核中
|
||||
* 18 认证审核驳回
|
||||
* 19 认证审核通过
|
||||
* 20 认证审核最终失败(不能再修改)
|
||||
* 21 创建备案审核单失败
|
||||
* 22 备案平台审核中
|
||||
* 23 备案平台审核驳回
|
||||
* 24 备案管局审核中
|
||||
* 25 管局审核驳回
|
||||
* 26 认证及备案完成
|
||||
* 27 流程已过期
|
||||
* 28 流程已终止
|
||||
* 29 备案已撤回
|
||||
*/
|
||||
@SerializedName("procedure_status")
|
||||
private Integer procedureStatus;
|
||||
|
||||
/**
|
||||
* 小程序后台展示的认证订单号
|
||||
*/
|
||||
@SerializedName("orderid")
|
||||
private Integer orderId;
|
||||
|
||||
/**
|
||||
* 小程序认证审核单被驳回(procedure_status 为 18)时有效
|
||||
*/
|
||||
@SerializedName("refill_reason")
|
||||
private String refillReason;
|
||||
|
||||
/**
|
||||
* 小程序认证审核最终失败的原因(procedure_status 为 20)时有效
|
||||
*/
|
||||
@SerializedName("fail_reason")
|
||||
private String failReason;
|
||||
|
||||
/**
|
||||
* 小程序备案相关信息
|
||||
*/
|
||||
@SerializedName("icp_audit")
|
||||
private IcpAudit icpAudit;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class IcpAudit implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 879913578852421216L;
|
||||
|
||||
/**
|
||||
* 错误提示,创建备案审核单失败时返回(procedure_status 为 21)
|
||||
*/
|
||||
@SerializedName("hints")
|
||||
private List<Hint> hints;
|
||||
|
||||
/**
|
||||
* 驳回原因,备案不通过时返回(procedure_status 为 23、25)
|
||||
*/
|
||||
@SerializedName("audit_data")
|
||||
private AuditData auditData;
|
||||
|
||||
/**
|
||||
* 管局短信核验状态,仅当任务流程状态为 24(备案管局审核中)的时候才有效。1:等待核验中,2:核验完成,3:核验超时。
|
||||
*/
|
||||
@SerializedName("sms_verify_status")
|
||||
private Integer smsVerifyStatus;
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class AuditData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 2217833539540191890L;
|
||||
|
||||
/**
|
||||
* 审核不通过的字段中文名
|
||||
*/
|
||||
@SerializedName("key_name")
|
||||
private String keyName;
|
||||
|
||||
/**
|
||||
* 字段不通过的原因
|
||||
*/
|
||||
@SerializedName("error")
|
||||
private String error;
|
||||
|
||||
/**
|
||||
* 修改建议
|
||||
*/
|
||||
@SerializedName("suggest")
|
||||
private String suggest;
|
||||
}
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class Hint extends WxOpenResult {
|
||||
|
||||
private static final long serialVersionUID = 6585787444231265854L;
|
||||
|
||||
/**
|
||||
* 校验失败的字段
|
||||
*/
|
||||
@SerializedName("err_field")
|
||||
private String errField;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,767 @@
|
||||
package me.chanjar.weixin.open.bean.authandicp;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.open.api.WxOpenMaIcpService;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 痴货
|
||||
* @Description
|
||||
* @createTime 2025/06/18 23:00
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxOpenSubmitAuthAndIcpParam implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5545621231231213158L;
|
||||
|
||||
/**
|
||||
* 认证数据
|
||||
*/
|
||||
@SerializedName("auth_data")
|
||||
private AuthData authData;
|
||||
|
||||
/**
|
||||
* 备案主体信息
|
||||
*/
|
||||
@SerializedName("icp_subject")
|
||||
private IcpSubject icpSubject;
|
||||
|
||||
/**
|
||||
* 微信小程序信息
|
||||
*/
|
||||
@SerializedName("icp_applets")
|
||||
private IcpApplets icpApplets;
|
||||
|
||||
/**
|
||||
* 其他备案媒体材料
|
||||
*/
|
||||
@SerializedName("icp_materials")
|
||||
private IcpMaterials icpMaterials;
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class AuthData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5545289494161613158L;
|
||||
|
||||
/**
|
||||
* 联系人信息
|
||||
*/
|
||||
@SerializedName("contact_info")
|
||||
private ContactInfo contactInfo;
|
||||
|
||||
/**
|
||||
* 发票信息,如果是服务商代缴模式,不需要填写
|
||||
*/
|
||||
@SerializedName("invoice_info")
|
||||
private InvoiceInfo invoiceInfo;
|
||||
|
||||
/**
|
||||
* 认证主体类型:1.企业;12.个体工商户;15.个人
|
||||
*/
|
||||
@SerializedName("customer_type")
|
||||
private Integer customerType;
|
||||
|
||||
/**
|
||||
* 支付方式 1:消耗服务商预购包 2:小程序开发者自行支付
|
||||
*/
|
||||
@SerializedName("pay_type")
|
||||
private Integer payType;
|
||||
|
||||
/**
|
||||
* 主体资质其他证明材料,最多上传10张图片
|
||||
*/
|
||||
@SerializedName("qualification_other")
|
||||
private List<String> qualificationOther;
|
||||
|
||||
/**
|
||||
* 小程序账号名称
|
||||
*/
|
||||
@SerializedName("account_name")
|
||||
private String accountName;
|
||||
|
||||
/**
|
||||
* 小程序账号名称命名类型 1:基于自选词汇命名 2:基于商标命名
|
||||
*/
|
||||
@SerializedName("account_name_type")
|
||||
private String accountNameType;
|
||||
|
||||
/**
|
||||
* 名称命中关键词-补充材料,支持上传多张图片
|
||||
*/
|
||||
@SerializedName("account_supplemental")
|
||||
private List<String> accountSupplemental;
|
||||
|
||||
/**
|
||||
* 认证类型为个人类型时可以选择要认证的身份,从 查询个人认证身份选项列表 里获取,填叶节点的name
|
||||
*/
|
||||
@SerializedName("auth_identification")
|
||||
private String authIdentification;
|
||||
|
||||
/**
|
||||
* 填了 auth_identification 则必填。身份证明材料 (1)基于不同认证身份上传不同的材料;(2)认证类型=1时选填,支持上传10张图片
|
||||
*/
|
||||
@SerializedName("auth_ident_material")
|
||||
private List<String> authIdentMaterial;
|
||||
|
||||
/**
|
||||
* 第三方联系电话
|
||||
*/
|
||||
@SerializedName("third_party_phone")
|
||||
private String thirdPartyPhone;
|
||||
|
||||
/**
|
||||
* 选择服务商代缴模式时必填。服务市场 appid,该服务市场账号主体必须与服务商账号主体一致
|
||||
*/
|
||||
@SerializedName("service_appid")
|
||||
private String serviceAppid;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ContactInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2962862643438222305L;
|
||||
|
||||
/**
|
||||
* 认证联系人姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 认证联系人邮箱
|
||||
*/
|
||||
@SerializedName("email")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 认证联系人手机号
|
||||
*/
|
||||
@SerializedName("mobile")
|
||||
private String mobile;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class InvoiceInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4564894651613131322L;
|
||||
|
||||
/**
|
||||
* 发票类型 1: 不开发票 2: 电子发票 4: 增值税专票(数电类型)
|
||||
*/
|
||||
@SerializedName("invoice_type")
|
||||
private String invoiceType;
|
||||
|
||||
/**
|
||||
* 发票类型=2时必填 电子发票开票信息
|
||||
*/
|
||||
@SerializedName("electronic")
|
||||
private Electronic electronic;
|
||||
|
||||
/**
|
||||
* 发票类型=4时必填 增值税专票(数电类型)开票信息
|
||||
*/
|
||||
@SerializedName("vat")
|
||||
private Vat vat;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class Electronic implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 189498465135131444L;
|
||||
|
||||
/**
|
||||
* 纳税识别号(15位、17、18或20位)
|
||||
*/
|
||||
@SerializedName("id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 发票备注(选填)
|
||||
*/
|
||||
@SerializedName("desc")
|
||||
private String desc;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class Vat implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 829892829816551512L;
|
||||
|
||||
/**
|
||||
* 企业电话
|
||||
*/
|
||||
@SerializedName("enterprise_phone")
|
||||
private String enterprisePhone;
|
||||
|
||||
/**
|
||||
* 纳税识别号(15位、17、18或20位)
|
||||
*/
|
||||
@SerializedName("id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 企业注册地址
|
||||
*/
|
||||
@SerializedName("enterprise_address")
|
||||
private String enterpriseAddress;
|
||||
|
||||
/**
|
||||
* 企业开户银行(选填)
|
||||
*/
|
||||
@SerializedName("bank_name")
|
||||
private String bankName;
|
||||
|
||||
/**
|
||||
* 企业银行账号(选填)
|
||||
*/
|
||||
@SerializedName("bank_account")
|
||||
private String bankAccount;
|
||||
|
||||
/**
|
||||
* 发票备注(选填)
|
||||
*/
|
||||
@SerializedName("desc")
|
||||
private String desc;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class IcpSubject implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1256165165165165165L;
|
||||
|
||||
/**
|
||||
* 主体基本信息
|
||||
*/
|
||||
@SerializedName("base_info")
|
||||
private SubjectBaseInfo baseInfo;
|
||||
|
||||
/**
|
||||
* 个人主体额外信息
|
||||
*/
|
||||
@SerializedName("personal_info")
|
||||
private SubjectPersonalInfo personalInfo;
|
||||
|
||||
/**
|
||||
* 主体额外信息(个人备案时,如果存在与主体负责人信息相同的字段,则填入相同的值)
|
||||
*/
|
||||
@SerializedName("organize_info")
|
||||
private SubjectOrganizeInfo organizeInfo;
|
||||
|
||||
/**
|
||||
* 主体负责人信息
|
||||
*/
|
||||
@SerializedName("principal_info")
|
||||
private SubjectPrincipalInfo principalInfo;
|
||||
|
||||
/**
|
||||
* 法人信息(非个人备案,且主体负责人不是法人时,必填)
|
||||
*/
|
||||
@SerializedName("legal_person_info")
|
||||
private SubjectLegalPersonInfo legalPersonInfo;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubjectBaseInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1561561613212313445L;
|
||||
|
||||
/**
|
||||
* 主体性质,选项参考 获取单位性质,**仅支持企业、个体工商户、个人**
|
||||
* {@link WxOpenMaIcpService#queryIcpSubjectTypes }
|
||||
*/
|
||||
@SerializedName("type")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 主办单位名称
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 备案省份,使用省份代码
|
||||
*/
|
||||
@SerializedName("province")
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 备案城市,使用城市代码
|
||||
*/
|
||||
@SerializedName("city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 备案县区,使用县区代码
|
||||
*/
|
||||
@SerializedName("district")
|
||||
private String district;
|
||||
|
||||
/**
|
||||
* 通讯地址,必须属于备案省市区,地址开头的省市区不用填入
|
||||
*/
|
||||
@SerializedName("address")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 主体信息备注,根据需要,如实填写
|
||||
*/
|
||||
@SerializedName("comment")
|
||||
private String comment;
|
||||
|
||||
/**
|
||||
* 主体备案号
|
||||
*/
|
||||
@SerializedName("record_number")
|
||||
private String recordNumber;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubjectPersonalInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2151981561916519288L;
|
||||
|
||||
/**
|
||||
* 临时居住证明照片 media_id,个人备案且非本省人员,需要提供居住证、暂住证、社保证明、房产证等临时居住证明
|
||||
*/
|
||||
@SerializedName("residence_permit")
|
||||
private String residencePermit;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubjectOrganizeInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1181121318132185161L;
|
||||
|
||||
/**
|
||||
* 主体证件类型
|
||||
* {@link WxOpenMaIcpService#queryIcpCertificateTypes}
|
||||
*/
|
||||
@SerializedName("certificate_type")
|
||||
private Integer certificateType;
|
||||
|
||||
/**
|
||||
* 主体证件号码
|
||||
*/
|
||||
@SerializedName("certificate_number")
|
||||
private String certificateNumber;
|
||||
|
||||
/**
|
||||
* 主体证件住所
|
||||
*/
|
||||
@SerializedName("certificate_address")
|
||||
private String certificateAddress;
|
||||
|
||||
/**
|
||||
* 主体证件照片 media_id,如果小程序主体为非个人类型
|
||||
*/
|
||||
@SerializedName("certificate_photo")
|
||||
private String certificatePhoto;
|
||||
|
||||
}
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubjectPrincipalInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2984191321918916511L;
|
||||
|
||||
/**
|
||||
* 负责人姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人联系方式
|
||||
*/
|
||||
@SerializedName("mobile")
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 负责人电子邮件
|
||||
*/
|
||||
@SerializedName("email")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 负责人应急联系方式
|
||||
*/
|
||||
@SerializedName("emergency_contact")
|
||||
private String emergencyContact;
|
||||
|
||||
/**
|
||||
* 负责人证件类型(获取证件类型
|
||||
* {@link WxOpenMaIcpService#queryIcpCertificateTypes()})
|
||||
*/
|
||||
@SerializedName("certificate_type")
|
||||
private Integer certificateType;
|
||||
|
||||
/**
|
||||
* 负责人证件号码
|
||||
*/
|
||||
@SerializedName("certificate_number")
|
||||
private String certificateNumber;
|
||||
|
||||
/**
|
||||
* 负责人证件有效期起始日期,格式为 YYYYmmdd
|
||||
*/
|
||||
@SerializedName("certificate_validity_date_start")
|
||||
private String certificateValidityDateStart;
|
||||
|
||||
/**
|
||||
* 负责人证件有效期终止日期,格式为 YYYYmmdd
|
||||
*/
|
||||
@SerializedName("certificate_validity_date_end")
|
||||
private String certificateValidityDateEnd;
|
||||
|
||||
/**
|
||||
* 负责人证件正面照片 media_id(身份证为人像面)
|
||||
*/
|
||||
@SerializedName("certificate_photo_front")
|
||||
private String certificatePhotoFront;
|
||||
|
||||
/**
|
||||
* 负责人证件背面照片 media_id(身份证为国徽面)
|
||||
*/
|
||||
@SerializedName("certificate_photo_back")
|
||||
private String certificatePhotoBack;
|
||||
|
||||
/**
|
||||
* 授权书 media_id,当主体负责人不是法人时需要主体负责人授权书,当小程序负责人不是法人时需要小程序负责人授权书
|
||||
*/
|
||||
@SerializedName("authorization_letter")
|
||||
private String authorizationLetter;
|
||||
|
||||
/**
|
||||
* 扫脸认证任务id(扫脸认证接口返回的task_id),仅小程序负责人需要扫脸,主体负责人无需扫脸
|
||||
*/
|
||||
@SerializedName("verify_task_id")
|
||||
private String verifyTaskId;
|
||||
|
||||
}
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubjectLegalPersonInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1259198165316516161L;
|
||||
|
||||
/**
|
||||
* 法人代表姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 法人证件号码
|
||||
*/
|
||||
@SerializedName("certificate_number")
|
||||
private String certificateNumber;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class IcpApplets implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2156129841651651651L;
|
||||
|
||||
/**
|
||||
* 微信小程序基本信息
|
||||
*/
|
||||
@SerializedName("base_info")
|
||||
private AppletsBaseInfo AppleBaseInfo;
|
||||
|
||||
/**
|
||||
* 小程序负责人信息
|
||||
*/
|
||||
@SerializedName("principal_info")
|
||||
private AppletsPrincipalInfo principalInfo;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class AppletsBaseInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 8404017028547715919L;
|
||||
|
||||
/**
|
||||
* 小程序ID,不用填写,后台自动拉取
|
||||
*/
|
||||
@SerializedName("appid")
|
||||
private String appId;
|
||||
|
||||
/**
|
||||
* 小程序名称,不用填写,后台自动拉取
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 小程序服务内容类型,只能填写二级服务内容类型,最多5个
|
||||
* {@link WxOpenMaIcpService#queryIcpServiceContentTypes}
|
||||
*/
|
||||
@SerializedName("service_content_types")
|
||||
private List<Integer> serviceContentTypes;
|
||||
|
||||
/**
|
||||
* 前置审批项,列表中不能存在重复的前置审批类型id,如不涉及前置审批项,也需要填“以上都不涉及”
|
||||
*/
|
||||
@SerializedName("nrlx_details")
|
||||
private List<AppletsNrlxDetailItem> nrlxDetails;
|
||||
|
||||
/**
|
||||
* 请具体描述小程序实际经营内容、主要服务内容,该信息为主管部门审核重要依据,备注内容字数限制20-200字,请认真填写。
|
||||
*/
|
||||
@SerializedName("comment")
|
||||
private String comment;
|
||||
|
||||
/**
|
||||
* 小程序备案号,示例值:粤B2-20090059-1626X
|
||||
* (申请小程序备案时不用填写,查询已备案详情时会返回)
|
||||
*/
|
||||
@SerializedName("record_number")
|
||||
private String recordNumber;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class AppletsNrlxDetailItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -9144721738792167000L;
|
||||
|
||||
/**
|
||||
* 前置审批类型
|
||||
* {@link WxOpenMaIcpService#queryIcpNrlxTypes}
|
||||
*/
|
||||
@SerializedName("type")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 前置审批号,如果前置审批类型不是“以上都不涉及”,
|
||||
* 则必填,示例值:"粤-12345号
|
||||
*/
|
||||
@SerializedName("code")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 前置审批媒体材料 media_id
|
||||
*/
|
||||
@SerializedName("media")
|
||||
private String media;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class AppletsPrincipalInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5088256283066784463L;
|
||||
|
||||
/**
|
||||
* 负责人姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人联系方式
|
||||
*/
|
||||
@SerializedName("mobile")
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 负责人电子邮件
|
||||
*/
|
||||
@SerializedName("email")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 负责人应急联系方式
|
||||
*/
|
||||
@SerializedName("emergency_contact")
|
||||
private String emergencyContact;
|
||||
|
||||
/**
|
||||
* 负责人证件类型
|
||||
* {@link WxOpenMaIcpService#queryIcpCertificateTypes}
|
||||
*/
|
||||
@SerializedName("certificate_type")
|
||||
private Integer certificateType;
|
||||
|
||||
/**
|
||||
* 负责人证件号码
|
||||
*/
|
||||
@SerializedName("certificate_number")
|
||||
private String certificateNumber;
|
||||
|
||||
/**
|
||||
* 负责人证件有效期起始日期,
|
||||
* 格式为 YYYYmmdd,示例值:"20230815"
|
||||
*/
|
||||
@SerializedName("certificate_validity_date_start")
|
||||
private String certificateValidityDateStart;
|
||||
|
||||
/**
|
||||
* 负责人证件有效期终止日期,
|
||||
* 格式为 YYYYmmdd,
|
||||
* 如证件长期有效,请填写 "长期",示例值:"20330815"
|
||||
*/
|
||||
@SerializedName("certificate_validity_date_end")
|
||||
private String certificateValidityDateEnd;
|
||||
|
||||
/**
|
||||
* 负责人证件正面照片 media_id
|
||||
* (身份证为人像面)
|
||||
*/
|
||||
@SerializedName("certificate_photo_front")
|
||||
private String certificatePhotoFront;
|
||||
|
||||
/**
|
||||
* 负责人证件背面照片 media_id
|
||||
* (身份证为国徽面)
|
||||
*/
|
||||
@SerializedName("certificate_photo_back")
|
||||
private String certificatePhotoBack;
|
||||
|
||||
/**
|
||||
* 授权书 media_id,
|
||||
* 当主体负责人不是法人时需要主体负责人授权书,
|
||||
* 当小程序负责人不是法人时需要小程序负责人授权书
|
||||
*/
|
||||
@SerializedName("authorization_letter")
|
||||
private String authorizationLetter;
|
||||
|
||||
/**
|
||||
* 扫脸认证任务id(扫脸认证接口返回的task_id),
|
||||
* 仅小程序负责人需要扫脸,主体负责人无需扫脸
|
||||
*/
|
||||
@SerializedName("verify_task_id")
|
||||
private String verifyTaskId;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class IcpMaterials implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2651654844198165191L;
|
||||
|
||||
/**
|
||||
* 互联网信息服务承诺书 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("commitment_letter")
|
||||
private List<String> commitmentLetter;
|
||||
|
||||
/**
|
||||
* 主体更名函 media_id(非个人类型,且发生过更名时需要上传),最多上传1个
|
||||
*/
|
||||
@SerializedName("business_name_change_letter")
|
||||
private List<String> businessNameChangeLetter;
|
||||
|
||||
/**
|
||||
* 党建确认函 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("party_building_confirmation_letter")
|
||||
private List<String> partyBuildingConfirmationLetter;
|
||||
|
||||
/**
|
||||
* 承诺视频 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("promise_video")
|
||||
private List<String> promiseVideo;
|
||||
|
||||
/**
|
||||
* 网站备案信息真实性责任告知书 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("authenticity_responsibility_letter")
|
||||
private List<String> authenticityResponsibilityLetter;
|
||||
|
||||
/**
|
||||
* 小程序备案信息真实性承诺书 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("authenticity_commitment_letter")
|
||||
private List<String> authenticityCommitmentLetter;
|
||||
|
||||
/**
|
||||
* 小程序建设方案书 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("website_construction_proposal")
|
||||
private List<String> websiteConstructionProposal;
|
||||
|
||||
/**
|
||||
* 主体其它附件 media_id,最多上传10个
|
||||
*/
|
||||
@SerializedName("subject_other_materials")
|
||||
private List<String> subjectOtherMaterials;
|
||||
|
||||
/**
|
||||
* 小程序其它附件 media_id,最多上传10个
|
||||
*/
|
||||
@SerializedName("applets_other_materials")
|
||||
private List<String> appletsOtherMaterials;
|
||||
|
||||
/**
|
||||
* 手持证件照 media_id,最多上传1个
|
||||
*/
|
||||
@SerializedName("holding_certificate_photo")
|
||||
private List<String> holdingCertificatePhoto;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package me.chanjar.weixin.open.bean.authandicp;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.*;
|
||||
import me.chanjar.weixin.open.bean.result.WxOpenResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 痴货
|
||||
* @Description
|
||||
* @createTime 2025/06/18 23:00
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class WxOpenSubmitAuthAndIcpResult extends WxOpenResult {
|
||||
|
||||
private static final long serialVersionUID = -1175687058498454852L;
|
||||
|
||||
/**
|
||||
* 错误提示
|
||||
*/
|
||||
@SerializedName("hints")
|
||||
private List<Hint> hints;
|
||||
|
||||
/**
|
||||
* 小程序认证及备案任务流程 id
|
||||
*/
|
||||
@SerializedName("procedure_id")
|
||||
private String procedureId;
|
||||
|
||||
/**
|
||||
* 小程序认证认证审核费用付费链接,当 pay_type 为 2 时返回
|
||||
*/
|
||||
@SerializedName("pay_url")
|
||||
private String payUrl;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class Hint extends WxOpenResult {
|
||||
|
||||
private static final long serialVersionUID = 6585787444231265854L;
|
||||
|
||||
/**
|
||||
* 校验失败的字段
|
||||
*/
|
||||
@SerializedName("err_field")
|
||||
private String errField;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.open.bean.icp;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author 痴货
|
||||
* @Description 发起小程序管理员人脸核身
|
||||
* @createTime 2025/06/21 00:20
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxOpenCreateIcpVerifyTaskParam {
|
||||
|
||||
/**
|
||||
* 小程序认证及备案二合一场景,填 true,否则为小程序备案场景。默认值为 false
|
||||
*/
|
||||
@SerializedName("along_with_auth")
|
||||
private Boolean alongWithAuth;
|
||||
|
||||
}
|
@ -25,8 +25,9 @@ public class WxOpenIcpCreateIcpVerifyTaskResult extends WxOpenResult {
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 人脸核验任务url,along_with_auth 填 true 时返回。
|
||||
* 人脸核验任务url,{@link WxOpenCreateIcpVerifyTaskParam#alongWithAuth } 填 true 时返回
|
||||
*/
|
||||
@SerializedName("verify_url")
|
||||
private String verifyUrl;
|
||||
|
||||
}
|
||||
|
@ -163,15 +163,40 @@ public class WxOpenXmlMessage implements Serializable {
|
||||
//region 认证及备案流程的主要节点均有事件推送到第三方平台的授权事件接收接口,包括支付完成、派单给审核机构、审核打回、审核通过、审核失败等。消息类型,固定为 notify_3rd_wxa_auth_and_icp
|
||||
|
||||
/**
|
||||
* 小程序认证及备案任务流程 id
|
||||
* 小程序认证及备案任务流程id
|
||||
*/
|
||||
@XStreamAlias("procedure_id")
|
||||
private String procedureId;
|
||||
|
||||
/**
|
||||
* 当前任务流程状态,见“小程序认证及备案进度查询” API 文档中的任务流程状态枚举
|
||||
* 任务流程状态
|
||||
* 9 手机验证成功
|
||||
* 15 等待支付认证审核费用
|
||||
* 16 认证审核费用支付成功
|
||||
* 17 认证审核中
|
||||
* 18 认证审核驳回
|
||||
* 19 认证审核通过
|
||||
* 20 认证审核最终失败(不能再修改)
|
||||
* 21 创建备案审核单失败
|
||||
* 22 备案平台审核中
|
||||
* 23 备案平台审核驳回
|
||||
* 24 备案管局审核中
|
||||
* 25 管局审核驳回
|
||||
* 26 认证及备案完成
|
||||
* 27 流程已过期
|
||||
* 28 流程已终止
|
||||
* 29 备案已撤回
|
||||
*/
|
||||
@XStreamAlias("procedure_status")
|
||||
private Integer procedureStatus;
|
||||
|
||||
//endregion
|
||||
|
||||
/**
|
||||
* 原始通知内容
|
||||
*/
|
||||
private String context;
|
||||
|
||||
//endregion
|
||||
|
||||
/**
|
||||
@ -296,7 +321,9 @@ public class WxOpenXmlMessage implements Serializable {
|
||||
WxOpenCryptUtil cryptUtil = new WxOpenCryptUtil(wxOpenConfigStorage);
|
||||
String plainText = cryptUtil.decryptXml(msgSignature, timestamp, nonce, encryptedXml);
|
||||
log.debug("解密后的原始xml消息内容:{}", plainText);
|
||||
return fromXml(plainText);
|
||||
WxOpenXmlMessage wxOpenXmlMessage = fromXml(plainText);
|
||||
wxOpenXmlMessage.setContext(plainText);
|
||||
return wxOpenXmlMessage;
|
||||
}
|
||||
|
||||
public static WxMpXmlMessage fromEncryptedMpXml(String encryptedXml, WxOpenConfigStorage wxOpenConfigStorage,
|
||||
|
@ -0,0 +1,153 @@
|
||||
package me.chanjar.weixin.open.bean.result;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 获取所有类目
|
||||
* author 痴货
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class WxOpenGetAllCategoriesByTypeResult extends WxOpenResult {
|
||||
|
||||
private static final long serialVersionUID = -2845321894615646115L;
|
||||
|
||||
/**
|
||||
* 类目信息列表
|
||||
*/
|
||||
@SerializedName("categories_list")
|
||||
private CategoriesList categorieslist;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class CategoriesList implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2845321894615646115L;
|
||||
|
||||
/**
|
||||
* 类目信息
|
||||
*/
|
||||
@SerializedName("categories")
|
||||
private List<Categories> categories;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class Categories implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -284532256461546115L;
|
||||
|
||||
/**
|
||||
* 类目 ID
|
||||
*/
|
||||
@SerializedName("id")
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 类目名称
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 类目层级
|
||||
*/
|
||||
@SerializedName("level")
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 父类目 ID
|
||||
*/
|
||||
@SerializedName("father")
|
||||
private Integer father;
|
||||
|
||||
/**
|
||||
* 子类目 ID
|
||||
*/
|
||||
@SerializedName("children")
|
||||
private List<Integer> children;
|
||||
|
||||
/**
|
||||
* 是否敏感类目(1 为敏感类目,需要提供相应资质审核;0 为非敏感类目,无需审核)
|
||||
*/
|
||||
@SerializedName("sensitive_type")
|
||||
private Integer sensitiveType;
|
||||
|
||||
/**
|
||||
* sensitive_type 为 1 的类目需要提供的资质证明
|
||||
*/
|
||||
@SerializedName("qualify")
|
||||
private Qualify qualify;
|
||||
|
||||
/**
|
||||
* 类目权限范围
|
||||
*/
|
||||
@SerializedName("scope")
|
||||
private String scope;
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class Qualify implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2841894318945616115L;
|
||||
|
||||
/**
|
||||
* 资质证明列表
|
||||
*/
|
||||
@SerializedName("exter_list")
|
||||
private List<Exter> exterList;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@SerializedName("remark")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class Exter implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2841894318945616115L;
|
||||
|
||||
@SerializedName("inner_list")
|
||||
private List<Inner> innerList;
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class Inner implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -15646131313516531L;
|
||||
|
||||
/**
|
||||
* 资质文件名称
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 资质文件示例
|
||||
*/
|
||||
@SerializedName("url")
|
||||
private String url;
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user