企业微信发送消息(未完成)

master
3y 3 years ago
parent 2af53cf7a7
commit 1c4fd3c9ea

@ -0,0 +1,9 @@
package com.java3y.austin.common.dto;
/**
* @author 3y
*
*/
public class EnterpriseWeChatContentModel extends ContentModel {
}

@ -23,6 +23,7 @@ public enum ChannelType {
EMAIL(40, "email(邮件)", EmailContentModel.class, "email"),
OFFICIAL_ACCOUNT(50, "OfficialAccounts(服务号)", OfficialAccountsContentModel.class, "official_accounts"),
MINI_PROGRAM(60, "miniProgram(小程序)", MiniProgramContentModel.class, "mini_program"),
ENTERPRISE_WE_CHAT(70, "EnterpriseWeChat(企业微信)", MiniProgramContentModel.class, "enterprise_we_chat"),
;
/**

@ -46,5 +46,12 @@
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
</dependency>
<!--企业微信发送消息-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-cp</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,47 @@
package com.java3y.austin.handler.handler.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Throwables;
import com.java3y.austin.common.domain.TaskInfo;
import com.java3y.austin.common.enums.ChannelType;
import com.java3y.austin.handler.handler.BaseHandler;
import com.java3y.austin.handler.handler.Handler;
import com.java3y.austin.handler.script.EnterpriseWeChatService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.cp.bean.message.WxCpMessage;
import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author 3y
*
*/
@Component
@Slf4j
public class EnterpriseWeChatHandler extends BaseHandler implements Handler {
@Autowired
private EnterpriseWeChatService enterpriseWeChatService;
public EnterpriseWeChatHandler() {
channelCode = ChannelType.ENTERPRISE_WE_CHAT.getCode();
}
@Override
public boolean handler(TaskInfo taskInfo) {
WxCpMessage wxCpMessage = new WxCpMessage();
try {
WxCpMessageSendResult result = enterpriseWeChatService.send(wxCpMessage);
return true;
} catch (Exception e) {
log.error("EnterpriseWeChatHandler#handler fail:{},params:{}",
Throwables.getStackTraceAsString(e), JSON.toJSONString(taskInfo));
}
return false;
}
}

@ -7,7 +7,7 @@ import com.java3y.austin.common.dto.OfficialAccountsContentModel;
import com.java3y.austin.common.enums.ChannelType;
import com.java3y.austin.handler.handler.BaseHandler;
import com.java3y.austin.handler.handler.Handler;
import com.java3y.austin.handler.script.OfficialAccountScript;
import com.java3y.austin.handler.script.OfficialAccountService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
@ -28,7 +28,7 @@ import java.util.Set;
public class OfficialAccountHandler extends BaseHandler implements Handler {
@Autowired
private OfficialAccountScript officialAccountScript;
private OfficialAccountService officialAccountService;
public OfficialAccountHandler() {
@ -41,7 +41,7 @@ public class OfficialAccountHandler extends BaseHandler implements Handler {
List<WxMpTemplateMessage> mpTemplateMessages = buildTemplateMsg(taskInfo);
// 微信模板消息需要记录响应结果
try {
List<String> messageIds = officialAccountScript.send(mpTemplateMessages);
List<String> messageIds = officialAccountService.send(mpTemplateMessages);
log.info("OfficialAccountHandler#handler successfully messageIds:{}", messageIds);
return true;
} catch (Exception e) {

@ -0,0 +1,22 @@
package com.java3y.austin.handler.script;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.cp.bean.message.WxCpMessage;
import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
/**
*
*
* @author 3y
*/
public interface EnterpriseWeChatService {
/**
* userId/@all)
*
* @param wxCpMessage
* @return
* @throws WxErrorException
*/
WxCpMessageSendResult send(WxCpMessage wxCpMessage) throws WxErrorException;
}

@ -7,7 +7,7 @@ import java.util.List;
/**
* @author zyg
*/
public interface OfficialAccountScript {
public interface OfficialAccountService {
/**
*

@ -0,0 +1,45 @@
package com.java3y.austin.handler.script.impl;
import com.java3y.austin.handler.script.EnterpriseWeChatService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.api.impl.WxCpMessageServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.message.WxCpMessage;
import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl;
import org.springframework.stereotype.Service;
/**
* @author 3y
* @date 2022/3/15
*/
@Slf4j
@Service
public class EnterpriseWeChatServiceImpl implements EnterpriseWeChatService {
@Override
public WxCpMessageSendResult send(WxCpMessage wxCpMessage) throws WxErrorException {
WxCpMessageServiceImpl messageService = new WxCpMessageServiceImpl(initService());
return messageService.send(wxCpMessage);
}
private WxCpService initService() {
WxCpServiceImpl wxCpService = new WxCpServiceImpl();
wxCpService.setWxCpConfigStorage(initConfig());
return wxCpService;
}
private WxCpConfigStorage initConfig() {
WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl();
config.setCorpId("");
config.setCorpSecret("");
config.setAgentId(1);
config.setToken("");
config.setAesKey("");
return config;
}
}

@ -1,6 +1,6 @@
package com.java3y.austin.handler.script.impl;
import com.java3y.austin.handler.script.OfficialAccountScript;
import com.java3y.austin.handler.script.OfficialAccountService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
@ -17,7 +17,7 @@ import java.util.List;
*/
@Service
@Slf4j
public class WxMpTemplateScript implements OfficialAccountScript {
public class OfficialAccountServiceImpl implements OfficialAccountService {
@Value("${wx.mp.account.appid}")
private String appId;

@ -153,7 +153,7 @@
<version>${flink.version}</version>
</dependency>
<!--微信第三方SDK-->
<!--微信服务号第三方SDK-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
@ -167,6 +167,13 @@
<version>1.0.2</version>
</dependency>
<!--企业微信第三方SDK-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-cp</artifactId>
<version>${weixin-java-mp}</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save