|
@@ -186,7 +186,9 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) ( |
|
@@ -186,7 +186,9 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) ( |
|
186
|
transactionContext, _ = factory.CreateTransactionContext(nil)
|
186
|
transactionContext, _ = factory.CreateTransactionContext(nil)
|
|
187
|
err error
|
187
|
err error
|
|
188
|
)
|
188
|
)
|
|
189
|
-
|
189
|
+ if err = cmd.Valid(); err != nil {
|
|
|
|
190
|
+ return nil, lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
|
|
|
|
191
|
+ }
|
|
190
|
if err = transactionContext.StartTransaction(); err != nil {
|
192
|
if err = transactionContext.StartTransaction(); err != nil {
|
|
191
|
return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
|
193
|
return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
|
|
192
|
}
|
194
|
}
|
|
@@ -232,7 +234,15 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) ( |
|
@@ -232,7 +234,15 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) ( |
|
232
|
} else if ok {
|
234
|
} else if ok {
|
|
233
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单已存在")
|
235
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单已存在")
|
|
234
|
}
|
236
|
}
|
|
235
|
-
|
237
|
+ //检查货品数据
|
|
|
|
238
|
+ var goodMap = map[string]int{}
|
|
|
|
239
|
+ for i := range cmd.Goods {
|
|
|
|
240
|
+ goodname := cmd.Goods[i].GoodName
|
|
|
|
241
|
+ if _, ok := goodMap[goodname]; ok {
|
|
|
|
242
|
+ return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单中货品重复已存在")
|
|
|
|
243
|
+ }
|
|
|
|
244
|
+ goodMap[goodname] = 1
|
|
|
|
245
|
+ }
|
|
236
|
newOrder := &domain.OrderBase{
|
246
|
newOrder := &domain.OrderBase{
|
|
237
|
OrderType: cmd.OrderType, OrderCode: cmd.OrderCode,
|
247
|
OrderType: cmd.OrderType, OrderCode: cmd.OrderCode,
|
|
238
|
DeliveryCode: cmd.DeliveryCode,
|
248
|
DeliveryCode: cmd.DeliveryCode,
|
|
@@ -435,6 +445,15 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand) |
|
@@ -435,6 +445,15 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand) |
|
435
|
} else if ok {
|
445
|
} else if ok {
|
|
436
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单已存在")
|
446
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单已存在")
|
|
437
|
}
|
447
|
}
|
|
|
|
448
|
+ //检查货品数据
|
|
|
|
449
|
+ var goodMap = map[string]int{}
|
|
|
|
450
|
+ for i := range cmd.Goods {
|
|
|
|
451
|
+ goodname := cmd.Goods[i].GoodName
|
|
|
|
452
|
+ if _, ok := goodMap[goodname]; ok {
|
|
|
|
453
|
+ return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单中货品重复已存在")
|
|
|
|
454
|
+ }
|
|
|
|
455
|
+ goodMap[goodname] = 1
|
|
|
|
456
|
+ }
|
|
438
|
//获取旧的订单中的商品
|
457
|
//获取旧的订单中的商品
|
|
439
|
oldOrderGoods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{
|
458
|
oldOrderGoods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{
|
|
440
|
OrderId: cmd.Id,
|
459
|
OrderId: cmd.Id,
|