private static void SuccessfulGroupBuyProcess(ProductGroupBuyingEntity group, JobContext context) { List <GroupBuyItemEntity> GroupBuyItemList = GroupBuyProcessDA.GetGroupBuyItems(group.SystemNumber); if (GroupBuyItemList == null || GroupBuyItemList.Count == 0) { Console.WriteLine("没有团购商品"); } Console.WriteLine(string.Format("团购号:{0}", group.SystemNumber)); foreach (GroupBuyItemEntity groupBuyItem in GroupBuyItemList) { Console.WriteLine(string.Format("订单:{0},商品{1}", groupBuyItem.SOSysNo, groupBuyItem.ProductSysNo)); int ItemExSysNo = groupBuyItem.SysNo; int soSysNo = groupBuyItem.SOSysNo; int groupBuySysNo = groupBuyItem.ReferenceSysNo; int productSysNo = groupBuyItem.ProductSysNo; //更新订单 try { //修改团购商品价格 UpdateSO(soSysNo, groupBuySysNo, productSysNo); //修改团购Item状态 UpdateItemSettlementStatus(ItemExSysNo, "S"); } catch (Exception ex) { UpdateItemSettlementStatus(ItemExSysNo, "F"); UpdateSOGroupBuyStatus(soSysNo, "F"); context.Message += ex.ToString(); Dealfault(ex); continue; } } if (group.Status == "F") { EndGroupBuying(group.SystemNumber); } }
public static bool IsPartlyFail(int soSysNo) { return(GroupBuyProcessDA.IsPartlyFail(soSysNo)); }
public static bool IsOnlyHaveFailItem(int soSysNo, int productSysNo) { return(GroupBuyProcessDA.IsOnlyHaveFailItem(soSysNo, productSysNo)); }
public static bool IsItemAllSettled(int soSysNo) { return(GroupBuyProcessDA.IsItemAllSettled(soSysNo)); }
public static int UpdateItemSettlementStatus(int itemSysNo, string settlementStatus) { return(GroupBuyProcessDA.UpdateItemSettlementStatus(itemSysNo, settlementStatus)); }
/// <summary> /// 处理团购 /// </summary> public static void Process(JobContext context) { GetConfig(); List <int> soList = GroupBuyProcessDA.GetSOSysNosNeedMark(); if (soList != null) { foreach (int soSysNo in soList) { Console.WriteLine(string.Format("订单:{0}", soSysNo)); try { //获取所有Item List <GroupBuyItemEntity> items = GroupBuyProcessDA.GetGroupBuyItemBySOSysNo(soSysNo); if (items == null || items.Count == 0) { continue; } //如果含有未处理的Item就过 if (items.Exists(x => x.ReferenceSysNo != 0 && string.IsNullOrEmpty(x.SettlementStatus))) { continue; } //如果含有F else if (items.Exists(x => x.SettlementStatus == "F")) { //更新Checkshipping UpdateSOGroupBuyStatus(soSysNo, "F"); } //如果含有P else if (items.Exists(x => x.SettlementStatus == "P")) { //只含P,作废 if (!items.Exists(x => x.SettlementStatus != "P")) { if (ExistsNetPay(soSysNo)) { AuditNetPay(soSysNo); CreateAO(soSysNo); } AbandonSO(soSysNo); } //还有其他商品 else { //更新Checkshipping UpdateSOGroupBuyStatus(soSysNo, "P"); } } //全S else if (!items.Exists(x => x.ReferenceSysNo != 0 && x.SettlementStatus != "S")) { //审核NetPay if (ExistsNetPay(soSysNo)) { AuditNetPay(soSysNo); } //修改CheckShippingSettlement UpdateSOGroupBuyStatus(soSysNo, "S"); } } catch (Exception ex) { UpdateSOGroupBuyStatus(soSysNo, "F"); context.Message += ex.ToString(); Dealfault(ex); continue; } } } }