Example #1
0
        public static string apply_taoke_url_item(CmsForm cmsForm, ContentItem contentItem, UrlItem urlItem, string num_iid, string pid, ref int click_status, bool apply_jihua, int url_type)
        {
            string out_log;

            if (string.IsNullOrEmpty(pid))
            {
                LogUtil.log_call(cmsForm, "pid没有配置,无法完成转换连接");
                return(null);
            }
            ArrayList taoke_goods_list = AlimamaUtil.query_taoke_goods_list("https://item.taobao.com/item.htm?id=" + num_iid, cmsForm.appBean.taoke_cookie, out out_log);

            if (out_log.Contains("\"wait\""))
            {
                int n = 0;
                while (n < 2)
                {
                    taoke_goods_list = AlimamaUtil.query_taoke_goods_list("https://item.taobao.com/item.htm?id=" + num_iid, cmsForm.appBean.taoke_cookie, out out_log);
                    if (out_log.Contains("\"wait\""))
                    {
                        n++;
                        LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                        Thread.Sleep(30000);
                    }
                }
            }
            TaokeItem taokeItem = null;

            //LogUtil.log_call(cmsForm, "1:" + num_iid);
            if ((taoke_goods_list != null) && (taoke_goods_list.Count != 0))
            {
                //LogUtil.log_call(cmsForm, "2:");
                taokeItem             = new TaokeItem();
                taokeItem.num_iid     = num_iid;
                taokeItem.user_num_id = ((GoodsItem2)taoke_goods_list[0]).user_num_id;
                taokeItem.title       = ((GoodsItem2)taoke_goods_list[0]).title;
                taokeItem.tkRate      = ((GoodsItem2)taoke_goods_list[0]).tkRate;

                taokeItem.price       = ((GoodsItem2)taoke_goods_list[0]).zkPrice;
                taokeItem.userType    = "" + ((GoodsItem2)taoke_goods_list[0]).userType;
                taokeItem.user_num_id = ((GoodsItem2)taoke_goods_list[0]).user_num_id;

                taokeItem.tkMktStatus = ((GoodsItem2)taoke_goods_list[0]).tkMktStatus;
                taokeItem.eventRate   = ((GoodsItem2)taoke_goods_list[0]).eventRate;

                urlItem.taokeItem = taokeItem;
                int status = 0;
                AppUtil.apply_taoke_url_item(cmsForm, contentItem, taokeItem, ref status, pid, ref click_status, apply_jihua, url_type);
                if (!string.IsNullOrEmpty(taokeItem.short_url))
                {
                    return(taokeItem.short_url);
                }
            }
            return(null);
        }
Example #2
0
        public static void apply_taoke_url_item(CmsForm cmsForm, ContentItem contentItem, TaokeItem taokeItem, ref int status, string pid, ref int click_status, bool apply_jihua, int url_type)
        {
            int qunfa_coupon     = 0;
            int qunfa_commission = 0;

            try
            {
                qunfa_coupon     = int.Parse(cmsForm.textBox_qunfa_coupon.Text.Trim());
                qunfa_commission = int.Parse(cmsForm.textBox_qunfa_commission.Text.Trim());
            }
            catch (Exception)
            {}

            //LogUtil.log_call(cmsForm, "taokeItem.num_iid:" + taokeItem.num_iid);
            if (!string.IsNullOrEmpty(taokeItem.num_iid))
            {
                string out_log = "";
                int    n       = 0;
                if (apply_jihua)
                {
                    //LogUtil.log_call(cmsForm, "开始计划的检测:");
campaign:
                    ArrayList goods_campaign_list = AlimamaUtil.query_campaign_list(cmsForm.appBean.taoke_cookie, taokeItem.num_iid, out out_log);
                    CampaignItem1 campaignItem_current       = null; //最高计划
                    CampaignItem1 campaignItem_current_auto  = null; //最高自动计划
                    CampaignItem1 campaignItem_current_apply = null; //已经申请的计划
                    if (goods_campaign_list != null && goods_campaign_list.Count > 0)
                    {
                        foreach (CampaignItem1 campaignItem1 in goods_campaign_list)
                        {
                            if (campaignItem1.commissionRate >= taokeItem.tkRate &&
                                (campaignItem_current == null ||
                                 campaignItem_current.commissionRate < campaignItem1.commissionRate))
                            {
                                campaignItem_current = campaignItem1;
                            }
                            if (campaignItem1.commissionRate >= taokeItem.tkRate &&
                                campaignItem1.manualAudit == "0" &&
                                (campaignItem_current_auto == null ||
                                 campaignItem_current_auto.commissionRate < campaignItem1.commissionRate))
                            {
                                campaignItem_current_auto = campaignItem1;
                            }
                            if (campaignItem1.Exist == "true")
                            {
                                campaignItem_current_apply = campaignItem1;
                            }
                        }
                    }
                    else
                    {
                        if (out_log.Contains("\"wait\""))
                        {
                            if (n < 10)
                            {
                                n = n + 10;
                                LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                                Thread.Sleep(60000);
                                goto campaign;
                            }
                            else
                            {
                                return;
                            }
                        }
                        else if (out_log.Contains("\"ok\":true"))
                        {
                        }
                        else
                        {
                            if (n < 3)
                            {
                                n++;
                                LogUtil.log_call(cmsForm, "检测登录状态:");
                                AppUtil.alimama_login(cmsForm);
                                Thread.Sleep(3000);
                                goto campaign;
                            }
                            else
                            {
                                //return;
                            }
                        }
                    }

                    out_log = "";
                    n       = 0;
apply_campaign:
                    if (campaignItem_current_auto != null)
                    {
                        if (campaignItem_current_auto.Exist == "true")
                        {
                            //LogUtil.log_call(cmsForm, "定向计划【" + campaignItem_current_auto.CampaignName + "】已经申请过。本次跳过重复申请");
                        }
                        else
                        {
                            LogUtil.log_call(cmsForm, "开始申请定向计划【" + campaignItem_current_auto.CampaignName + "】");
                            AlimamaUtil.apply_campaign(cmsForm, campaignItem_current_auto.CampaignID
                                                       , campaignItem_current_auto.ShopKeeperID, Constants.applyreason_pre, cmsForm.appBean.applyreason, cmsForm.appBean.taoke_cookie, out out_log, "");
                            if (out_log.Contains("\"wait\""))
                            {
                                if (n < 10)
                                {
                                    n = n + 10;
                                    LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                                    Thread.Sleep(60000);
                                    goto apply_campaign;
                                }
                                else
                                {
                                    //return;
                                }
                            }
                        }
                    }
                    else if (campaignItem_current != null)
                    {
                        if (campaignItem_current.Exist == "true")
                        {
                            //LogUtil.log_call(cmsForm, "定向计划【" + campaignItem_current.CampaignName + "】已经申请过。本次跳过重复申请");
                        }
                        else
                        {
                            LogUtil.log_call(cmsForm, "开始申请定向计划【" + campaignItem_current.CampaignName + "】");
                            AlimamaUtil.apply_campaign(cmsForm, campaignItem_current.CampaignID
                                                       , campaignItem_current.ShopKeeperID, Constants.applyreason_pre, cmsForm.appBean.applyreason, cmsForm.appBean.taoke_cookie, out out_log, "");
                            if (out_log.Contains("\"wait\""))
                            {
                                if (n < 10)
                                {
                                    n = n + 10;
                                    LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                                    Thread.Sleep(60000);
                                    goto apply_campaign;
                                }
                                else
                                {
                                    //return;
                                }
                            }
                        }
                    }

                    out_log = "";
                    n       = 0;
apply_event:
                    GoodsItem2 goodsItem2 = AlimamaUtil.query_taoke_item_event(cmsForm.appBean.taoke_cookie, taokeItem.num_iid, out out_log);
                    url_type = 0;
                    if (goodsItem2 != null &&
                        taokeItem.tkRate < goodsItem2.eventRate &&
                        (campaignItem_current_auto == null ||
                         campaignItem_current_auto.commissionRate < goodsItem2.eventRate))
                    {
                        url_type = 1;
                    }
                    else
                    {
                        if (out_log.Contains("\"wait\""))
                        {
                            if (n < 10)
                            {
                                n = n + 10;
                                LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                                Thread.Sleep(60000);
                                goto apply_event;
                            }
                            else
                            {
                                //return;
                            }
                        }
                    }

                    double commission_rate = 0;
                    if (url_type == 1)
                    {
                        LogUtil.log_call(cmsForm, "通过鹊桥计划转换链接:佣金比例【" + goodsItem2.eventRate + "%】");
                        commission_rate = goodsItem2.eventRate;
                        contentItem.dx  = 0;
                    }
                    else
                    {
                        contentItem.dx = 1;
                        if (campaignItem_current_auto != null)
                        {
                            LogUtil.log_call(cmsForm, "通过定向计划转换链接:佣金比例【" + campaignItem_current_auto.commissionRate + "%】");
                            commission_rate     = campaignItem_current_auto.commissionRate;
                            taokeItem.auto_Rate = campaignItem_current_auto.commissionRate;
                        }
                        else
                        {
                            if (campaignItem_current != null)
                            {
                                LogUtil.log_call(cmsForm, "通过通用计划转换链接:佣金比例【" + taokeItem.tkRate + "%】 定向计划【" + campaignItem_current.CampaignName + "】审核通过后,会自动走高佣金【" + campaignItem_current.commissionRate + "%】");
                                commission_rate = taokeItem.tkRate;
                            }
                            else
                            {
                                if (campaignItem_current_apply != null)
                                {
                                    AlimamaUtil.exitCampaign(taokeItem.user_num_id, campaignItem_current_apply.CampaignID, cmsForm.appBean.taoke_cookie, out out_log);
                                    if (!string.IsNullOrEmpty(out_log))
                                    {
                                        LogUtil.log_call(cmsForm, out_log);
                                    }
                                }
                                LogUtil.log_call(cmsForm, "通过通用计划转换链接:佣金比例【" + taokeItem.tkRate + "%】");
                                commission_rate = taokeItem.tkRate;
                            }
                        }
                    }


                    //LogUtil.log_call(cmsForm, "【commission_rate:" + commission_rate + "】");
                    if (qunfa_commission > commission_rate)
                    {
                        //LogUtil.log_call(cmsForm, "佣金比例小于设置最低佣金比例,转换失败");
                        click_status = 2;
                        //return;
                    }
                    contentItem.url_type = url_type;
                }

                out_log = "";
                n       = 0;
apply_click:
                string[] pid_list = Regex.Split(pid, "_", RegexOptions.IgnoreCase);
                string   adzoneid = "";
                string   siteid   = "";
                if (pid_list.Length > 3)
                {
                    siteid   = pid_list[2];
                    adzoneid = pid_list[3];
                }
                AlimamaClick alimamaClick = AlimamaUtil.query_taoke_click(cmsForm.appBean.taoke_cookie, taokeItem.num_iid, adzoneid, siteid, url_type, out out_log);
                if (alimamaClick != null)
                {
                    taokeItem.click_url = alimamaClick.url;
                    taokeItem.short_url = alimamaClick.short_url;
                    if (taokeItem.tkMktStatus == 1 &&
                        !String.IsNullOrEmpty(alimamaClick.coupon_short_url) &&
                        alimamaClick.coupon_short_url.Contains("http"))
                    {
                        taokeItem.click_url = alimamaClick.coupon_url;
                        taokeItem.short_url = alimamaClick.coupon_short_url;
                    }
                }
                else
                {
                    if (out_log.Contains("\"wait\""))
                    {
                        if (n < 10)
                        {
                            n = n + 10;
                            LogUtil.log_call(cmsForm, "申请过快,休息30秒:");
                            Thread.Sleep(60000);
                            goto apply_click;
                        }
                        else
                        {
                            //return;
                        }
                    }
                    else if (out_log.Contains("callLocation") || out_log.Contains("gen url item not found on call"))
                    {
                        //LogUtil.log_call(cmsForm, "[该商品已经下架或者退出了淘客推广。]");
                    }
                    else
                    {
                        //LogUtil.log_call(cmsForm,"[转化失败的原因:]"+out_log);
                    }
                }
            }
        }