Concrete layout from 玉湖 YHPro (tested). Adapt package names and URLs for other projects.
src/com/kingdee/eas/custom/messageWebService/
|- OAMessageWebServiceDao.java
|- config/MessageConfig.java
|- server/TodoMessageServer.java
|- server/ToBeReadMessageServer.java
|- util/MessageCommonUtil.java, DingMessageUtil.java, DingTokenManager.java
src/com/kingdee/eas/base/message/app/
|- BMCMessageControllerBeanEx.java
src/com/kingdee/eas/custom/synctask/
|- MsgSyncIDMFacadeControllerBean.java
Config: {EAS_HOME}/server/properties/yuhu/receiveOAConfig.properties
addMessage: sleep 8s -> assignId -> addFlow(op=1) -> assignReadRecord addCompletedMessage: sleep 8s -> if task terminal updateAgency(op=4) -> if flow terminal updateFlow(op=2) removeMessage: sleep 9s -> deleteAgency(op=3)
COMPLETED->complete; REJECTED/ROLLBACKED->refuse; CANCELED/TERMINATED->cancel; ABORTED->revoke; else approving
bosType 41C9B39B; UNREADED->011; READED->012; BMCMessageControllerBeanEx hooks create
PC: /shr/api/oAToSHR?redirect=...transferApprove.jsp Mobile: MBOS -> /qy/auth/V2/sso?state= SSO: kdshrsso Option B
assignReadRecord: MsgId, assignID, billId, workflowname, procInstId OAMsgCallLog: audit request/response
cfidmusercode via T_bd_person + T_PM_User; empty -> throw