Skip to content
Snippets Groups Projects
Unverified Commit c429de22 authored by Pengfei Jiang's avatar Pengfei Jiang Committed by GitHub
Browse files

fix: fix example (#17)

parent 1d6e3495
No related branches found
No related tags found
No related merge requests found
......@@ -16,16 +16,24 @@
package event_handler
import (
"context"
ddd "github.com/bytedance/dddfirework"
"github.com/bytedance/dddfirework/example/common/domain_event/sale"
)
// OnOrderCreatedHandler 实现了 ICommandMain 的接口
type OnOrderCreatedHandler struct {
ddd.Command
event *sale.OrderCreatedEvent
}
func (h *OnOrderCreatedHandler) Main(ctx context.Context, repo *ddd.Repository) (err error) {
// handle order created event here
logger.Info("order created")
return nil
}
func NewOnOrderCreatedHandler(evt *sale.OrderCreatedEvent) *OnOrderCreatedHandler {
return &OnOrderCreatedHandler{
event: evt,
......
......@@ -16,18 +16,23 @@
package event_handler
import (
"context"
ddd "github.com/bytedance/dddfirework"
"github.com/bytedance/dddfirework/example/common/domain_event/sale"
"github.com/bytedance/dddfirework/logger/stdr"
)
type OnSaleItemAddedHandler struct {
ddd.Command
var logger = stdr.NewStdr("handler")
// OnSaleItemAddedHandler 是 MainFunc 类型
func OnSaleItemAddedHandler(ctx context.Context, repo *ddd.Repository) (err error) {
// handle sale item added event here
logger.Info("sale item added")
event *sale.OrderSaleItemAddedEvent
return nil
}
func NewOnSaleItemAddedHandler(evt *sale.OrderSaleItemAddedEvent) *OnSaleItemAddedHandler {
return &OnSaleItemAddedHandler{
event: evt,
}
func NewOnSaleItemAddedHandler(evt *sale.OrderSaleItemAddedEvent) ddd.MainFunc {
return OnSaleItemAddedHandler
}
......@@ -28,7 +28,15 @@ type RuleEngine interface {
Validate(order *Order, rule string) error
}
var ruler RuleEngine
var ruler OrderRuleEngine
type OrderRuleEngine struct {
}
func (o *OrderRuleEngine) Validate(order *Order, rule string) error {
// validate here
return nil
}
type UpdateOrderOpt struct {
Remark *string
......@@ -147,6 +155,8 @@ func (o *Order) AddCoupon(couponID, rule string, discount int64) error {
CouponID: couponID,
Rule: rule,
Discount: discount,
order: o,
})
if invalid := o.fixCoupons(); len(invalid) > 0 {
return fmt.Errorf("coupon invalid")
......
......@@ -36,6 +36,11 @@ import (
)
func initPO(db *gorm.DB) {
// 可选,如果使用 mysql 实现 eventbus,需要提前建表。
if err := db.AutoMigrate(&db_eventbus.EventPO{}, &db_eventbus.Transaction{}, &db_eventbus.ServicePO{}); err != nil {
panic(err)
}
if err := db.AutoMigrate(&po.OrderPO{}, &po.CouponPO{}, &po.SaleItemPO{}); err != nil {
panic(err)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment