예제 #1
0
        private void HandleUpgradePartnerStageResult(JsonMessage lobbyMsg)
        {
            JsonData jsonData = lobbyMsg.m_JsonData;

            ArkCrossEngineMessage.Msg_LC_UpgradeParnerStageResult protoData = lobbyMsg.m_ProtoData as ArkCrossEngineMessage.Msg_LC_UpgradeParnerStageResult;
            if (null != protoData)
            {
                if ((int)PartnerMsgResultEnum.SUCCESS == protoData.m_ResultCode)
                {
                    RoleInfo    role    = LobbyClient.Instance.CurrentRole;
                    PartnerInfo partner = role.PartnerStateInfo.GetPartnerInfoById(protoData.m_PartnerId);
                    if (null == partner)
                    {
                        return;
                    }
                    PartnerConfig        partnerConfig = PartnerConfigProvider.Instance.GetDataById(protoData.m_PartnerId);
                    PartnerStageUpConfig psuConfig     = PartnerStageUpConfigProvider.Instance.GetDataById(partner.CurSkillStage);
                    if (null != partnerConfig && null != psuConfig)
                    {
                        role.ReduceItemData(partnerConfig.StageUpItemId, 0, psuConfig.ItemCost);
                        role.Money -= psuConfig.GoldCost;
                    }
                    UserInfo user = WorldSystem.Instance.GetPlayerSelf();
                    if (null != user)
                    {
                        user.ParterChanged = true;
                    }
                    if (null != role)
                    {
                        role.PartnerStateInfo.SetPartnerStage(protoData.m_PartnerId, protoData.m_CurStage);
                    }
                }
                GfxSystem.PublishGfxEvent("ge_partner_upgrade_skill_result", "ui", protoData.m_ResultCode);
            }
        }
예제 #2
0
        private void HandleCompoundPartnerResult(JsonMessage lobbyMsg)
        {
            JsonData jsonData = lobbyMsg.m_JsonData;

            ArkCrossEngineMessage.Msg_LC_CompoundPartnerResult protoData = lobbyMsg.m_ProtoData as ArkCrossEngineMessage.Msg_LC_CompoundPartnerResult;
            if (null != protoData)
            {
                if ((int)PartnerMsgResultEnum.SUCCESS == protoData.m_ResultCode)
                {
                    // 增加伙伴 && 处理消耗
                    RoleInfo role = LobbyClient.Instance.CurrentRole;
                    if (null != role)
                    {
                        role.PartnerStateInfo.AddPartner(protoData.m_PartnerId, 1, 1);
                        PartnerConfig partnerConfig = PartnerConfigProvider.Instance.GetDataById(protoData.m_PartnerId);
                        if (null != partnerConfig)
                        {
                            role.ReduceItemData(partnerConfig.PartnerFragId, 0, partnerConfig.PartnerFragNum);
                        }
                    }
                    else
                    {
                        // 失败, 这里失败的话应该是客户端和服务器不同步导致的。
                    }
                }
                GfxSystem.PublishGfxEvent("ge_partner_compound_result", "ui", protoData.m_ResultCode);
            }
        }
예제 #3
0
    private void UpdateItem(UnityEngine.GameObject go, int id, int damage, bool isHero)
    {
        //伤害值,及对应对比进度条
        UnityEngine.Transform tf = go.transform.Find("value");
        if (tf != null)
        {
            UIProgressBar progress = tf.GetComponent <UIProgressBar>();
            if (progress != null)
            {
                progress.value = (float)damage / m_MaxDamage;
            }
            tf = tf.Find("Label");
            if (tf != null)
            {
                UILabel lblValue = tf.GetComponent <UILabel>();
                if (lblValue != null)
                {
                    lblValue.text = damage.ToString();
                }
            }
        }
        //头像
        tf = go.transform.Find("Sprite");
        if (tf != null)
        {
            UISprite sprite = tf.GetComponent <UISprite>();
            if (sprite != null)
            {
                string spName = "";
                if (isHero)
                {
                    spName = GetHeadSpName(id);
                }
                else
                {
                    PartnerConfig pCfg = PartnerConfigProvider.Instance.GetDataById(id);
                    if (pCfg != null)
                    {
                        Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(pCfg.LinkId);
                        if (npcCfg != null)
                        {
                            spName = npcCfg.m_Portrait;
                        }
                    }
                }
                sprite.spriteName = spName;
            }
        }
        //彩框
        UISprite colorFrame = go.GetComponent <UISprite>();

        if (colorFrame != null)
        {
            //colorFrame.spriteName = "";
        }
    }
예제 #4
0
        public async Task PartnerEvent()
        {
            var configs = Database.Query <PartnerConfig>();
            var sorted  = configs
                          .Where(x => x.Enabled)
                          .Select(x => new GroupedConfig
            {
                Guild  = Client.GetGuild(x.GuildId),
                Config = x
            })
                          .Where(x => x.Guild != null)
                          .ToList();
            var randomised = sorted.OrderBy(x => Random.Next()).ToList();

            foreach (var group in randomised)
            {
                var embedToSend = await group.Config.GetEmbedAsync(group.Guild);

                if (!embedToSend.Item1)
                {
                    continue;
                }

                var receiver = sorted.FirstOrDefault(x => x.Config.GuildId != group.Config.GuildId);
                if (receiver == null)
                {
                    return;
                }
                sorted.Remove(receiver);

                var receiverChannel = receiver.Guild.GetTextChannel(receiver.Config.ReceiverChannelId);
                if (receiverChannel == null)
                {
                    continue;
                }

                ChannelPermissions?perms = receiver.Guild?.CurrentUser?.GetPermissions(receiverChannel);
                if (perms.HasValue && !perms.Value.SendMessages)
                {
                    continue;
                }

                try
                {
                    await receiverChannel.SendMessageAsync("", false, embedToSend.Item2.Build());

                    group.Config.ServerCount++;
                    group.Config.UserCount += receiver.Guild.MemberCount;
                    Database.Store(group.Config, PartnerConfig.DocumentName(group.Config.GuildId));
                }
                catch
                {
                    //
                }
            }
        }
예제 #5
0
        public PartnerConfig GetOrCreatePartnerConfig(ulong guildId)
        {
            var config = Database.Load <PartnerConfig>(PartnerConfig.DocumentName(guildId));

            if (config == null)
            {
                config = new PartnerConfig(guildId);
                Database.Store(config, PartnerConfig.DocumentName(guildId));
            }

            return(config);
        }
예제 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            WebSettingInfo webSetting = new WebSettingBLL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA");

            //string oidPartner = "201408071000001543";
            //string md5key = "201408071000001543test_20140812";
            //string TraderPriKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAOilN4tR7HpNYvSBra/DzebemoAiGtGeaxa+qebx/O2YAdUFPI+xTKTX2ETyqSzGfbxXpmSax7tXOdoa3uyaFnhKRGRvLdq1kTSTu7q5s6gTryxVH2m62Py8Pw0sKcuuV0CxtxkrxUzGQN+QSxf+TyNAv5rYi/ayvsDgWdB3cRqbAgMBAAECgYEAj02d/jqTcO6UQspSY484GLsL7luTq4Vqr5L4cyKiSvQ0RLQ6DsUG0g+Gz0muPb9ymf5fp17UIyjioN+ma5WquncHGm6ElIuRv2jYbGOnl9q2cMyNsAZCiSWfR++op+6UZbzpoNDiYzeKbNUz6L1fJjzCt52w/RbkDncJd2mVDRkCQQD/Uz3QnrWfCeWmBbsAZVoM57n01k7hyLWmDMYoKh8vnzKjrWScDkaQ6qGTbPVL3x0EBoxgb/smnT6/A5XyB9bvAkEA6UKhP1KLi/ImaLFUgLvEvmbUrpzY2I1+jgdsoj9Bm4a8K+KROsnNAIvRsKNgJPWd64uuQntUFPKkcyfBV1MXFQJBAJGs3Mf6xYVIEE75VgiTyx0x2VdoLvmDmqBzCVxBLCnvmuToOU8QlhJ4zFdhA1OWqOdzFQSw34rYjMRPN24wKuECQEqpYhVzpWkA9BxUjli6QUo0feT6HUqLV7O8WqBAIQ7X/IkLdzLa/vwqxM6GLLMHzylixz9OXGZsGAkn83GxDdUCQA9+pQOitY0WranUHeZFKWAHZszSjtbe6wDAdiKdXCfig0/rOdxAODCbQrQs7PYy1ed8DuVQlHPwRGtokVGHATU=";
            //string YTPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCSS/DiwdCf/aZsxxcacDnooGph3d2JOj5GXWi+q3gznZauZjkNP8SKl3J2liP0O6rU/Y/29+IUe+GTMhMOFJuZm1htAtKiu5ekW0GlBMWxf4FPkYlQkPE0FtaoMP3gYfh+OwI+fIRrpW3ySn3mScnc6Z700nU/VYrRkfcSCbSnRwIDAQAB";
            partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param5Value);//new PartnerConfig(oidPartner, md5key, TraderPriKey, YTPublicKey);
            //partnerConfig.YTPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCSS/DiwdCf/aZsxxcacDnooGph3d2JOj5GXWi+q3gznZauZjkNP8SKl3J2liP0O6rU/Y/29+IUe+GTMhMOFJuZm1htAtKiu5ekW0GlBMWxf4FPkYlQkPE0FtaoMP3gYfh+OwI+fIRrpW3ySn3mScnc6Z700nU/VYrRkfcSCbSnRwIDAQAB";
            //partnerConfig.TraderPriKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMhKNA1Ws0H6PrZ8t1lQxhQjERj0hYf8QWBlF2DtlMajYU52WsiGIvid6iQQhJGc+aPNTf3MfWCWSHk2XRIYRpjoVPQ8Oz8sLF8j3pT3I2h2gDRNvO2xqX+x+jyFDMnAXm4uMyBYS9wabuhUchF5JkHT1A3rZZFYapPqMTj/zeEFAgMBAAECgYB+uPwwCFAIiYVOPqBe4U1CBmHV8TffLwpKLAvbptX/y/VQCHAt+Th9JqSyxsSpwLDuI4KZ9tzI1KzsDCpcvYFEMuoPNgwjZBFBsmTdXD+nxUTKVbTII6kITyzMMWDBnF8LxAicMKpYcRKaVOULCg/AHPGV32Efd4pH8cyJGcJ6TQJBAP+7+YygfcJLvxI9kk/2Se+dI//mX6WVh1V0RFgSl0cWry+xq9xTQofy0wU++TiXkA05aCJbwY0EjyodUOcpHkMCQQDIf3r3WVpW4Fx6t6B2geew4mllckFEHHDf0pXE5GWymccQHHxo6knFrzZ8F/97XwAIGTabNBXQiWd9G1DfEyMXAkEAow/84wpCpe0efEb+UDY+lqagGb+PJUne7UIhgfb4tr9kHQkxCF+egIj4vNOWndsmYwhDugS/uWc60iO3Pm4deQJAC3qA57hN27tsj/oDTcWSJiZQMmagJe4a6DV+LY+F4vu60clPthHzt0WYsPIOxllh/xSyc6A/v3ieXCM8Ngk6cQJBAJiX6nzlyLyHrHQ0jIdQ97bYtJTqh0ZC6bZ3PShCj3we/Cu+5v6L5Rmwx0s+OJ84OnWIopuuc5QwmOT53VRIntE=";
            //partnerConfig.MD5Key = "201306031000001013";
        }
예제 #7
0
    //设置左侧进阶技能信息
    public void SetLeftSkillInfo(int parterId, int stage)
    {
        PartnerInfo info = GetPartnerInfoById(parterId);

        if (info != null)
        {
            PartnerConfig ptCfg = PartnerConfigProvider.Instance.GetDataById(info.Id);
            if (ptCfg != null)
            {
                List <string> iconList = new List <string>();
                iconList.Add(ptCfg.Icon0);
                iconList.Add(ptCfg.Icon1);
                iconList.Add(ptCfg.Icon2);
                iconList.Add(ptCfg.Icon3);
                UIAtlas atlas = null;
                UnityEngine.GameObject goAtlas = CrossObjectHelper.TryCastObject <UnityEngine.GameObject>(ResourceSystem.GetSharedResource(ptCfg.AtlasPath));
                if (goAtlas != null)
                {
                    atlas = goAtlas.GetComponent <UIAtlas>();
                }
                for (int index = 0; index < spSkillLifts.Length; ++index)
                {
                    if (spSkillLifts[index] != null && index < iconList.Count)
                    {
                        spSkillLifts[index].atlas      = atlas;
                        spSkillLifts[index].spriteName = iconList[index];
                    }
                    if (stage >= index + 1)
                    {
                        spSkillLifts[index].color = WhiteColor;
                        if (spSkillLocks[index] != null)
                        {
                            NGUITools.SetActive(spSkillLocks[index].gameObject, false);
                        }
                    }
                    else
                    {
                        spSkillLifts[index].color = AshColor;
                        if (spSkillLocks[index] != null && !NGUITools.GetActive(spSkillLocks[index].gameObject))
                        {
                            NGUITools.SetActive(spSkillLocks[index].gameObject, true);
                        }
                    }
                }
            }
        }
    }
예제 #8
0
    private void CheckPartnerTip()
    {
        RoleInfo role_info = LobbyClient.Instance.CurrentRole;

        bool has = false;

        if (role_info != null)
        {
            List <PartnerInfo> partnerList = role_info.PartnerStateInfo.GetAllPartners();
            for (int i = 0; i < partnerList.Count; i++)
            {
                int partnerId = partnerList[i].Id;
                if (!role_info.PartnerStateInfo.IsHavePartner(partnerId))
                {//未拥有
                    PartnerConfig partner_cfg = PartnerConfigProvider.Instance.GetDataById(partnerId);
                    if (partner_cfg != null)
                    {
                        int fragId      = partner_cfg.PartnerFragId;
                        int fragNeedNum = partner_cfg.PartnerFragNum;
                        int ownFragNum  = GetItemNum(fragId);
                        if (ownFragNum >= fragNeedNum)
                        {//可召唤
                            has = true;
                        }
                    }
                }
                else
                {//已拥有
                    bool canUpgrade = false;
                    if (CheckCanUpgrade(partnerId))
                    {
                        has        = true;
                        canUpgrade = true;
                    }
                    if (uiPartnerList != null)
                    {
                        uiPartnerList.SetItemTipActive(partnerId, canUpgrade);
                    }
                }
            }
        }
        ArkCrossEngine.LogicSystem.EventChannelForGfx.Publish("ge_systemnewtip_state_change", "ui", SystemNewTipType.Partner, has);
    }
예제 #9
0
 internal ArenaInfo(ulong guid, ArenaRobotConfig robot_info, int max_partner_count)
 {
     m_Guid       = guid;
     m_Rank       = ArenaSystem.UNKNOWN_RANK;
     m_HeroId     = robot_info.HeroId;
     m_NickName   = robot_info.NickName;
     m_Level      = robot_info.Level;
     m_FightScore = robot_info.FightScore;
     foreach (ArenaItemInfo arena_item in robot_info.EquipInfo)
     {
         ItemInfo item = new ItemInfo(arena_item.ItemId, arena_item.Level);
         item.AppendProperty = arena_item.AppendProperty;
         m_EquipInfo.Add(item);
     }
     foreach (ArenaXSoulInfo xsoul in robot_info.XSoulInfo)
     {
         m_XSoulInfo.Add(xsoul);
     }
     foreach (ArenaPartnerInfo partner in robot_info.PartnerInfo)
     {
         PartnerConfig config = PartnerConfigProvider.Instance.GetDataById(partner.id);
         if (config == null)
         {
             continue;
         }
         PartnerInfo target = new PartnerInfo(config);
         target.CurAdditionLevel = partner.AdditionLevel;
         target.CurSkillStage    = partner.SkillStage;
         m_PartnerInfo.Add(target);
         if (m_PartnerInfo.Count == max_partner_count)
         {
             m_ActivePartner = target;
             break;
         }
     }
     foreach (ArenaSkillInfo e in robot_info.SkillInfo)
     {
         SkillDataInfo skilldata = new SkillDataInfo(e.Id, e.Level);
         skilldata.Postions.Presets[0] = (SlotPosition)e.EquipPos;
         m_SkillDataInfo.Add(skilldata);
     }
     m_IsRobot = true;
 }
예제 #10
0
    //添加暂未获得伙伴
    private bool AddNotHavenPartnerItem(PartnerConfig cfg, int partnerIndex)
    {
        if (cfg == null)
        {
            return(false);
        }
        int ownItemNum = GetItemNum(cfg.PartnerFragId);

        //当前拥有碎片数小于等于0的不加载
        if (ownItemNum <= 0)
        {
            return(false);
        }
        UIPartnerItem partner_item = TryGetPartnerItem(partnerIndex);

        if (null != partner_item)
        {
            partner_item.InitNotHavenPartner(cfg);
            return(true);
        }
        return(false);
    }
예제 #11
0
        private void HandleUpgradePartnerLevelResult(JsonMessage lobbyMsg)
        {
            JsonData jsonData = lobbyMsg.m_JsonData;

            ArkCrossEngineMessage.Msg_LC_UpgradePartnerLevelResult protoData = lobbyMsg.m_ProtoData as ArkCrossEngineMessage.Msg_LC_UpgradePartnerLevelResult;
            if (null != protoData)
            {
                RoleInfo    role    = LobbyClient.Instance.CurrentRole;
                UserInfo    user    = WorldSystem.Instance.GetPlayerSelf();
                PartnerInfo partner = role.PartnerStateInfo.GetPartnerInfoById(protoData.m_PartnerId);
                if (partner == null)
                {
                    return;
                }
                if (null != user)
                {
                    user.ParterChanged = true;
                }
                if ((int)PartnerMsgResultEnum.SUCCESS == protoData.m_ResultCode ||
                    (int)PartnerMsgResultEnum.FAILED == protoData.m_ResultCode ||
                    (int)PartnerMsgResultEnum.DEMOTION == protoData.m_ResultCode)
                {
                    PartnerConfig        partnerConfig = PartnerConfigProvider.Instance.GetDataById(protoData.m_PartnerId);
                    PartnerLevelUpConfig pluConfig     = PartnerLevelUpConfigProvider.Instance.GetDataById(partner.CurAdditionLevel);
                    if (null != partnerConfig && null != pluConfig)
                    {
                        role.ReduceItemData(partnerConfig.LevelUpItemId, 0, pluConfig.ItemCost);
                        role.Money -= pluConfig.GoldCost;
                    }
                }
                // 成功失败都同步等级
                if (null != role)
                {
                    role.PartnerStateInfo.SetPartnerLevel(protoData.m_PartnerId, protoData.m_CurLevel);
                }
                GfxSystem.PublishGfxEvent("ge_partner_upgrade_level_result", "ui", protoData.m_ResultCode);
            }
        }
예제 #12
0
 public void SavePartnerConfig(PartnerConfig config)
 {
     Database.Store(config, PartnerConfig.DocumentName(config.GuildId));
 }
예제 #13
0
        //--------------------------------------
        private void HandleCreateBattleRoom(Msg_LR_CreateBattleRoom createRoomMsg, PBChannel channel, int handle, uint seq)
        {
            LogSys.Log(LOG_TYPE.DEBUG, "channel:{0}, seq:{1}", channel, seq);
            bool canContinue = true;

            //先检查是否玩家已经在room上。
            foreach (Msg_LR_RoomUserInfo rui in createRoomMsg.UsersList)
            {
                if (RoomPeerMgr.Instance.IsKeyExist(rui.Key))
                {
                    canContinue = false;
                    LogSys.Log(LOG_TYPE.WARN, "User is already in room. UserGuid:{0}, Key:{1}", rui.Guid, rui.Key);
                    break;
                }
            }
            if (!canContinue)
            {
                Msg_RL_ReplyCreateBattleRoom.Builder replyBuilder0 = Msg_RL_ReplyCreateBattleRoom.CreateBuilder();
                replyBuilder0.SetRoomId(createRoomMsg.RoomId);
                replyBuilder0.SetIsSuccess(false);
                channel.Send(replyBuilder0.Build());
                return;
            }
            List <User> users = new List <User>();

            foreach (Msg_LR_RoomUserInfo rui in createRoomMsg.UsersList)
            {
                User rsUser = user_pool_.NewUser();
                LogSys.Log(LOG_TYPE.INFO, "NewUser {0} for {1} {2}", rsUser.LocalID, rui.Guid, rui.Key);
                rsUser.Init();
                if (!rsUser.SetKey(rui.Key))
                {
                    LogSys.Log(LOG_TYPE.WARN, "user who's key is {0} already in room!", rui.Key);
                    LogSys.Log(LOG_TYPE.INFO, "FreeUser {0} for {1} {2}, [RoomManager.HandleCreateBattleRoom]", rsUser.LocalID, rui.Guid, rui.Key);
                    user_pool_.FreeUser(rsUser.LocalID);
                    continue;
                }
                rsUser.Guid             = rui.Guid;
                rsUser.Name             = rui.Nick;
                rsUser.HeroId           = rui.Hero;
                rsUser.CampId           = rui.Camp;
                rsUser.Level            = rui.Level;
                rsUser.ArgFightingScore = rui.ArgScore;
                if (rui.IsMachine == true)
                {
                    rsUser.UserControlState = (int)UserControlState.Ai;
                }
                else
                {
                    rsUser.UserControlState = (int)UserControlState.User;
                }
                //装备数据
                for (int index = 0; index < rui.ShopEquipmentsIdCount; ++index)
                {
                    rsUser.ShopEquipmentsId.Add(rui.GetShopEquipmentsId(index));
                }
                if (null != rsUser.Skill)
                {
                    rsUser.Skill.Clear();
                    for (int i = 0; i < rui.SkillsCount; i++)
                    {
                        SkillTransmitArg skill_arg = new SkillTransmitArg();
                        skill_arg.SkillId    = rui.SkillsList[i].SkillId;
                        skill_arg.SkillLevel = rui.SkillsList[i].SkillLevel;
                        rsUser.Skill.Add(skill_arg);
                    }
                    if (rui.HasPresetIndex)
                    {
                        rsUser.PresetIndex = rui.PresetIndex;
                    }
                }
                ///
                if (null != rsUser.Equip)
                {
                    rsUser.Equip.Clear();
                    for (int i = 0; i < rui.EquipsCount; i++)
                    {
                        ItemTransmitArg equip_arg = new ItemTransmitArg();
                        equip_arg.ItemId             = rui.EquipsList[i].EquipId;
                        equip_arg.ItemLevel          = rui.EquipsList[i].EquipLevel;
                        equip_arg.ItemRandomProperty = rui.EquipsList[i].EquipRandomProperty;
                        rsUser.Equip.Add(equip_arg);
                    }
                }
                ///
                if (null != rsUser.Legacy)
                {
                    rsUser.Legacy.Clear();
                    for (int i = 0; i < rui.LegacysCount; i++)
                    {
                        ItemTransmitArg legacy_arg = new ItemTransmitArg();
                        legacy_arg.ItemId             = rui.LegacysList[i].LegacyId;
                        legacy_arg.ItemLevel          = rui.LegacysList[i].LegacyLevel;
                        legacy_arg.ItemRandomProperty = rui.LegacysList[i].LegacyRandomProperty;
                        legacy_arg.IsUnlock           = rui.LegacysList[i].LegacyIsUnlock;
                        rsUser.Legacy.Add(legacy_arg);
                    }
                }
                ///
                if (null != rsUser.XSouls)
                {
                    rsUser.XSouls.GetAllXSoulPartData().Clear();
                    for (int i = 0; i < rui.XSoulsCount; i++)
                    {
                        ItemDataInfo item = new ItemDataInfo();
                        item.ItemId     = rui.XSoulsList[i].ItemId;
                        item.Level      = rui.XSoulsList[i].Level;
                        item.Experience = rui.XSoulsList[i].Experience;
                        ItemConfig configer = ItemConfigProvider.Instance.GetDataById(item.ItemId);
                        item.ItemConfig = configer;
                        if (configer != null)
                        {
                            XSoulPartInfo part_info = new XSoulPartInfo((XSoulPart)configer.m_WearParts, item);
                            part_info.ShowModelLevel = rui.XSoulsList[i].ModelLevel;
                            rsUser.XSouls.SetXSoulPartData((XSoulPart)configer.m_WearParts, part_info);
                        }
                    }
                }
                // partner
                if (null != rui.Partner)
                {
                    PartnerConfig partnerConfig = PartnerConfigProvider.Instance.GetDataById(rui.Partner.PartnerId);
                    if (null != partnerConfig)
                    {
                        PartnerInfo partnerInfo = new PartnerInfo(partnerConfig);
                        partnerInfo.CurAdditionLevel = rui.Partner.PartnerLevel;
                        partnerInfo.CurSkillStage    = rui.Partner.PartnerStage;
                        rsUser.Partner = partnerInfo;
                    }
                }
                users.Add(rsUser);
                LogSys.Log(LOG_TYPE.DEBUG, "enter room {0} scene {1} user info guid={2}, name={3}, key={4}, camp={5}", createRoomMsg.RoomId, createRoomMsg.SceneType, rui.Guid, rui.Nick, rui.Key, rui.Camp);
            }
            //临时测试人机机制

            /*
             * Data_SceneConfig sceneCfg = SceneConfigProvider.Instance.GetSceneConfigById(createRoomMsg.SceneType);
             * if (1 == createRoomMsg.UsersCount && null != sceneCfg && sceneCfg.m_Type == (int)SceneTypeEnum.TYPE_PVP) {
             * for (int i = 0; i < 9; ++i) {
             *  User rsUser = room_mgr_.NewUser();
             *  rsUser.Init();
             *  rsUser.SetKey(0xffffffff);
             *  rsUser.Guid = 0xffffffff;
             *  rsUser.Name = "Computer" + i;
             *  rsUser.HeroId = CrossEngineHelper.Random.Next(1, 3);
             *  rsUser.CampId = (i < 4 ? (int)CampIdEnum.Blue : (int)CampIdEnum.Red);
             *  rsUser.UserControlState = (int)UserControlState.Ai;
             *  users.Add(rsUser);
             *  LogSys.Log(LOG_TYPE.DEBUG, "Computer enter room");
             * }
             * }
             */
            bool ret = false;

            if (users.Count == 0)
            {
                LogSys.Log(LOG_TYPE.WARN, "no user enter room");
                ret = false;
            }
            else
            {
                ret = ActiveRoom(createRoomMsg.RoomId, createRoomMsg.SceneType, users.ToArray());
            }
            if (ret)
            {
                LogSys.Log(LOG_TYPE.DEBUG, "user enter room success.");
            }
            else
            {
                LogSys.Log(LOG_TYPE.DEBUG, "user enter room failed!");
            }
            Msg_RL_ReplyCreateBattleRoom.Builder replyBuilder = Msg_RL_ReplyCreateBattleRoom.CreateBuilder();
            replyBuilder.SetRoomId(createRoomMsg.RoomId);
            replyBuilder.SetIsSuccess(ret);
            channel.Send(replyBuilder.Build());
        }
예제 #14
0
        public void GetBankBin()
        {
            ResultModel result = new ResultModel();
            Dictionary <String, String> bankPath = new Dictionary <String, String>();

            bankPath.Add("01020000", "3");  // 中国工商银行
            bankPath.Add("01030000", "5");  // 中国农业银行
            bankPath.Add("01040000", "2");  // 中国银行
            bankPath.Add("01050000", "4");  // 中国建设银行
            bankPath.Add("03100000", "7");  // 浦发银行
            bankPath.Add("01000000", "16"); // 中国邮政银行
            //bankPath.Add("03040000", "16"); // 华夏银行
            bankPath.Add("03050000", "8");  // 民生银行
            bankPath.Add("03060000", "14"); // 广东发展银行
            bankPath.Add("03070000", "15"); // 平安银行
            bankPath.Add("03030000", "10"); // 光大银行
            bankPath.Add("03080000", "1");  // 招商银行
            bankPath.Add("03090000", "9");  // 兴业银行
            bankPath.Add("03020000", "13"); // 中信银行
            bankPath.Add("03010000", "6");  // 交通银行
            bankPath.Add("04031000", "12"); // 北京银行

            string strCardNo = Context.Request["CardNo"];
            Guid   userId    = WebUserAuth.UserId.Value;

            if (string.IsNullOrEmpty(strCardNo))
            {
                result.status = 2;
                result.msg    = "卡号不能为空";
            }
            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();
            //var id = Guid.Parse("E27798C9-9301-4176-AC0B-6F3916F389EA");
            //var webSetting = db.WebSetting.FirstOrDefault(x => x.Id == id);
            var    webSetting    = new WebSettingBLL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA");
            var    partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param4Value);
            string timestamp     = PaymentUtil.GetCurrentDateTimeStr();

            //基本请求参数
            sParaTemp.Add("oid_partner", partnerConfig.OidPartner);
            sParaTemp.Add("sign_type", "RSA");

            //业务参数
            sParaTemp.Add("card_no", strCardNo); //卡号

            //加签
            string sign = PaymentUtil.AddSign(sParaTemp, partnerConfig.TraderPriKey, partnerConfig.MD5Key);

            sParaTemp.Add("sign", sign);

            var reqJson = PaymentUtil.DictToJson(sParaTemp);

            //LogEnum.Batchwithdraw.WriteLog("连连银行卡卡BIN查询-请求报文", "[" + reqJson + "]");
            string responseJSON = postJson("https://yintong.com.cn/traderapi/bankcardquery.htm", reqJson);
            //LogEnum.Batchwithdraw.WriteLog("连连银行卡卡BIN查询-响应报文", "[" + responseJSON + "]");

            SortedDictionary <string, string> sArray = JsonConvert.DeserializeObject <SortedDictionary <string, string> >(responseJSON);

            if (sArray.Count > 0)
            {
                //查询成功
                if (sArray["ret_code"].ToString().Trim() == "0000")
                {
                    string strBankCode = sArray["bank_code"].ToString().Trim();
                    string strBandPath;

                    if (!bankPath.ContainsKey(strBankCode))
                    {
                        strBandPath = "9999";
                    }
                    else
                    {
                        strBandPath = bankPath[strBankCode];
                    }

                    BankBin bankBin = new BankBin();
                    bankBin.card_no    = strCardNo;
                    bankBin.bank_code  = strBandPath;
                    bankBin.bank_name  = sArray["bank_name"].ToString().Trim();
                    bankBin.card_type  = sArray["card_type"].ToString().Trim();
                    bankBin.card_bound = BankNoExists(strCardNo, userId) ? "true" : "false";
                    result.status      = 1;
                    result.msg         = "查询成功";
                    result.model       = bankBin;
                }
                else
                {
                    result.status = 0;
                    result.msg    = "查询信息失败,连连返回错误号:" + sArray["ret_code"].ToString().Trim() + ",错误信息:" + sArray["ret_msg"].ToString().Trim();
                }
            }
            else
            {
                result.status = -1;
                result.msg    = "未查询到信息";
            }

            var sbq = GetSupportBank();

            if (sbq == null)
            {
                result.status = -2;
                result.msg    = "手机支付不支持该卡";
            }

            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();

            timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
            string resultJson = Newtonsoft.Json.JsonConvert.SerializeObject(result, timeConverter);

            Context.Response.Write(resultJson);
        }
예제 #15
0
    //设置伙伴信息
    public void SetPartnerInfo(PartnerInfo info)
    {
        if (null == info)
        {
            return;
        }
        m_PartnerId = info.Id;
        PartnerConfig cfg = PartnerConfigProvider.Instance.GetDataById(info.Id);

        if (cfg != null)
        {
            SetBiographyDesc(cfg.Story);
            SetLiftSkillInfo(cfg, info.CurSkillStage, info.StageUpItemId);
            int currentId        = info.GetAppendAttrConfigId();
            int nextAddtionLevel = info.CurAdditionLevel + 1;
            int nextId           = -1;
            if (nextAddtionLevel <= cfg.AttrAppendList.Count)
            {
                nextId = cfg.AttrAppendList[nextAddtionLevel - 1];
            }
            //设置Current继承属性
            if (nextId == -1)
            {
                //表示已满级
                if (goAttrContainer != null)
                {
                    NGUITools.SetActive(goAttrContainer, false);
                }
                if (goFullLevel != null)
                {
                    NGUITools.SetActive(goFullLevel, true);
                }
                string str_des = StrDictionaryProvider.Instance.GetDictString(705);
                if (lblStrengthenBtn != null)
                {
                    lblStrengthenBtn.text = str_des;
                }
                if (btnStrengthen != null)
                {
                    btnStrengthen.defaultColor = AshColor;
                    btnStrengthen.isEnabled    = false;
                }
            }
            else
            {
                if (goAttrContainer != null && !NGUITools.GetActive(goAttrContainer))
                {
                    NGUITools.SetActive(goAttrContainer, true);
                }
                if (goFullLevel != null && !NGUITools.GetActive(goFullLevel))
                {
                    NGUITools.SetActive(goFullLevel, false);
                }
                string str_des = StrDictionaryProvider.Instance.GetDictString(706);
                if (lblStrengthenBtn != null)
                {
                    lblStrengthenBtn.text = str_des;
                }
                if (btnStrengthen != null)
                {
                    btnStrengthen.defaultColor = LightColor;
                    btnStrengthen.isEnabled    = true;
                }
            }
            float inheritAttack = info.GetInheritAttackAttrPercent();
            if (lblCurrentInheritAttack != null)
            {
                lblCurrentInheritAttack.text = (inheritAttack * 100) + "%";
            }
            float inheritDefence = info.GetInheritDefenceAttrPercent();
            if (lblCurrentInheritDefence != null)
            {
                lblCurrentInheritDefence.text = (inheritDefence * 100) + "%";
            }
            //设置Next继承属性
            inheritAttack = info.GetInheritAttackAttrPercent(nextAddtionLevel);
            if (lblNextInheritAttack != null)
            {
                lblNextInheritAttack.text = (inheritAttack * 100) + "%";
            }
            inheritDefence = info.GetInheritDefenceAttrPercent(nextAddtionLevel);
            if (lblNextInheritDefence != null)
            {
                lblNextInheritDefence.text = (inheritDefence * 100) + "%";
            }
            SetStrengthenAttr(currentId, nextId, info);
        }
    }
예제 #16
0
    public void InitNotHavenPartner(PartnerConfig partner_cfg)
    {
        if (partner_cfg == null)
        {
            return;
        }
        m_IsPartnerFrag = true;
        SetItemStyle(UIPartnerItemStyle.PartnerFrag);
        if (spSelectFlag != null)
        {
            NGUITools.SetActive(spSelectFlag.gameObject, false);
        }
        m_PartnerFighting = -1;
        m_PartnerId       = partner_cfg.Id;
        int fragId = partner_cfg.PartnerFragId;

        m_PartnerFragId = fragId;
        int fragNeedNum = partner_cfg.PartnerFragNum;
        int ownFragNum  = GetItemNum(fragId);

        if (ownFragNum >= fragNeedNum)
        {
            if (goSummonBtn != null)
            {
                NGUITools.SetActive(goSummonBtn, true);
            }
        }
        else
        {
            if (goSummonBtn != null)
            {
                NGUITools.SetActive(goSummonBtn, false);
            }
        }
        if (lblPartnerFragNum != null)
        {
            lblPartnerFragNum.text = ownFragNum + "/" + fragNeedNum;
        }
        if (progressBar != null && fragNeedNum != 0)
        {
            progressBar.value = ownFragNum / (float)fragNeedNum;
        }
        m_CanCompoundPartner = ownFragNum >= fragNeedNum;//可兑换伙伴
        Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(partner_cfg.LinkId);

        if (npcCfg != null)
        {
            if (spPortait != null)
            {
                spPortait.spriteName = npcCfg.m_Portrait;
            }
        }
        ItemConfig itemCfg = ItemConfigProvider.Instance.GetDataById(m_PartnerFragId);

        if (itemCfg != null)
        {
            if (lblPartnerName != null)
            {
                lblPartnerName.text = itemCfg.m_ItemName;
            }
        }
        spRankColor.color = RankColor[0];
    }
예제 #17
0
    //设置升阶信息
    public void SetLiftSkillInfo(PartnerConfig partnerCfg, int stage, int itemId)
    {
        if (partnerCfg == null)
        {
            return;
        }
        List <string> iconList = new List <string>();

        if (iconList == null)
        {
            return;
        }
        iconList.Add(partnerCfg.Icon0);
        iconList.Add(partnerCfg.Icon1);
        iconList.Add(partnerCfg.Icon2);
        iconList.Add(partnerCfg.Icon3);
        List <string> DescList = new List <string>();

        if (DescList == null)
        {
            return;
        }
        DescList.Add(partnerCfg.StageDescription0);
        DescList.Add(partnerCfg.StageDescription1);
        DescList.Add(partnerCfg.StageDescription2);
        DescList.Add(partnerCfg.StageDescription3);
        UIAtlas atlas = null;

        UnityEngine.GameObject goAtlas = CrossObjectHelper.TryCastObject <UnityEngine.GameObject>(ResourceSystem.GetSharedResource(partnerCfg.AtlasPath));
        if (goAtlas != null)
        {
            atlas = goAtlas.GetComponent <UIAtlas>();
        }
        for (int index = 0; index < c_SkillNumMax; ++index)
        {
            if (spLift[index] != null && index < iconList.Count)
            {
                spLift[index].spriteName = iconList[index];
                spLift[index].atlas      = atlas;
            }
            //设置技能图标
            if (lblLifts[index] != null && index < DescList.Count)
            {
                lblLifts[index].text = DescList[index];
            }
            if (stage >= index + 1)
            {
                spLift[index].color = LightColor;
            }
            else
            {
                spLift[index].color = AshColor;
            }

            //设置进阶箭头
            if (index < spArrow.Length && spArrow[index] != null)
            {
                if (stage > index + 1)
                {
                    spArrow[index].spriteName = "sheng-ji-jian-tou1";
                }
                else
                {
                    spArrow[index].spriteName = "sheng-ji-jian-tou2";
                }
            }
            if (stage >= index + 1)
            {
                lblLifts[index].color = SectionColor;
            }
            else
            {
                lblLifts[index].color = AshColor;
            }
        }

        m_PartnerSkillLiftUpItemId = itemId;
        DFMItemIconUtils.Instance.SetItemInfo(ItemIconType.Partner_Skill, goSkillLift, itemId);
        if (stage < 4)
        {
            //if (textureLiftGoods != null) NGUITools.SetActive(textureLiftGoods.gameObject, true);
            if (lblLiftItemNum != null)
            {
                NGUITools.SetActive(lblLiftItemNum.gameObject, true);
            }
            if (btnLiftUp != null)
            {
                NGUITools.SetActive(btnLiftUp.gameObject, true);
            }
            int        itemNeedNum = 0;
            ItemConfig itemCfg     = ItemConfigProvider.Instance.GetDataById(itemId);
            if (itemCfg != null)
            {
                PartnerStageUpConfig stageUpCfg = PartnerStageUpConfigProvider.Instance.GetDataById(stage);
                if (stageUpCfg != null)
                {
                    itemNeedNum = stageUpCfg.ItemCost;
                }
                int ownItemNum = GetItemNum(itemId);
                if (lblLiftItemNum != null)
                {
                    lblLiftItemNum.text = ownItemNum + "/" + itemNeedNum;
                }
                if (itemProgressBar != null && itemNeedNum != 0)
                {
                    itemProgressBar.value = ownItemNum / (float)itemNeedNum;
                }
                bool enable = (ownItemNum >= itemNeedNum);
                EnableButton(btnLiftUp, enable);
            }
        }
        else
        {
            string CHN = StrDictionaryProvider.Instance.GetDictString(359);
            if (lblLiftItemName != null)
            {
                lblLiftItemName.text = CHN;
            }
            if (itemProgressBar != null)
            {
                itemProgressBar.value = 1;
            }
            if (btnLiftUp != null)
            {
                NGUITools.SetActive(btnLiftUp.gameObject, false);
            }
            //if (textureLiftGoods != null) NGUITools.SetActive(textureLiftGoods.gameObject, false);
            if (lblLiftItemNum != null)
            {
                NGUITools.SetActive(lblLiftItemNum.gameObject, false);
            }
        }
    }
예제 #18
0
        private BankCardBin GetBankCardBin_Old()
        {
            WebSettingInfo webSetting = new TuanDai.PortalSystem.DAL.WebSettingDAL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA");

            PartnerConfig partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param5Value);

            string url = "https://yintong.com.cn/traderapi/bankcardquery.htm";

            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();

            sParaTemp.Add("oid_partner", partnerConfig.OidPartner);
            sParaTemp.Add("sign_type", "RSA");
            sParaTemp.Add("card_no", userModel.BankAccountNo);
            sParaTemp.Add("pay_type", "D");
            sParaTemp.Add("flag_amt_limit", "1");

            string strb = "";

            foreach (var item in sParaTemp)
            {
                if (strb == "")
                {
                    strb = item.Key + "=" + item.Value;
                }
                else
                {
                    strb += "&" + item.Key + "=" + item.Value;
                }
            }
            string       req_data = strb;
            String       sign     = LLPay.RSAFromPkcs8.sign(req_data, partnerConfig.TraderPriKey, "utf-8");
            BankCardInfo info     = new BankCardInfo();

            info.oid_partner    = partnerConfig.OidPartner;
            info.sign_type      = "RSA";
            info.sign           = sign;
            info.card_no        = userModel.BankAccountNo;
            info.pay_type       = "D";
            info.flag_amt_limit = "1";

            SysLogHelper.WriteTraceLog("连连查询银行卡BIN报文", strb);

            string      json     = Tool.HttpUtils.HttpPost(url, Newtonsoft.Json.JsonConvert.SerializeObject(info));
            BankCardBin bankcard = new BankCardBin();

            bankcard = Newtonsoft.Json.JsonConvert.DeserializeObject <BankCardBin>(json);

            if (bankcard == null)
            {
                bankcard = new BankCardBin();
            }
            if (bankcard.single_amt.ToText().IsEmpty())
            {
                bankcard.single_amt = "0";
            }
            if (bankcard.day_amt.ToText().IsEmpty())
            {
                bankcard.day_amt = "0";
            }
            return(bankcard);
        }
예제 #19
0
    //设置选中的伙伴信息
    public void SetPartnerInfo(int partner_id)
    {
        if (uiPartnerList != null && m_SelectedPartnerId != partner_id)
        {
            uiPartnerList.SetPartnerSelected(m_SelectedPartnerId, false);
        }
        RoleInfo roleInfo = LobbyClient.Instance.CurrentRole;

        if (roleInfo != null && roleInfo.PartnerStateInfo.GetAllPartners() != null)
        {
            if (roleInfo.PartnerStateInfo.GetAllPartners().Count > 0)
            {
                EnableLeftPanel(true);
            }
            else
            {
                EnableLeftPanel(false);
            }
        }
        else
        {
            EnableLeftPanel(false);
        }
        m_SelectedPartnerId = partner_id;
        if (IsPlayedPartner(partner_id))
        {
            m_ActivePartnerId = partner_id;
        }
        CompareFighting(m_ActivePartnerId, m_SelectedPartnerId);
        PartnerInfo info = GetPartnerInfoById(partner_id);

        if (info == null)
        {
            return;
        }
        if (info.CurAdditionLevel <= RankOffset.Length)
        {
            if (RankOffset[info.CurAdditionLevel - 1] == 0)
            {
                if (lblRankOffset != null)
                {
                    NGUITools.SetActive(lblRankOffset.gameObject, false);
                }
            }
            else
            {
                if (lblRankOffset != null)
                {
                    NGUITools.SetActive(lblRankOffset.gameObject, true);
                    lblRankOffset.text = "+" + RankOffset[info.CurAdditionLevel - 1];
                }
            }
        }

        if (info.CurAdditionLevel <= RankColor.Length)
        {
            lblRankOffset.color = RankColor[info.CurAdditionLevel - 1];
            spRankColor.color   = RankColor[info.CurAdditionLevel - 1];
            if (lblPartnerName != null)
            {
                lblPartnerName.color = RankColor[info.CurAdditionLevel - 1];
            }
        }
        Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId);

        if (npcCfg != null)
        {
            if (lblPartnerName != null)
            {
                lblPartnerName.text = npcCfg.m_Name;
            }
            if (spPartnerPortrait != null)
            {
                spPartnerPortrait.spriteName = npcCfg.m_Portrait;
            }
        }
        PartnerConfig partnerCfg = PartnerConfigProvider.Instance.GetDataById(info.Id);

        if (partnerCfg != null && lblPartnerCd != null)
        {
            lblPartnerCd.text = partnerCfg.CoolDown.ToString() + "s";
        }
        float inheritAttack = info.GetInheritAttackAttrPercent();

        if (lblInheritAttack != null)
        {
            lblInheritAttack.text = (inheritAttack * 100) + "%";
        }
        float inheritDefence = info.GetInheritDefenceAttrPercent();

        if (lblInheritDefence != null)
        {
            lblInheritDefence.text = (inheritDefence * 100) + "%";
        }
        if (lblPartnerFighting != null)
        {
            lblPartnerFighting.text = "+" + GetPartnerFighting(info.GetAppendAttrConfigId()).ToString();
        }
        EnablePlayedButton(!IsPlayedPartner(partner_id));
        SetLeftSkillInfo(info.Id, info.CurSkillStage);
        SetLeftAppendAttr(info.GetAppendAttrConfigId());
        SetPartnerInfo(info);
        //是否能训练
        bool canUpgrade = false;

        if (CheckCanUpgrade(partner_id))
        {
            canUpgrade = true;
        }
        UnityEngine.Transform tf = transform.Find("left/Buttons/03Lift/Tip");
        if (tf != null)
        {
            NGUITools.SetActive(tf.gameObject, canUpgrade);
        }
    }
예제 #20
0
    protected void Page_Load(object sender, EventArgs e)
    {
        WebSettingInfo webSetting = new WebSettingBLL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA");

        partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param5Value);
        SortedDictionary <string, string> sPara = GetRequestPost();

        if (null == sPara)
        {
            Response.End();
        }

        if (sPara.Count > 0)//判断是否有带返回参数
        {
            NetLog.WriteBatchwithdrawHandler("接收连连支付异步通知数据", string.Concat("【", "签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "我方订单号:", sPara["no_order"].ToString(), "充值金额:", sPara["money_order"].ToString(), "连连订单号:", sPara["oid_paybill"].ToString(), "】"));

            if (!PaymentUtil.CheckSign(sPara, partnerConfig.YTPublicKey, //验证失败
                                       partnerConfig.MD5Key))
            {
                var out_trade_no   = sPara["no_order"].ToString();
                var rechargeMoney  = sPara["money_order"].ToString();
                var transaction_id = sPara["oid_paybill"].ToString();

                //ObjectParameter outStatus = new ObjectParameter("outStatus", "0");
                //db.p_OnLineRechargeHandler(1, out_trade_no, decimal.Parse(rechargeMoney), transaction_id, outStatus);
                //int result = int.Parse(outStatus.Value.ToString());

                NetLog.WriteBatchwithdrawHandler("连连验签失败", string.Concat("签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "连连处理状态:9999"));

                Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""验签失败""}");
                Response.End();
            }
            else
            {
                var out_trade_no   = sPara["no_order"].ToString();
                var rechargeMoney  = sPara["money_order"].ToString();
                var transaction_id = sPara["oid_paybill"].ToString();

                string            strSQL   = "p_OnLineRechargeHandler";
                DynamicParameters dyParams = new DynamicParameters();
                dyParams.Add("@orderno", out_trade_no);
                dyParams.Add("@MediumMoney", decimal.Parse(rechargeMoney));
                dyParams.Add("@MediumOrderNo", transaction_id);
                dyParams.Add("@outStatus", 0, DbType.Int32, ParameterDirection.Output, 20);

                if (sPara["result_pay"].ToString().ToLower() == "success".ToLower())
                {
                    dyParams.Add("@handlerStatus", 2);
                }
                else
                {
                    dyParams.Add("@handlerStatus", 1);
                }
                PublicConn.ExecuteTD(PublicConn.DBWriteType.FundWrite, strSQL, ref dyParams, CommandType.StoredProcedure);
                int result = dyParams.Get <int>("@outStatus");

                AccountRechareInfo accountRechare = getAccountRechare(out_trade_no);
                if (accountRechare != null)
                {
                    var para = new DynamicParameters();
                    para.Add("@UserId", accountRechare.UserId);
                    var count = PublicConn.QuerySingleWrite <int>("select count(0) from AccountRechare with(nolock) where UserId=@UserId and Status =2   and type in (2, 3, 4, 6, 8, 12)", ref para);
                    if (count == 1)
                    {
                        TuanDai.PortalSystem.BLL.VipGetWorthBLL.AddGetWorth(accountRechare.UserId, (int)ConstString.UserGrowthType.FirstReCharge, null, 0);
                    }

                    UserBasicInfoInfo userBasicInfo = new UserBLL().GetUserBasicInfoModelById(accountRechare.UserId);
                    if (userBasicInfo != null)
                    {
                        var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0");
                        if (isNewSmsRequest == "0")
                        {
                            var parameters = new Dictionary <string, object>();
                            parameters.Add("User", userBasicInfo);
                            parameters.Add("CurrentDate", DateTime.Now);
                            parameters.Add("RechargeMoney", rechargeMoney);
                            parameters.Add("Host", GlobalUtils.WebURL);

                            var messageSender = new BusinessDll.MessageSend();
                            messageSender.SendMessage2(eventCode: MessageTemplates.RechargeSuccess, parameters: parameters,
                                                       mobile: userBasicInfo.TelNo, email: userBasicInfo.Email, userId: userBasicInfo.Id);
                        }
                        else
                        {
                            SmsRequest rechargeSuccessSmsRequest = new SmsRequest();
                            rechargeSuccessSmsRequest.EventCode      = MsgTemplatesType.RechargeSuccess;
                            rechargeSuccessSmsRequest.PlatformSource = PlatformSource.Pc;
                            rechargeSuccessSmsRequest.UserId         = userBasicInfo.Id;
                            rechargeSuccessSmsRequest.EmailAddress   = userBasicInfo.Email;
                            rechargeSuccessSmsRequest.Mobile         = userBasicInfo.TelNo;
                            rechargeSuccessSmsRequest.Parameters     = new Dictionary <string, object>();
                            rechargeSuccessSmsRequest.Parameters.Add("RechargeMoney", rechargeMoney);

                            string errorMessage = string.Empty;
                            SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage);
                        }



                        //第三方渠道回调
                        try
                        {
                            TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack(accountRechare.Id, accountRechare.UserId);
                        }
                        catch (Exception ex)
                        {
                            new TuanDai.LogSystem.LogClient.LogClients().WriteErrorLog(
                                "TuanDai.PortalSystem.BLL.ThirdPartyChannel.RechargeCallBack",
                                "", "", ex.Message);
                        }
                    }
                }

                NetLog.WriteTraceLogHandler("交易成功", string.Concat("签名:", sPara["sign"].ToString(), "签名方式:", sPara["sign_type"].ToString(), "我方处理状态:", result.ToString().Trim(), "连连处理状态:", sPara["result_pay"].ToString()));
                Response.Write(@"{""ret_code"":""0000"",""ret_msg"":""交易成功""}");
                Response.End();
            }
        }
        else
        {
            //var out_trade_no = sPara["no_order"].ToString();
            //var rechargeMoney = sPara["money_order"].ToString();
            //var transaction_id = sPara["oid_paybill"].ToString();

            //ObjectParameter outStatus = new ObjectParameter("outStatus", "0");
            //db.p_OnLineRechargeHandler(1, out_trade_no, decimal.Parse(rechargeMoney), transaction_id, outStatus);
            ////Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""验签失败""}");

            //int result = int.Parse(outStatus.Value.ToString());

            NetLog.WriteBatchwithdrawHandler("连连交易参数为空失败", "连连处理状态:9999");
            Response.Write(@"{""ret_code"":""9999"",""ret_msg"":""交易失败""}");
            Response.End();
        }

        // 解析异步通知对象
        // sPara 字典对象
        // TODO:更新订单,发货等后续处理
    }