/// <summary> /// 更新订单更新日志的更新状态 /// </summary> /// <param name="aliOrderCodes"></param> /// <param name="status">0:未更新;1:已更新;2:更新失败</param> /// <returns></returns> public bool UpdateAllAliOrderUpdateLogStatus(string aliOrderCodes,AlibabaSdk.AliOrderUpdateStatus status) { bool flag = AliOrderDAL.BaseProvider.UpdateAllAliOrderUpdateLogStatus(aliOrderCodes,(int) status); return flag; }
public bool UpdateAliOrderDownloadPlanStatus(string clientID,AlibabaSdk.AliOrderPlanStatus status,string remark) { bool flag = AliOrderDAL.BaseProvider.UpdateAliOrderDownloadPlanStatus(clientID, (int)status, remark); return flag; }
/// <summary> /// 新增阿里订单下载日志 /// </summary> /// <param name="orderType"></param> /// <param name="isSuccess">下载结果 1:成功;0:失败</param> /// <param name="downType">下载类型 1:自动;2手动</param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="totalCount"></param> /// <param name="successCount"></param> /// <param name="agentID"></param> /// <param name="clientID"></param> /// <returns></returns> public bool AddAliOrderDownloadLog(EnumOrderType orderType, bool isSuccess,AlibabaSdk.AliOrderDownType downType, DateTime startTime, DateTime endTime, int successCount, int totalCount,string remark, string agentID, string clientID) { bool flag = AliOrderDAL.BaseProvider.AddAliOrderUpdateLog((int)orderType, isSuccess?1:0,(int)downType, startTime, endTime, successCount, totalCount,remark, agentID, clientID); return flag; }
/// <summary> /// 下载阿里打样订单 /// </summary> public static bool DownFentOrders(DateTime gmtFentStart, DateTime gmtFentEnd, string token, string refreshToken, string userID, string agentID, string clientID, ref int successCount, ref int total,out string error, AlibabaSdk.AliOrderDownType aliOrderDownType = AlibabaSdk.AliOrderDownType.Auto) { error = string.Empty; DateTime orderCreateTime=DateTime.Now; //获取打样订单编码 AlibabaSdk.GoodsCodesResult goodsCodesResult = AlibabaSdk.OrderBusiness.PullFentGoodsCodes(gmtFentStart, gmtFentEnd, token); #region 获取订单编码失败 if (goodsCodesResult.error_code > 0) { //token失效 if (goodsCodesResult.error_code == 401) { //通过refreshToken获取用户token var tokenResult = AlibabaSdk.OauthBusiness.GetTokenByRefreshToken(refreshToken); if (!string.IsNullOrEmpty(tokenResult.access_token)) { token = tokenResult.access_token; AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanToken(clientID, tokenResult.access_token, refreshToken); goodsCodesResult = AlibabaSdk.OrderBusiness.PullFentGoodsCodes(gmtFentStart, gmtFentEnd, token); } else { error = "error_code:" + tokenResult.error_code + " error_message:" + tokenResult.error_message; AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanStatus(clientID, AlibabaSdk.AliOrderPlanStatus.RefreshTokenError,error ); return false; } } else { error="error_code:" + goodsCodesResult.error_code + " error_message:" + goodsCodesResult.error_message; AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanStatus(clientID, AlibabaSdk.AliOrderPlanStatus.Exception, error); return false; } } #endregion if (goodsCodesResult.goodsCodeList.Count == 0) { if (aliOrderDownType == AlibabaSdk.AliOrderDownType.Auto) { //更新订单下载成功时间 AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanSuccessTime(clientID, EnumOrderType.ProofOrder, gmtFentEnd.Date); } return true; } //订单编码分页 var goodsCodeList = goodsCodesResult.goodsCodeList; var totalCount = goodsCodeList.Count; total += totalCount; int numb = 10; int size = (int)Math.Ceiling((decimal)totalCount / numb); //分页获取订单列表 for (int i = 1; i <= size; i++) { var qList = goodsCodeList.Skip((i - 1) * numb).Take(numb).ToList(); AlibabaSdk.OrderListResult orderListResult = AlibabaSdk.OrderBusiness.PullFentDataList(qList, token); int len = orderListResult.fentOrderList.Count; for (var j = 0; j < len; j++) { var order = orderListResult.fentOrderList[j]; string orderID = OrdersBusiness.BaseBusiness.CreateOrder(string.Empty, order.productCode, order.title, HttpUtility.UrlDecode(order.buyerName), order.buyerMobile, EnumOrderSourceType.AliOrder, EnumOrderType.ProofOrder, string.Empty, string.Empty, order.fentPrice.ToString(), order.bulkCount, order.gmtReleasedExpect, order.samplePicList == null ? string.Empty : string.Join(",", order.samplePicList.ToArray()), string.Empty, order.buyerAddress, string.Empty, string.Empty, userID, agentID, clientID, order.fentGoodsCode); //新增订单失败 if (string.IsNullOrEmpty(orderID)) { error = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "阿里订单:" + order.fentGoodsCode+" 新增订单失败"; return false; } else { successCount++; orderCreateTime=order.gmtCreate; if (aliOrderDownType == AlibabaSdk.AliOrderDownType.Auto) { //更新订单下载成功时间 AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanSuccessTime(clientID, EnumOrderType.ProofOrder, order.gmtCreate); } } } } if (totalCount == 1000) { DownFentOrders(orderCreateTime, gmtFentEnd, token, refreshToken, userID, agentID, clientID, ref successCount, ref total, out error, aliOrderDownType); } return true; }