| @@ -7,10 +7,10 @@ import java.io.Serializable; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| /** | /** | ||||
| * 企业微信 OA 审批数据. | |||||
| * | |||||
| * @author Element | * @author Element | ||||
| * @Package me.chanjar.weixin.cp.bean | |||||
| * @date 2019-04-06 14:36 | * @date 2019-04-06 14:36 | ||||
| * @Description: 企业微信 OA 审批数据 | |||||
| */ | */ | ||||
| @Data | @Data | ||||
| public class WxCpApprovalDataResult implements Serializable { | public class WxCpApprovalDataResult implements Serializable { | ||||
| @@ -27,17 +27,16 @@ public class WxCpApprovalDataResult implements Serializable { | |||||
| private Integer total; | private Integer total; | ||||
| @SerializedName("next_spnum") | @SerializedName("next_spnum") | ||||
| private Long nextSpnum; | |||||
| private Long nextSpNum; | |||||
| private WxCpApprovalData[] data; | private WxCpApprovalData[] data; | ||||
| @Data | @Data | ||||
| public static class WxCpApprovalData implements Serializable{ | |||||
| public static class WxCpApprovalData implements Serializable { | |||||
| private static final long serialVersionUID = -3051785319608491640L; | private static final long serialVersionUID = -3051785319608491640L; | ||||
| private String spname; | |||||
| @SerializedName("spname") | |||||
| private String spName; | |||||
| @SerializedName("apply_name") | @SerializedName("apply_name") | ||||
| private String applyName; | private String applyName; | ||||
| @@ -64,6 +63,6 @@ public class WxCpApprovalDataResult implements Serializable { | |||||
| private String applyUserId; | private String applyUserId; | ||||
| @SerializedName("comm") | @SerializedName("comm") | ||||
| private Map<String,String> comm; | |||||
| private Map<String, String> comm; | |||||
| } | } | ||||
| } | } | ||||
| @@ -7,14 +7,13 @@ import java.io.Serializable; | |||||
| import java.util.List; | import java.util.List; | ||||
| /** | /** | ||||
| * 企业微信打卡数据. | |||||
| * | |||||
| * @author Element | * @author Element | ||||
| * @Package me.chanjar.weixin.cp.bean | |||||
| * @date 2019-04-06 11:01 | * @date 2019-04-06 11:01 | ||||
| * @Description: 企业微信打卡数据 | |||||
| */ | */ | ||||
| @Data | @Data | ||||
| public class WxCpCheckinData implements Serializable { | public class WxCpCheckinData implements Serializable { | ||||
| private static final long serialVersionUID = 1915820330847799605L; | private static final long serialVersionUID = 1915820330847799605L; | ||||
| @SerializedName("userid") | @SerializedName("userid") | ||||
| @@ -42,7 +41,7 @@ public class WxCpCheckinData implements Serializable { | |||||
| private String wifiName; | private String wifiName; | ||||
| @SerializedName("wifimac") | @SerializedName("wifimac") | ||||
| private String wifiMAC; | |||||
| private String wifiMac; | |||||
| private String notes; | private String notes; | ||||
| @@ -7,10 +7,10 @@ import java.io.Serializable; | |||||
| import java.util.List; | import java.util.List; | ||||
| /** | /** | ||||
| * 企业微信打卡规则. | |||||
| * | |||||
| * @author Element | * @author Element | ||||
| * @Package me.chanjar.weixin.cp.bean | |||||
| * @date 2019-04-06 13:22 | * @date 2019-04-06 13:22 | ||||
| * @Description: 企业微信打卡规则 | |||||
| */ | */ | ||||
| @Data | @Data | ||||
| public class WxCpCheckinOption implements Serializable { | public class WxCpCheckinOption implements Serializable { | ||||
| @@ -21,10 +21,8 @@ public class WxCpCheckinOption implements Serializable { | |||||
| private Group group; | private Group group; | ||||
| @Data | @Data | ||||
| public static class CheckinDate implements Serializable { | public static class CheckinDate implements Serializable { | ||||
| private static final long serialVersionUID = -5601722383347110974L; | private static final long serialVersionUID = -5601722383347110974L; | ||||
| private List<Integer> workdays; | private List<Integer> workdays; | ||||
| @@ -36,15 +34,14 @@ public class WxCpCheckinOption implements Serializable { | |||||
| private Long flexTime; | private Long flexTime; | ||||
| @SerializedName("noneed_offwork") | @SerializedName("noneed_offwork") | ||||
| private Boolean noneedOffwork; | |||||
| private Boolean noNeedOffwork; | |||||
| @SerializedName("limit_aheadtime") | @SerializedName("limit_aheadtime") | ||||
| private Long limitAheadtime; | |||||
| private Long limitAheadTime; | |||||
| } | } | ||||
| @Data | @Data | ||||
| public static class CheckinTime implements Serializable { | public static class CheckinTime implements Serializable { | ||||
| private static final long serialVersionUID = -8579954143265336276L; | private static final long serialVersionUID = -8579954143265336276L; | ||||
| @SerializedName("work_sec") | @SerializedName("work_sec") | ||||
| @@ -90,16 +87,16 @@ public class WxCpCheckinOption implements Serializable { | |||||
| private Boolean needPhoto; | private Boolean needPhoto; | ||||
| @SerializedName("note_can_use_local_pic") | @SerializedName("note_can_use_local_pic") | ||||
| private Boolean note_can_use_local_pic; | |||||
| private Boolean noteCanUseLocalPic; | |||||
| @SerializedName("allow_checkin_offworkday") | @SerializedName("allow_checkin_offworkday") | ||||
| private Boolean allow_checkin_offworkday; | |||||
| private Boolean allowCheckinOffWorkday; | |||||
| @SerializedName("allow_apply_offworkday") | @SerializedName("allow_apply_offworkday") | ||||
| private Boolean allow_apply_offworkday; | |||||
| private Boolean allowApplyOffWorkday; | |||||
| @SerializedName("wifimac_infos") | @SerializedName("wifimac_infos") | ||||
| private List<WifiMACInfo> wifiMACInfos; | |||||
| private List<WifiMacInfo> wifiMacInfos; | |||||
| @SerializedName("loc_infos") | @SerializedName("loc_infos") | ||||
| private List<LocInfo> locInfos; | private List<LocInfo> locInfos; | ||||
| @@ -107,8 +104,7 @@ public class WxCpCheckinOption implements Serializable { | |||||
| } | } | ||||
| @Data | @Data | ||||
| public static class WifiMACInfo implements Serializable{ | |||||
| public static class WifiMacInfo implements Serializable { | |||||
| private static final long serialVersionUID = -4657809185716627368L; | private static final long serialVersionUID = -4657809185716627368L; | ||||
| @SerializedName("wifiname") | @SerializedName("wifiname") | ||||
| @@ -119,8 +115,7 @@ public class WxCpCheckinOption implements Serializable { | |||||
| } | } | ||||
| @Data | @Data | ||||
| public static class LocInfo implements Serializable{ | |||||
| public static class LocInfo implements Serializable { | |||||
| private static final long serialVersionUID = -618965280668099608L; | private static final long serialVersionUID = -618965280668099608L; | ||||
| private Long lat; | private Long lat; | ||||
| @@ -136,8 +131,7 @@ public class WxCpCheckinOption implements Serializable { | |||||
| } | } | ||||
| @Data | @Data | ||||
| public static class SpeDay implements Serializable{ | |||||
| public static class SpeDay implements Serializable { | |||||
| private static final long serialVersionUID = -3538818921359212748L; | private static final long serialVersionUID = -3538818921359212748L; | ||||
| private Long timestamp; | private Long timestamp; | ||||
| @@ -7,10 +7,10 @@ import java.io.Serializable; | |||||
| import java.util.List; | import java.util.List; | ||||
| /** | /** | ||||
| * 公费电话拨打记录. | |||||
| * | |||||
| * @author Element | * @author Element | ||||
| * @Package me.chanjar.weixin.cp.bean | |||||
| * @date 2019-04-06 15:38 | * @date 2019-04-06 15:38 | ||||
| * @Description: 公费电话拨打记录 | |||||
| */ | */ | ||||
| @Data | @Data | ||||
| public class WxCpDialRecord implements Serializable { | public class WxCpDialRecord implements Serializable { | ||||
| @@ -39,7 +39,7 @@ public class WxCpDialRecord implements Serializable { | |||||
| * 主叫信息 | * 主叫信息 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| public static class Caller implements Serializable{ | |||||
| public static class Caller implements Serializable { | |||||
| private static final long serialVersionUID = 4792200404338145607L; | private static final long serialVersionUID = 4792200404338145607L; | ||||
| @@ -53,7 +53,7 @@ public class WxCpDialRecord implements Serializable { | |||||
| * 被叫信息 | * 被叫信息 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| public static class Callee implements Serializable{ | |||||
| public static class Callee implements Serializable { | |||||
| private static final long serialVersionUID = 2390963671336179550L; | private static final long serialVersionUID = 2390963671336179550L; | ||||
| @@ -1,52 +1,30 @@ | |||||
| /** | |||||
| * 对公众平台发送给公众账号的消息加解密示例代码. | |||||
| * | |||||
| * @copyright Copyright (c) 1998-2014 Tencent Inc. | |||||
| * <p> | |||||
| * 针对org.apache.commons.codec.binary.Base64, | |||||
| * 需要导入架包commons-codec-1.9(或commons-codec-1.8等其他版本) | |||||
| * 官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi | |||||
| * <p> | |||||
| * 针对org.apache.commons.codec.binary.Base64, | |||||
| * 需要导入架包commons-codec-1.9(或commons-codec-1.8等其他版本) | |||||
| * 官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi | |||||
| */ | |||||
| // ------------------------------------------------------------------------ | |||||
| /** | |||||
| * 针对org.apache.commons.codec.binary.Base64, | |||||
| * 需要导入架包commons-codec-1.9(或commons-codec-1.8等其他版本) | |||||
| * 官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi | |||||
| */ | |||||
| package me.chanjar.weixin.cp.util.crypto; | |||||
| import org.apache.commons.codec.binary.Base64; | |||||
| import me.chanjar.weixin.common.util.crypto.WxCryptUtil; | |||||
| import me.chanjar.weixin.cp.config.WxCpTpConfigStorage; | |||||
| public class WxCpTpCryptUtil extends WxCryptUtil { | |||||
| /** | |||||
| * 构造函数 | |||||
| * | |||||
| * @param wxCpConfigStorage | |||||
| */ | |||||
| public WxCpTpCryptUtil(WxCpTpConfigStorage wxCpTpConfigStorage) { | |||||
| /* | |||||
| * @param token 公众平台上,开发者设置的token | |||||
| * @param encodingAesKey 公众平台上,开发者设置的EncodingAESKey | |||||
| * @param appidOrCorpid 公众平台corpId | |||||
| */ | |||||
| String encodingAesKey = wxCpTpConfigStorage.getAesKey(); | |||||
| String token = wxCpTpConfigStorage.getToken(); | |||||
| String corpId = wxCpTpConfigStorage.getCorpId(); | |||||
| this.token = token; | |||||
| this.appidOrCorpid = corpId; | |||||
| this.aesKey = Base64.decodeBase64(encodingAesKey + "="); | |||||
| } | |||||
| } | |||||
| package me.chanjar.weixin.cp.util.crypto; | |||||
| import me.chanjar.weixin.common.util.crypto.WxCryptUtil; | |||||
| import me.chanjar.weixin.cp.config.WxCpTpConfigStorage; | |||||
| import org.apache.commons.codec.binary.Base64; | |||||
| /** | |||||
| * @author someone | |||||
| */ | |||||
| public class WxCpTpCryptUtil extends WxCryptUtil { | |||||
| /** | |||||
| * 构造函数. | |||||
| */ | |||||
| public WxCpTpCryptUtil(WxCpTpConfigStorage wxCpTpConfigStorage) { | |||||
| /* | |||||
| * @param token 公众平台上,开发者设置的token | |||||
| * @param encodingAesKey 公众平台上,开发者设置的EncodingAESKey | |||||
| * @param appidOrCorpid 公众平台corpId | |||||
| */ | |||||
| String encodingAesKey = wxCpTpConfigStorage.getAesKey(); | |||||
| String token = wxCpTpConfigStorage.getToken(); | |||||
| String corpId = wxCpTpConfigStorage.getCorpId(); | |||||
| this.token = token; | |||||
| this.appidOrCorpid = corpId; | |||||
| this.aesKey = Base64.decodeBase64(encodingAesKey + "="); | |||||
| } | |||||
| } | |||||
| @@ -10,27 +10,27 @@ import java.util.List; | |||||
| public interface WxMaTemplateService { | public interface WxMaTemplateService { | ||||
| /** | /** | ||||
| * 获取小程序模板库标题列表 | |||||
| * 获取小程序模板库标题列表. | |||||
| */ | */ | ||||
| String TEMPLATE_LIBRARY_LIST_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/library/list"; | String TEMPLATE_LIBRARY_LIST_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/library/list"; | ||||
| /** | /** | ||||
| * 获取模板库某个模板标题下关键词库 | |||||
| * 获取模板库某个模板标题下关键词库. | |||||
| */ | */ | ||||
| String TEMPLATE_LIBRARY_KEYWORD_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/library/get"; | String TEMPLATE_LIBRARY_KEYWORD_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/library/get"; | ||||
| /** | /** | ||||
| * 组合模板并添加至帐号下的个人模板库 | |||||
| * 组合模板并添加至帐号下的个人模板库. | |||||
| */ | */ | ||||
| String TEMPLATE_ADD_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/add"; | String TEMPLATE_ADD_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/add"; | ||||
| /** | /** | ||||
| * 获取帐号下已存在的模板列表 | |||||
| * 获取帐号下已存在的模板列表. | |||||
| */ | */ | ||||
| String TEMPLATE_LIST_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/list"; | String TEMPLATE_LIST_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/list"; | ||||
| /** | /** | ||||
| * 删除帐号下的某个模板 | |||||
| * 删除帐号下的某个模板. | |||||
| */ | */ | ||||
| String TEMPLATE_DEL_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/del"; | String TEMPLATE_DEL_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/template/del"; | ||||
| @@ -41,10 +41,6 @@ public interface WxMaTemplateService { | |||||
| * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | ||||
| * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/library/list?access_token=ACCESS_TOKEN | * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/library/list?access_token=ACCESS_TOKEN | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param offset | |||||
| * @param count | |||||
| * @return | |||||
| */ | */ | ||||
| WxMaTemplateLibraryListResult findTemplateLibraryList(int offset, int count) throws WxErrorException; | WxMaTemplateLibraryListResult findTemplateLibraryList(int offset, int count) throws WxErrorException; | ||||
| @@ -55,9 +51,6 @@ public interface WxMaTemplateService { | |||||
| * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | ||||
| * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/library/get?access_token=ACCESS_TOKEN | * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/library/get?access_token=ACCESS_TOKEN | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param id | |||||
| * @return | |||||
| */ | */ | ||||
| WxMaTemplateLibraryGetResult findTemplateLibraryKeywordList(String id) throws WxErrorException; | WxMaTemplateLibraryGetResult findTemplateLibraryKeywordList(String id) throws WxErrorException; | ||||
| @@ -68,10 +61,6 @@ public interface WxMaTemplateService { | |||||
| * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | ||||
| * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/add?access_token=ACCESS_TOKEN | * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/add?access_token=ACCESS_TOKEN | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param id | |||||
| * @param keywordIdList | |||||
| * @return | |||||
| */ | */ | ||||
| WxMaTemplateAddResult addTemplate(String id, List<Integer> keywordIdList) throws WxErrorException; | WxMaTemplateAddResult addTemplate(String id, List<Integer> keywordIdList) throws WxErrorException; | ||||
| @@ -82,10 +71,6 @@ public interface WxMaTemplateService { | |||||
| * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | ||||
| * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/list?access_token=ACCESS_TOKEN | * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/list?access_token=ACCESS_TOKEN | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param offset | |||||
| * @param count | |||||
| * @return | |||||
| */ | */ | ||||
| WxMaTemplateListResult findTemplateList(int offset, int count) throws WxErrorException; | WxMaTemplateListResult findTemplateList(int offset, int count) throws WxErrorException; | ||||
| @@ -96,8 +81,6 @@ public interface WxMaTemplateService { | |||||
| * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | * 详情请见: <a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1500465446_j4CgR&token=&lang=zh_CN">获取小程序模板库标题列表</a> | ||||
| * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/list?access_token=ACCESS_TOKEN | * 接口url格式: https://api.weixin.qq.com/cgi-bin/wxopen/template/list?access_token=ACCESS_TOKEN | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param templateId | |||||
| */ | */ | ||||
| boolean delTemplate(String templateId) throws WxErrorException; | boolean delTemplate(String templateId) throws WxErrorException; | ||||
| } | } | ||||
| @@ -179,7 +179,6 @@ public interface WxMpService { | |||||
| */ | */ | ||||
| String[] getCallbackIP() throws WxErrorException; | String[] getCallbackIP() throws WxErrorException; | ||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| * 网络检测 | * 网络检测 | ||||
| @@ -189,7 +188,7 @@ public interface WxMpService { | |||||
| * | * | ||||
| * @param action 执行的检测动作 | * @param action 执行的检测动作 | ||||
| * @param operator 指定平台从某个运营商进行检测 | * @param operator 指定平台从某个运营商进行检测 | ||||
| * @throws WxErrorException | |||||
| * @throws WxErrorException . | |||||
| */ | */ | ||||
| WxNetCheckResult netCheck(String action, String operator) throws WxErrorException; | WxNetCheckResult netCheck(String action, String operator) throws WxErrorException; | ||||
| @@ -305,6 +304,8 @@ public interface WxMpService { | |||||
| * 设置当微信系统响应系统繁忙时,最大重试次数. | * 设置当微信系统响应系统繁忙时,最大重试次数. | ||||
| * 默认:5次 | * 默认:5次 | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param maxRetryTimes 最大重试次数 | |||||
| */ | */ | ||||
| void setMaxRetryTimes(int maxRetryTimes); | void setMaxRetryTimes(int maxRetryTimes); | ||||
| @@ -317,18 +318,21 @@ public interface WxMpService { | |||||
| /** | /** | ||||
| * 设置 {@link WxMpConfigStorage} 的实现. 兼容老版本 | * 设置 {@link WxMpConfigStorage} 的实现. 兼容老版本 | ||||
| * | |||||
| * @param wxConfigProvider . | |||||
| */ | */ | ||||
| void setWxMpConfigStorage(WxMpConfigStorage wxConfigProvider); | void setWxMpConfigStorage(WxMpConfigStorage wxConfigProvider); | ||||
| /** | /** | ||||
| * {@link Map<String, WxMpConfigStorage>} 加入新的 {@link WxMpConfigStorage},适用于动态添加新的微信公众号配置 | |||||
| * Map里 加入新的 {@link WxMpConfigStorage},适用于动态添加新的微信公众号配置. | |||||
| * | * | ||||
| * @param mpId 公众号id | |||||
| * @param configStorage 新的微信配置 | * @param configStorage 新的微信配置 | ||||
| */ | */ | ||||
| void addConfigStorage(String mpId, WxMpConfigStorage configStorage); | void addConfigStorage(String mpId, WxMpConfigStorage configStorage); | ||||
| /** | /** | ||||
| * 从{@link Map<String, WxMpConfigStorage>} 移除 {@link String mpId} 所对应的 {@link WxMpConfigStorage},适用于动态移除微信公众号配置 | |||||
| * 从 Map中 移除 {@link String mpId} 所对应的 {@link WxMpConfigStorage},适用于动态移除微信公众号配置. | |||||
| * | * | ||||
| * @param mpId 对应公众号的标识 | * @param mpId 对应公众号的标识 | ||||
| */ | */ | ||||
| @@ -351,7 +355,7 @@ public interface WxMpService { | |||||
| void setMultiConfigStorages(Map<String, WxMpConfigStorage> configStorages, String defaultMpId); | void setMultiConfigStorages(Map<String, WxMpConfigStorage> configStorages, String defaultMpId); | ||||
| /** | /** | ||||
| * 进行相应的公众号切换 | |||||
| * 进行相应的公众号切换. | |||||
| * | * | ||||
| * @param mpId 公众号标识 | * @param mpId 公众号标识 | ||||
| * @return 切换是否成功 | * @return 切换是否成功 | ||||
| @@ -359,7 +363,7 @@ public interface WxMpService { | |||||
| boolean switchover(String mpId); | boolean switchover(String mpId); | ||||
| /** | /** | ||||
| * 进行相应的公众号切换 | |||||
| * 进行相应的公众号切换. | |||||
| * | * | ||||
| * @param mpId 公众号标识 | * @param mpId 公众号标识 | ||||
| * @return 切换成功,则返回当前对象,方便链式调用,否则抛出异常 | * @return 切换成功,则返回当前对象,方便链式调用,否则抛出异常 | ||||
| @@ -484,6 +488,8 @@ public interface WxMpService { | |||||
| void initHttp(); | void initHttp(); | ||||
| /** | /** | ||||
| * 获取RequestHttp对象. | |||||
| * | |||||
| * @return RequestHttp对象 | * @return RequestHttp对象 | ||||
| */ | */ | ||||
| RequestHttp getRequestHttp(); | RequestHttp getRequestHttp(); | ||||
| @@ -516,40 +522,130 @@ public interface WxMpService { | |||||
| */ | */ | ||||
| WxMpOcrService getOcrService(); | WxMpOcrService getOcrService(); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param kefuService . | |||||
| */ | |||||
| void setKefuService(WxMpKefuService kefuService); | void setKefuService(WxMpKefuService kefuService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param materialService . | |||||
| */ | |||||
| void setMaterialService(WxMpMaterialService materialService); | void setMaterialService(WxMpMaterialService materialService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param menuService . | |||||
| */ | |||||
| void setMenuService(WxMpMenuService menuService); | void setMenuService(WxMpMenuService menuService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param userService . | |||||
| */ | |||||
| void setUserService(WxMpUserService userService); | void setUserService(WxMpUserService userService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param tagService . | |||||
| */ | |||||
| void setTagService(WxMpUserTagService tagService); | void setTagService(WxMpUserTagService tagService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param qrCodeService . | |||||
| */ | |||||
| void setQrCodeService(WxMpQrcodeService qrCodeService); | void setQrCodeService(WxMpQrcodeService qrCodeService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param cardService . | |||||
| */ | |||||
| void setCardService(WxMpCardService cardService); | void setCardService(WxMpCardService cardService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param storeService . | |||||
| */ | |||||
| void setStoreService(WxMpStoreService storeService); | void setStoreService(WxMpStoreService storeService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param dataCubeService . | |||||
| */ | |||||
| void setDataCubeService(WxMpDataCubeService dataCubeService); | void setDataCubeService(WxMpDataCubeService dataCubeService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param blackListService . | |||||
| */ | |||||
| void setBlackListService(WxMpUserBlacklistService blackListService); | void setBlackListService(WxMpUserBlacklistService blackListService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param templateMsgService . | |||||
| */ | |||||
| void setTemplateMsgService(WxMpTemplateMsgService templateMsgService); | void setTemplateMsgService(WxMpTemplateMsgService templateMsgService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param deviceService . | |||||
| */ | |||||
| void setDeviceService(WxMpDeviceService deviceService); | void setDeviceService(WxMpDeviceService deviceService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param shakeService . | |||||
| */ | |||||
| void setShakeService(WxMpShakeService shakeService); | void setShakeService(WxMpShakeService shakeService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param memberCardService . | |||||
| */ | |||||
| void setMemberCardService(WxMpMemberCardService memberCardService); | void setMemberCardService(WxMpMemberCardService memberCardService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param massMessageService . | |||||
| */ | |||||
| void setMassMessageService(WxMpMassMessageService massMessageService); | void setMassMessageService(WxMpMassMessageService massMessageService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param aiOpenService . | |||||
| */ | |||||
| void setAiOpenService(WxMpAiOpenService aiOpenService); | void setAiOpenService(WxMpAiOpenService aiOpenService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param marketingService . | |||||
| */ | |||||
| void setMarketingService(WxMpMarketingService marketingService); | void setMarketingService(WxMpMarketingService marketingService); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param ocrService . | |||||
| */ | |||||
| void setOcrService(WxMpOcrService ocrService); | void setOcrService(WxMpOcrService ocrService); | ||||
| /** | /** | ||||
| @@ -559,5 +655,10 @@ public interface WxMpService { | |||||
| */ | */ | ||||
| WxMpCommentService getCommentService(); | WxMpCommentService getCommentService(); | ||||
| /** | |||||
| * . | |||||
| * | |||||
| * @param commentService . | |||||
| */ | |||||
| void setCommentService(WxMpCommentService commentService); | void setCommentService(WxMpCommentService commentService); | ||||
| } | } | ||||
| @@ -3,11 +3,13 @@ package me.chanjar.weixin.mp.bean.card; | |||||
| import java.io.Serializable; | import java.io.Serializable; | ||||
| /** | /** | ||||
| * @description 卡券返回结果基础类 | |||||
| * @author: fanxl | |||||
| * @date: 2019/1/22 0022 10:08 | |||||
| * 卡券返回结果基础类. | |||||
| * | |||||
| * @author fanxl | |||||
| * @date 2019/1/22 0022 10:08 | |||||
| */ | */ | ||||
| public class BaseWxMpCardResult implements Serializable { | public class BaseWxMpCardResult implements Serializable { | ||||
| private static final long serialVersionUID = -3502867243738689870L; | |||||
| /** | /** | ||||
| * 错误码 | * 错误码 | ||||
| @@ -1,25 +1,26 @@ | |||||
| package me.chanjar.weixin.mp.enums; | package me.chanjar.weixin.mp.enums; | ||||
| /** | /** | ||||
| * @description: 微信卡券类型 | |||||
| * @author: chenyixin | |||||
| * @create: 2019-09-07 23:33 | |||||
| * 微信卡券类型. | |||||
| * | |||||
| * @author chenyixin | |||||
| * @date 2019-09-07 23:33 | |||||
| **/ | **/ | ||||
| public enum WxCardType { | public enum WxCardType { | ||||
| MEMBER_CARD("MEMBER_CARD"), | |||||
| GROUPON("GROUPON"), | |||||
| CASH("CASH"), | |||||
| DISCOUNT("DISCOUNT"), | |||||
| GIFT("GIFT"), | |||||
| GENERAL_COUPON("GENERAL_COUPON"); | |||||
| MEMBER_CARD("MEMBER_CARD"), | |||||
| GROUPON("GROUPON"), | |||||
| CASH("CASH"), | |||||
| DISCOUNT("DISCOUNT"), | |||||
| GIFT("GIFT"), | |||||
| GENERAL_COUPON("GENERAL_COUPON"); | |||||
| private String code; | |||||
| private String code; | |||||
| WxCardType(String code) { | |||||
| this.code = code; | |||||
| } | |||||
| WxCardType(String code) { | |||||
| this.code = code; | |||||
| } | |||||
| public String getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getCode() { | |||||
| return code; | |||||
| } | |||||
| } | } | ||||
| @@ -5,8 +5,9 @@ import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| /** | /** | ||||
| * 快速创建的小程序的账号基本信息. | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description 快速创建的小程序的账号基本信息 | |||||
| * @since 2019/1/23 14:39 | * @since 2019/1/23 14:39 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| @@ -7,8 +7,9 @@ import lombok.EqualsAndHashCode; | |||||
| import java.util.List; | import java.util.List; | ||||
| /** | /** | ||||
| * 获取小程序已经设置的类目结果类. | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description 获取小程序已经设置的类目结果类 | |||||
| * @since 2019/1/26 18:27 | * @since 2019/1/26 18:27 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| @@ -5,8 +5,9 @@ import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| /** | /** | ||||
| * 微信认证名称检测结果类. | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description 微信认证名称检测结果类 | |||||
| * @since 2019/1/26 17:39 | * @since 2019/1/26 17:39 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| @@ -5,8 +5,9 @@ import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| /** | /** | ||||
| * 查询改名状态实体类. | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description 查询改名状态实体类 | |||||
| * @since 2019/1/26 17:52 | * @since 2019/1/26 17:52 | ||||
| */ | */ | ||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||
| @@ -5,8 +5,9 @@ import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| /** | /** | ||||
| * 设置小程序名称结果类. | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description 设置小程序名称结果类 | |||||
| * @since 2019/1/26 17:39 | * @since 2019/1/26 17:39 | ||||
| */ | */ | ||||
| @Data | @Data | ||||
| @@ -8,13 +8,15 @@ import me.chanjar.weixin.open.bean.result.WxFastMaAccountBasicInfoResult; | |||||
| import java.lang.reflect.Type; | import java.lang.reflect.Type; | ||||
| /** | /** | ||||
| * . | |||||
| * | |||||
| * @author Hipple | * @author Hipple | ||||
| * @description | |||||
| * @since 2019/1/23 15:02 | * @since 2019/1/23 15:02 | ||||
| */ | */ | ||||
| public class WxFastMaAccountBasicInfoGsonAdapter implements JsonDeserializer<WxFastMaAccountBasicInfoResult> { | public class WxFastMaAccountBasicInfoGsonAdapter implements JsonDeserializer<WxFastMaAccountBasicInfoResult> { | ||||
| @Override | @Override | ||||
| public WxFastMaAccountBasicInfoResult deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { | |||||
| public WxFastMaAccountBasicInfoResult deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) | |||||
| throws JsonParseException { | |||||
| WxFastMaAccountBasicInfoResult accountBasicInfo = new WxFastMaAccountBasicInfoResult(); | WxFastMaAccountBasicInfoResult accountBasicInfo = new WxFastMaAccountBasicInfoResult(); | ||||
| JsonObject jsonObject = jsonElement.getAsJsonObject(); | JsonObject jsonObject = jsonElement.getAsJsonObject(); | ||||
| @@ -24,19 +26,22 @@ public class WxFastMaAccountBasicInfoGsonAdapter implements JsonDeserializer<WxF | |||||
| accountBasicInfo.setPrincipalName(GsonHelper.getString(jsonObject, "principal_name")); | accountBasicInfo.setPrincipalName(GsonHelper.getString(jsonObject, "principal_name")); | ||||
| accountBasicInfo.setRealnameStatus(GsonHelper.getInteger(jsonObject, "realname_status")); | accountBasicInfo.setRealnameStatus(GsonHelper.getInteger(jsonObject, "realname_status")); | ||||
| WxFastMaAccountBasicInfoResult.WxVerifyInfo verifyInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("wx_verify_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.WxVerifyInfo>() { | |||||
| }.getType()); | |||||
| WxFastMaAccountBasicInfoResult.WxVerifyInfo verifyInfo = WxOpenGsonBuilder.create() | |||||
| .fromJson(jsonObject.get("wx_verify_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.WxVerifyInfo>() { | |||||
| }.getType()); | |||||
| accountBasicInfo.setWxVerifyInfo(verifyInfo); | accountBasicInfo.setWxVerifyInfo(verifyInfo); | ||||
| WxFastMaAccountBasicInfoResult.SignatureInfo signatureInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("signature_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.SignatureInfo>() { | |||||
| }.getType()); | |||||
| WxFastMaAccountBasicInfoResult.SignatureInfo signatureInfo = WxOpenGsonBuilder.create() | |||||
| .fromJson(jsonObject.get("signature_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.SignatureInfo>() { | |||||
| }.getType()); | |||||
| accountBasicInfo.setSignatureInfo(signatureInfo); | accountBasicInfo.setSignatureInfo(signatureInfo); | ||||
| WxFastMaAccountBasicInfoResult.HeadImageInfo headImageInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("head_image_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.HeadImageInfo>() { | |||||
| }.getType()); | |||||
| WxFastMaAccountBasicInfoResult.HeadImageInfo headImageInfo = WxOpenGsonBuilder.create() | |||||
| .fromJson(jsonObject.get("head_image_info"), | |||||
| new TypeToken<WxFastMaAccountBasicInfoResult.HeadImageInfo>() { | |||||
| }.getType()); | |||||
| accountBasicInfo.setHeadImageInfo(headImageInfo); | accountBasicInfo.setHeadImageInfo(headImageInfo); | ||||
| return accountBasicInfo; | return accountBasicInfo; | ||||