public string RefreshCache() { var _result = new { state = 0, msg = "" }; try { using (var client = new Tuhu.Service.Product.ProductClient()) { var result = client.RefreshDiscountRuleCache(); if (result.Result) { _result = new { state = 1, msg = "" } } ; else { _result = new { state = 0, msg = result.ErrorMessage } }; } } catch (Exception ex) { _result = new { state = 0, msg = ex.ToString() }; } return(Newtonsoft.Json.JsonConvert.SerializeObject(_result)); }
public void Execute(IJobExecutionContext context) { try { Logger.Info("开始刷新城市缓存"); var cityids = DAL.ProductCacheDal.SelectCityIds(); if (cityids != null && cityids.Any()) { Logger.Info($"开始刷新城市缓存 共{cityids.Count()}个."); foreach (var cityid in cityids) { using (var client = new Tuhu.Service.Product.ProductClient()) { Logger.Info($"开始刷新{cityid}"); var result = client.SelectProductsRegionStockByForceUpdate(cityid, new List <string>(), true); Logger.Info($"结束刷新{cityid}.Success:{result.Success}"); result.ThrowIfException(true); } } } } catch (System.Exception ex) { Logger.Warn(ex); } Logger.Info("结束刷新城市缓存"); }
public async Task TaskMethod() { try { string sql = @"SELECT * FROM Activity.dbo.tbl_OrderGroupBuy WITH (NOLOCK) WHERE OrderStatus=1 AND (IsPush =1 OR IsPush IS NULL)"; var list = DbHelper.ExecuteSelect <OrderGroupBuyModel>(true, sql); if (list != null) { foreach (var item in list) { using (var productClient = new Tuhu.Service.Product.ProductClient()) using (var orderClient = new Tuhu.Service.Order.OrderQueryClient()) { var orderResult = orderClient.FetchOrderByOrderIdAsync(Convert.ToInt32(item.OrderID.Replace("TH", ""))); var productResult = productClient.SelectProductDetailAsync(new List <string>() { item.PID }); await Task.WhenAll(productResult, orderResult); if (orderResult.Result.Success && orderResult?.Result?.Result?.SubmitDate.ToString("yyyyMMdd") != "00010101") { UpdateOrderGroupIsPush(item.ID); await PushOrderFinish(item.UserId, productResult?.Result?.Result?.FirstOrDefault()?.DisplayName, orderResult.Result.Result.SumMoney, item.OrderID); } } } } } catch (Exception em) { Logger.Error(em.Message, em); } }
/// <summary> /// 上传 xlsx /// </summary> /// <returns></returns> public ActionResult AddProduct(int id) { try { //var file = Request.Files[0]; // if (!file.FileName.Contains(".xlsx") || !file.FileName.Contains(".xls")) // return Json(new { Status = -1, Error = "请上传.xlsx文件或者.xls文件" }, "text/html"); // var excel = new Tuhu.Provisioning.Controls.ExcelHelper(file.InputStream, file.FileName); // var dt = excel.ExcelToDataTable("分享赚钱活动产品", true); ShareMakeMoneyManager manager = new ShareMakeMoneyManager(); var dt = manager.GetFenxiangzhuanqianProduct(); if (dt == null || dt.Rows.Count == 0) { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "没有要同步的数据" }))); } List <SE_ShareMakeImportProducts> list = new List <SE_ShareMakeImportProducts>(); Guid BatchGuid = Guid.NewGuid(); int i = 1; foreach (DataRow dr in dt.Rows) { if (string.IsNullOrWhiteSpace(dr["PID"].ToString())) { continue; } double times = Convert.ToDouble(dr["multiple"].ToString()); if (times < 0.1 || times > 10) { return(Json(new { Status = -1, Error = "积分奖励倍数不符合,配置的PID:" + dr["PID"].ToString() + "积分奖励倍数:" + dr[2].ToString() }, "text/html")); } list.Add(new SE_ShareMakeImportProducts() { BatchGuid = BatchGuid.ToString(), IsMakeMoney = true, IsShare = false, Orderby = i++, PID = dr["PID"].ToString(), Times = dr["multiple"].ToString() }); } using (var client = new Tuhu.Service.Product.ProductClient()) { int baseNumber = 1000; int number = (list.Count / baseNumber); for (int j = 0; j <= number; j++) { var temp = list.GetRange(j * baseNumber, list.Count < baseNumber ? list.Count : ((j + 1) * baseNumber - list.Count) > 0 ? (list.Count - (j * baseNumber)) : baseNumber); var result = client.SelectSkuProductListByPids(temp.Select(o => o.PID).ToList()); result.ThrowIfException(true); if (result.Success) { var pids = result.Result.Select(o => o.Pid); foreach (var item in temp) { if (!pids.Contains(item.PID)) { return(Content(JsonConvert.SerializeObject((new { Status = -1, Error = "PID配置有误:PID:" + item.PID })))); } else { if (temp.Where(o => o.PID == item.PID).Count() > 1) { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "PID配置有误,同一批次不能有相同的:PID:" + item.PID }))); } var product = result.Result.Where(o => o.Pid == item.PID).FirstOrDefault(); if (product == null) { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "PID未查询出来误:PID:" + item.PID }))); } else { item.DisplayName = product.DisplayName; } } } } else { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "调用服务验证产品信息失败" + result.ErrorMessage }))); } } } int resultID = manager.AddProducts(list, id); if (resultID > 0) { return(Content(JsonConvert.SerializeObject(new { Status = 0, ID = resultID }))); } else { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "保存失败" }))); } } catch (Exception em) { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "请检查文件内容格式是否正确", ErrorMsg = em.Message }))); } }