commit
This commit is contained in:
@@ -100,4 +100,11 @@ public interface SmsService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
void massSendPicTextCard(List<String> loginNames, String title, String content, String pcUrl, String mobileUrl, String picUrl);
|
void massSendPicTextCard(List<String> loginNames, String title, String content, String pcUrl, String mobileUrl, String picUrl);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息撤回
|
||||||
|
* @param msgId 消息Id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void recallMsg(String msgId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import com.wisedu.casp.sdk.api.mc.SendMsgResponse;
|
|||||||
import com.wisedu.casp.sdk.api.mc.constants.MsgType_Constants;
|
import com.wisedu.casp.sdk.api.mc.constants.MsgType_Constants;
|
||||||
import com.wisedu.casp.sdk.api.mc.constants.SendType_Constants;
|
import com.wisedu.casp.sdk.api.mc.constants.SendType_Constants;
|
||||||
import com.wisedu.casp.sdk.api.mc.constants.WxSendType_Constants;
|
import com.wisedu.casp.sdk.api.mc.constants.WxSendType_Constants;
|
||||||
|
import com.wisedu.casp.sdk.api.mc.recallMsg.RecallMsgRequest;
|
||||||
|
import com.wisedu.casp.sdk.api.mc.recallMsg.RecallMsgResponse;
|
||||||
import com.wisedu.casp.sdk.core.Client;
|
import com.wisedu.casp.sdk.core.Client;
|
||||||
import com.wisedu.casp.sdk.core.DefaultClient;
|
import com.wisedu.casp.sdk.core.DefaultClient;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -28,55 +30,6 @@ import java.util.List;
|
|||||||
@IocBean
|
@IocBean
|
||||||
public class SmsJshvcServiceImpl implements SmsService {
|
public class SmsJshvcServiceImpl implements SmsService {
|
||||||
|
|
||||||
private void doSend(String sendType,
|
|
||||||
List<ReceiverDto> receivers,
|
|
||||||
String title,
|
|
||||||
String content,
|
|
||||||
String pcUrl,
|
|
||||||
String mobileUrl,
|
|
||||||
String picUrl) {
|
|
||||||
|
|
||||||
if (Lang.isEmpty(receivers)) {
|
|
||||||
log.error("send fail by receivers is null");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
// 创建客户端
|
|
||||||
Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET);
|
|
||||||
SendMsgRequest request = new SendMsgRequest();
|
|
||||||
request.setSubject(title);
|
|
||||||
request.setContent(content);
|
|
||||||
request.setMsgType(MsgType_Constants.COMMON);
|
|
||||||
request.setSendType(SendType_Constants.WECHAT_ENTERPRISE);
|
|
||||||
request.setWxSendType(sendType);
|
|
||||||
request.setReceivers(receivers);
|
|
||||||
|
|
||||||
if (WxSendType_Constants.TEXT_CARD.equals(sendType)) {
|
|
||||||
request.setPcUrl(pcUrl);
|
|
||||||
request.setMobileUrl(mobileUrl);
|
|
||||||
request.setUrlDesc("点击查看详情");
|
|
||||||
}
|
|
||||||
if (WxSendType_Constants.NEWS.equals(sendType)) {
|
|
||||||
request.setPcUrl(pcUrl);
|
|
||||||
request.setMobileUrl(mobileUrl);
|
|
||||||
request.setUrlDesc("点击查看详情");
|
|
||||||
request.setQyWeChatImgUrl(picUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
log.info("发送企业微信通知,请求参数:{}", Json.toJson(request));
|
|
||||||
SendMsgResponse response = client.execute(request);
|
|
||||||
log.info("发送企业微信通知,接口响应数据:{}", Json.toJson(response));
|
|
||||||
|
|
||||||
if (response.isSuccess() && response.getStatus() == 200) {
|
|
||||||
log.info("发送企业微信通知成功: {}, msg: {}", response.getStatus(), response.getMsg());
|
|
||||||
} else {
|
|
||||||
log.info("发送企业微信通知失败:{}", response.getMsg());
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("发送企业微信通知失败", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendSingleMessage(String loginName, String content) {
|
public void sendSingleMessage(String loginName, String content) {
|
||||||
this.sendSingleMessage(loginName, "智慧工会", content);
|
this.sendSingleMessage(loginName, "智慧工会", content);
|
||||||
@@ -136,4 +89,70 @@ public class SmsJshvcServiceImpl implements SmsService {
|
|||||||
}).toList();
|
}).toList();
|
||||||
this.doSend(WxSendType_Constants.NEWS, list, title, content, pcUrl, mobileUrl, picUrl);
|
this.doSend(WxSendType_Constants.NEWS, list, title, content, pcUrl, mobileUrl, picUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void recallMsg(String msgId) {
|
||||||
|
try {
|
||||||
|
Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET);
|
||||||
|
RecallMsgRequest request = new RecallMsgRequest();
|
||||||
|
request.setMsgId(msgId);
|
||||||
|
|
||||||
|
log.info("撤回企业微信消息,请求参数:{}", Json.toJson(request));
|
||||||
|
RecallMsgResponse response = client.execute(request);
|
||||||
|
log.info("撤回企业微信消息,接口响应数据:{}", Json.toJson(response));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("撤回企业微信消息失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doSend(String sendType,
|
||||||
|
List<ReceiverDto> receivers,
|
||||||
|
String title,
|
||||||
|
String content,
|
||||||
|
String pcUrl,
|
||||||
|
String mobileUrl,
|
||||||
|
String picUrl) {
|
||||||
|
|
||||||
|
if (Lang.isEmpty(receivers)) {
|
||||||
|
log.error("send fail by receivers is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// 创建客户端
|
||||||
|
Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET);
|
||||||
|
SendMsgRequest request = new SendMsgRequest();
|
||||||
|
request.setSubject(title);
|
||||||
|
request.setContent(content);
|
||||||
|
request.setMsgType(MsgType_Constants.COMMON);
|
||||||
|
request.setSendType(SendType_Constants.WECHAT_ENTERPRISE);
|
||||||
|
request.setWxSendType(sendType);
|
||||||
|
request.setReceivers(receivers);
|
||||||
|
|
||||||
|
if (WxSendType_Constants.TEXT_CARD.equals(sendType)) {
|
||||||
|
request.setPcUrl(pcUrl);
|
||||||
|
request.setMobileUrl(mobileUrl);
|
||||||
|
request.setUrlDesc("查看详情");
|
||||||
|
}
|
||||||
|
if (WxSendType_Constants.NEWS.equals(sendType)) {
|
||||||
|
request.setPcUrl(pcUrl);
|
||||||
|
request.setMobileUrl(mobileUrl);
|
||||||
|
request.setUrlDesc("查看详情");
|
||||||
|
request.setQyWeChatImgUrl(picUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("发送企业微信通知,请求参数:{}", Json.toJson(request));
|
||||||
|
SendMsgResponse response = client.execute(request);
|
||||||
|
log.info("发送企业微信通知,接口响应数据:{}", Json.toJson(response));
|
||||||
|
|
||||||
|
if (response.isSuccess() && response.getStatus() == 200) {
|
||||||
|
// TODO 消息Id,后面可以存着,撤回要用到
|
||||||
|
String msgId = response.getMsgId();
|
||||||
|
log.info("发送企业微信通知成功: {}, msg: {}", response.getStatus(), response.getMsg());
|
||||||
|
} else {
|
||||||
|
log.info("发送企业微信通知失败:{}", response.getMsg());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送企业微信通知失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -82,6 +82,6 @@ public class WechatEnterpriseMessageSendStrategy implements GlobalMessageSendStr
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<String> list = users.stream().map(Sys_user::getLoginname).toList();
|
List<String> list = users.stream().map(Sys_user::getLoginname).toList();
|
||||||
smsService.massSendTextCard(list, title, content, config.getStr("pcUrl"), config.getStr("mobileUrl"));
|
smsService.massSendTextCard(list, "智慧工会", content, config.getStr("pcUrl"), config.getStr("mobileUrl"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user