/// <summary> /// 从IDataReader创建OrderProductInfo /// </summary> public static OrderProductInfo BuildOrderProductFromReader(IDataReader reader) { OrderProductInfo orderProductInfo = new OrderProductInfo(); orderProductInfo.RecordId = TypeHelper.ObjectToInt(reader["recordid"]); orderProductInfo.Oid = TypeHelper.ObjectToInt(reader["oid"]); orderProductInfo.Uid = TypeHelper.ObjectToInt(reader["uid"]); orderProductInfo.Sid = reader["sid"].ToString(); orderProductInfo.Pid = TypeHelper.ObjectToInt(reader["pid"]); orderProductInfo.PSN = reader["psn"].ToString(); orderProductInfo.CateId = TypeHelper.ObjectToInt(reader["cateid"]); orderProductInfo.BrandId = TypeHelper.ObjectToInt(reader["brandid"]); orderProductInfo.Name = reader["name"].ToString(); orderProductInfo.ShowImg = reader["showimg"].ToString(); orderProductInfo.DiscountPrice = TypeHelper.ObjectToDecimal(reader["discountprice"]); orderProductInfo.ShopPrice = TypeHelper.ObjectToDecimal(reader["shopprice"]); orderProductInfo.CostPrice = TypeHelper.ObjectToDecimal(reader["costprice"]); orderProductInfo.MarketPrice = TypeHelper.ObjectToDecimal(reader["marketprice"]); orderProductInfo.Weight = TypeHelper.ObjectToInt(reader["weight"]); orderProductInfo.IsReview = TypeHelper.ObjectToInt(reader["isreview"]); orderProductInfo.RealCount = TypeHelper.ObjectToInt(reader["realcount"]); orderProductInfo.BuyCount = TypeHelper.ObjectToInt(reader["buycount"]); orderProductInfo.SendCount = TypeHelper.ObjectToInt(reader["sendcount"]); orderProductInfo.Type = TypeHelper.ObjectToInt(reader["type"]); orderProductInfo.PayCredits = TypeHelper.ObjectToInt(reader["paycredits"]); orderProductInfo.CouponTypeId = TypeHelper.ObjectToInt(reader["coupontypeid"]); orderProductInfo.ExtCode1 = TypeHelper.ObjectToInt(reader["extcode1"]); orderProductInfo.ExtCode2 = TypeHelper.ObjectToInt(reader["extcode2"]); orderProductInfo.ExtCode3 = TypeHelper.ObjectToInt(reader["extcode3"]); orderProductInfo.ExtCode4 = TypeHelper.ObjectToInt(reader["extcode4"]); orderProductInfo.ExtCode5 = TypeHelper.ObjectToInt(reader["extcode5"]); orderProductInfo.AddTime = TypeHelper.ObjectToDateTime(reader["addtime"]); return orderProductInfo; }
/// <summary> /// 发放评价商品积分 /// </summary> /// <param name="partUserInfo">用户信息</param> /// <param name="orderProductInfo">订单商品</param> /// <param name="reviewTime">评价时间</param> public static int SendReviewProductCredits(ref PartUserInfo partUserInfo, OrderProductInfo orderProductInfo, DateTime reviewTime) { if (_creditconfiginfo.ReviewProductPayCredits > 0 || _creditconfiginfo.ReviewProductRankCredits > 0) { int surplusPayCredits = GetDaySurplusPayCredits(partUserInfo.Uid, reviewTime.Date); int surplusRankCredits = GetDaySurplusRankCredits(partUserInfo.Uid, reviewTime.Date); if (surplusPayCredits == 0 && surplusRankCredits == 0) return 0; int payCredits = 0; int rankCredits = 0; if (surplusPayCredits > 0) payCredits = surplusPayCredits < _creditconfiginfo.ReviewProductPayCredits ? surplusPayCredits : _creditconfiginfo.ReviewProductPayCredits; else if (surplusPayCredits == -1) payCredits = _creditconfiginfo.ReviewProductPayCredits; if (surplusRankCredits > 0) rankCredits = surplusRankCredits < _creditconfiginfo.ReviewProductRankCredits ? surplusRankCredits : _creditconfiginfo.ReviewProductRankCredits; else if (surplusRankCredits == -1) rankCredits = _creditconfiginfo.ReviewProductRankCredits; partUserInfo.PayCredits += payCredits; partUserInfo.RankCredits += rankCredits; int userRid = UserRanks.GetUserRankByCredits(partUserInfo.RankCredits).UserRid; if (userRid != partUserInfo.UserRid) partUserInfo.UserRid = userRid; else userRid = 0; CreditLogInfo creditLogInfo = new CreditLogInfo(); creditLogInfo.Uid = partUserInfo.Uid; creditLogInfo.PayCredits = payCredits; creditLogInfo.RankCredits = rankCredits; creditLogInfo.Action = (int)CreditAction.ReviewProduct; creditLogInfo.ActionCode = orderProductInfo.Oid; creditLogInfo.ActionTime = reviewTime; creditLogInfo.ActionDes = "评价商品:" + orderProductInfo.Name; creditLogInfo.Operator = 0; SendCredits(userRid, creditLogInfo); return payCredits; } return 0; }