public DataCollectionResponse <WuliuPrintTemplate> GetCloudPrintTemplates(Shop shop, string cpCode)
        {
            try
            {
                var dcs = ServiceContainer.GetService <DeliveryCompanyService>().GetByAll();
                List <WuliuPrintTemplate> wuliuTemplates = new List <WuliuPrintTemplate>();
                var ps  = new PopService();
                var wts = ps.GetWuliuPrintTemplates(shop, cpCode);
                wuliuTemplates.AddRange(wts);
                foreach (var wt in wts)
                {
                    var dc = dcs.Datas.FirstOrDefault(obj => wt.SourceType == WuliuPrintTemplateSourceType.CAINIAO ? wt.CpCode == obj.PopMapTaobaoWuliu : wt.CpCode == obj.PopMapPinduoduoWuliu);
                    if (dc == null)
                    {
                        throw new Exception("系统中快递公司没有配置相应的代码:" + wt.CpCode);
                    }
                    wt.DeliveryCompany = dc.Name;
                    System.Console.WriteLine(DateTime.Now.ToString() + wt.SourceType + " " + wt.Name + " " + wt.StandTemplateUrl);
                }

                System.Console.WriteLine(DateTime.Now.ToString() + "获取到物流模板数量:" + wuliuTemplates.Count);
                return(new DataCollectionResponse <WuliuPrintTemplate>(wuliuTemplates));
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(DateTime.Now.ToString() + ex.Message + Environment.NewLine + ex.StackTrace);
                if (ex.InnerException != null)
                {
                    System.Console.WriteLine(DateTime.Now.ToString() + ex.InnerException.Message + Environment.NewLine + ex.InnerException.StackTrace);
                }
                throw new WebFaultException <ResponseBase>(new ResponseBase(ex.Message), System.Net.HttpStatusCode.OK);
            }
        }
Beispiel #2
0
        public StringResponse GetShopOauthUrl(long shopId)
        {
            try
            {
                var shop = this.GetFirstOrDefaultInCach(obj => obj.Id == shopId);
                if (shop == null)
                {
                    throw new Exception("没有找到指定店铺");
                }
                var    ps  = new PopService();
                string url = "";
                if (shop.PopType == PopType.PINGDUODUO)
                {
                    url = ps.GetShopOauthUrl(shop);
                }
                else if (shop.PopType == PopType.TAOBAO || shop.PopType == PopType.TMALL)
                {
                    url = ps.GetShopOauthUrl(shop);
                }
                else
                {
                    throw new Exception("自动授权接口当前不支持该平台");
                }

                return(new StringResponse(url));
            }
            catch (Exception ex)
            {
                throw new WebFaultException <ResponseBase>(new ResponseBase(ex.Message), System.Net.HttpStatusCode.OK);
            }
        }
Beispiel #3
0
 public ResponseBase UpdateAddressArea()
 {
     try
     {
         foreach (var shop in ServiceContainer.GetService <ShopService>().GetByAll().Datas.Where(obj => obj.WuliuEnabled).ToArray())
         {
             var xDoc = new PopService().GetAddress(shop);
             AddressService.UpdateAndSaveAreas(xDoc, shop.PopType);
         }
         return(ResponseBase.SUCCESS);
     }
     catch (Exception ex)
     {
         throw new WebFaultException <ResponseBase>(new ResponseBase(ex.Message), System.Net.HttpStatusCode.OK);
     }
 }
Beispiel #4
0
        public string Pddoauth(string code, string state)
        {
            try
            {
                //http://mms.pinduoduo.com/open.html?response_type=code&client_id=346e6bc3f0054b1daf2284df57ad5b0d&redirect_uri=http://bjcgroup.imwork.net:60014/shoperp/shop/pddoauth.html
                if (string.IsNullOrWhiteSpace(code))
                {
                    throw new Exception("拼多多授权返回数据没有code");
                }

                if (string.IsNullOrWhiteSpace(state))
                {
                    throw new Exception("拼多多授权返回数据没有state");
                }

                string[] states = state.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
                long     shopId = long.Parse(states[0]);
                var      shop   = this.GetFirstOrDefaultInCach(obj => obj.Id == shopId);
                if (shop == null)
                {
                    shop = new Shop {
                        AppKey = states[1], AppSecret = states[2], PopType = PopType.PINGDUODUO
                    };
                }
                var s = new PopService().GetAcessTokenInfo(shop, code);

                if (shop.Id > 0)
                {
                    this.Update(s);
                    return("拼多多授权成功,请关闭程序重新登录");
                }
                else
                {
                    return(string.Format("授权成功,复制以下数据到店铺配置里面。App AccessToken:{0},App Refresh Token:{1}", s.AppAccessToken, s.AppRefreshToken));
                }
            }
            catch (Exception ex)
            {
                return("拼多多授权失败:" + ex.Message);
            }
        }
Beispiel #5
0
 internal void SetPopService(PopService InService)
 {
     ParentService = InService;
 }