private void ReadSettings(bool bindControl = true) { Algorithm = BotSetting.AlgorithmList.Where(x => x.Id == Settings.Default.algorithm).First(); CandleType = new CandleType(Settings.Default.candleType); FeeRate = Settings.Default.feeRate; TradeRate = Settings.Default.tradeRate; Coin = BotSetting.CoinList.Where(x => x.Ticker.Equals(Settings.Default.coin)).FirstOrDefault(); Interval = Convert.ToInt32(Settings.Default.interval); TriggerRate = Settings.Default.triggerRate; CandleCount = Convert.ToInt32(Settings.Default.candleCount); if (bindControl) { cmbAlgorithm.SelectedItem = Algorithm; cmbCandle.SelectedItem = CandleType; txtFee.Text = FeeRate.ToString(); txtTradeRate.Text = TradeRate.ToString(); cmbCoin.SelectedItem = Coin; txtInterval.Text = Interval.ToString(); txtTriggerRate.Text = TriggerRate.ToString(); txtCandleCount.Text = CandleCount.ToString(); } }
public int funTraderUserRating(string sellerNick, string sesionKey) { try { //查询卖家对应的评价策略 DataTable tbSellerRateConfig = AutoMsgDB.GetSellerWhichSetAtuoRate(sellerNick); DateTime startDate = DateTime.Now.AddMonths(-1); DateTime endDate = DateTime.Now; DataTable tbRateData = AutoMsgDB.GetRateTradeData(sellerNick, tbSellerRateConfig.Rows[0], startDate, endDate, sesionKey); if (tbRateData != null && tbRateData.Rows.Count > 0) { RateConfig objRate = null; foreach (DataRow rw in tbRateData.Rows) { #region 开始评价 try { objRate = new RateConfig(); string tid = rw["tid"].ToString(); objRate.Tid = Convert.ToInt64(tid); objRate.Oid = Convert.ToInt64(rw["oid"].ToString()); string badRattingContent = tbSellerRateConfig.Rows[0]["badRateContent"].ToString(); if (rw["blackBuyerRatedIsRate"].Equals("1"))//不自动评价 { continue; } else if (rw["blackBuyerRatedIsRate"].Equals("3")) { objRate.Content1 = badRattingContent; objRate.Content2 = badRattingContent; objRate.Content3 = badRattingContent; objRate.Result = "neutral"; } else if (rw["blackBuyerRatedIsRate"].Equals("4")) { objRate.Content1 = badRattingContent; objRate.Content2 = badRattingContent; objRate.Content3 = badRattingContent; objRate.Result = "bad"; } else { objRate.Content1 = tbSellerRateConfig.Rows[0]["content1"].ToString(); objRate.Content2 = tbSellerRateConfig.Rows[0]["content2"].ToString(); objRate.Content3 = tbSellerRateConfig.Rows[0]["content3"].ToString(); objRate.Result = "good"; } objRate.SellerNick = sellerNick; string strContent = ""; TBRating objRateDal = new TBRating(); //新增单个评价,if faild, then list rate TradeRate obj = null; obj = objRateDal.BuyerTradeRateOneByOne(objRate, ref strContent, sesionKey); if (obj == null) { obj = objRateDal.BuyerTradeRate(objRate, ref strContent, sesionKey); } if (obj != null) { //rating sucessfull obj.Content = strContent; obj.Nick = objRate.SellerNick; obj.Tid = Convert.ToInt64(rw["tid"]); obj.Created = obj.Created; //Console.WriteLine("评价卖家:" + obj.Nick + " 评价日期:" + obj.Created); AutoMsgDB.AddRateHisWithSeller(obj); } } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TBApply_Data); continue; } #endregion } } } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TBApply_Data); } return(0); }
/// <summary> /// 判断是否符合赠送条件 /// </summary> /// <param name="shop"></param> /// <param name="trade"></param> /// <returns></returns> private bool CheckFreeCardSend(ShopInfo shop, TradeRate tradeRate, Trade trade) { TradeRateData data = new TradeRateData(); string result = string.Empty; //是否开启赠送优惠券 if (shop.IsFreeCard == "0") { result = "卖家没有开启包邮卡赠送!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } ////判断该用户是否开启了发货短信 //if (int.Parse(shop.MsgCount) <= 0) //{ // result = "卖家没有短信,无法通过短信告之客户支付宝红包卡号密码!"; // data.UpdateTradeRateResultAlipay(tradeRate, result); // return false; //} //不是好评不赠送 if (tradeRate.Result != "good") { result = "买家没有给好评,不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //礼品黑名单不赠送 CouponData couponData = new CouponData(); if (couponData.IsBlack(trade)) { result = "买家【" + trade.BuyNick + "】在礼品黑名单中,不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //没有购买指定商品不送 if (shop.IsItem == "1" && shop.ItemList.Length != 0) { //查看订单是否包含指定商品 if (shop.ItemList.IndexOf(trade.NumIid) == -1) { result = "买家订单商品为【" + trade.NumIid + "】,不包含指定商品【" + shop.ItemList + "】,不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } } //没有在规定时间内好评不赠送 (self) if (trade.ShippingType == "self" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.SendTime)).TotalSeconds > int.Parse(shop.MinDateSelf) * 86400) { result = "没有在规定时间内好评,该物流配送状态不可查,按照发货时间开始计算,发货时间是【" + trade.SendTime + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSelf + "】天,不赠送支付宝红包!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //没有在规定时间内好评不赠送 (system) if (trade.ShippingType == "system" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.DeliveryEnd)).TotalSeconds > int.Parse(shop.MinDateSystem) * 86400) { result = "没有在规定时间内好评,该物流配送状态可查,按照物流签收时间开始计算,物流签收时间是【" + trade.DeliveryEnd + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSystem + "】天,不赠送支付宝红包!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //使用系统默认的好评和过期自动好评不赠送 if (shop.IsCancelAuto == "1" && ((tradeRate.Content == "好评!" && shop.Cancel1 == "1") || ((tradeRate.Content == "评价方未及时做出评价,系统默认好评!" || tradeRate.Content == "评价方未及时做出评价,系统默认好评!") && shop.Cancel2 == "1") )) { result = "卖家设置了默认好评不赠送包邮卡,此买家给的是系统默认评价,不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } ////超过了每人的最大领取数量不赠送 //CouponData dbCoupon = new CouponData(); //Alipay alipay = dbCoupon.GetAlipayInfoById(shop); //if (!dbCoupon.CheckUserCanGetAlipay(trade, alipay)) //{ // result = "卖家设置了红包【" + alipay.GUID + "】的最大领取数量是【" + alipay.Per + "】,此买家已经领取了【" + alipay.Per + "】张,所以不再赠送支付宝红包!"; // data.UpdateTradeRateResultAlipay(tradeRate, result); // return false; //} FreeCardData dbFreeCard = new FreeCardData(); //超出了包邮卡最大赠送量不赠送 if (!dbFreeCard.CheckFreeCardCanSend(trade, shop)) { result = "每个买家最多只能领取一张包邮卡,所以不再赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //包含了指定的关键字赠送或者不赠送 if (shop.IsKeyword == "1") { //先判定字数是否满足条件 if (tradeRate.Content.Length < int.Parse(shop.WordCount)) { result = "卖家开启了评价内容自动审核,此评价的字数是【" + tradeRate.Content.Length.ToString() + "】个字,小于卖家设置的最少评论字数【" + shop.WordCount + "】个字,所以不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } //判定是否为差评关键字判断 if (shop.KeywordIsBad == "1") { if (shop.BadKeyword != "") { int isInclude = 0; string badword = string.Empty; string[] keyArray = shop.BadKeyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { badword = keyArray[i].Trim(); isInclude = 1; break; } } } //判定 if (isInclude == 1) { result = "卖家开启了评价内容自动审核,买家评价包含差评关键字【" + badword + "】,所以不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } } } else { //再判定是否包含关键字 if (shop.Keyword != "") { int isInclude = 0; string[] keyArray = shop.Keyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { isInclude = 1; break; } } } //判定 if (isInclude == 0) { result = "卖家开启了评价内容自动审核,买家评价没有包含关键字,所以不赠送包邮卡!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } } } } //该订单是否满足包邮卡赠送的地区限制 FreeCard free = dbFreeCard.GetFreeCardById(shop.FreeCardId); string[] ary = free.AreaList.Split(','); string isok = ""; if (free.IsFreeAreaList == "1") { //设置地区免运费 for (int i = 0; i < ary.Length; i++) { if (trade.receiver_state.IndexOf(ary[i]) != -1) { //记录免运费次数 return(true); } isok += "1"; } if (ary.Length > 0) { result = "只有免运费的地区才赠送包邮卡,订单地区为【" + trade.receiver_state + "】,包邮地区为【" + free.AreaList + "】!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } } else { //设置地区不免运费 for (int i = 0; i < ary.Length; i++) { if (trade.receiver_state.IndexOf(ary[i]) != -1) { result = "不免运费的包邮卡不赠送,订单地区为【" + trade.receiver_state + "】,不包邮地区为【" + ary[i] + "】!"; data.UpdateTradeRateResultFree(tradeRate, result); return(false); } } } ////如果该支付宝红包已经过期 //if (dbCoupon.CheckAlipayExpired(trade, alipay)) //{ // result = "该支付宝红包已经过期,所以不再赠送!"; // data.UpdateTradeRateResultAlipay(tradeRate, result); // return false; //} return(true); }
/// <summary> /// 判断是否符合赠送条件 /// </summary> /// <param name="shop"></param> /// <param name="trade"></param> /// <returns></returns> private bool CheckAlipaySend(ShopInfo shop, TradeRate tradeRate, Trade trade) { TradeRateData data = new TradeRateData(); string result = string.Empty; //是否开启赠送优惠券 if (shop.IsAlipay == "0") { result = "卖家没有开启支付宝红包赠送!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //判断该用户是否开启了发货短信 if (int.Parse(shop.MsgCount) <= 0) { result = "卖家没有短信,无法通过短信告之客户支付宝红包卡号密码!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //不是好评不赠送 if (tradeRate.Result != "good") { result = "买家没有给好评,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //礼品黑名单不赠送 CouponData couponData = new CouponData(); if (couponData.IsBlack(trade)) { result = "买家【" + trade.BuyNick + "】在礼品黑名单中,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //没有购买指定商品不送 if (shop.IsItem == "1" && shop.ItemList.Length != 0) { //查看订单是否包含指定商品 if (shop.ItemList.IndexOf(trade.NumIid) == -1) { result = "买家订单商品为【" + trade.NumIid + "】,不包含指定商品【" + shop.ItemList + "】,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } } //没有在规定时间内好评不赠送 (self) if (trade.ShippingType == "self" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.SendTime)).TotalSeconds > int.Parse(shop.MinDateSelf) * 86400) { result = "没有在规定时间内好评,该物流配送状态不可查,按照发货时间开始计算,发货时间是【" + trade.SendTime + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSelf + "】天,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //没有在规定时间内好评不赠送 (system) if (trade.ShippingType == "system" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.DeliveryEnd)).TotalSeconds > int.Parse(shop.MinDateSystem) * 86400) { result = "没有在规定时间内好评,该物流配送状态可查,按照物流签收时间开始计算,物流签收时间是【" + trade.DeliveryEnd + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSystem + "】天,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //使用系统默认的好评和过期自动好评不赠送 if (shop.IsCancelAuto == "1" && ((tradeRate.Content == "好评!" && shop.Cancel1 == "1") || ((tradeRate.Content == "评价方未及时做出评价,系统默认好评!" || tradeRate.Content == "评价方未及时做出评价,系统默认好评!") && shop.Cancel2 == "1") )) { result = "卖家设置了默认好评不赠送支付宝红包,此买家给的是系统默认评价,不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } CouponData dbCoupon = new CouponData(); Alipay alipay = dbCoupon.GetAlipayInfoById(shop); //每订单最多赠送一个 if (!dbCoupon.CheckOrderAlipayCanSend(trade, alipay)) { result = "每订单最多赠送一个支付宝红包!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //超过了每人的最大领取数量不赠送 if (!dbCoupon.CheckUserCanGetAlipay(trade, alipay)) { result = "卖家设置了红包【" + alipay.GUID + "】的最大领取数量是【" + alipay.Per + "】,此买家已经领取了【" + alipay.Per + "】张,所以不再赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //超出了优惠券最大赠送量不赠送 if (!dbCoupon.CheckAlipayCanSend(trade, alipay)) { result = "系统赠送的支付宝红包超出了卖家设置的最大赠送数量,所以不再赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //包含了指定的关键字赠送或者不赠送 if (shop.IsKeyword == "1") { //先判定字数是否满足条件 if (tradeRate.Content.Length < int.Parse(shop.WordCount)) { result = "卖家开启了评价内容自动审核,此评价的字数是【" + tradeRate.Content.Length.ToString() + "】个字,小于卖家设置的最少评论字数【" + shop.WordCount + "】个字,所以不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } //判定是否为差评关键字判断 if (shop.KeywordIsBad == "1") { if (shop.BadKeyword != "") { int isInclude = 0; string badword = string.Empty; string[] keyArray = shop.BadKeyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { badword = keyArray[i].Trim(); isInclude = 1; break; } } } //判定 if (isInclude == 1) { result = "卖家开启了评价内容自动审核,买家评价包含差评关键字【" + badword + "】,所以不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } } } else { //再判定是否包含关键字 if (shop.Keyword != "") { int isInclude = 0; string[] keyArray = shop.Keyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { isInclude = 1; break; } } } //判定 if (isInclude == 0) { result = "卖家开启了评价内容自动审核,买家评价没有包含关键字,所以不赠送支付宝红包!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } } } } //如果该支付宝红包已经过期 if (dbCoupon.CheckAlipayExpired(trade, alipay)) { result = "该支付宝红包已经过期,所以不再赠送!"; data.UpdateTradeRateResultAlipay(tradeRate, result); return(false); } return(true); }
/// <summary> /// 判断是否符合赠送条件 /// </summary> /// <param name="shop"></param> /// <param name="trade"></param> /// <returns></returns> private bool CheckCouponSend(ShopInfo shop, TradeRate tradeRate, Trade trade) { TradeRateData data = new TradeRateData(); string result = string.Empty; //是否开启赠送优惠券 if (shop.IsCoupon == "0") { result = "卖家没有开启优惠券赠送!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //不是好评不赠送 if (tradeRate.Result != "good") { result = "买家没有给好评,不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //礼品黑名单不赠送 CouponData couponData = new CouponData(); if (couponData.IsBlack(trade)) { result = "买家【" + trade.BuyNick + "】在礼品黑名单中,不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } Console.WriteLine(shop.IsItem + "--" + shop.ItemList + "-" + trade.NumIid); //没有购买指定商品不送 if (shop.IsItem == "1" && shop.ItemList.Length != 0) { //查看订单是否包含指定商品 if (shop.ItemList.IndexOf(trade.NumIid) == -1) { result = "买家订单商品为【" + trade.NumIid + "】,不包含指定商品【" + shop.ItemList + "】,不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } } //没有在规定时间内好评不赠送 (self) if (trade.ShippingType == "self" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.SendTime)).TotalSeconds > int.Parse(shop.MinDateSelf) * 86400) { result = "没有在规定时间内好评,该物流配送状态不可查,按照发货时间开始计算,发货时间是【" + trade.SendTime + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSelf + "】天,不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //没有在规定时间内好评不赠送 (system) if (trade.ShippingType == "system" && (DateTime.Parse(tradeRate.Created) - DateTime.Parse(trade.DeliveryEnd)).TotalSeconds > int.Parse(shop.MinDateSystem) * 86400) { result = "没有在规定时间内好评,该物流配送状态可查,按照物流签收时间开始计算,物流签收时间是【" + trade.DeliveryEnd + "】,评价时间是【" + tradeRate.Created + "】,周期超过了卖家设定的最短时间【" + shop.MinDateSystem + "】天,不赠送优惠券!"; Console.Write(result + "!!!!!!!!!!!!\r\n"); data.UpdateTradeRateResult(tradeRate, result); return(false); } //使用系统默认的好评和过期自动好评不赠送 if (shop.IsCancelAuto == "1" && ((tradeRate.Content == "好评!" && shop.Cancel1 == "1") || ((tradeRate.Content == "评价方未及时做出评价,系统默认好评!" || tradeRate.Content == "评价方未及时做出评价,系统默认好评!") && shop.Cancel2 == "1") )) { result = "卖家设置了默认好评不赠送优惠券,此买家给的是系统默认评价,不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //超过了每人的最大领取数量不赠送 CouponData dbCoupon = new CouponData(); Coupon coupon = dbCoupon.GetCouponInfoById(shop); if (!dbCoupon.CheckUserCanGetCoupon(trade, coupon)) { result = "卖家设置了优惠券【" + coupon.TaobaoCouponId + "】的最大领取数量是【" + coupon.Per + "】,此买家已经领取了【" + coupon.Per + "】张,所以不再赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //超出了优惠券最大赠送量不赠送 if (!dbCoupon.CheckCouponCanSend(trade, coupon)) { result = "系统赠送的优惠券超出了卖家设置的最大赠送数量,所以不再赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //如果该订单赠送过则不赠送 if (!dbCoupon.CheckUserCouponSend(trade, coupon)) { //result = "此订单已经赠送过优惠券,所以不再赠送优惠券!"; //data.UpdateTradeRateResult(tradeRate, result); return(false); } //包含了指定的关键字赠送或者不赠送 if (shop.IsKeyword == "1") { //先判定字数是否满足条件 if (tradeRate.Content.Length < int.Parse(shop.WordCount)) { result = "卖家开启了评价内容自动审核,此评价的字数是【" + tradeRate.Content.Length.ToString() + "】个字,小于卖家设置的最少评论字数【" + shop.WordCount + "】个字,所以不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } //判定是否为差评关键字判断 if (shop.KeywordIsBad == "1") { if (shop.BadKeyword != "") { int isInclude = 0; string badword = string.Empty; string[] keyArray = shop.BadKeyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { badword = keyArray[i].Trim(); isInclude = 1; break; } } } //判定 if (isInclude == 1) { result = "卖家开启了评价内容自动审核,买家评价包含差评关键字【" + badword + "】,所以不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } } } else { //再判定是否包含关键字 if (shop.Keyword != "") { int isInclude = 0; string[] keyArray = shop.Keyword.Split('|'); for (int i = 0; i < keyArray.Length; i++) { if (keyArray[i].Trim() != "") { if (tradeRate.Content.IndexOf(keyArray[i].Trim()) != -1) { isInclude = 1; break; } } } //判定 if (isInclude == 0) { result = "卖家开启了评价内容自动审核,买家评价没有包含关键字,所以不赠送优惠券!"; data.UpdateTradeRateResult(tradeRate, result); return(false); } } } } ////订单包含商品判断 //TradeData tradeData = new TradeData(); //if (tradeData.IsIncludeProduct(trade, shop)) //{ // result = "卖家开启了特定商品赠送,该订单里面商品不符合条件,所以不赠送优惠券!"; // data.UpdateTradeRateResult(tradeRate, result); // return false; //} return(true); }
/// <summary> /// 处理订单完成时的相应逻辑 /// </summary> public void Start() { //获取店铺的基础数据 ShopData data = new ShopData(); ShopInfo shop = data.ShopInfoGetByNick(TradeInfo.Nick); //Console.Write(shop.Session + "!!!!!!!!!!!!\r\n"); if (shop.Version != "2" && shop.Version != "3") { return; } //通过TOP接口查询该订单的详细数据并记录到数据库中 TopApiHaoping api = new TopApiHaoping(shop.Session); TradeData tradeData = new TradeData(); Trade trade = tradeData.GetTradeDetailShippingInfo(TradeInfo); trade = api.GetTradeByTid(trade); //记录该订单对应的评价记录 TradeRate tradeRate = api.GetTradeRate(trade); tradeRate.ItemId = trade.NumIid; tradeRate.Nick = TradeInfo.Nick; //只有双方都评价了才会有插入数据库和赠送的操作 if (tradeRate.Content != "") { //判断该订单是否已经有过评价记录 TradeRateData dbTradeRate = new TradeRateData(); if (!dbTradeRate.CheckTradeRateExits(tradeRate)) { //没有记录过写入数据库 dbTradeRate.InsertTradeInfo(tradeRate); } //判断该订单是否存在 TradeData dbTrade = new TradeData(); if (!dbTrade.CheckTradeExits(trade)) { //更新该订单的评价时间 dbTrade.InsertTradeInfo(trade); } //更新该订单的评价时间 dbTrade.UpdateTradeRateById(trade, tradeRate); } else { //否则中断 return; } //判断如果是分销的订单,则不处理 if (trade.OrderType.ToLower() == "fenxiao") { return; } try { //更新订单的优惠券使用情况 TopApiHaoping apiCoupon = new TopApiHaoping(shop.Session); string result = apiCoupon.GetCouponTradeTotalByNick(trade); MatchCollection match = new Regex(@"<promotion_details list=""true""><promotion_detail><discount_fee>([^\<]*)</discount_fee><id>[0-9]*</id><promotion_desc>[^\<]*</promotion_desc><promotion_id>shopbonus-[0-9]*_[0-9]*-([0-9]*)</promotion_id><promotion_name>店铺优惠券</promotion_name></promotion_detail>", RegexOptions.IgnoreCase).Matches(result); if (match.Count != 0) { string price = match[0].Groups[1].ToString(); string couponid = match[0].Groups[2].ToString(); if (couponid.Length != 0) { TradeData dataTradeCoupon = new TradeData(); dataTradeCoupon.UpdateTradeCouponInfo(trade, price, couponid); } } } catch { } //判断是否开启了客服审核,如果开启了则自动记录并中断 if (shop.IsKefu == "1") { TradeRateData dataKefu = new TradeRateData(); string resultKefu = "手动审核订单!"; dataKefu.UpdateTradeRateResult(tradeRate, resultKefu); //更新该订单的评价为待审核状态 TradeData dbTrade = new TradeData(); if (!dbTrade.CheckTradeRateCheckExits(trade)) { dbTrade.UpdateTradeKefuById(trade, tradeRate); } try { //记录会员信息数据 GetUserData getUser = new GetUserData(); getUser.Get(trade); } catch { } return; } Console.WriteLine(trade.ShippingType + "!!"); //获取订单的具体物流状态,如果订单物流状态为空则获取物流信息 if (trade.ShippingType != "system" && trade.ShippingType != "self") { //获取该订单的物流状态 TopApiHaoping apiHaoping = new TopApiHaoping(shop.Session); string status = apiHaoping.GetShippingStatusByTid(trade); TradeData dbTrade = new TradeData(); Console.Write(status + "\r\n"); //如果该物流信息不存在 if (status.IndexOf("不存在") != -1) { //如果该物流公司不支持查询则更新为self dbTrade.UpdateTradeShippingStatusSelf(trade, status); } //获取该订单的物流相关信息 trade = api.GetOrderShippingInfo(trade); if (!dbTrade.IsTaobaoCompany(trade)) { //如果不是淘宝合作物流则直接更新 dbTrade.UpdateTradeShippingStatusSelf(trade, status); trade.ShippingType = "self"; } else { //根据服务器的物流状态进行判断,如果物流状态是已签收 if (status == "ACCEPTED_BY_RECEIVER" || status == "ACCEPTING" || status == "ACCEPTED") { string result = api.GetShippingStatusDetailByTid(trade); Console.Write("【" + result + "】\r\n"); //如果是虚拟物品 if (result.IndexOf("该订单未指定运单号") != -1) { //如果该物流公司不支持查询则更新为self dbTrade.UpdateTradeShippingStatusSelf(trade, status); } //如果订单不是服务器错误 if (result.IndexOf("company-not-support") != -1) { //如果该物流公司不支持查询则更新为self dbTrade.UpdateTradeShippingStatusSelf(trade, status); } //再根据订单的详细物流信息判断签收的状态 if (result.IndexOf("签收人") != -1 || result.IndexOf(" 妥投") != -1 || result.IndexOf(" 签收") != -1 || result.IndexOf("正常签收") != -1 || result.IndexOf(" 已签收") != -1) { //如果物流已经签收了则更新对应订单状态 trade.DeliveryEnd = utils.GetShippingEndTime(result);; trade.DeliveryMsg = result; trade.ShippingType = "system"; //如果物流到货时间还是为空 if (trade.DeliveryEnd == "") { LogData dbLog = new LogData(); dbLog.InsertErrorLog(trade.Nick, "deliveryDateNullOrder", "", result, ""); } dbTrade.UpdateTradeShippingStatusSystem(trade, status); } } } } //处理优惠券赠送及短信-上LOCK锁定 lock (TradeSuccess.padlockRate) { //淘宝优惠券赠送 bool isSendCoupon = true; //判断是否符合赠送条件 if (CheckCouponSend(shop, tradeRate, trade)) { //如果符合赠送条件调用赠送接口 CouponData dbCoupon = new CouponData(); Coupon coupon = dbCoupon.GetCouponInfoById(shop); //判定该优惠券是否过期或删除 if (!dbCoupon.CheckCouponCanUsed(shop)) { //优惠券过期,自动帮客户延长优惠券期限 //考虑到淘宝即将开启短授权,该功能改成消息通知,暂不制作 isSendCoupon = false; //return; } else { //解决多线程冲突问题先插入优惠券赠送记录,如果赠送失败再删除记录 string couponId = string.Empty; if (dbCoupon.InsertCouponSendRecord(trade, shop, couponId)) { string taobaoResult = string.Empty; couponId = api.SendCoupon(trade.BuyNick, coupon.TaobaoCouponId, ref taobaoResult); //获取的赠送接口的返回结果 if (couponId != "") { //如果成功赠送则记录 dbCoupon.UpdateCouponSendRecord(trade, shop, couponId); } else { //如果没有赠送成功则删除刚才的临时记录 dbCoupon.DeleteCouponSendRecord(trade, shop, couponId); Console.WriteLine(couponId); try { //记录淘宝自身错误 string err = new Regex(@"<reason>([^<]*)</reason>", RegexOptions.IgnoreCase).Match(taobaoResult).Groups[1].ToString(); TradeRateData dataRate = new TradeRateData(); if (err.Length == 0) { taobaoResult += "淘宝系统错误,不赠送优惠券,错误代码是【" + taobaoResult + "】!"; } else { taobaoResult += "淘宝系统错误,不赠送优惠券,错误代码是【" + err + "】!"; } dataRate.UpdateTradeRateResult(tradeRate, taobaoResult); } catch { } //有可能是客户订购的优惠券服务已经到期记录错误信息并中断 //return; isSendCoupon = false; } } else { isSendCoupon = false; } } } else { isSendCoupon = false; } //支付宝现金券赠送 bool isSendAlipay = true; //判断是否符合赠送条件 if (CheckAlipaySend(shop, tradeRate, trade)) { //获取一条需要赠送的支付宝红包数据 CouponData cou = new CouponData(); AlipayDetail detail = cou.GetAlipayDetailInfoById(shop); //如果符合赠送条件调用短信接口直接将红包发到客户手机上 string shopName = shop.MsgShopName; if (shop.MsgShopName.Length == 0) { shopName = shop.Nick; } string msgAlipay = "亲," + shopName + "赠送您支付宝红包,卡号" + detail.Card + "密码" + detail.Pass + ",您可以到支付宝绑定使用。"; Console.Write(msgAlipay + "\r\n"); string msgResultAlipay = Message.Send(trade.Mobile, msgAlipay); Console.Write(msgResultAlipay + "\r\n"); //更新支付宝红包使用状态 cou.InsertAlipaySendRecord(trade, shop, detail); //记录短信发送记录 ShopData dbAlipay = new ShopData(); if (msgResultAlipay != "0") { dbAlipay.InsertShopMsgLog(shop, trade, msgAlipay, msgResultAlipay, "alipay"); } else { isSendAlipay = false; dbAlipay.InsertShopErrMsgLog(shop, trade, msgAlipay, msgResultAlipay, "alipay"); } shop.MsgCount = (int.Parse(shop.MsgCount) - 1).ToString(); } else { isSendAlipay = false; } //包邮卡赠送 bool isSendFreeCard = true; try { //判断是否符合赠送条件 if (CheckFreeCardSend(shop, tradeRate, trade)) { //赠送包邮卡 FreeCardData freeData = new FreeCardData(); freeData.SendFreeCard(shop, trade); //判断该用户是否开启了包邮卡短信 if (shop.MsgIsFreecard == "1" && int.Parse(shop.MsgCount) > 0) { ShopData db = new ShopData(); FreeCard free = freeData.GetFreeCardById(shop.FreeCardId); //发送短信 string msg = Message.GetMsg(shop.MsgFreecardContent, shop.MsgShopName, TradeInfo.BuyNick, shop.IsCoupon, free.Name); //手机号码为空不发 if (trade.Mobile.Length == 0) { return; } if (!db.IsSendMsgToday(trade, "freecard")) { string msgResult = Message.Send(trade.Mobile, msg); //记录 if (msgResult != "0") { db.InsertShopMsgLog(shop, trade, msg, msgResult, "freecard"); } else { db.InsertShopErrMsgLog(shop, trade, msg, msgResult, "freecard"); } shop.MsgCount = (int.Parse(shop.MsgCount) - 1).ToString(); } } } else { isSendFreeCard = false; } } catch (Exception e) { Console.WriteLine(e.Message + e.StackTrace + e.Source); } try { //记录会员信息数据 GetUserData getUser = new GetUserData(); getUser.Get(trade); } catch { } //Console.WriteLine(isSendCoupon + "!!"); //Console.WriteLine(isSendAlipay + "!!"); //Console.WriteLine(trade.Mobile + "!!"); //如果优惠券和支付宝现金都没有赠送成功,则直接中断方法不发短信 //2012.9.17改为只有赠送成功优惠券才发送此短信 if (!isSendCoupon) { return; } //判断该用户是否开启了发货短信 if (shop.MsgIsCoupon == "1" && int.Parse(shop.MsgCount) > 0) { ShopData db = new ShopData(); //发送短信 string msg = Message.GetMsg(shop.MsgCouponContent, shop.MsgShopName, TradeInfo.BuyNick, shop.IsCoupon); //string msg = Message.GetMsg(shop, trade, shop.MsgCouponContent); //手机号码为空不发 if (trade.Mobile.Length == 0) { return; } if (!db.IsSendMsgToday(trade, "gift")) { ////先插入数据库 解决多优惠券赠送短信多发问题 //db.InsertShopMsgLog(shop, trade, msg, "888888", "gift"); string msgResult = Message.Send(trade.Mobile, msg); //记录 if (msgResult != "0") { db.InsertShopMsgLog(shop, trade, msg, msgResult, "gift"); } else { db.InsertShopErrMsgLog(shop, trade, msg, msgResult, "gift"); } shop.MsgCount = (int.Parse(shop.MsgCount) - 1).ToString(); } } } }
/// <summary> /// 记录包邮卡赠送的结果 /// </summary> /// <param name="tradeRate"></param> /// <param name="result"></param> public void UpdateTradeRateResultFree(TradeRate tradeRate, string result) { string sql = "UPDATE TCS_TradeRate SET sendresultfree = '" + result + "' WHERE orderid = '" + tradeRate.Tid + "'"; utils.ExecuteNonQuery(sql); }
private void SendMessageDoTimer_Elapsed(object sender, ElapsedEventArgs e) { try { sendMessageDoTimer.Enabled = true; //查询同步过来的消息MESSAGE //查询主动通知信息从DB开始用于发送短信:只取交易完成的数据用于秒评 DataTable tbTrade = DBUtil.GetTradeData(""); //如果该卖家有消息推送 if (!busySend && tbTrade != null && tbTrade.Rows.Count > 0) { busySend = true; foreach (DataRow row in tbTrade.Rows)//轮训通知消息 { string sellerNick = row["seller_nick"].ToString(); string buyerNick = row["buyer_nick"].ToString(); string tid = row["tid"].ToString(); DateTime createDate = Convert.ToDateTime(row["createDate"]); // 获取卖家保存的自动评价策略 DataTable dtAutoConfig = DBUtil.GetSellerAutoRateConfig(sellerNick); int isMiaoRate = 0; int isWaitBuyerRate = 0; int isQiangRate = 0; if (dtAutoConfig == null || dtAutoConfig.Rows.Count == 0) { continue; } isMiaoRate = Convert.ToInt32(dtAutoConfig.Rows[0]["isMiaoRate"]); isWaitBuyerRate = Convert.ToInt32(dtAutoConfig.Rows[0]["isWaitBuyerRate"]); isQiangRate = Convert.ToInt32(dtAutoConfig.Rows[0]["isQiangRate"]); //判断卖家是否开通秒评 if (isMiaoRate == 1) { #region 秒评 //评价开始 string sessionKey = DBUtil.GetSellerSessionKey(sellerNick); if (!string.IsNullOrEmpty(sessionKey)) { // 获取卖家保存的评价策略 DataTable tbSellerRateConfig = DBUtil.GetSellerRateConfig(sellerNick); //检查商家设置:秒评:只检查该用户是否在黑名单 if (!DBUtil.CheckIsBlacklst(sellerNick, buyerNick)) { Trade objTrade = TBTrade.GetBuyerTrade(tid, sessionKey); if (objTrade != null && objTrade.Orders.Count > 0) { foreach (Order o in objTrade.Orders) { if (!o.SellerRate) { RateConfig objRate = new RateConfig(); objRate.Tid = Convert.ToInt64(tid); objRate.Oid = o.Oid; objRate.Content1 = tbSellerRateConfig.Rows[0]["content1"].ToString(); objRate.Content2 = tbSellerRateConfig.Rows[0]["content2"].ToString(); objRate.Content3 = tbSellerRateConfig.Rows[0]["content3"].ToString(); objRate.Result = tbSellerRateConfig.Rows[0]["result"].ToString(); objRate.SellerNick = sellerNick; string strContent = ""; TBRating objRateDal = new TBRating(); TradeRate obj = null; //调用接口 新增单个评价 obj = objRateDal.BuyerTradeRateOneByOne(objRate, ref strContent, sessionKey); if (obj == null) { // 调用API进行批量评价 obj = objRateDal.BuyerTradeRate(objRate, ref strContent, sessionKey); } if (obj != null) { //rating sucessfull obj.Content = strContent; obj.Nick = objRate.SellerNick; obj.Tid = Convert.ToInt64(tid); obj.Created = obj.Created; // 添加卖家评价:秒评 //Console.WriteLine("评价卖家:" + obj.Nick + " 评价日期:" + obj.Created); DBUtil.AddRateHisWithSeller(obj, "秒评"); Console.WriteLine("当前卖家:" + sellerNick + "评价时间:" + DateTime.Now.ToString()); } } } } } } #endregion } //判断卖家是否开通买家评价以后评价 if (isWaitBuyerRate == 1) { #region 方案二(买家评价以后评价) string sessionKey = DBUtil.GetSellerSessionKey(sellerNick); RateConfig objRate = new RateConfig(); TBRating objRateDal = new TBRating(); objRate.Content1 = dtAutoConfig.Rows[0]["content1"].ToString(); objRate.Content2 = dtAutoConfig.Rows[0]["content2"].ToString(); objRate.Content3 = dtAutoConfig.Rows[0]["content3"].ToString(); objRate.SellerNick = sellerNick; //默认好评 objRate.Result = dtAutoConfig.Rows[0]["result"].ToString(); //检查买家是否评论 List <TradeRate> sates = objRateDal.GetTradeRate(sessionKey); bool isRated = false; foreach (TradeRate trade in sates) { if (trade.Tid.ToString() == tid) { isRated = true; break; } } if (isRated) //买家已评价 { //买家在黑名单 if (DBUtil.CheckIsBlacklst(sellerNick, buyerNick)) { int blackBuyerRatedIsRate = Convert.ToInt32(dtAutoConfig.Rows[0]["blackBuyerRatedIsRate"]); if (blackBuyerRatedIsRate == 1) { continue; } if (blackBuyerRatedIsRate == 3) { objRate.Result = "neutral"; objRate.BadRateContent = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content1 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content2 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content3 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); } if (blackBuyerRatedIsRate == 4) { objRate.Result = "bad"; objRate.BadRateContent = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content1 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content2 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); objRate.Content3 = dtAutoConfig.Rows[0]["badRateContent"].ToString(); } } } else //买家未评价 { //买家在黑名单 if (DBUtil.CheckIsBlacklst(sellerNick, buyerNick)) { //检查是否到评论时间 TimeSpan ts = DateTime.Now - createDate; int jiange = (ts.Days * 24 * 60 * 60) + (ts.Hours * 60 * 60) + (ts.Minutes * 60) + (ts.Minutes); int congigJiange = (Convert.ToInt32(dtAutoConfig.Rows[0]["blackBuyerNoRateQiangRateDay"]) * 24 * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["blackBuyerNoRateQiangRateHour"]) * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["blackBuyerNoRateQiangRateFen"]) * 60); if (congigJiange < jiange) { continue; } } else //买家不在黑名单 { //检查是否到评论时间 TimeSpan ts = DateTime.Now - createDate; int jiange = (ts.Days * 24 * 60 * 60) + (ts.Hours * 60 * 60) + (ts.Minutes * 60) + (ts.Minutes); int congigJiange = (Convert.ToInt32(dtAutoConfig.Rows[0]["waitBuyerTimeDay"]) * 24 * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["waitBuyerTimeHour"]) * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["waitBuyerTimeFen"]) * 60); if (congigJiange < jiange) { continue; } } } //评价开始 if (!string.IsNullOrEmpty(sessionKey)) { // 获取卖家保存的评价策略 //DataTable tbSellerRateConfig = DBUtil.GetSellerRateConfig(sellerNick); Trade objTrade = TBTrade.GetBuyerTrade(tid, sessionKey); if (objTrade != null && objTrade.Orders.Count > 0) { foreach (Order o in objTrade.Orders) { if (!o.SellerRate) { objRate.Tid = Convert.ToInt64(tid); objRate.Oid = o.Oid; string strContent = ""; TradeRate obj = null; //调用接口 新增单个评价 obj = objRateDal.BuyerTradeRateOneByOne(objRate, ref strContent, sessionKey); if (obj == null) { // 调用API进行批量评价 obj = objRateDal.BuyerTradeRate(objRate, ref strContent, sessionKey); } if (obj != null) { //rating sucessfull obj.Content = strContent; obj.Nick = objRate.SellerNick; obj.Tid = Convert.ToInt64(tid); obj.Created = obj.Created; // 添加卖家评价 //Console.WriteLine("评价卖家:" + obj.Nick + " 评价日期:" + obj.Created); DBUtil.AddRateHisWithSeller(obj, "方案二"); Console.WriteLine("当前卖家:" + sellerNick + "评价时间:" + DateTime.Now.ToString()); } } } } } #endregion } //判断卖家是否开通交易后多长时间评价 if (isQiangRate == 1) { #region 方案三(交易后多长时间评价) //检查是否到评论时间 TimeSpan ts = DateTime.Now - createDate; //当前时间到提单的时间间隔 int jiange = (ts.Days * 24 * 60 * 60) + (ts.Hours * 60 * 60) + (ts.Minutes * 60) + (ts.Minutes); //评价配置的时间间隔 int congigJiange = (Convert.ToInt32(dtAutoConfig.Rows[0]["qiangRateTimeDay"]) * 24 * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["qiangRateTimeHour"]) * 60 * 60) + (Convert.ToInt32(dtAutoConfig.Rows[0]["qiangRateTimeFen"]) * 60); if (congigJiange < jiange) { continue; } //评价开始 string sessionKey = DBUtil.GetSellerSessionKey(sellerNick); if (!string.IsNullOrEmpty(sessionKey)) { //检查商家设置:秒评:只检查该用户是否在黑名单 if (!DBUtil.CheckIsBlacklst(sellerNick, buyerNick)) { Trade objTrade = TBTrade.GetBuyerTrade(tid, sessionKey); if (objTrade != null && objTrade.Orders.Count > 0) { foreach (Order o in objTrade.Orders) { if (!o.SellerRate) { RateConfig objRate = new RateConfig(); objRate.Tid = Convert.ToInt64(tid); objRate.Oid = o.Oid; objRate.Content1 = dtAutoConfig.Rows[0]["content1"].ToString(); objRate.Content2 = dtAutoConfig.Rows[0]["content2"].ToString(); objRate.Content3 = dtAutoConfig.Rows[0]["content3"].ToString(); objRate.Result = dtAutoConfig.Rows[0]["result"].ToString(); objRate.SellerNick = sellerNick; string strContent = ""; TBRating objRateDal = new TBRating(); TradeRate obj = null; //调用接口 新增单个评价 obj = objRateDal.BuyerTradeRateOneByOne(objRate, ref strContent, sessionKey); if (obj == null) { // 调用API进行批量评价 obj = objRateDal.BuyerTradeRate(objRate, ref strContent, sessionKey); } if (obj != null) { //rating sucessfull obj.Content = strContent; obj.Nick = objRate.SellerNick; obj.Tid = Convert.ToInt64(tid); obj.Created = obj.Created; // 添加卖家评价:秒评 //Console.WriteLine("评价卖家:" + obj.Nick + " 评价日期:" + obj.Created); DBUtil.AddRateHisWithSeller(obj, "方案三"); Console.WriteLine("当前卖家:" + sellerNick + "评价时间:" + DateTime.Now.ToString()); } } } } } } #endregion } //自动删除数据 DBUtil.DeleteValidTradeForMiaoRate(tid); } busySend = false; } } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TBApply_Data); } finally { sendMessageDoTimer.Enabled = true; } }
/// <summary> /// 搜索评价信息[搜索评价信息,只能获取距今180天内的评价记录(只支持查询卖家给出或得到的评价)。] /// </summary> /// <param name="sessionKey"></param> /// <param name="tradeRatestr"></param> /// <returns></returns> internal List <TradeRate> GetTraderateList(string sessionKey, tradeRateQueryCls tradeRatestr) { List <TradeRate> listrate = new List <TradeRate>(); ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret); TraderatesGetRequest req = new TraderatesGetRequest(); req.Fields = "tid,oid,role,nick,result,created,rated_nick,item_title,item_price,content,reply,num_iid"; if (string.IsNullOrEmpty(tradeRatestr.RateType)) { return(null); } req.RateType = tradeRatestr.RateType; if (string.IsNullOrEmpty(tradeRatestr.Role)) { return(null); } req.Role = tradeRatestr.Role; req.Result = tradeRatestr.Result; req.PageNo = tradeRatestr.PageNo; req.PageSize = tradeRatestr.PageSize; DateTime dateTime = tradeRatestr.StartDate.HasValue ? tradeRatestr.StartDate.Value : DateTime.Now.AddMonths(-1); req.StartDate = DateTime.Parse(dateTime.Date.ToString("yyyy-MM-dd")); DateTime dateTime1 = tradeRatestr.EndDate.HasValue ? tradeRatestr.EndDate.Value : DateTime.Now; req.EndDate = DateTime.Parse(dateTime1.Date.ToString("yyyy-MM-dd")); req.Tid = tradeRatestr.Tid; req.UseHasNext = tradeRatestr.UseHasNext; req.NumIid = tradeRatestr.NumIid; TraderatesGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { return(null); } else { TradeRate tr = null; foreach (Top.Api.Domain.TradeRate item in response.TradeRates) { tr = new TradeRate(); tr.Content = item.Content; tr.Created = item.Created; tr.ItemPrice = item.ItemPrice; tr.ItemTitle = item.ItemTitle; tr.Nick = item.Nick; tr.NumIid = item.NumIid; tr.Oid = item.Oid; tr.RatedNick = item.RatedNick; tr.Reply = item.Reply; tr.Result = item.Result; tr.Role = item.Role; tr.Tid = item.Tid; tr.ValidScore = item.ValidScore; listrate.Add(tr); } } return(listrate); }
public static ExchangeRateWaterInformation ToRateWaterInfo(TradeRate tradeRate) { return new ExchangeRateWaterInformation { StockCode = tradeRate.PriceCode, Rate = tradeRate.Rate, Water = tradeRate.Water, }; }
public ReturnType UpdateTradeRate(TradeRate traderate) { try { using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { /*TradeRate result = alading.TradeRate.Where(p => p.TradeRateID == traderate.TradeRateID).FirstOrDefault();*/ TradeRate result = alading.TradeRate.Where(p => p.TradeRateCode == traderate.TradeRateCode).FirstOrDefault(); if (result == null) { return(ReturnType.NotExisted); } #region Using Attach() Function Update,Default USE; alading.Attach(result); alading.ApplyPropertyChanges("TradeRate", traderate); #endregion #region Using All Items Replace To Update ,Default UnUse /* * * result.tid = traderate.tid; * * result.oid = traderate.oid; * * result.role = traderate.role; * * result.nick = traderate.nick; * * result.result = traderate.result; * * result.created = traderate.created; * * result.rated_nick = traderate.rated_nick; * * result.item_title = traderate.item_title; * * result.item_price = traderate.item_price; * * result.content = traderate.content; * * result.reply = traderate.reply; * */ #endregion if (alading.SaveChanges() == 1) { return(ReturnType.Success); } return(ReturnType.OthersError); } } catch (SqlException sex) { return(ReturnType.ConnFailed); } catch (Exception ex) { return(ReturnType.OthersError); } }
public static ReturnType UpdateTradeRate(string traderateCode, TradeRate traderate) { return(DataProviderClass.Instance().UpdateTradeRate(traderateCode, traderate)); }
public static ReturnType AddTradeRate(TradeRate traderate) { return(DataProviderClass.Instance().AddTradeRate(traderate)); }