/// <summary> /// 修改兑换状态 /// </summary> /// <param name="view"></param> /// <returns></returns> public void UpdateIntegralConsumption(Guid id, ChinaPay.B3B.Common.Enums.ExchangeState State, string no, string company, string address, string reason) { string sql = @"UPDATE [dbo].[T_IntegralConsumption] SET Exchange=@Exchange,[DeliveryAddress]=@DeliveryAddress,[ExpressCompany]=@ExpressCompany,[ExpressDelivery]=@ExpressDelivery,[Reason]=@Reason WHERE ID = @ID"; AddParameter("Exchange", (byte)State); AddParameter("DeliveryAddress", address); AddParameter("ExpressCompany", company); AddParameter("ExpressDelivery", no); AddParameter("Reason", reason); AddParameter("ID", id); ExecuteNonQuery(sql); }
/// <summary> /// 修改兑换状态 /// </summary> /// <param name="view"></param> /// <returns></returns> public static void UpdateIntegralConsumption(Guid id, ChinaPay.B3B.Common.Enums.ExchangeState State, string operatorName, string no, string company, string address, string reason) { using (var cmd = Factory.CreateCommand()) { var reposity = Factory.CreateIntegralReposity(cmd); cmd.BeginTransaction(); try { reposity.UpdateIntegralConsumption(id, State, no, company, address, reason); //如果是拒绝兑换,将积分返回给用户,商品数量加回去 if (State == ExchangeState.Refuse) { IntegralConsumptionView view = reposity.GetIntegralConsumption(id); IntegralCount count = new IntegralCount { CompnayId = view.CompnayId, Integral = view.ConsumptionIntegral }; IntegralInfo integral = new IntegralInfo { CompnayId = view.CompnayId, AccessTime = DateTime.Now, IntegralWay = IntegralWay.RefuseExchange, Remark = reason, Integral = view.ConsumptionIntegral }; count.Integral = integral.Integral; if (count.Integral != 0) { reposity.InsertIntegralInfo(integral); reposity.UpdateIntegralCount(count); if (view.CommodityId.HasValue) { reposity.UpdateShelvesNum(view.CommodityId.Value, view.CommodityCount); } } } cmd.CommitTransaction(); } catch (Exception) { cmd.RollbackTransaction(); throw; } } saveUpdateLog("兑换状态", "处理中", State.GetDescription(), OperatorRole.Platform, id.ToString(), operatorName); }