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); } }
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); } }
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); } }
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); } }
internal void SetPopService(PopService InService) { ParentService = InService; }