切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
5 years ago
提交
c370bc3a4ef524778b9ee7e50365afea9245d10a
1 个父辈
330c55c6
新增
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
126 行增加
和
6 行删除
Dockerfile
pkg/application/orderinfo/command/order_delivery.go
pkg/application/orderinfo/service/order_info.go
pkg/port/beego/controllers/order_info_controlller.go
pkg/port/beego/routers/router.go
Dockerfile
查看文件 @
c370bc3
...
...
@@ -5,11 +5,12 @@ WORKDIR $APP_DIR/
COPY ./pkg pkg
COPY ./conf conf
COPY ./go.mod go.mod
COPY ./vendor vendor
COPY ./main.go main.go
RUN ["ln","-sf","/usr/share/zoneinfo/Asia/Shanghai","/etc/localtime"]
ENV GO111MODULE on
ENV GOPROXY https://goproxy.cn
RUN ["go","mod","tidy"]
RUN ["go","build"]
RUN ["go","build"
,"-mod=vendor"
]
EXPOSE 8082
ENTRYPOINT ["./partnermg"]
\ No newline at end of file
...
...
pkg/application/orderinfo/command/order_delivery.go
0 → 100644
查看文件 @
c370bc3
package
command
import
"time"
type
OrderDeliveryCommand
struct
{
OrderId
int64
`json:"orderId"`
DeliveryTime
time
.
Time
`json:"deliveryTime"`
DeliveryCode
string
`json:"deliveryCode"`
Goods
[]
OrderGoodData
`json:"goods"`
}
...
...
pkg/application/orderinfo/service/order_info.go
查看文件 @
c370bc3
...
...
@@ -2,6 +2,7 @@ package service
import
(
"fmt"
"time"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/factory"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/orderinfo/command"
...
...
@@ -274,9 +275,7 @@ func (service OrderInfoService) DeleteOrder(orderId int64) error {
return
nil
}
//发货
//编辑订单
//UpdateOrderData 编辑订单
func
(
service
OrderInfoService
)
UpdateOrderData
(
cmd
command
.
UpdateOrderCommand
)
(
*
domain
.
OrderBase
,
error
)
{
var
(
transactionContext
,
_
=
factory
.
CreateTransactionContext
(
nil
)
...
...
@@ -352,6 +351,10 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand)
if
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"核算订单中商品的数值失败:%s"
,
err
))
}
err
=
m
.
CurrentBonusStatus
.
WartPayPartnerBonus
(
&
m
)
if
err
!=
nil
{
return
nil
,
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"核算订单中商品的分红数值失败:%s"
,
err
))
}
newOrderGoods
=
append
(
newOrderGoods
,
m
)
}
oldOrderData
.
OrderCode
=
cmd
.
OrderCode
...
...
@@ -389,7 +392,7 @@ func (service OrderInfoService) UpdateOrderData(cmd command.UpdateOrderCommand)
return
oldOrderData
,
nil
}
//新旧商品列表对比
//
deleteOldOrderGoods
新旧商品列表对比
func
(
service
OrderInfoService
)
deleteOldOrderGoods
(
newGoods
[]
domain
.
OrderGood
,
oldGoods
[]
domain
.
OrderGood
)
(
goodIds
[]
int64
)
{
for
_
,
old
:=
range
oldGoods
{
var
hasIn
bool
...
...
@@ -405,3 +408,86 @@ func (service OrderInfoService) deleteOldOrderGoods(newGoods []domain.OrderGood,
}
return
}
//Delivery 发货
func
(
service
OrderInfoService
)
Delivery
(
cmd
command
.
OrderDeliveryCommand
)
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
orderGoodRepository
domain
.
OrderGoodRepository
oldOrderData
*
domain
.
OrderBase
oldOrderGoods
[]
domain
.
OrderGood
)
if
orderBaseRepository
,
err
=
factory
.
CreateOrderBaseRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
,
});
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
if
orderGoodRepository
,
err
=
factory
.
CreateOrderGoodRepository
(
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
))
}
//获取旧的订单中的商品
oldOrderGoods
,
_
,
err
=
orderGoodRepository
.
Find
(
domain
.
OrderGoodFindQuery
{
OrderId
:
cmd
.
OrderId
,
})
if
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"未找到指定的订单中的商品列表失败:%s"
,
err
))
}
for
_
,
newGood
:=
range
cmd
.
Goods
{
for
i
:=
range
oldOrderGoods
{
if
newGood
.
Id
!=
oldOrderGoods
[
i
]
.
Id
{
continue
}
oldOrderGoods
[
i
]
.
GoodName
=
newGood
.
GoodName
oldOrderGoods
[
i
]
.
PlanGoodNumber
=
newGood
.
PlanGoodNumber
oldOrderGoods
[
i
]
.
Price
=
newGood
.
Price
oldOrderGoods
[
i
]
.
PartnerBonusPercent
=
newGood
.
PartnerBonusPercent
oldOrderGoods
[
i
]
.
Remark
=
newGood
.
Remark
err
=
oldOrderGoods
[
i
]
.
Compute
()
if
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"核算订单中商品的数值失败:%s"
,
err
))
}
err
=
oldOrderGoods
[
i
]
.
CurrentBonusStatus
.
WartPayPartnerBonus
(
&
oldOrderGoods
[
i
])
if
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"核算订单中商品的分红数值失败:%s"
,
err
))
}
}
}
oldOrderData
.
DeliveryCode
=
cmd
.
DeliveryCode
oldOrderData
.
DeliveryTime
=
time
.
Now
()
err
=
oldOrderData
.
Compute
()
if
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"核算订单中合计的数值失败:%s"
,
err
))
}
err
=
orderBaseRepository
.
Save
(
oldOrderData
)
if
err
!=
nil
{
return
lib
.
ThrowError
(
lib
.
INTERNAL_SERVER_ERROR
,
fmt
.
Sprintf
(
"保存订单数据失败:%s"
,
err
))
}
err
=
orderGoodRepository
.
Save
(
oldOrderGoods
)
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
}
...
...
pkg/port/beego/controllers/order_info_controlller.go
查看文件 @
c370bc3
...
...
@@ -257,3 +257,25 @@ func (c *OrderInfoController) editOrderPurpose(param postPurposeOrderDetail) err
_
,
err
:=
orderSrv
.
UpdateOrderData
(
updatecmd
)
return
err
}
//OrderPurposeDelivery 发货 意向订单转实发单
func
(
c
*
OrderInfoController
)
OrderPurposeDelivery
()
{
//用与适配前端定义的数据结构
var
(
param
orderDetail
err
error
)
if
err
=
c
.
BindJsonData
(
&
param
);
err
!=
nil
{
logs
.
Error
(
err
)
c
.
ResponseError
(
errors
.
New
(
"json数据解析失败"
))
return
}
orderSrv
:=
orderService
.
NewOrderInfoService
(
nil
)
deliveryCommand
:=
orderCmd
.
OrderDeliveryCommand
{}
err
=
orderSrv
.
Delivery
(
deliveryCommand
)
if
err
!=
nil
{
c
.
ResponseError
(
err
)
}
c
.
ResponseData
(
nil
)
return
}
...
...
pkg/port/beego/routers/router.go
查看文件 @
c370bc3
...
...
@@ -37,12 +37,13 @@ func init() {
// beego.NSRouter("/purpose/update", &controllers.OrderController{}, "POST:UpdateOrderPurpose"),
// beego.NSRouter("/purpose/detail", &controllers.OrderController{}, "POST:GetOrderPurpose"),
// beego.NSRouter("/purpose/del", &controllers.OrderController{}, "POST:RemoveOrderPurpose"),
//beego.NSRouter("/purpose/convert", &controllers.OrderController{}, "POST:OrderPurposeToReal"),
beego
.
NSRouter
(
"/purpose/list"
,
&
controllers
.
OrderInfoController
{},
"POST:PageListOrderPurpose"
),
beego
.
NSRouter
(
"/purpose/update"
,
&
controllers
.
OrderInfoController
{},
"POST:UpdateOrderPurpose"
),
beego
.
NSRouter
(
"/purpose/detail"
,
&
controllers
.
OrderInfoController
{},
"POST:GetOrderPurpose"
),
beego
.
NSRouter
(
"/purpose/del"
,
&
controllers
.
OrderInfoController
{},
"POST:RemoveOrderPurpose"
),
beego
.
NSRouter
(
"/purpose/convert"
,
&
controllers
.
OrderInfoController
{},
"POST:OrderPurposeDelivery"
),
beego
.
NSRouter
(
"/purpose/convert"
,
&
controllers
.
OrderController
{},
"POST:OrderPurposeToReal"
),
beego
.
NSRouter
(
"/actual/list"
,
&
controllers
.
OrderController
{},
"POST:PageListOrderReal"
),
beego
.
NSRouter
(
"/actual/update"
,
&
controllers
.
OrderController
{},
"POST:UpdateOrderReal"
),
beego
.
NSRouter
(
"/actual/detail"
,
&
controllers
.
OrderController
{},
"POST:GetOrderReal"
),
...
...
请
注册
或
登录
后发表评论