/// <summary> /// 判断是否给该订单免运费 /// </summary> /// <param name="TradeInfo"></param> /// <returns></returns> private bool IsFreePost(Trade trade, ShopInfo shop) { //卖家是否订购了包邮卡服务 string plus = shop.Plus; if (string.IsNullOrEmpty(plus)) { //中断 return(false); } else { if (plus.IndexOf("freecard") == -1) { return(false); } } FreeCardData data = new FreeCardData(); //如果该订单已经包邮过 if (data.CheckOrderIsFree(trade)) { return(false); } //该买家是否有能用的包邮卡 string guid = data.GetUserFreeCard(trade); if (guid.Length == 0) { //中断 return(false); } //该订单是否满足包邮卡设定的金额 string freeCardPrice = data.GetFreeCardPrice(guid); TopApiHaoping api = new TopApiHaoping(shop.Session); trade = api.GetTradeByTid(trade); if (decimal.Parse(trade.OrderPrice) < decimal.Parse(freeCardPrice)) { //如果不满足中断 return(false); } //该订单是否满足包邮卡的地区限制 FreeCard free = data.GetUserFreeCardById(guid); string[] ary = free.AreaList.Split(','); if (free.AreaList.Length != 0) { if (free.IsFreeAreaList == "1") { //设置地区免运费 for (int i = 0; i < ary.Length; i++) { if (trade.receiver_state.IndexOf(ary[i]) != -1) { //记录免运费次数 data.RecordFreeCardLog(guid, trade); return(true); } } } else { //设置地区不免运费 for (int i = 0; i < ary.Length; i++) { if (trade.receiver_state.IndexOf(ary[i]) != -1) { return(false); } } } } //记录免运费次数 data.RecordFreeCardLog(guid, trade); return(true); }