切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
唐旭辉
4 years ago
提交
3ab6436226a1b7ff9b7737c59a0d1f2cab2ad667
1 个父辈
10859b96
修复bug:订单唯一性校验
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
21 行增加
和
7 行删除
pkg/application/orderinfo/service/order_info.go
pkg/infrastructure/dao/pg_order_base_dao.go
pkg/application/orderinfo/service/order_info.go
查看文件 @
3ab6436
...
...
@@ -235,9 +235,12 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) (
});
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
goodNames
:=
[]
string
{}
for
_
,
v
:=
range
cmd
.
Goods
{
goodNames
=
append
(
goodNames
,
v
.
GoodName
)
}
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
0
);
err
!=
nil
{
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
0
,
goodNames
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"订单已存在"
)
...
...
@@ -447,8 +450,13 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand)
// return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单号已存在")
// }
// }
goodNames
:=
[]
string
{}
for
_
,
v
:=
range
cmd
.
Goods
{
goodNames
=
append
(
goodNames
,
v
.
GoodName
)
}
//检查delivery_code是否重复
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
cmd
.
Id
);
err
!=
nil
{
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
cmd
.
Id
,
goodNames
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"订单已存在"
)
...
...
@@ -1056,10 +1064,13 @@ func (service OrderInfoService) CreateNewOrderByImport(createOrderCommands []*co
errorDataList
=
append
(
errorDataList
,
row
)
continue
}
goodNames
:=
[]
string
{}
for
_
,
v
:=
range
cmd
.
Goods
{
goodNames
=
append
(
goodNames
,
v
.
GoodName
)
}
// 批量校验订单
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
0
);
err
!=
nil
{
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
0
,
goodNames
);
err
!=
nil
{
row
:=
&
domain
.
ImportInfo
{
Error
:
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
()),
LineNumbers
:
cmd
.
LineNumbers
,
// 错误影响的行
...
...
pkg/infrastructure/dao/pg_order_base_dao.go
查看文件 @
3ab6436
...
...
@@ -28,16 +28,19 @@ func NewOrderBaseDao(transactionContext *transaction.TransactionContext) (*Order
//@orderCode 订单号
//@deliveryCode 发货单号
//@partnerCategoryCode 合伙人类型编号
//@goodNames 货品名称列表
func
(
dao
OrderBaseDao
)
CheckOrderExist
(
companyId
int64
,
orderCode
string
,
deliveryCode
string
,
partnerCategory
int64
,
partnerId
int64
,
notId
int64
)
(
bool
,
error
)
{
deliveryCode
string
,
partnerCategory
int64
,
partnerId
int64
,
notId
int64
,
goodNames
[]
string
)
(
bool
,
error
)
{
tx
:=
dao
.
transactionContext
.
GetDB
()
query
:=
tx
.
Model
(
&
models
.
OrderBase
{})
.
Join
(
"JOIN order_good ON order_base.id=order_good.order_id"
)
.
Where
(
"company_id=?"
,
companyId
)
.
Where
(
"order_code=?"
,
orderCode
)
.
Where
(
"delivery_code=?"
,
deliveryCode
)
.
Where
(
"partner_id=?"
,
partnerId
)
.
Where
(
`partner_category @>'{"id":?}'`
,
partnerCategory
)
.
Where
(
"id<>?"
,
notId
)
Where
(
"id<>?"
,
notId
)
.
WhereIn
(
"order_good.good_name in(?)"
,
goodNames
)
ok
,
err
:=
query
.
Exists
()
return
ok
,
err
}
...
...
请
注册
或
登录
后发表评论