@tnwx/commons
Version:
TTNWX 微信系开发脚手架之公共模块
664 lines • 35 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const InWxVerifyDispatchEvent_1 = require("./entity/msg/in/event/InWxVerifyDispatchEvent");
const InTaskEvent_1 = require("./entity/msg/in/event/InTaskEvent");
const InSpeechRecognitionResults_1 = require("./entity/msg/in/InSpeechRecognitionResults");
const InImageMsg_1 = require("./entity/msg/in/InImageMsg");
const InTextMsg_1 = require("./entity/msg/in/InTextMsg");
const InNotDefinedMsg_1 = require("./entity/msg/in/InNotDefinedMsg");
const InVideoMsg_1 = require("./entity/msg/in/InVideoMsg");
const InShortVideoMsg_1 = require("./entity/msg/in/InShortVideoMsg");
const InLocationMsg_1 = require("./entity/msg/in/InLocationMsg");
const InLinkMsg_1 = require("./entity/msg/in/InLinkMsg");
const InVoiceMsg_1 = require("./entity/msg/in/InVoiceMsg");
const InFollowEvent_1 = require("./entity/msg/in/event/InFollowEvent");
const InQrCodeEvent_1 = require("./entity/msg/in/event/InQrCodeEvent");
const InLocationEvent_1 = require("./entity/msg/in/event/InLocationEvent");
const InNotDefinedEvent_1 = require("./entity/msg/in/event/InNotDefinedEvent");
const InMenuEvent_1 = require("./entity/msg/in/event/InMenuEvent");
const ScanCodeInfo_1 = require("./entity/msg/in/event/ScanCodeInfo");
const InTemplateMsgEvent_1 = require("./entity/msg/in/event/InTemplateMsgEvent");
const InMassEvent_1 = require("./entity/msg/in/event/InMassEvent");
const InCustomEvent_1 = require("./entity/msg/in/event/InCustomEvent");
const InVerifySuccessEvent_1 = require("./entity/msg/in/event/InVerifySuccessEvent");
const InVerifyFailEvent_1 = require("./entity/msg/in/event/InVerifyFailEvent");
const InPoiCheckNotifyEvent_1 = require("./entity/msg/in/event/InPoiCheckNotifyEvent");
const InWifiEvent_1 = require("./entity/msg/in/event/InWifiEvent");
const InCardPassCheckEvent_1 = require("./entity/msg/in/card/InCardPassCheckEvent");
const InUpdateMemberCardEvent_1 = require("./entity/msg/in/card/InUpdateMemberCardEvent");
const InUserPayFromCardEvent_1 = require("./entity/msg/in/card/InUserPayFromCardEvent");
const InMerChantOrderEvent_1 = require("./entity/msg/in/card/InMerChantOrderEvent");
const InCardPayOrderEvent_1 = require("./entity/msg/in/card/InCardPayOrderEvent");
const InCardSkuRemindEvent_1 = require("./entity/msg/in/card/InCardSkuRemindEvent");
const InUserConsumeCardEvent_1 = require("./entity/msg/in/card/InUserConsumeCardEvent");
const InUserGetCardEvent_1 = require("./entity/msg/in/card/InUserGetCardEvent");
const InUserGiftingCardEvent_1 = require("./entity/msg/in/card/InUserGiftingCardEvent");
const InUserCardEvent_1 = require("./entity/msg/in/card/InUserCardEvent");
const InShakearoundUserShakeEvent_1 = require("./entity/msg/in/event/InShakearoundUserShakeEvent");
const InEnterAgentEvent_1 = require("./entity/msg/in/event/InEnterAgentEvent");
const InBatchJobResultEvent_1 = require("./entity/msg/in/event/InBatchJobResultEvent");
const InUpdateTagEvent_1 = require("./entity/msg/in/event/InUpdateTagEvent");
const InUpdatePartyEvent_1 = require("./entity/msg/in/event/InUpdatePartyEvent");
const InUpdateUserEvent_1 = require("./entity/msg/in/event/InUpdateUserEvent");
const InSuiteTicket_1 = require("./entity/msg/in/InSuiteTicket");
const InAuthEvent_1 = require("./entity/msg/in/InAuthEvent");
const InBatchJobResult_1 = require("./entity/msg/in/InBatchJobResult");
const InExternalContact_1 = require("./entity/msg/in/InExternalContact");
const InExternalContactEvent_1 = require("./entity/msg/in/event/InExternalContactEvent");
const InRegisterCorp_1 = require("./entity/msg/in/InRegisterCorp");
const InComponentVerifyTicket_1 = require("./entity/msg/in/InComponentVerifyTicket");
const InAuthMpEvent_1 = require("./entity/msg/in/InAuthMpEvent");
const InCardMerchantCheckResultEvent_1 = require("./entity/msg/in/card/InCardMerchantCheckResultEvent");
class InMsgParser {
static parse(obj) {
return this.doParse(obj);
}
static doParse(obj) {
if ('text' === obj.MsgType)
return this.parseInTextMsg(obj);
if ('image' === obj.MsgType)
return this.parseInImageMsg(obj);
if ('video' === obj.MsgType)
return this.parseInVideoMsg(obj);
if ('shortvideo' === obj.MsgType)
return this.parseInShortVideoMsg(obj);
if ('location' === obj.MsgType)
return this.parseInLocationMsg(obj);
if ('link' === obj.MsgType)
return this.parseInLinkMsg(obj);
if ('voice' === obj.MsgType)
return this.parseInVoiceMsgAndInSpeechRecognitionResults(obj);
if ('event' === obj.MsgType)
return this.parseInEvent(obj);
if (InSuiteTicket_1.InSuiteTicket.INFO_TYPE === obj.InfoType)
return this.parseInSuiteTicket(obj);
if (InComponentVerifyTicket_1.InComponentVerifyTicket.INFO_TYPE === obj.InfoType)
return this.paseInComponentVerifyTicket(obj);
if (InBatchJobResult_1.InBatchJobResult.INFO_TYPE === obj.InfoType)
return this.parseInBatchJobResult(obj);
if (InAuthEvent_1.InAuthEvent.CREATE_AUTH === obj.InfoType || InAuthEvent_1.InAuthEvent.CHANGE_AUTH === obj.InfoType || InAuthEvent_1.InAuthEvent.CANCEL_AUTH === obj.InfoType)
return this.InAuthEvent(obj);
if (InAuthMpEvent_1.InAuthMpEvent.CREATE_AUTH === obj.InfoType || InAuthMpEvent_1.InAuthMpEvent.CHANGE_AUTH === obj.InfoType || InAuthMpEvent_1.InAuthMpEvent.CANCEL_AUTH === obj.InfoType)
return this.InAuthMpEvent(obj);
if (InExternalContact_1.InExternalContact.INFO_TYPE === obj.InfoType)
return this.parseInExternalContact(obj);
if (InRegisterCorp_1.InRegisterCorp.INFO_TYPE === obj.InfoType)
return this.parseInRegisterCorp(obj);
console.debug(`无法识别的消息类型 ${obj.MsgType}\n微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html\n企业微信号开发文档:https://work.weixin.qq.com/api/doc`);
return new InNotDefinedMsg_1.InNotDefinedMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
}
static parseInTextMsg(obj) {
let msg = new InTextMsg_1.InTextMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setContent = obj.Content;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInImageMsg(obj) {
let msg = new InImageMsg_1.InImageMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setPicUrl = obj.PicUrl;
msg.setMediaId = obj.MediaId;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInVideoMsg(obj) {
let msg = new InVideoMsg_1.InVideoMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setThumbMediaId = obj.ThumbMediaId;
msg.setMediaId = obj.MediaId;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInShortVideoMsg(obj) {
let msg = new InShortVideoMsg_1.InShortVideoMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setThumbMediaId = obj.ThumbMediaId;
msg.setMediaId = obj.MediaId;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInLocationMsg(obj) {
let msg = new InLocationMsg_1.InLocationMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setLocation_X = obj.Location_X;
msg.setLocation_Y = obj.Location_Y;
msg.setScale = obj.Scale;
msg.setLabel = obj.Label;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInLinkMsg(obj) {
let msg = new InLinkMsg_1.InLinkMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setTitle = obj.Title;
msg.setDescription = obj.Description;
msg.setUrl = obj.Url;
msg.setMsgId = obj.MsgId;
msg.setAgentId = obj.AgentID;
return msg;
}
static parseInVoiceMsgAndInSpeechRecognitionResults(obj) {
let recognition = obj.Recognition;
let mediaId = obj.MediaId;
let format = obj.Format;
let msgId = obj.MsgId;
let agentId = obj.AgentID;
if (recognition) {
let msg = new InVoiceMsg_1.InVoiceMsg(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setMediaId = mediaId;
msg.setFormat = format;
msg.setMsgId = msgId;
msg.setAgentId = agentId;
return msg;
}
else {
let msg = new InSpeechRecognitionResults_1.InSpeechRecognitionResults(obj.ToUserName, obj.FromUserName, obj.CreateTime, obj.MsgType);
msg.setMediaId = mediaId;
msg.setFormat = format;
msg.setMsgId = msgId;
msg.setAgentId = agentId;
msg.setRecognition = recognition;
return msg;
}
}
static parseInEvent(obj) {
let event = obj.Event;
let eventKey = obj.EventKey;
let agentId = obj.AgentID;
let menuId = obj.MenuId;
if ('unsubscribe' == event) {
let e = new InFollowEvent_1.InFollowEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
let ticket = obj.Ticket;
// 用户未关注时,进行关注后的事件推送
if ('subscribe' == event && eventKey && eventKey.startsWith('qrscene_')) {
let e = new InQrCodeEvent_1.InQrCodeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setTicket = ticket;
return e;
}
// 用户已关注时的事件推送
if ('SCAN' == event) {
let e = new InQrCodeEvent_1.InQrCodeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setTicket = ticket;
return e;
}
if (InFollowEvent_1.InFollowEvent.EVENT_INFOLLOW_SUBSCRIBE == event) {
let e = new InFollowEvent_1.InFollowEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// 进入应用
if (InEnterAgentEvent_1.InEnterAgentEvent.EVENT == event) {
let e = new InEnterAgentEvent_1.InEnterAgentEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// 上报地理位置事件
if (InLocationEvent_1.InLocationEvent.EVENT == event) {
let e = new InLocationEvent_1.InLocationEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setLatitude = obj.Latitude;
e.setLongitude = obj.Longitude;
e.setPrecision = obj.Precision;
e.setAgentId = agentId;
return e;
}
// 自定义菜单事件之一 1:点击菜单拉取消息时的事件推送
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_CLICK == event.toUpperCase()) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// 自定义菜单事件之二 2:点击菜单跳转链接时的事件推送
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW == event.toUpperCase()) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
e.setMenuId = menuId;
return e;
}
// 扫码推事件 和 扫码推事件且弹出“消息接收中”提示框
if ('scancode_push' == event || 'scancode_waitmsg' == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
let scanType = obj.ScanCodeInfo.ScanType;
let scanResult = obj.ScanCodeInfo.ScanResult;
e.setScanCodeInfo = new ScanCodeInfo_1.ScanCodeInfo(scanType, scanResult);
return e;
}
// 5. pic_sysphoto:弹出系统拍照发图,这个后台其实收不到该菜单的消息,
// 点击它后,调用的是手机里面的照相机功能,而照相以后再发过来时,就收到的是一个图片消息了
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_SYSPHOTO == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// pic_photo_or_album:弹出拍照或者相册发图
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_PHOTO_OR_ALBUM == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// pic_weixin:弹出微信相册发图器
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_PIC_WEIXIN == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// location_select:弹出地理位置选择器
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_LOCATION_SELECT == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setAgentId = agentId;
return e;
}
// media_id:下发消息(除文本消息)
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_MEDIA_ID == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
return e;
}
// view_limited:跳转图文消息URL
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_LIMITED == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
return e;
}
// view_miniprogram:点击菜单跳转小程序的事件推送
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_MINIPROGRAM == event) {
let e = new InMenuEvent_1.InMenuEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setMenuId = menuId;
return e;
}
// wx_verify_dispatch
if (InMenuEvent_1.InMenuEvent.EVENT_INMENU_VIEW_MINIPROGRAM == event) {
let e = new InWxVerifyDispatchEvent_1.InWxVerifyDispatchEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setProvider = obj.Provider;
e.setContact = obj.Contact;
e.setDispatchTime = obj.DispatchTime;
return e;
}
// 模板消息是否送达成功通知事件
if (InTemplateMsgEvent_1.InTemplateMsgEvent.EVENT == event) {
let e = new InTemplateMsgEvent_1.InTemplateMsgEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setMsgId = obj.MsgID;
e.setStatus = obj.Status;
return e;
}
// 群发任务结束时是否送达成功通知事件
if (InMassEvent_1.InMassEvent.EVENT == event) {
let e = new InMassEvent_1.InMassEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setMsgId = obj.MsgID;
e.setStatus = obj.Status;
e.setTotalCount = obj.TotalCount;
e.setFilterCount = obj.FilterCount;
e.setSentCount = obj.SentCount;
e.setErrorCount = obj.ErrorCount;
return e;
}
// 多客服接入会话事件
if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_CREATE_SESSION == event) {
let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setKfAccount = obj.KfAccount;
return e;
}
// 多客服关闭会话事件
if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_CLOSE_SESSION == event) {
let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setKfAccount = obj.KfAccount;
return e;
}
// 多客服转接会话事件
if (InCustomEvent_1.InCustomEvent.EVENT_INCUSTOM_KF_SWITCH_SESSION == event) {
let e = new InCustomEvent_1.InCustomEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setKfAccount = obj.KfAccount;
e.setToKfAccount == obj.ToKfAccount;
return e;
}
// 微信摇一摇事件
if ('ShakearoundUserShake' == event) {
let e = new InShakearoundUserShakeEvent_1.InShakearoundUserShakeEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEvent = event;
e.setUuid = obj.ChosenBeacon.Uuid;
e.setMajor = obj.ChosenBeacon.Major;
e.setMinor = obj.ChosenBeacon.Minor;
e.setDistance = obj.ChosenBeacon.Distance;
e.setAroundBeaconList = obj.AroundBeacons;
return e;
}
// 资质认证成功 || 名称认证成功 || 年审通知 || 认证过期失效通知
if ('qualification_verify_success' == event || 'naming_verify_success' == event || 'annual_renew' == event || 'verify_expired' == event) {
let e = new InVerifySuccessEvent_1.InVerifySuccessEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setExpiredTime == obj.expiredTime;
return e;
}
// 资质认证失败 || 名称认证失败
if ('qualification_verify_fail' == event || 'naming_verify_fail' == event) {
let e = new InVerifyFailEvent_1.InVerifyFailEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setFailTime = obj.failTime;
e.setFailReason = obj.failReason;
return e;
}
// 门店在审核事件消息 , update by unas at 2016-1-29,add event param
if (InPoiCheckNotifyEvent_1.InPoiCheckNotifyEvent.EVENT == event) {
let e = new InPoiCheckNotifyEvent_1.InPoiCheckNotifyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setUniqId = obj.UniqId;
e.setPoiId = obj.PoiId;
e.setResult = obj.Result;
e.setMsg = obj.Msg;
return e;
}
// wifi 连网后下发消息
if (InWifiEvent_1.InWifiEvent.EVENT == event) {
let e = new InWifiEvent_1.InWifiEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setConnectTime = obj.ConnectTime;
e.setExpireTime = obj.ExpireTime;
e.setVendorId = obj.VendorId;
e.setDeviceNo = obj.DeviceNo;
e.setShopId = obj.ShopId;
return e;
}
if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_VIEW == event) {
let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
return e;
}
if (InUserCardEvent_1.InUserCardEvent.EVENT_MEMBERCARD == event) {
let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
return e;
}
if (InUpdateMemberCardEvent_1.InUpdateMemberCardEvent.EVENT == event) {
let e = new InUpdateMemberCardEvent_1.InUpdateMemberCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
e.setModifyBonus = obj.ModifyBonus;
e.setModifyBalance = obj.ModifyBalance;
return e;
}
if (InUserPayFromCardEvent_1.InUserPayFromCardEvent.EVENT == event) {
let e = new InUserPayFromCardEvent_1.InUserPayFromCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
e.setLocationId = obj.LocationId;
e.setTransId = obj.TransId;
e.setFee = obj.Fee;
e.setOriginalFee = obj.OriginalFee;
return e;
}
// 微信小店支付消息
if (InMerChantOrderEvent_1.InMerChantOrderEvent.EVENT == event) {
let e = new InMerChantOrderEvent_1.InMerChantOrderEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setOrderId = obj.OrderId;
e.setOrderStatus = obj.OrderStatus;
e.setProductId = obj.ProductId;
e.setSkuInfo = obj.SkuInfo;
return e;
}
// 审核通过事件推送
if (InCardPassCheckEvent_1.InCardPassCheckEvent.EVENT_PASS == event) {
let e = new InCardPassCheckEvent_1.InCardPassCheckEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setRefuseReason = obj.RefuseReason;
return e;
}
// 审核未通过事件推送
if (InCardPassCheckEvent_1.InCardPassCheckEvent.EVENT_NOT_PASS == event) {
let e = new InCardPassCheckEvent_1.InCardPassCheckEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setRefuseReason = obj.RefuseReason;
return e;
}
// 券点流水详情事件
if (InCardPayOrderEvent_1.InCardPayOrderEvent.EVENT == event) {
let e = new InCardPayOrderEvent_1.InCardPayOrderEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setOrderId = obj.OrderId;
e.setStatus = obj.Status;
e.setCreateOrderTime = obj.CreateOrderTime;
e.setPayFinishTime = obj.PayFinishTime;
e.setDesc = obj.Desc;
e.setFreeCoinCount = obj.FreeCoinCount;
e.setPayCoinCount = obj.PayCoinCount;
e.setRefundFreeCoinCount = obj.RefundFreeCoinCount;
e.setRefundPayCoinCount = obj.RefundPayCoinCount;
e.setOrderType = obj.OrderType;
e.setOrderType = obj.OrderType;
e.setMemo = obj.Memo;
e.setReceiptInfo = obj.ReceiptInfo;
return e;
}
// 库存报警事件
if (InCardSkuRemindEvent_1.InCardSkuRemindEvent.EVENT == event) {
let e = new InCardSkuRemindEvent_1.InCardSkuRemindEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setDetail = obj.Detail;
return e;
}
// 卡券核销事件推送
if (InUserConsumeCardEvent_1.InUserConsumeCardEvent.EVENT == event) {
let e = new InUserConsumeCardEvent_1.InUserConsumeCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
e.setConsumeSource = obj.ConsumeSource;
e.setLocationName = obj.LocationName;
e.setStaffOpenId = obj.StaffOpenId;
e.setVerifyCode = obj.VerifyCode;
e.setRemarkAmount = obj.RemarkAmount;
e.setOuterStr = obj.OuterStr;
return e;
}
// 卡券删除事件推送
if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_DEL == event) {
let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
return e;
}
// 从卡券进入公众号会话事件推送
if (InUserCardEvent_1.InUserCardEvent.EVENT_USER_ENTER == event) {
let e = new InUserCardEvent_1.InUserCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
return e;
}
// 卡券领取事件推送
if (InUserGetCardEvent_1.InUserGetCardEvent.EVENT == event) {
let e = new InUserGetCardEvent_1.InUserGetCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setIsGiveByFriend = obj.IsGiveByFriend;
e.setUserCardCode = obj.UserCardCode;
e.setFriendUserName = obj.FriendUserName;
e.setOuterId = obj.OuterId;
e.setOldUserCardCode = obj.OldUserCardCode;
e.setOuterStr = obj.OuterStr;
e.setIsRestoreMemberCard = obj.IsRestoreMemberCard;
e.setIsRecommendByFriend = obj.IsRecommendByFriend;
return e;
}
// 卡券转赠事件推送
if (InUserGiftingCardEvent_1.InUserGiftingCardEvent.EVENT == event) {
let e = new InUserGiftingCardEvent_1.InUserGiftingCardEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setCardId = obj.CardId;
e.setUserCardCode = obj.UserCardCode;
e.setIsReturnBack = obj.IsReturnBack;
e.setFriendUserName = obj.FriendUserName;
e.setIsChatRoom = obj.IsChatRoom;
return e;
}
// 任务卡片事件推送
if (InTaskEvent_1.InTaskEvent.EVENT == event) {
let e = new InTaskEvent_1.InTaskEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setEventKey = eventKey;
e.setTaskId = obj.TaskId;
e.setAgentId = obj.AgentId;
return e;
}
// 子商户审核事件推送
if (InCardMerchantCheckResultEvent_1.InCardMerchantCheckResultEvent.EVENT == event) {
let e = new InCardMerchantCheckResultEvent_1.InCardMerchantCheckResultEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setMerchantId = obj.MerchantId;
e.setIsPass = obj.IsPass;
e.setReason = obj.Reason;
return e;
}
// 异步任务完成通知
if (InBatchJobResultEvent_1.InBatchJobResultEvent.EVENT == event) {
let e = new InBatchJobResultEvent_1.InBatchJobResultEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
let batchJob = obj.BatchJob;
e.setEventCode = batchJob.ErrCode;
e.setEventMsg = batchJob.ErrMsg;
e.setJobId = batchJob.JobId;
e.setJobType = batchJob.JobType;
return e;
}
// 标签/成员/部门变更事件
if (InUpdateUserEvent_1.InUpdateUserEvent.EVENT == event) {
let changeType = obj.ChangeType;
if (InUpdateTagEvent_1.InUpdateTagEvent.CHANGE_TYPE == changeType) {
let e = new InUpdateTagEvent_1.InUpdateTagEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setTagId = obj.TagId;
e.setAddUserItems = obj.AddUserItems;
e.setDelUserItems = obj.DelUserItems;
e.setAddPartyItems = obj.AddPartyItems;
e.setDelPartyItems = obj.DelPartyItems;
return e;
}
else if (InUpdatePartyEvent_1.InUpdatePartyEvent.CREATE_PARTY == changeType) {
let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setId = obj.Id;
e.setName = obj.Name;
e.setParentId = obj.ParentId;
e.setOrder = obj.Order;
return e;
}
else if (InUpdatePartyEvent_1.InUpdatePartyEvent.UPDATE_PARTY == changeType) {
let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setId = obj.Id;
e.setName = obj.Name;
e.setParentId = obj.ParentId;
return e;
}
else if (InUpdatePartyEvent_1.InUpdatePartyEvent.DELETE_PARTY == changeType) {
let e = new InUpdatePartyEvent_1.InUpdatePartyEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setId = obj.Id;
return e;
}
else if (InUpdateUserEvent_1.InUpdateUserEvent.CREATE_USER == changeType) {
let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setUserId = obj.UserID;
e.setName = obj.Name;
e.setDepartment = obj.Department;
e.setIsLeaderInDept = obj.IsLeaderInDept;
e.setPosition = obj.Position;
e.setMobile = obj.Mobile;
e.setGender = obj.Gender;
e.setEmail = obj.Email;
e.setStatus = obj.Status;
e.setAvatar = obj.Avatar;
e.setAlias = obj.Alias;
e.setTelephone = obj.Telephone;
e.setAlias = obj.Alias;
e.setAddress = obj.Address;
e.setExtAttr = obj.ExtAttr;
return e;
}
else if (InUpdateUserEvent_1.InUpdateUserEvent.UPDATE_USER == changeType) {
let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setUserId = obj.UserID;
e.setNewUserId = obj.NewUserID;
e.setName = obj.Name;
e.setDepartment = obj.Department;
e.setIsLeaderInDept = obj.IsLeaderInDept;
e.setPosition = obj.Position;
e.setMobile = obj.Mobile;
e.setGender = obj.Gender;
e.setEmail = obj.Email;
e.setStatus = obj.Status;
e.setAvatar = obj.Avatar;
e.setAlias = obj.Alias;
e.setTelephone = obj.Telephone;
e.setAlias = obj.Alias;
e.setAddress = obj.Address;
e.setExtAttr = obj.ExtAttr;
return e;
}
else if (InUpdateUserEvent_1.InUpdateUserEvent.DELETE_USER == changeType) {
let e = new InUpdateUserEvent_1.InUpdateUserEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.setChangeType = changeType;
e.setUserId = obj.UserID;
return e;
}
}
// 企业客户事件
if (InExternalContactEvent_1.InExternalContactEvent.EVENT == event) {
let e = new InExternalContactEvent_1.InExternalContactEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
e.changeType = obj.ChangeType;
e.userId = obj.UserID;
e.externalUserId = obj.ExternalUserID;
e.setState = obj.State;
e.welcomeCode = obj.WelcomeCode;
return e;
}
console.error(`无法识别的事件类型 ${event},请前往 https://gitee.com/javen205/TNWX/issues 提 issues`);
return new InNotDefinedEvent_1.InNotDefinedEvent(obj.ToUserName, obj.FromUserName, obj.CreateTime, event);
}
// 推送 suite_ticket
static parseInSuiteTicket(obj) {
return new InSuiteTicket_1.InSuiteTicket(obj.SuiteId, obj.InfoType, obj.TimeStamp, obj.SuiteTicket);
}
// 推送 component_verify_ticket
static paseInComponentVerifyTicket(obj) {
return new InComponentVerifyTicket_1.InComponentVerifyTicket(obj.AppId, obj.InfoType, obj.CreateTime, obj.ComponentVerifyTicket);
}
// 企业微信开放平台授权通知事件
static InAuthEvent(obj) {
let infoType = obj.InfoType;
if (InAuthEvent_1.InAuthEvent.CREATE_AUTH === infoType)
return new InAuthEvent_1.InAuthEvent(obj.SuiteId, obj.InfoType, obj.TimeStamp, obj.AuthCode);
if (InAuthEvent_1.InAuthEvent.CHANGE_AUTH === infoType || InAuthEvent_1.InAuthEvent.CANCEL_AUTH === infoType)
return new InAuthEvent_1.InAuthEvent(obj.SuiteId, obj.InfoType, obj.TimeStamp, undefined, obj.AuthCorpId);
}
// 微信开放平台授权通知事件
static InAuthMpEvent(obj) {
let infoType = obj.InfoType;
if (InAuthMpEvent_1.InAuthMpEvent.CANCEL_AUTH === infoType)
return new InAuthMpEvent_1.InAuthMpEvent(obj.AppId, obj.InfoType, obj.CreateTime, obj.AuthorizerAppid);
if (InAuthMpEvent_1.InAuthMpEvent.CHANGE_AUTH === infoType || InAuthMpEvent_1.InAuthMpEvent.CREATE_AUTH === infoType)
return new InAuthMpEvent_1.InAuthMpEvent(obj.AppId, obj.InfoType, obj.CreateTime, obj.AuthorizerAppid, obj.AuthorizationCode, obj.AuthorizationCodeExpiredTime, obj.PreAuthCode);
}
// 异步任务回调通知
static parseInBatchJobResult(obj) {
let batchJob = obj.BatchJob;
return new InBatchJobResult_1.InBatchJobResult(obj.ServiceCorpId, obj.InfoType, obj.TimeStamp, obj.AuthCorpId, batchJob.JobId, batchJob.JobType);
}
// 外部联系人事件
static parseInExternalContact(obj) {
return new InExternalContact_1.InExternalContact(obj.SuiteId, obj.AuthCorpId, obj.InfoType, obj.TimeStamp, obj.ChangeType, obj.UserID, obj.ExternalUserID, obj.WelcomeCode);
}
// 注册完成回调事件
static parseInRegisterCorp(obj) {
let contactSync = obj.ContactSync;
return new InRegisterCorp_1.InRegisterCorp(obj.ServiceCorpId, obj.InfoType, obj.TimeStamp, obj.RegisterCode, obj.AuthCorpId, contactSync.AccessToken, contactSync.ExpiresIn, obj.AuthUserInfo.UserId, obj.State, obj.TemplateId);
}
}
exports.InMsgParser = InMsgParser;
//# sourceMappingURL=InMsgParser.js.map