mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-23 22:11:40 +08:00
行业相关api
This commit is contained in:
parent
7a816cf7a9
commit
af2f12267e
@ -965,4 +965,27 @@ public interface WxMpService {
|
|||||||
* @throws WxErrorException
|
* @throws WxErrorException
|
||||||
*/
|
*/
|
||||||
public WxMediaImgUploadResult mediaImgUpload(File file) throws WxErrorException;
|
public WxMediaImgUploadResult mediaImgUpload(File file) throws WxErrorException;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <pre>
|
||||||
|
* 设置所属行业
|
||||||
|
* 官方文档中暂未告知响应内容
|
||||||
|
* 详情请见:http://mp.weixin.qq.com/wiki/5/6dde9eaa909f83354e0094dc3ad99e05.html#.E8.AE.BE.E7.BD.AE.E6.89.80.E5.B1.9E.E8.A1.8C.E4.B8.9A
|
||||||
|
* </pre>
|
||||||
|
* @param wxMpIndustry
|
||||||
|
* @return JsonObject
|
||||||
|
* @throws WxErrorException
|
||||||
|
*/
|
||||||
|
String setIndustry(WxMpIndustry wxMpIndustry) throws WxErrorException;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* <pre>
|
||||||
|
* 获取设置的行业信息
|
||||||
|
* 详情请见:http://mp.weixin.qq.com/wiki/5/6dde9eaa909f83354e0094dc3ad99e05.html#.E8.AE.BE.E7.BD.AE.E6.89.80.E5.B1.9E.E8.A1.8C.E4.B8.9A
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @return wxMpIndustry
|
||||||
|
* @throws WxErrorException
|
||||||
|
*/
|
||||||
|
WxMpIndustry getIndustry() throws WxErrorException;
|
||||||
}
|
}
|
||||||
|
@ -1294,4 +1294,20 @@ public class WxMpServiceImpl implements WxMpService {
|
|||||||
return execute(new MediaImgUploadRequestExecutor(), url, file);
|
return execute(new MediaImgUploadRequestExecutor(), url, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String setIndustry(WxMpIndustry wxMpIndustry) throws WxErrorException {
|
||||||
|
if (null == wxMpIndustry.getPrimaryIndustry() || null == wxMpIndustry.getPrimaryIndustry().getId()
|
||||||
|
|| null == wxMpIndustry.getSecondIndustry() || null == wxMpIndustry.getSecondIndustry().getId()) {
|
||||||
|
throw new IllegalArgumentException("industry id is empty");
|
||||||
|
}
|
||||||
|
String url = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry";
|
||||||
|
return execute(new SimplePostRequestExecutor(), url, wxMpIndustry.toJson());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WxMpIndustry getIndustry() throws WxErrorException {
|
||||||
|
String url = "https://api.weixin.qq.com/cgi-bin/template/get_industry";
|
||||||
|
String responseContent = execute(new SimpleGetRequestExecutor(), url, null);
|
||||||
|
return WxMpIndustry.fromJson(responseContent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package me.chanjar.weixin.mp.bean;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author miller
|
||||||
|
* 官方文档中,创建和获取的数据结构不一样。所以采用冗余字段的方式,实现相应的接口
|
||||||
|
*/
|
||||||
|
public class Industry implements Serializable {
|
||||||
|
private static final long serialVersionUID = -1707184885588012142L;
|
||||||
|
private String id;
|
||||||
|
private String firstClass;
|
||||||
|
private String secondClass;
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFirstClass() {
|
||||||
|
return firstClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFirstClass(String firstClass) {
|
||||||
|
this.firstClass = firstClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSecondClass() {
|
||||||
|
return secondClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecondClass(String secondClass) {
|
||||||
|
this.secondClass = secondClass;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
package me.chanjar.weixin.mp.bean;
|
||||||
|
|
||||||
|
|
||||||
|
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author miller
|
||||||
|
*/
|
||||||
|
public class WxMpIndustry implements Serializable {
|
||||||
|
private static final long serialVersionUID = -7700398224795914722L;
|
||||||
|
private Industry primaryIndustry;
|
||||||
|
private Industry secondIndustry;
|
||||||
|
|
||||||
|
public static WxMpIndustry fromJson(String json) {
|
||||||
|
return WxMpGsonBuilder.create().fromJson(json, WxMpIndustry.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJson() {
|
||||||
|
return WxMpGsonBuilder.create().toJson(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Industry getPrimaryIndustry() {
|
||||||
|
return primaryIndustry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrimaryIndustry(Industry primaryIndustry) {
|
||||||
|
this.primaryIndustry = primaryIndustry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Industry getSecondIndustry() {
|
||||||
|
return secondIndustry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecondIndustry(Industry secondIndustry) {
|
||||||
|
this.secondIndustry = secondIndustry;
|
||||||
|
}
|
||||||
|
}
|
@ -42,6 +42,7 @@ public class WxMpGsonBuilder {
|
|||||||
INSTANCE.registerTypeAdapter(WxMpCard.class, new WxMpCardGsonAdapter());
|
INSTANCE.registerTypeAdapter(WxMpCard.class, new WxMpCardGsonAdapter());
|
||||||
INSTANCE.registerTypeAdapter(WxMpMassPreviewMessage.class, new WxMpMassPreviewMessageGsonAdapter());
|
INSTANCE.registerTypeAdapter(WxMpMassPreviewMessage.class, new WxMpMassPreviewMessageGsonAdapter());
|
||||||
INSTANCE.registerTypeAdapter(WxMediaImgUploadResult.class, new WxMediaImgUploadResultGsonAdapter());
|
INSTANCE.registerTypeAdapter(WxMediaImgUploadResult.class, new WxMediaImgUploadResultGsonAdapter());
|
||||||
|
INSTANCE.registerTypeAdapter(WxMpIndustry.class, new WxMpIndustryGsonAdapter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Gson create() {
|
public static Gson create() {
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
package me.chanjar.weixin.mp.util.json;
|
||||||
|
|
||||||
|
import com.google.gson.JsonDeserializationContext;
|
||||||
|
import com.google.gson.JsonDeserializer;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonParseException;
|
||||||
|
import com.google.gson.JsonSerializationContext;
|
||||||
|
import com.google.gson.JsonSerializer;
|
||||||
|
import me.chanjar.weixin.common.util.json.GsonHelper;
|
||||||
|
import me.chanjar.weixin.mp.bean.Industry;
|
||||||
|
import me.chanjar.weixin.mp.bean.WxMpIndustry;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author miller
|
||||||
|
*/
|
||||||
|
public class WxMpIndustryGsonAdapter implements JsonSerializer<WxMpIndustry>, JsonDeserializer<WxMpIndustry> {
|
||||||
|
@Override
|
||||||
|
public JsonElement serialize(WxMpIndustry wxMpIndustry, Type type, JsonSerializationContext jsonSerializationContext) {
|
||||||
|
JsonObject json = new JsonObject();
|
||||||
|
json.addProperty("industry_id1", wxMpIndustry.getPrimaryIndustry().getId());
|
||||||
|
json.addProperty("industry_id2", wxMpIndustry.getSecondIndustry().getId());
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WxMpIndustry deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
|
||||||
|
WxMpIndustry wxMpIndustry = new WxMpIndustry();
|
||||||
|
JsonObject primaryIndustry = jsonElement.getAsJsonObject().get("primary_industry").getAsJsonObject();
|
||||||
|
wxMpIndustry.setPrimaryIndustry(convertFromJson(primaryIndustry));
|
||||||
|
JsonObject secondaryIndustry = jsonElement.getAsJsonObject().get("secondary_industry").getAsJsonObject();
|
||||||
|
wxMpIndustry.setSecondIndustry(convertFromJson(secondaryIndustry));
|
||||||
|
return wxMpIndustry;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Industry convertFromJson(JsonObject json) {
|
||||||
|
Industry industry = new Industry();
|
||||||
|
industry.setFirstClass(GsonHelper.getString(json, "first_class"));
|
||||||
|
industry.setSecondClass(GsonHelper.getString(json, "second_class"));
|
||||||
|
return industry;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user