update 切换企业

This commit is contained in:
gallonyin
2023-01-26 10:25:38 +08:00
parent 5b3586b163
commit 023fb213fd
4 changed files with 51 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ public class WeworkMessageBean {
* 从外部群添加好友 ADD_FRIEND_BY_GROUP * 从外部群添加好友 ADD_FRIEND_BY_GROUP
* 添加待办 ADD_NEED_DEAL * 添加待办 ADD_NEED_DEAL
* 打卡 CLOCK_IN * 打卡 CLOCK_IN
* 切换企业 SWITCH_CORP
* <p> * <p>
* 非操作类型 300 * 非操作类型 300
* 机器人普通日志记录 ROBOT_LOG * 机器人普通日志记录 ROBOT_LOG
@@ -74,6 +75,7 @@ public class WeworkMessageBean {
public static final int ADD_FRIEND_BY_GROUP = 220; public static final int ADD_FRIEND_BY_GROUP = 220;
public static final int ADD_NEED_DEAL = 221; public static final int ADD_NEED_DEAL = 221;
public static final int CLOCK_IN = 222; 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_LOG = 301;
public static final int ROBOT_ERROR_LOG = 302; public static final int ROBOT_ERROR_LOG = 302;

View File

@@ -169,6 +169,9 @@ object MyLooper {
WeworkMessageBean.CLOCK_IN -> { WeworkMessageBean.CLOCK_IN -> {
WeworkController.clockIn(message) WeworkController.clockIn(message)
} }
WeworkMessageBean.SWITCH_CORP -> {
WeworkController.switchCorp(message)
}
WeworkMessageBean.SHOW_GROUP_INFO -> { WeworkMessageBean.SHOW_GROUP_INFO -> {
WeworkController.showGroupInfo(message) WeworkController.showGroupInfo(message)
} }

View File

@@ -230,6 +230,17 @@ object WeworkController {
return WeworkOperationImpl.clockIn(message) 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 * @see WeworkMessageBean.PUSH_MICRO_DISK_IMAGE

View File

@@ -1001,6 +1001,41 @@ object WeworkOperationImpl {
} }
} }
/**
* 切换企业
* @see WeworkMessageBean.SWITCH_CORP
* @param objectName 企业名称
*/
fun switchCorp(message: WeworkMessageBean, objectName: String): Boolean {
val startTime = System.currentTimeMillis()
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 listview = listviewList.firstOrNull()
if (listview != null) {
val tvCorp = AccessibilityUtil.findOnceByText(listview, objectName, exact = true)
if (tvCorp != null) {
LogUtils.d("找到目标企业: $objectName")
AccessibilityUtil.performClick(tvCorp)
goHome()
return true
} else {
LogUtils.e("未找到目标企业: $objectName")
uploadCommandResult(message, ExecCallbackBean.ERROR_TARGET, "未找到目标企业: $objectName", startTime)
goHome()
return false
}
} else {
LogUtils.e("未找到企业列表: $objectName")
uploadCommandResult(message, ExecCallbackBean.ERROR_BUTTON, "未找到企业列表: $objectName", startTime)
return false
}
}
/** /**
* 展示群信息 * 展示群信息
* @see WeworkMessageBean.SHOW_GROUP_INFO * @see WeworkMessageBean.SHOW_GROUP_INFO