diff --git a/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java b/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java index 94e6911..72735e6 100644 --- a/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java +++ b/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java @@ -36,6 +36,7 @@ public class WeworkMessageBean { * 从外部群添加好友 ADD_FRIEND_BY_GROUP * 添加待办 ADD_NEED_DEAL * 打卡 CLOCK_IN + * 切换企业 SWITCH_CORP *
* 非操作类型 300
* 机器人普通日志记录 ROBOT_LOG
@@ -47,6 +48,7 @@ public class WeworkMessageBean {
* 获取好友信息 GET_FRIEND_INFO
* 获取我的信息 GET_MY_INFO
* 获取最近聊天列表 GET_RECENT_LIST
+ * 获取企业列表 GET_CORP_LIST
*/
public static final int HEART_BEAT = 11;
public static final int TYPE_RECEIVE_MESSAGE_LIST = 101;
@@ -74,6 +76,7 @@ public class WeworkMessageBean {
public static final int ADD_FRIEND_BY_GROUP = 220;
public static final int ADD_NEED_DEAL = 221;
public static final int CLOCK_IN = 222;
+ public static final int SWITCH_CORP = 223;
public static final int ROBOT_LOG = 301;
public static final int ROBOT_ERROR_LOG = 302;
@@ -84,6 +87,7 @@ public class WeworkMessageBean {
public static final int GET_MY_INFO = 503;
public static final int GET_GROUP_QRCODE = 504;
public static final int GET_RECENT_LIST = 505;
+ public static final int GET_CORP_LIST = 506;
/**
* roomType
diff --git a/app/src/main/java/org/yameida/worktool/service/MyLooper.kt b/app/src/main/java/org/yameida/worktool/service/MyLooper.kt
index 95d0c0e..de3ccc6 100644
--- a/app/src/main/java/org/yameida/worktool/service/MyLooper.kt
+++ b/app/src/main/java/org/yameida/worktool/service/MyLooper.kt
@@ -169,6 +169,9 @@ object MyLooper {
WeworkMessageBean.CLOCK_IN -> {
WeworkController.clockIn(message)
}
+ WeworkMessageBean.SWITCH_CORP -> {
+ WeworkController.switchCorp(message)
+ }
WeworkMessageBean.SHOW_GROUP_INFO -> {
WeworkController.showGroupInfo(message)
}
@@ -184,6 +187,9 @@ object MyLooper {
WeworkMessageBean.GET_RECENT_LIST -> {
WeworkController.getRecentList(message)
}
+ WeworkMessageBean.GET_CORP_LIST -> {
+ WeworkController.getCorpList(message)
+ }
WeworkMessageBean.ROBOT_CONTROLLER_TEST -> {
WeworkController.test(message)
}
diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
index cf49961..2916257 100644
--- a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
+++ b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt
@@ -230,6 +230,17 @@ object WeworkController {
return WeworkOperationImpl.clockIn(message)
}
+ /**
+ * 切换企业
+ * @see WeworkMessageBean.SWITCH_CORP
+ * @param message#objectName 企业名称
+ */
+ @RequestMapping
+ fun switchCorp(message: WeworkMessageBean): Boolean {
+ LogUtils.d("switchCorp(): ${message.objectName}")
+ return WeworkOperationImpl.switchCorp(message, message.objectName)
+ }
+
/**
* 推送微盘图片
* @see WeworkMessageBean.PUSH_MICRO_DISK_IMAGE
@@ -401,4 +412,14 @@ object WeworkController {
return WeworkGetImpl.getRecentList(message)
}
+ /**
+ * 获取企业列表
+ * @see WeworkMessageBean.GET_CORP_LIST
+ */
+ @RequestMapping
+ fun getCorpList(message: WeworkMessageBean): Boolean {
+ LogUtils.d("getCorpList():")
+ return WeworkGetImpl.getCorpList(message)
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt
index 9119ce9..179b6fb 100644
--- a/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt
+++ b/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt
@@ -87,7 +87,7 @@ object WeworkGetImpl {
sumInfo = info.toString()
}
WeworkController.weworkService.webSocketManager.send(weworkMessageBean)
- return true
+ return getCorpList(message)
} else {
LogUtils.d("未找到我的昵称")
log("未找到我的昵称")
@@ -135,7 +135,7 @@ object WeworkGetImpl {
weworkMessageBean.type = WeworkMessageBean.GET_MY_INFO
weworkMessageBean.myInfo = myInfo
WeworkController.weworkService.webSocketManager.send(weworkMessageBean)
- return true
+ return getCorpList(message)
}
/**
@@ -238,4 +238,39 @@ object WeworkGetImpl {
}
return true
}
+
+ /**
+ * 获取企业列表
+ */
+ fun getCorpList(message: WeworkMessageBean): Boolean {
+ goHomeTab("消息")
+ val firstTv = AccessibilityUtil.findAllByClazz(getRoot(), Views.TextView)
+ .firstOrNull { it.text == null }
+ AccessibilityUtil.performClick(firstTv, retry = false)
+ sleep(Constant.CHANGE_PAGE_INTERVAL)
+ val listviewList = AccessibilityUtil.findAllOnceByClazz(getRoot(), Views.RecyclerView, Views.ListView, Views.ViewGroup)
+ .filter { it.childCount >= 2 }
+ val list = listviewList.firstOrNull()
+ if (list != null) {
+ val corpList = arrayListOf