切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
唐旭辉
4 years ago
提交
b67fbb223dfb60f7a10c55c8d8ff8e64b741c938
1 个父辈
0751fdd1
master
...
dev
feature/multi-miniprogram
master20210315
master20210622
test
v0.8.0-dev
0.9.2
0.9.1
0.9.0
0.8.0
修改 订单唯一性判定
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
23 行增加
和
37 行删除
pkg/application/orderinfo/service/order_info.go
pkg/infrastructure/dao/pg_order_base_dao.go
pkg/application/orderinfo/service/order_info.go
查看文件 @
b67fbb2
...
...
@@ -225,20 +225,14 @@ func (service OrderInfoService) CreateNewOrder(cmd command.CreateOrderCommand) (
});
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
//检查order_code是否重复
// if ok, err := orderBaseDao.OrderCodeExist(cmd.OrderCode, cmd.PartnerCategory, cmd.PartnerId); err != nil {
// return nil, lib.ThrowError(lib.TRANSACTION_ERROR, err.Error())
// } else if ok {
// return nil, lib.ThrowError(lib.BUSINESS_ERROR, "订单号已存在")
// }
//检查delivery_code是否重复
if
len
(
cmd
.
DeliveryCode
)
>
0
{
if
ok
,
err
:=
orderBaseDao
.
DeliveryCodeExist
(
cmd
.
DeliveryCode
,
cmd
.
CompanyId
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"发货号已存在"
)
}
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
0
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"订单已存在"
)
}
newOrder
:=
&
domain
.
OrderBase
{
OrderType
:
cmd
.
OrderType
,
OrderCode
:
cmd
.
OrderCode
,
DeliveryCode
:
cmd
.
DeliveryCode
,
...
...
@@ -436,12 +430,10 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand)
// }
// }
//检查delivery_code是否重复
if
cmd
.
DeliveryCode
!=
oldOrderData
.
DeliveryCode
{
if
ok
,
err
:=
orderBaseDao
.
DeliveryCodeExist
(
cmd
.
DeliveryCode
,
cmd
.
CompanyId
,
cmd
.
Id
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"发货号已存在"
)
}
if
ok
,
err
:=
orderBaseDao
.
CheckOrderExist
(
cmd
.
CompanyId
,
cmd
.
OrderCode
,
cmd
.
DeliveryCode
,
cmd
.
PartnerCategory
,
cmd
.
PartnerId
,
cmd
.
Id
);
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
TRANSACTION_ERROR
,
err
.
Error
())
}
else
if
ok
{
return
nil
,
lib
.
ThrowError
(
lib
.
BUSINESS_ERROR
,
"订单已存在"
)
}
//获取旧的订单中的商品
oldOrderGoods
,
_
,
err
=
orderGoodRepository
.
Find
(
domain
.
OrderGoodFindQuery
{
...
...
pkg/infrastructure/dao/pg_order_base_dao.go
查看文件 @
b67fbb2
...
...
@@ -23,26 +23,20 @@ func NewOrderBaseDao(transactionContext *transaction.TransactionContext) (*Order
}
}
//OrderCodeExist 检查order_code是否重复
//
func
(
dao
OrderBaseDao
)
OrderCodeExist
(
code
string
,
partnerCategory
int64
,
partnerId
int64
)
(
bool
,
error
)
{
//CheckOrderUnique 检查订单的是否已存在
//@companyId 公司id
//@orderCode 订单号
//@deliveryCode 发货单号
//@partnerCategoryCode 合伙人类型编号
func
(
dao
OrderBaseDao
)
CheckOrderExist
(
companyId
int64
,
orderCode
string
,
deliveryCode
string
,
partnerCategory
int64
,
partnerId
int64
,
notId
int64
)
(
bool
,
error
)
{
tx
:=
dao
.
transactionContext
.
GetDB
()
m
:=
&
models
.
OrderBase
{}
query
:=
tx
.
Model
(
m
)
.
Where
(
"order_code=?"
,
code
)
.
query
:=
tx
.
Model
(
&
models
.
OrderBase
{})
.
Where
(
"company_id=?"
,
companyId
)
.
Where
(
"order_code=?"
,
orderCode
)
.
Where
(
"partner_id=?"
,
partnerId
)
.
Where
(
`partner_category @>'{"id":?}'`
,
partnerCategory
)
ok
,
err
:=
query
.
Exists
()
return
ok
,
err
}
func
(
dao
OrderBaseDao
)
DeliveryCodeExist
(
code
string
,
companyId
int64
,
notId
...
int64
)
(
bool
,
error
)
{
tx
:=
dao
.
transactionContext
.
GetDB
()
m
:=
&
models
.
OrderBase
{}
query
:=
tx
.
Model
(
m
)
.
Where
(
"delivery_code=?"
,
code
)
.
Where
(
"company_id=?"
,
companyId
)
if
len
(
notId
)
>
0
{
query
=
query
.
WhereIn
(
"id not in(?)"
,
notId
)
}
Where
(
`partner_category @>'{"id":?}'`
,
partnerCategory
)
.
Where
(
"id<>?"
,
notId
)
ok
,
err
:=
query
.
Exists
()
return
ok
,
err
}
...
...
请
注册
或
登录
后发表评论