正在显示
14 个修改的文件
包含
240 行增加
和
76 行删除
1 | package subscriber | 1 | package subscriber |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "github.com/linmadan/egglib-go/core/domain" | ||
5 | + "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain/event" | ||
4 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction" | 6 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction" |
5 | ) | 7 | ) |
6 | 8 | ||
@@ -9,6 +11,24 @@ type OrderLogSubscriber struct { | @@ -9,6 +11,24 @@ type OrderLogSubscriber struct { | ||
9 | transactionContext *transaction.TransactionContext | 11 | transactionContext *transaction.TransactionContext |
10 | } | 12 | } |
11 | 13 | ||
12 | -func (subscriber OrderLogSubscriber) AddLog() error { | 14 | +var _ domain.DomainEventSubscriber = (*OrderLogSubscriber)(nil) |
15 | + | ||
16 | +func (subscriber *OrderLogSubscriber) HandleEvent(domainEvent domain.DomainEvent) error { | ||
17 | + switch domainEvent.EventType() { | ||
18 | + case event.UPDATE_BONUS_BY_GOOD_NUMBER_EVENT: | ||
19 | + | ||
20 | + case event.UPDATE_BONUS_BY_PARTENT_BONUS_PERCENT_EVENT: | ||
21 | + case event.UPDATE_ORDER_REMARK: | ||
22 | + case event.PAY_ORDER_GOOD_BONUS_EVENT: | ||
23 | + } | ||
13 | return nil | 24 | return nil |
14 | } | 25 | } |
26 | + | ||
27 | +func (subscriber *OrderLogSubscriber) SubscribedToEventTypes() []string { | ||
28 | + return []string{ | ||
29 | + event.UPDATE_BONUS_BY_GOOD_NUMBER_EVENT, | ||
30 | + event.UPDATE_BONUS_BY_PARTENT_BONUS_PERCENT_EVENT, | ||
31 | + event.UPDATE_ORDER_REMARK, | ||
32 | + event.PAY_ORDER_GOOD_BONUS_EVENT, | ||
33 | + } | ||
34 | +} |
@@ -2,6 +2,7 @@ package command | @@ -2,6 +2,7 @@ package command | ||
2 | 2 | ||
3 | import "time" | 3 | import "time" |
4 | 4 | ||
5 | +//订单发货 | ||
5 | type OrderDeliveryCommand struct { | 6 | type OrderDeliveryCommand struct { |
6 | OrderId int64 `json:"orderId"` | 7 | OrderId int64 `json:"orderId"` |
7 | DeliveryTime time.Time `json:"deliveryTime"` | 8 | DeliveryTime time.Time `json:"deliveryTime"` |
1 | package command | 1 | package command |
2 | 2 | ||
3 | -//更新订单的商品数字并更新分红的数据 | 3 | +//UpdateGoodBouns 更新订单的商品数量,和支付状态 并更新分红的数据 |
4 | type UpdateGoodBouns struct { | 4 | type UpdateGoodBouns struct { |
5 | Id int64 `json:"id"` //订单id | 5 | Id int64 `json:"id"` //订单id |
6 | GoodBouns []GoodBouns `json:"goodBouns"` | 6 | GoodBouns []GoodBouns `json:"goodBouns"` |
@@ -615,7 +615,7 @@ func (service OrderInfoService) DisableOrEnable(cmd command.DisableOrderCommand) | @@ -615,7 +615,7 @@ func (service OrderInfoService) DisableOrEnable(cmd command.DisableOrderCommand) | ||
615 | return nil | 615 | return nil |
616 | } | 616 | } |
617 | 617 | ||
618 | -//UpdateGoodBouns 更新货品的分红相关的数值 | 618 | +//UpdateGoodBouns 分红时,更新货品的分红相关的数值 |
619 | func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) error { | 619 | func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) error { |
620 | var ( | 620 | var ( |
621 | transactionContext, _ = factory.CreateTransactionContext(nil) | 621 | transactionContext, _ = factory.CreateTransactionContext(nil) |
@@ -690,7 +690,7 @@ func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) err | @@ -690,7 +690,7 @@ func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) err | ||
690 | } | 690 | } |
691 | } | 691 | } |
692 | oldOrderData.Goods = oldOrderGoods | 692 | oldOrderData.Goods = oldOrderGoods |
693 | - //变更订单类型 | 693 | + |
694 | err = oldOrderData.Compute() | 694 | err = oldOrderData.Compute() |
695 | if err != nil { | 695 | if err != nil { |
696 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("核算订单中合计的数值失败:%s", err)) | 696 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("核算订单中合计的数值失败:%s", err)) |
@@ -710,3 +710,43 @@ func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) err | @@ -710,3 +710,43 @@ func (service OrderInfoService) UpdateGoodBouns(cmd command.UpdateGoodBouns) err | ||
710 | return nil | 710 | return nil |
711 | 711 | ||
712 | } | 712 | } |
713 | + | ||
714 | +//UpdateBounsWithGoodNumber 分红时,因修改订单中商品的数量发生分红变动 | ||
715 | +func (service OrderInfoService) UpdateBounsByGoodNumber() error { | ||
716 | + var ( | ||
717 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
718 | + err error | ||
719 | + ) | ||
720 | + if err = transactionContext.StartTransaction(); err != nil { | ||
721 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
722 | + } | ||
723 | + defer func() { | ||
724 | + transactionContext.RollbackTransaction() | ||
725 | + }() | ||
726 | + //TODO | ||
727 | + err = transactionContext.CommitTransaction() | ||
728 | + if err != nil { | ||
729 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
730 | + } | ||
731 | + return nil | ||
732 | +} | ||
733 | + | ||
734 | +//UpdateBounsByPartnerBonusPercent 分红时,因修改订单中商品的合伙人分行比例发生分红变动 | ||
735 | +func (service OrderInfoService) UpdateBounsByPartnerBonusPercent() error { | ||
736 | + var ( | ||
737 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
738 | + err error | ||
739 | + ) | ||
740 | + if err = transactionContext.StartTransaction(); err != nil { | ||
741 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
742 | + } | ||
743 | + defer func() { | ||
744 | + transactionContext.RollbackTransaction() | ||
745 | + }() | ||
746 | + //TODO | ||
747 | + err = transactionContext.CommitTransaction() | ||
748 | + if err != nil { | ||
749 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
750 | + } | ||
751 | + return nil | ||
752 | +} |
pkg/domain/event/modifyOrderGoodBonus.go
0 → 100644
1 | +package event | ||
2 | + | ||
3 | +const ( | ||
4 | + //订单分红因为货品的数量变动而发送改变 | ||
5 | + UPDATE_BONUS_BY_GOOD_NUMBER_EVENT string = "UpdateBonusByGoodNumber" | ||
6 | + //订单分红因为合伙人分红比例变动而发送改变 | ||
7 | + UPDATE_BONUS_BY_PARTENT_BONUS_PERCENT_EVENT string = "UpdateBounsByPartnerBonusPercent" | ||
8 | + //更新订单的备注 | ||
9 | + UPDATE_ORDER_REMARK string = "UpdateOrderRemark" | ||
10 | +) | ||
11 | + | ||
12 | +//UpdateBonusByGoodNumber | ||
13 | +//订单分红因为货品的数量变动而发送改变 | ||
14 | +type UpdateBonusByGoodNumber struct { | ||
15 | + //订单id | ||
16 | + OrderId int64 | ||
17 | + //管理员id | ||
18 | + AdminId int64 | ||
19 | + //货品id | ||
20 | + GoodId int64 | ||
21 | + //货品名称 | ||
22 | + GoodName string | ||
23 | + //旧的货品数量 | ||
24 | + FormerNumber string | ||
25 | + //新的货品数量 | ||
26 | + NewNumber string | ||
27 | + //旧的货品总额 | ||
28 | + FormerAmount string | ||
29 | + //新的货品总额 | ||
30 | + NewAmount string | ||
31 | +} | ||
32 | + | ||
33 | +//EventType 事件名称 | ||
34 | +func (m UpdateBonusByGoodNumber) EventType() string { | ||
35 | + return UPDATE_BONUS_BY_GOOD_NUMBER_EVENT | ||
36 | +} | ||
37 | + | ||
38 | +//UpdateBounsByPartnerBonusPercent | ||
39 | +//订单分红因为合伙人分红比例变动而发送改变 | ||
40 | +type UpdateBounsByPartnerBonusPercent struct { | ||
41 | + //订单id | ||
42 | + OrderId int64 | ||
43 | + //管理员id | ||
44 | + AdminId int64 | ||
45 | + //货品id | ||
46 | + GoodId int64 | ||
47 | + //货品名称 | ||
48 | + GoodName string | ||
49 | + //旧的合伙人分红比例 | ||
50 | + FormerPartnerBonusPercent string | ||
51 | + //新的合伙人分红比例 | ||
52 | + NewPartnerBonusPercent string | ||
53 | + //旧的合伙人分红 | ||
54 | + FormerPartnerBonus string | ||
55 | + //新的合伙人分红 | ||
56 | + NewPartnerBonus string | ||
57 | +} | ||
58 | + | ||
59 | +//EventType 事件名称 | ||
60 | +func (m UpdateBounsByPartnerBonusPercent) EventType() string { | ||
61 | + return UPDATE_BONUS_BY_PARTENT_BONUS_PERCENT_EVENT | ||
62 | +} | ||
63 | + | ||
64 | +//UpdateOrderRemark 更新订单的备注 | ||
65 | +type UpdateOrderRemark struct { | ||
66 | + //订单id | ||
67 | + OrderId int64 | ||
68 | + //管理员id | ||
69 | + AdminId int64 | ||
70 | + //旧的备注 | ||
71 | + FormerRemark string | ||
72 | + //新的备注 | ||
73 | + NewRemark string | ||
74 | +} | ||
75 | + | ||
76 | +//EventType 事件名称 | ||
77 | +func (m UpdateOrderRemark) EventType() string { | ||
78 | + return UPDATE_ORDER_REMARK | ||
79 | +} |
1 | package event | 1 | package event |
2 | 2 | ||
3 | const ( | 3 | const ( |
4 | - PAY_ORDER_GOOD_BONUS_EVENT string = "pay-order-good-bonus-event" | 4 | + PAY_ORDER_GOOD_BONUS_EVENT string = "PayOrderGoodBonus" |
5 | ) | 5 | ) |
6 | 6 | ||
7 | -//WxPayOrderGoodBonus | ||
8 | -//事件:支付来自微信小程序的订单中货品的分红 | 7 | +//PayOrderGoodBonus |
8 | +//事件:支付订单中货品的分红 | ||
9 | type PayOrderGoodBonus struct { | 9 | type PayOrderGoodBonus struct { |
10 | //订单id | 10 | //订单id |
11 | OrderId int64 | 11 | OrderId int64 |
pkg/domain/event/wxOrderModify.go
已删除
100644 → 0
1 | -package event | ||
2 | - | ||
3 | -const ( | ||
4 | - ORDER_GOOD_MODIFY_EVENT string = "order-good-modify-event" | ||
5 | -) | ||
6 | - | ||
7 | -type WxOrderGoodModify struct { | ||
8 | - //订单id | ||
9 | - GoodId int64 | ||
10 | - //货品名称 [0]旧值,[1]新值 | ||
11 | - GoodName [2]string | ||
12 | - //商品数量 [0]旧值,[1]新值 | ||
13 | - GoodNumber [2]string | ||
14 | - //合伙人分红比例 [0]旧值,[1]新值 | ||
15 | - PartnerBonusPercent [2]string | ||
16 | - //合伙人应收分红 [0]旧值,[1]新值 | ||
17 | - PartnerBonus [2]string | ||
18 | - //总价 | ||
19 | - Amount [2]string | ||
20 | -} | ||
21 | - | ||
22 | -//OrderModify | ||
23 | -//事件:修改微信小程序的订单数据 | ||
24 | -type WxOrderModify struct { | ||
25 | - //订单id | ||
26 | - OrderId int64 | ||
27 | - //管理员id | ||
28 | - AdminId int64 | ||
29 | - //更改的订单基础数据 | ||
30 | - GoodModify []WxOrderGoodModify | ||
31 | - //订单备注 [0]旧值,[1]新值 | ||
32 | - Remark [2]string | ||
33 | -} | ||
34 | - | ||
35 | -//EventType 事件名称 | ||
36 | -func (m WxOrderModify) EventType() string { | ||
37 | - return ORDER_GOOD_MODIFY_EVENT | ||
38 | -} |
@@ -17,16 +17,16 @@ const ( | @@ -17,16 +17,16 @@ const ( | ||
17 | //OrderLogDescript 描述日志内容 | 17 | //OrderLogDescript 描述日志内容 |
18 | type OrderLogDescript struct { | 18 | type OrderLogDescript struct { |
19 | Title string `json:"title"` //标题 | 19 | Title string `json:"title"` //标题 |
20 | - Action string `json:"action"` //执行的动作描述 | 20 | + Item string `json:"item"` //修改的项目 |
21 | Modifyitem []string `json:"modifyItem"` //动作执行结果 | 21 | Modifyitem []string `json:"modifyItem"` //动作执行结果 |
22 | } | 22 | } |
23 | 23 | ||
24 | //OrderLogContentItem 记录订单的相关属性值的修改 | 24 | //OrderLogContentItem 记录订单的相关属性值的修改 |
25 | -type OrderLogContentItem struct { | ||
26 | - Table string `json:"table"` //修改的表数据主体,"order_good","order_base" | ||
27 | - TableId string `json:"tableId"` //表id | 25 | +type OrderLogContent struct { |
26 | + OrderId string `json:"orderId"` //订单id | ||
27 | + GoodId string `json:"goodId"` //货品id | ||
28 | Title string `json:"title"` //名称标题 | 28 | Title string `json:"title"` //名称标题 |
29 | - Item string `json:"item"` //修改的项目 | 29 | + Item string `json:"item"` //修改的数据字段 |
30 | FormerValue string `json:"formerValue"` //旧值 | 30 | FormerValue string `json:"formerValue"` //旧值 |
31 | NewValue string `json:"newValue"` //新值 | 31 | NewValue string `json:"newValue"` //新值 |
32 | } | 32 | } |
@@ -36,9 +36,10 @@ type OrderLog struct { | @@ -36,9 +36,10 @@ type OrderLog struct { | ||
36 | OrderId int64 `json:"order_id"` //订单id | 36 | OrderId int64 `json:"order_id"` //订单id |
37 | AlterTime time.Time `json:"alter_time"` //时间 | 37 | AlterTime time.Time `json:"alter_time"` //时间 |
38 | Operator string `json:"operator"` //操作人员 | 38 | Operator string `json:"operator"` //操作人员 |
39 | + OperatorId int64 `json:"operatorId"` //操作人员Id | ||
39 | OperatorType string `json:"operatorType"` //操作人员的类型 | 40 | OperatorType string `json:"operatorType"` //操作人员的类型 |
40 | LogAction string `json:"logAction"` //执行动作 | 41 | LogAction string `json:"logAction"` //执行动作 |
41 | Descript []OrderLogDescript `json:"descript"` //描述日志内容 | 42 | Descript []OrderLogDescript `json:"descript"` //描述日志内容 |
42 | - Content []OrderLogContentItem `json:"content"` //记录订单的操作动作 | 43 | + Content []OrderLogContent `json:"content"` //记录订单的操作动作 |
43 | DataFrom string `json:"dataFrom"` //修改操作的来源:"web_admin" | 44 | DataFrom string `json:"dataFrom"` //修改操作的来源:"web_admin" |
44 | } | 45 | } |
pkg/domain/service/order_bonus.go
0 → 100644
1 | +package service | ||
2 | + | ||
3 | +type OrderBonusService interface { | ||
4 | + UpdateBounsByGoodNumber(orderId int64, adminId int64, goodWithNumber map[int64]int) error | ||
5 | + UpdateBounsByPartnerBonusPercent(orderId int64, adminId int64, goodWithPercent map[int]float64) error | ||
6 | + PayOrderGoodBonus(orderId int64, goodId int64, adminId int64) error | ||
7 | +} |
@@ -11,19 +11,18 @@ import ( | @@ -11,19 +11,18 @@ import ( | ||
11 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/lib" | 11 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/lib" |
12 | ) | 12 | ) |
13 | 13 | ||
14 | -//WxOrderServices 处理来自微信小程序(海鲜干货)的订单 | ||
15 | -type WxOrderServices struct { | 14 | +//OrderBonusServices 处理订单分红的相关操作 |
15 | +type OrderBonusServices struct { | ||
16 | coreDomain.BaseEventPublisher | 16 | coreDomain.BaseEventPublisher |
17 | transactionContext *transaction.TransactionContext | 17 | transactionContext *transaction.TransactionContext |
18 | } | 18 | } |
19 | 19 | ||
20 | -//ModifyOrderGoodData 修改订单中的单个货品的数量 | ||
21 | -func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, adminId int64, goodNumber int) error { | 20 | +//UpdateBounsWithGoodNumber 分红时,因修改订单中商品的数量发生分红变动 |
21 | +func (serve OrderBonusServices) UpdateBounsByGoodNumber(orderId int64, adminId int64, goodWithNumber map[int64]int) error { | ||
22 | var ( | 22 | var ( |
23 | userRepository domain.UsersRepository | 23 | userRepository domain.UsersRepository |
24 | orderBaseReponsitory domain.OrderBaseRepository | 24 | orderBaseReponsitory domain.OrderBaseRepository |
25 | orderGoodRepository domain.OrderGoodRepository | 25 | orderGoodRepository domain.OrderGoodRepository |
26 | - oldOrderGoods domain.OrderGood | ||
27 | oldOrder *domain.OrderBase | 26 | oldOrder *domain.OrderBase |
28 | adminUser domain.Users | 27 | adminUser domain.Users |
29 | err error | 28 | err error |
@@ -44,7 +43,7 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | @@ -44,7 +43,7 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | ||
44 | } | 43 | } |
45 | oldOrder.Goods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{OrderId: orderId}) | 44 | oldOrder.Goods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{OrderId: orderId}) |
46 | if err != nil { | 45 | if err != nil { |
47 | - e := fmt.Sprintf("获取订单中的货品(id=%d)数据失败,%s", goodId, err) | 46 | + e := fmt.Sprintf("获取订单(id=%d)中的货品数据失败,%s", orderId, err) |
48 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | 47 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) |
49 | } | 48 | } |
50 | adminUser, err = userRepository.FindOne(domain.UsersFindOneQuery{Id: adminId}) | 49 | adminUser, err = userRepository.FindOne(domain.UsersFindOneQuery{Id: adminId}) |
@@ -52,10 +51,7 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | @@ -52,10 +51,7 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | ||
52 | e := fmt.Sprintf("获取管理员用户(id=%d)数据失败,%s", adminId, err) | 51 | e := fmt.Sprintf("获取管理员用户(id=%d)数据失败,%s", adminId, err) |
53 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | 52 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) |
54 | } | 53 | } |
55 | - if adminUser.CompanyId != oldOrderGoods.CompanyId { | ||
56 | - e := fmt.Sprintf("获取管理员用户(id=%d)和货品(id=%d)不在同一家公司", adminId, goodId) | ||
57 | - return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
58 | - } | 54 | + _ = adminUser |
59 | //TODO数据更新操作 | 55 | //TODO数据更新操作 |
60 | //事件发布 | 56 | //事件发布 |
61 | // modifyEvent := event.OrderModify{ | 57 | // modifyEvent := event.OrderModify{ |
@@ -69,13 +65,12 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | @@ -69,13 +65,12 @@ func (serve WxOrderServices) ModifyOrderGoodNumber(orderId int64, goodId int64, | ||
69 | return nil | 65 | return nil |
70 | } | 66 | } |
71 | 67 | ||
72 | -//ModifyOrderGoodData 修改订单中的单个货品的合伙人分成比例 | ||
73 | -func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, goodId int64, adminId int64, goodNumber int) error { | 68 | +//UpdateBounsByPartnerBonusPercent 分红时,因修改订单中商品的合伙人分行比例发生分红变动 |
69 | +func (serve OrderBonusServices) UpdateBounsByPartnerBonusPercent(orderId int64, adminId int64, goodWithPercent map[int]float64) error { | ||
74 | var ( | 70 | var ( |
75 | userRepository domain.UsersRepository | 71 | userRepository domain.UsersRepository |
76 | orderBaseReponsitory domain.OrderBaseRepository | 72 | orderBaseReponsitory domain.OrderBaseRepository |
77 | orderGoodRepository domain.OrderGoodRepository | 73 | orderGoodRepository domain.OrderGoodRepository |
78 | - oldOrderGoods domain.OrderGood | ||
79 | oldOrder *domain.OrderBase | 74 | oldOrder *domain.OrderBase |
80 | adminUser domain.Users | 75 | adminUser domain.Users |
81 | err error | 76 | err error |
@@ -96,7 +91,7 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | @@ -96,7 +91,7 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | ||
96 | } | 91 | } |
97 | oldOrder.Goods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{OrderId: orderId}) | 92 | oldOrder.Goods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{OrderId: orderId}) |
98 | if err != nil { | 93 | if err != nil { |
99 | - e := fmt.Sprintf("获取订单中的货品(id=%d)数据失败,%s", goodId, err) | 94 | + e := fmt.Sprintf("获取订单中(id=%d)的货品数据失败,%s", orderId, err) |
100 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | 95 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) |
101 | } | 96 | } |
102 | adminUser, err = userRepository.FindOne(domain.UsersFindOneQuery{Id: adminId}) | 97 | adminUser, err = userRepository.FindOne(domain.UsersFindOneQuery{Id: adminId}) |
@@ -104,10 +99,7 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | @@ -104,10 +99,7 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | ||
104 | e := fmt.Sprintf("获取管理员用户(id=%d)数据失败,%s", adminId, err) | 99 | e := fmt.Sprintf("获取管理员用户(id=%d)数据失败,%s", adminId, err) |
105 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | 100 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) |
106 | } | 101 | } |
107 | - if adminUser.CompanyId != oldOrderGoods.CompanyId { | ||
108 | - e := fmt.Sprintf("获取管理员用户(id=%d)和货品(id=%d)不在同一家公司", adminId, goodId) | ||
109 | - return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
110 | - } | 102 | + _ = adminUser |
111 | //TODO数据更新操作 | 103 | //TODO数据更新操作 |
112 | //事件发布 | 104 | //事件发布 |
113 | // modifyEvent := event.OrderModify{ | 105 | // modifyEvent := event.OrderModify{ |
@@ -122,8 +114,40 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | @@ -122,8 +114,40 @@ func (serve WxOrderServices) ModifyOrderGoodPartnerBonusPercent(orderId int64, g | ||
122 | } | 114 | } |
123 | 115 | ||
124 | //PayOrderGoodBonus 支付订单中货品的分红 | 116 | //PayOrderGoodBonus 支付订单中货品的分红 |
125 | -func (serve WxOrderServices) PayOrderGoodBonus(goodId int64, adminId int64) error { | ||
126 | - var err error | 117 | +func (serve OrderBonusServices) PayOrderGoodBonus(orderId int64, goodId int64, adminId int64) error { |
118 | + var ( | ||
119 | + userRepository domain.UsersRepository | ||
120 | + orderBaseReponsitory domain.OrderBaseRepository | ||
121 | + orderGoodRepository domain.OrderGoodRepository | ||
122 | + oldOrder *domain.OrderBase | ||
123 | + adminUser domain.Users | ||
124 | + err error | ||
125 | + ) | ||
126 | + if orderGoodRepository, err = repository.NewOrderGoodRepository(serve.transactionContext); err != nil { | ||
127 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
128 | + } | ||
129 | + if orderBaseReponsitory, err = repository.NewOrderBaseRepository(serve.transactionContext); err != nil { | ||
130 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
131 | + } | ||
132 | + if userRepository, err = repository.NewUsersRepository(serve.transactionContext); err != nil { | ||
133 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
134 | + } | ||
135 | + oldOrder, err = orderBaseReponsitory.FindOne(domain.OrderBaseFindOneQuery{OrderId: orderId}) | ||
136 | + if err != nil { | ||
137 | + e := fmt.Sprintf("获取订单(id=%d)数据失败,%s", orderId, err) | ||
138 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
139 | + } | ||
140 | + oldOrder.Goods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{OrderId: orderId}) | ||
141 | + if err != nil { | ||
142 | + e := fmt.Sprintf("获取订单中(id=%d)的货品数据失败,%s", orderId, err) | ||
143 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
144 | + } | ||
145 | + adminUser, err = userRepository.FindOne(domain.UsersFindOneQuery{Id: adminId}) | ||
146 | + if err != nil { | ||
147 | + e := fmt.Sprintf("获取管理员用户(id=%d)数据失败,%s", adminId, err) | ||
148 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
149 | + } | ||
150 | + _ = adminUser | ||
127 | //TODO | 151 | //TODO |
128 | payEvent := event.PayOrderGoodBonus{ | 152 | payEvent := event.PayOrderGoodBonus{ |
129 | GoodId: goodId, | 153 | GoodId: goodId, |
1 | package models | 1 | package models |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "context" | ||
4 | "time" | 5 | "time" |
5 | 6 | ||
7 | + "github.com/go-pg/pg/v10" | ||
6 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" | 8 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" |
7 | ) | 9 | ) |
8 | 10 | ||
@@ -12,9 +14,17 @@ type OrderLog struct { | @@ -12,9 +14,17 @@ type OrderLog struct { | ||
12 | OrderId int64 `` //订单id | 14 | OrderId int64 `` //订单id |
13 | AlterTime time.Time `` //时间 | 15 | AlterTime time.Time `` //时间 |
14 | Operator string `` //操作人员 | 16 | Operator string `` //操作人员 |
17 | + OperatorId int64 `` //操作人员Id | ||
15 | OperatorType string `` //操作人员的类型 | 18 | OperatorType string `` //操作人员的类型 |
16 | - Action string `` //执行动作 | 19 | + LogAction string `` //执行动作 |
17 | Descript []domain.OrderLogDescript `` //描述日志内容 | 20 | Descript []domain.OrderLogDescript `` //描述日志内容 |
18 | - //Content []domain.OrderLogContent `` //记录订单的操作动作 | 21 | + Content []domain.OrderLogContent `` //记录订单的操作动作 |
19 | DataFrom string `` //修改操作的来源:"web_admin" | 22 | DataFrom string `` //修改操作的来源:"web_admin" |
20 | } | 23 | } |
24 | + | ||
25 | +var _ pg.BeforeInsertHook = (*OrderBase)(nil) | ||
26 | + | ||
27 | +func (l *OrderLog) BeforeInsert(ctx context.Context) (context.Context, error) { | ||
28 | + l.AlterTime = time.Now() | ||
29 | + return ctx, nil | ||
30 | +} |
@@ -4,6 +4,7 @@ import ( | @@ -4,6 +4,7 @@ import ( | ||
4 | "fmt" | 4 | "fmt" |
5 | 5 | ||
6 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" | 6 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" |
7 | + "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/models" | ||
7 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction" | 8 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/infrastructure/pg/transaction" |
8 | ) | 9 | ) |
9 | 10 | ||
@@ -19,6 +20,24 @@ func NewOrderInfoRepository(transactionContext *transaction.TransactionContext) | @@ -19,6 +20,24 @@ func NewOrderInfoRepository(transactionContext *transaction.TransactionContext) | ||
19 | return &OrderLogRepository{transactionContext: transactionContext}, nil | 20 | return &OrderLogRepository{transactionContext: transactionContext}, nil |
20 | } | 21 | } |
21 | 22 | ||
22 | -func (reponsitory OrderLogRepository) transformPgModelToDomainModel() (data domain.OrderLog, err error) { | ||
23 | - return domain.OrderLog{}, nil | 23 | +func (reponsitory OrderLogRepository) transformPgModelToDomainModel(m *models.OrderLog) (data domain.OrderLog, err error) { |
24 | + return domain.OrderLog{ | ||
25 | + OrderId: m.OrderId, | ||
26 | + Operator: m.Operator, | ||
27 | + OperatorId: m.OperatorId, | ||
28 | + OperatorType: m.OperatorType, | ||
29 | + AlterTime: m.AlterTime, | ||
30 | + LogAction: m.LogAction, | ||
31 | + Descript: m.Descript, | ||
32 | + DataFrom: m.DataFrom, | ||
33 | + Content: m.Content, | ||
34 | + }, nil | ||
35 | +} | ||
36 | + | ||
37 | +func (reponsitory OrderLogRepository) Add(data domain.OrderLog) error { | ||
38 | + return nil | ||
39 | +} | ||
40 | + | ||
41 | +func (reponsitory OrderLogRepository) Find(data domain.OrderLog) ([]domain.OrderLog, int, error) { | ||
42 | + return nil, 0, nil | ||
24 | } | 43 | } |
-
请 注册 或 登录 后发表评论