private async Task <int> UniformSendMPTemplateAsync(int makeWishId, string mPTemplateID, int memberId = 0)
        {
            int    resCode  = 0;
            string pagepath = mPTemplateID == MPTemplateID.mpReserve ? string.Empty : $"pages/detail/index?wishId={makeWishId}";
            string tOpenId  = string.Empty;

            try
            {
                MPTemplateData tData = null;

                (tData, tOpenId) = await _activityApplication.GetWishOpenId(makeWishId, mPTemplateID, memberId);

                if (tData != null)
                {
                    var accessToken = await AccessTokenContainer.TryGetAccessTokenAsync(appId, appSecret);

                    var msgData = new UniformSendData
                    {
                        touser          = tOpenId,
                        mp_template_msg = new Mp_Template_Msg
                        {
                            appid       = mpAppId,
                            template_id = mPTemplateID,
                            miniprogram = new Miniprogram
                            {
                                appid    = appId,
                                pagepath = pagepath,
                            },
                            data = tData
                        }
                    };

                    var result = await TemplateApi.UniformSendAsync(accessToken, msgData);

                    resCode = 1;

                    if (mPTemplateID == MPTemplateID.mpReserve) //预约提醒只发送一次,发送成功更新
                    {
                        await _activityApplication.SaveMemberIsSend(memberId);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(string.Concat("mPTemplateID:", mPTemplateID, "----memberID:", memberId, "----openId:", tOpenId));
            }

            return(resCode);
        }
Esempio n. 2
0
        /// <summary>
        /// 未兑换愿望提醒
        /// </summary>
        /// <param name="wishId"></param>
        /// <param name="wishName"></param>
        /// <param name="openId"></param>
        /// <param name="nickName"></param>
        /// <param name="mch_no"></param>
        /// <returns></returns>
        public async Task NoExchangeSendTemplateMessage(int wishId, string wishName, string openId, string nickName, string mch_no)
        {
            try
            {
                var pagepath = string.IsNullOrEmpty(mch_no) ? $"pages/detail/index?wishId={wishId}" : $"pages/conversion/index?wishId={wishId}";

                var accessToken = await AccessTokenContainer.TryGetAccessTokenAsync(appId, appSecret);

                var msgData = new UniformSendData
                {
                    touser          = openId,
                    mp_template_msg = new Mp_Template_Msg
                    {
                        appid       = mpAppId,
                        template_id = MPTemplateID.mpNoExchange,
                        miniprogram = new Miniprogram
                        {
                            appid    = appId,
                            pagepath = pagepath,
                        },
                        data = new MPTemplateData(
                            "您还有愿望未进行兑现哦!快来进行愿望兑现吧~",
                            $"{wishName}",
                            $"{nickName}",
                            "",
                            "点击查看详情哟~"
                            )
                    }
                };

                await Senparc.Weixin.WxOpen.AdvancedAPIs.Template.TemplateApi.UniformSendAsync(accessToken, msgData);
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Concat("NoExchangeSendTemplateMessage:", ex.Message));
            }
        }