import serverRequest from '../api/scrm/serverRequest' import servicesSendMsg from '../services/sendMsg' import commonData from '../store/data' // 入群欢迎语 newMemberJoinRoom // 每日定时群欢迎语, 定时欢迎成员&发送消息 async function timedWelControl(selfwxid): Promise { const res = await serverRequest.getDefaultAcc() if (res && res.entWxId && res.entWxId == selfwxid) { commonData.set('hasWelcome', true) // 开始发送欢迎语 WelDataFormat(selfwxid) } else { console.log('非默认医助,不发送欢迎语') } } async function WelDataFormat(selfwxid): Promise { // 获取发送内容 const sendMsg = await serverRequest.getTimedWelConfig() const sendConf_lh = await serverRequest.getTimedWelConfig_lh('wel') const sendMsg_compReg = sendMsg.find((v) => v.name == 'complReg1930') const sendMsg_uncompReg = sendMsg.find((v) => v.name == 'unComplReg1930') // 获取发送对象&是否艾特 const sendObj = await serverRequest.getJoinMemberList({ entWxId: selfwxid }) // console.log('----sendObj----', sendObj) Object.keys(sendObj as unknown as object).map(async (roomId) => { // 灯塔视频 if (sendConf_lh.content == 'on') await sendLHWelMsg(roomId) const _welConfig = sendObj[roomId]['welConfig'] if (_welConfig) { // 群-[1]已收集信息的成员 if (_welConfig.includes('compl_reg') && sendMsg_compReg?.answerList) { const _atDatas = sendObj[roomId]['1'] || [] if (_atDatas.length) sendNormalMsg(roomId, _atDatas, sendMsg_compReg) } // [0]未收集信息的成员 if (_welConfig.includes('un_compl_reg') && sendMsg_uncompReg?.answerList) { const _atDatas = sendObj[roomId]['0'] || [] if (_atDatas.length) sendNormalMsg(roomId, _atDatas, sendMsg_uncompReg) } } }) } // 发送灯塔欢迎视频 async function sendLHWelMsg(roomId): Promise { const drInfo = await serverRequest.getDridByRoomId(roomId) // 获取灯塔欢迎视频 医生入群视频 const lhData = await serverRequest.getLighthouseVideo({ drId: drInfo.drId, keys: '欢迎加入我的健康班' }) if (lhData && lhData.length > 0) { // 发送 delete lhData[0].sendId servicesSendMsg.sendMsgToWx({ msgType: 'wxMini', wxRoomId: roomId, msgContent: JSON.stringify({ ...lhData[0] }), taskInfo: { sceneType: 'welcome' } }) } } // 发送answerList async function sendNormalMsg(roomId, _atDatas, item): Promise { const drInfo = await serverRequest.getDridByRoomId(roomId) const atIds = _atDatas .map((v) => { return v.userId }) .join(',') console.log('----sendNormalMsg-item----', roomId, drInfo.entWxRoomName, atIds) // item { wxRoomId: 发送群, publisherIds: 'atIds', ids: 回复的消息id } item.wxRoomId = roomId item.publisherIds = atIds servicesSendMsg.sendAnswerList(item, item.answerList, { sceneType: 'welcome' }, drInfo) } export default { timedWelControl }