Skip to content

Commit dcc337e

Browse files
feat(定时报告): 飞书国际版消息渠道
1 parent afa581c commit dcc337e

File tree

3 files changed

+70
-1
lines changed

3 files changed

+70
-1
lines changed

backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import io.dataease.plugins.xpack.email.service.EmailXpackService;
2626
import io.dataease.plugins.xpack.lark.dto.entity.LarkMsgResult;
2727
import io.dataease.plugins.xpack.lark.service.LarkXpackService;
28+
import io.dataease.plugins.xpack.larksuite.dto.response.LarksuiteMsgResult;
29+
import io.dataease.plugins.xpack.larksuite.service.LarksuiteXpackService;
2830
import io.dataease.plugins.xpack.wecom.dto.entity.WecomMsgResult;
2931
import io.dataease.plugins.xpack.wecom.service.WecomXpackService;
3032
import io.dataease.service.chart.ViewExportExcel;
@@ -297,6 +299,30 @@ public void sendReport(GlobalTaskInstance taskInstance, XpackEmailTemplateDTO em
297299
}
298300
}
299301

302+
}
303+
break;
304+
case "larksuite":
305+
if (SpringContextUtil.getBean(AuthUserService.class).supportLarksuite()) {
306+
List<String> larksuiteUsers = new ArrayList<>();
307+
for (int j = 0; j < reciLists.size(); j++) {
308+
String reci = reciLists.get(j);
309+
SysUserEntity userBySub = userService.getUserByName(reci);
310+
if (ObjectUtils.isEmpty(userBySub)) continue;
311+
Long userId = userBySub.getUserId();
312+
SysUserAssist sysUserAssist = sysUserService.assistInfo(userId);
313+
if (ObjectUtils.isEmpty(sysUserAssist) || StringUtils.isBlank(sysUserAssist.getLarksuiteId()))
314+
continue;
315+
larksuiteUsers.add(sysUserAssist.getLarksuiteId());
316+
}
317+
318+
if (CollectionUtils.isNotEmpty(larksuiteUsers)) {
319+
LarksuiteXpackService larksuiteXpackService = SpringContextUtil.getBean(LarksuiteXpackService.class);
320+
LarksuiteMsgResult larksuiteMsgResult = larksuiteXpackService.pushOaMsg(larksuiteUsers, emailTemplateDTO.getTitle(), contentStr, bytes, files);
321+
if (larksuiteMsgResult.getCode() != 0) {
322+
errorMsgs.add("larksuite: " + larksuiteMsgResult.getMsg());
323+
}
324+
}
325+
300326
}
301327
break;
302328
default:
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package io.dataease.service.message.service.strategy;
2+
3+
4+
import io.dataease.auth.service.AuthUserService;
5+
import io.dataease.plugins.common.base.domain.SysUserAssist;
6+
import io.dataease.plugins.config.SpringContextUtil;
7+
import io.dataease.plugins.xpack.larksuite.service.LarksuiteXpackService;
8+
import io.dataease.service.message.service.SendService;
9+
import io.dataease.service.sys.SysUserService;
10+
import org.apache.commons.lang3.ObjectUtils;
11+
import org.apache.commons.lang3.StringUtils;
12+
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.stereotype.Service;
14+
15+
import javax.annotation.Resource;
16+
import java.util.ArrayList;
17+
import java.util.List;
18+
19+
@Service("sendLarksuite")
20+
public class SendLarksuite implements SendService {
21+
22+
@Autowired
23+
private AuthUserService authUserService;
24+
25+
@Resource
26+
private SysUserService sysUserService;
27+
28+
@Override
29+
public void sendMsg(Long userId, Long typeId, String content, String param) {
30+
SysUserAssist sysUserAssist = sysUserService.assistInfo(userId);
31+
if (ObjectUtils.isNotEmpty(sysUserAssist) && StringUtils.isNotBlank(sysUserAssist.getLarksuiteId()) && authUserService.supportLarksuite()) {
32+
String username = sysUserAssist.getLarksuiteId();
33+
LarksuiteXpackService larksuiteXpackService = SpringContextUtil.getBean(LarksuiteXpackService.class);
34+
List<String> userIds = new ArrayList<>();
35+
userIds.add(username);
36+
larksuiteXpackService.pushMsg(userIds, content);
37+
}
38+
}
39+
}

backend/src/main/resources/db/migration/V42__1.16.sql

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,8 @@ ALTER TABLE `dataset_table_field` CHANGE COLUMN `type` `type` VARCHAR(255) NOT N
3737
INSERT INTO `my_plugin` (`name`, `store`, `free`, `cost`, `category`, `descript`, `version`, `creator`, `load_mybatis`,
3838
`install_time`, `module_name`, `ds_type`)
3939
VALUES ('Apache Kylin 数据源插件', 'default', '0', '0', 'datasource', 'Apache Kylin 数据源插件', '1.0-SNAPSHOT', 'DATAEASE', '0',
40-
'1650765903630', 'kylin-backend', 'kylin');
40+
'1650765903630', 'kylin-backend', 'kylin');
41+
42+
43+
44+
INSERT INTO `sys_msg_channel` (`msg_channel_id`, `channel_name`, `service_name`) VALUES ('6', 'webmsg.channel_larksuite_msg', 'sendLarksuite');

0 commit comments

Comments
 (0)