我正在做一个电子商务网站的推广部分。
我们有两种促销方式:
向客户提供折扣
向顾客提供礼品(免费)
这两种促销活动都要求客户满足一些先决条件。例如,如果购物车的小计超过1000美元,顾客可以得到20%的折扣。另一个例子是,如果购物车的小计超过1500美元,顾客可以得到一个iPad 3作为礼物。
你可以看到,这两种晋升的前提条件是相似的。因此,我使用Promotion类来表示促销,使用PromotionRule类表示客户应该满足的前提条件。模型(用C#编写):
public class Promotion {
public string Name { get; set;
我试图将一些商业案例映射到循环壁垒的使用上。假设我们有一个促销优惠正在进行,只有3个客户可以得到促销优惠。其余的人都不会得到这个提议。
为了映射这个场景,我使用了循环屏障。即使代码工作正常,我也不知道如何处理一些客户无法获得报价的场景。现在,我尝试使用具有超时值的await() API,这样我就可以捕获TimeoutException并让客户知道他无法利用促销服务。这导致了另一个等待线程的BarrierBrokenException。
我想知道,我们如何优雅地处理这些场景,以便选定的客户可以利用促销优惠,而那些谁不能遵循不同的代码路径。
我的密码-
public class CyclicBar
我需要帮助,以创建一个触发器,可以计算价格后,促销。我有两张桌子“产品”和“促销”。在促销表中插入促销价格和产品id后,我想将产品表中的价格更新为促销后的新价格。以下是我的尝试:
CREATE TRIGGER update_promotion
AFTER INSERT ON promo
SELECT @prix_promo = prix_promotion FROM INSERTED;
SELECT @id = id_prod FROM INSERTED;
SELECT @prix_sanspromo = prix