mirror of
https://gitee.com/wangkang/udf.git
synced 2026-10-30 04:43:48 +00:00
添加微信的模板消息API
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
package org.itkk.udf.weixin.mp.api;
|
||||
|
||||
import org.itkk.udf.weixin.mp.api.domain.SendMessageTemplateResult;
|
||||
import org.itkk.udf.weixin.mp.api.domain.SendMessageTemplateVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
* MessageTemplate
|
||||
*/
|
||||
@Component
|
||||
public class MessageTemplate {
|
||||
|
||||
/**
|
||||
* weixinMpApiProperties
|
||||
*/
|
||||
@Autowired
|
||||
private WeixinMpApiProperties weixinMpApiProperties;
|
||||
|
||||
/**
|
||||
* token
|
||||
*/
|
||||
@Autowired
|
||||
private Token token;
|
||||
|
||||
/**
|
||||
* externalRestTemplate
|
||||
*/
|
||||
@Autowired
|
||||
@Qualifier("externalRestTemplate")
|
||||
private RestTemplate externalRestTemplate;
|
||||
|
||||
/**
|
||||
* SendMessageTemplateResult
|
||||
*
|
||||
* @param businessCode businessCode
|
||||
* @param param param
|
||||
* @return SendMessageTemplateResult
|
||||
*/
|
||||
public SendMessageTemplateResult send(String businessCode, SendMessageTemplateVo param) {
|
||||
//获得接口地址
|
||||
String path = weixinMpApiProperties.getApiPath().get("message_template_send");
|
||||
//拼接url
|
||||
StringBuilder url = new StringBuilder(path);
|
||||
url.append(WeixinMpConsont.appendAccessToken(token.get(businessCode)));
|
||||
//请求
|
||||
SendMessageTemplateResult result = externalRestTemplate.postForEntity(url.toString(), param, SendMessageTemplateResult.class).getBody();
|
||||
//验证
|
||||
WeixinMpConsont.checkResult(result);
|
||||
//返回
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package org.itkk.udf.weixin.mp.api.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Miniprogram
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(description = "小程序")
|
||||
public class Miniprogram implements Serializable {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* appid
|
||||
*/
|
||||
@ApiModelProperty(value = "所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系)", required = true, dataType = "string")
|
||||
private String appid;
|
||||
|
||||
/**
|
||||
* pagepath
|
||||
*/
|
||||
@ApiModelProperty(value = "所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar)", required = true, dataType = "string")
|
||||
private String pagepath;
|
||||
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package org.itkk.udf.weixin.mp.api.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* SendMessageTemplateDataVo
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(description = "发送模板消息变量Data实体")
|
||||
public class SendMessageTemplateDataVo implements Serializable {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* value
|
||||
*/
|
||||
@ApiModelProperty(value = "变量的数据", required = true, dataType = "string")
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* color
|
||||
*/
|
||||
@ApiModelProperty(value = "模板内容字体颜色,不填默认为黑色", dataType = "string")
|
||||
private String color;
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package org.itkk.udf.weixin.mp.api.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* SendMessageTemplateResult
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(description = "模板消息发送结果")
|
||||
public class SendMessageTemplateResult extends BaseResult {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* msgid
|
||||
*/
|
||||
@ApiModelProperty(value = "消息ID", required = true, dataType = "String")
|
||||
private String msgid;
|
||||
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
package org.itkk.udf.weixin.mp.api.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* SendMessageTemplateVo
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(description = "发送模板消息实体")
|
||||
public class SendMessageTemplateVo implements Serializable {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* touser
|
||||
*/
|
||||
@ApiModelProperty(value = "接收者openid", required = true, dataType = "string")
|
||||
private String touser;
|
||||
|
||||
/**
|
||||
* template_id
|
||||
*/
|
||||
@ApiModelProperty(value = "模板ID", required = true, dataType = "string")
|
||||
private String template_id; //NOSONAR
|
||||
|
||||
/**
|
||||
* url
|
||||
*/
|
||||
@ApiModelProperty(value = "模板跳转链接", dataType = "string")
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* miniprogram
|
||||
*/
|
||||
@ApiModelProperty(value = "跳小程序所需数据,不需跳小程序可不用传该数据", dataType = "object")
|
||||
private Miniprogram miniprogram;
|
||||
|
||||
/**
|
||||
* data
|
||||
*/
|
||||
@ApiModelProperty(value = "模板数据", required = true, dataType = "object")
|
||||
private Map<String, SendMessageTemplateDataVo> data;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user