# YHPro Reference - Portal Message Push Concrete layout from 玉湖 YHPro (tested). Adapt package names and URLs for other projects. ## Source layout ``` 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` ## Todo flow 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) ## Status map COMPLETED->complete; REJECTED/ROLLBACKED->refuse; CANCELED/TERMINATED->cancel; ABORTED->revoke; else approving ## ToBeRead bosType 41C9B39B; UNREADED->011; READED->012; BMCMessageControllerBeanEx hooks create ## Deep links PC: /shr/api/oAToSHR?redirect=...transferApprove.jsp Mobile: MBOS -> /qy/auth/V2/sso?state= SSO: kdshrsso Option B ## Tables assignReadRecord: MsgId, assignID, billId, workflowname, procInstId OAMsgCallLog: audit request/response ## Person cfidmusercode via T_bd_person + T_PM_User; empty -> throw