|
...
|
...
|
@@ -336,7 +336,7 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand) |
|
|
|
}
|
|
|
|
//判定要求的更新的订单类型
|
|
|
|
if oldOrderData.OrderType != cmd.OrderType {
|
|
|
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, fmt.Sprintf("待更新的订单的类型已变更"))
|
|
|
|
return nil, lib.ThrowError(lib.BUSINESS_ERROR, fmt.Sprintf("操作失败,待更新的订单的类型已变更"))
|
|
|
|
}
|
|
|
|
//获取旧的订单中的商品
|
|
|
|
oldOrderGoods, _, err = orderGoodRepository.Find(domain.OrderGoodFindQuery{
|
|
...
|
...
|
@@ -499,3 +499,46 @@ func (service OrderInfoService) Delivery(cmd command.OrderDeliveryCommand) error |
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
//DisableOrEnable 开启关闭订单
|
|
|
|
func (service OrderInfoService) DisableOrEnable(cmd command.DisableOrderCommand) error {
|
|
|
|
var (
|
|
|
|
transactionContext, _ = factory.CreateTransactionContext(nil)
|
|
|
|
err error
|
|
|
|
)
|
|
|
|
if err = transactionContext.StartTransaction(); err != nil {
|
|
|
|
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
defer func() {
|
|
|
|
transactionContext.RollbackTransaction()
|
|
|
|
}()
|
|
|
|
var (
|
|
|
|
orderBaseRepository domain.OrderBaseRepository
|
|
|
|
oldOrderData *domain.OrderBase
|
|
|
|
)
|
|
|
|
if orderBaseRepository, err = factory.CreateOrderBaseRepository(map[string]interface{}{
|
|
|
|
"transactionContext": transactionContext,
|
|
|
|
}); err != nil {
|
|
|
|
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
//获取旧的订单
|
|
|
|
oldOrderData, err = orderBaseRepository.FindOne(domain.OrderBaseFindOneQuery{
|
|
|
|
OrderId: cmd.OrderId,
|
|
|
|
})
|
|
|
|
if err != nil {
|
|
|
|
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("未找到指定的订单:%s", err))
|
|
|
|
}
|
|
|
|
if oldOrderData.OrderType != cmd.OrderType {
|
|
|
|
return lib.ThrowError(lib.BUSINESS_ERROR, fmt.Sprintf("操作失败,指定的订单的类型发生变更"))
|
|
|
|
}
|
|
|
|
oldOrderData.IsDisable = cmd.IsDisable
|
|
|
|
err = orderBaseRepository.Save(oldOrderData)
|
|
|
|
if err != nil {
|
|
|
|
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("保存订单数据失败:%s", err))
|
|
|
|
}
|
|
|
|
err = transactionContext.CommitTransaction()
|
|
|
|
if err != nil {
|
|
|
|
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
} |
...
|
...
|
|