Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
b42aeac1
提交
b42aeac1
authored
4月 08, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
a34eee65
56c5a292
全部展开
显示空白字符变更
内嵌
并排
正在显示
42 个修改的文件
包含
495 行增加
和
213 行删除
+495
-213
order.js
mobile-web/src/api/order.js
+36
-0
product.js
mobile-web/src/api/product.js
+3
-3
promotion.js
mobile-web/src/api/promotion.js
+4
-0
user.js
mobile-web/src/api/user.js
+1
-1
product.vue
mobile-web/src/components/page/product.vue
+31
-21
request.js
mobile-web/src/config/request.js
+13
-3
router.js
mobile-web/src/config/router.js
+7
-0
detail.vue
mobile-web/src/page/product/detail.vue
+56
-27
order-success.vue
mobile-web/src/page/shipping/order-success.vue
+35
-0
order.vue
mobile-web/src/page/shipping/order.vue
+39
-14
list.vue
mobile-web/src/page/user/order/list.vue
+0
-0
pom.xml
order/order-application/pom.xml
+0
-16
MVCConfiguration.java
...coder/mall/order/application/config/MVCConfiguration.java
+9
-0
AdminsOrderController.java
.../application/controller/admins/AdminsOrderController.java
+7
-7
UsersOrderController.java
...er/application/controller/users/UsersOrderController.java
+31
-2
OrderConvertAPP.java
...coder/mall/order/application/convert/OrderConvertAPP.java
+11
-6
OrderDeliveryConvert.java
.../mall/order/application/convert/OrderDeliveryConvert.java
+1
-1
OrderDeliverPO.java
...coder/mall/order/application/po/admin/OrderDeliverPO.java
+1
-1
OrderItemUpdatePO.java
...er/mall/order/application/po/admin/OrderItemUpdatePO.java
+1
-1
OrderLogisticsPO.java
...der/mall/order/application/po/admin/OrderLogisticsPO.java
+1
-1
OrderPagePO.java
.../iocoder/mall/order/application/po/admin/OrderPagePO.java
+1
-1
OrderPageQueryPO.java
...der/mall/order/application/po/admin/OrderPageQueryPO.java
+1
-1
OrderCreatePO.java
...iocoder/mall/order/application/po/user/OrderCreatePO.java
+39
-0
pom.xml
order/order-service-api/pom.xml
+8
-6
OrderService.java
...src/main/java/cn/iocoder/mall/order/api/OrderService.java
+1
-2
OrderPayBO.java
...rc/main/java/cn/iocoder/mall/order/api/bo/OrderPayBO.java
+12
-0
OrderErrorCodeEnum.java
...n/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
+7
-0
OrderPayStatus.java
...va/cn/iocoder/mall/order/api/constant/OrderPayStatus.java
+2
-2
PayAppId.java
...ain/java/cn/iocoder/mall/order/api/constant/PayAppId.java
+16
-0
OrderCreateDTO.java
...in/java/cn/iocoder/mall/order/api/dto/OrderCreateDTO.java
+6
-22
OrderUserPageDTO.java
.../java/cn/iocoder/mall/order/api/dto/OrderUserPageDTO.java
+45
-0
pom.xml
order/order-service-impl/pom.xml
+19
-38
OrderRecipientConvert.java
...iocoder/mall/order/biz/convert/OrderRecipientConvert.java
+4
-0
OrderItemDO.java
...ava/cn/iocoder/mall/order/biz/dataobject/OrderItemDO.java
+4
-4
OrderServiceImpl.java
...a/cn/iocoder/mall/order/biz/service/OrderServiceImpl.java
+0
-0
OrderItemMapper.xml
...ervice-impl/src/main/resources/mapper/OrderItemMapper.xml
+10
-5
OrderMapper.xml
...er-service-impl/src/main/resources/mapper/OrderMapper.xml
+6
-6
OrderServiceImplTest.java
.../iocoder/mall/order/biz/service/OrderServiceImplTest.java
+19
-19
UserAddressBO.java
.../main/java/cn/iocoder/mall/user/api/bo/UserAddressBO.java
+3
-1
UserBO.java
...api/src/main/java/cn/iocoder/mall/user/api/bo/UserBO.java
+2
-1
UserPageBO.java
...src/main/java/cn/iocoder/mall/user/api/bo/UserPageBO.java
+2
-1
UserAddressServiceImpl.java
...iocoder/mall/user/biz/service/UserAddressServiceImpl.java
+1
-0
没有找到文件。
mobile-web/src/api/order.js
0 → 100644
浏览文件 @
b42aeac1
import
request
from
"../config/request"
;
export
function
getOrderPage
(
params
)
{
return
request
({
url
:
'/order-api/users/order/order_page'
,
method
:
'get'
,
params
:
{
...
params
,
}
});
}
export
function
cancelOrder
(
id
)
{
return
request
({
url
:
'/product-api/users/spu/info'
,
method
:
'get'
,
params
:
{
id
,
}
});
}
export
function
createOrder
(
params
)
{
return
request
({
headers
:
{
'Content-Type'
:
'application/json'
,
},
url
:
'/order-api/users/order/create_order'
,
method
:
'post'
,
data
:
{
...
params
,
},
});
}
mobile-web/src/api/product.js
浏览文件 @
b42aeac1
...
...
@@ -2,7 +2,7 @@ import request from "../config/request";
export
function
getProductCategoryList
(
pid
)
{
return
request
({
url
:
'product-api/users/category/list'
,
url
:
'
/
product-api/users/category/list'
,
method
:
'get'
,
params
:
{
pid
...
...
@@ -12,7 +12,7 @@ export function getProductCategoryList(pid) {
export
function
getProductSpuPage
(
cid
,
pageNo
,
pageSize
)
{
return
request
({
url
:
'product-api/users/spu/page'
,
url
:
'
/
product-api/users/spu/page'
,
method
:
'get'
,
params
:
{
cid
,
...
...
@@ -24,7 +24,7 @@ export function getProductSpuPage(cid, pageNo, pageSize) {
export
function
getProductSpuInfo
(
id
)
{
return
request
({
url
:
'product-api/users/spu/info'
,
url
:
'
/
product-api/users/spu/info'
,
method
:
'get'
,
params
:
{
id
,
...
...
mobile-web/src/api/promotion.js
浏览文件 @
b42aeac1
...
...
@@ -15,6 +15,9 @@ export function getProductRecommendList() {
return
request
({
url
:
'/promotion-api/users/product_recommend/list'
,
method
:
'get'
,
params
:
{
id
,
}
});
}
...
...
@@ -40,6 +43,7 @@ export function doAddCouponCard(templateId) {
});
}
// Coupon Card
export
function
getCouponPage
(
status
,
pageNo
,
pageSize
)
{
...
...
mobile-web/src/api/user.js
浏览文件 @
b42aeac1
...
...
@@ -74,7 +74,7 @@ export function ExchangeCoupon(code){
export
function
getUserInfo
()
{
return
request
({
url
:
'user-api/users/user/info'
,
url
:
'
/
user-api/users/user/info'
,
method
:
'get'
,
});
}
...
...
mobile-web/src/components/page/product.vue
浏览文件 @
b42aeac1
<
template
>
<div>
<ul
:class=
"'cap-goods-list__container cap-goods-list__container--'+data.classname+' cap-goods-list__container--'+data.ParameterDictionary.showtype+' '+(data.ParameterDictionary.type=='6'?'nowrap':'')"
>
<div>
<ul
:class=
"'cap-goods-list__container cap-goods-list__container--'+data.classname+' cap-goods-list__container--'+data.ParameterDictionary.showtype+' '+(data.ParameterDictionary.type=='6'?'nowrap':'')"
>
<li
v-if=
"productlist.length==0"
style=
"width:100%;height:150px;border:0px;"
>
<div
style=
"width:100%;height:150px;"
></div>
</li>
<li
v-for=
"(item,index) in productlist"
:key=
"index"
:class=
"'cap-goods-list__wrapper '+(data.ParameterDictionary.type=='3'?(index%3==0?'cap-goods-list__wrapper--hybrid-big ':'cap-goods-list__wrapper--hybrid-small '):'')"
>
<router-link
:class=
"'cap-goods-list__item cap-goods-list__item--'+data.classname+' '+data.ParameterDictionary.showtype+' '+data.aclass"
:to=
"'/product/'+item.id"
>
<li
v-for=
"(item,index) in productlist"
:key=
"index"
:class=
"'cap-goods-list__wrapper '+(data.ParameterDictionary.type=='3'?(index%3==0?'cap-goods-list__wrapper--hybrid-big ':'cap-goods-list__wrapper--hybrid-small '):'')"
>
<router-link
:class=
"'cap-goods-list__item cap-goods-list__item--'+data.classname+' '+data.ParameterDictionary.showtype+' '+data.aclass"
:to=
"'/product/'+item.id"
>
<div
class=
"cap-goods-list__photo"
>
<img
class=
"cap-goods-list__img lazy lazyload"
v-lazy=
"item.imageURL+'?w='+((data.ParameterDictionary.type=='1'||data.ParameterDictionary.type=='3')?'750':'375')"
/>
<img
class=
"cap-goods-list__img lazy lazyload"
v-lazy=
"item.imageURL+'?w='+((data.ParameterDictionary.type=='1'||data.ParameterDictionary.type=='3')?'750':'375')"
/>
</div>
<div
:class=
"'cap-goods-list__info has-title has-price '+(data.ParameterDictionary.showtype == 'card'?'has-btn':'')"
>
<div
:class=
"'cap-goods-list__info has-title has-price '+(data.ParameterDictionary.showtype == 'card'?'has-btn':'')"
>
<h3
class=
"title"
>
{{
item
.
title
}}
</h3>
<p
class=
"sale-info"
>
<span
class=
"sale-price"
>
¥
{{
item
.
price
}}
</span>
</p>
</div>
<div
v-if=
"data.ParameterDictionary.showtype == 'card'"
class=
"cap-goods-list__buy-btn-wrapper cap-goods-list__buy-btn-wrapper--4"
>
<button
class=
"cap-goods-list__buy-btn-4 van-button van-button--default van-button--small"
>
{{
data
.
ParameterDictionary
.
buttonvalue
}}
</button>
<div
v-if=
"data.ParameterDictionary.showtype == 'card'"
class=
"cap-goods-list__buy-btn-wrapper cap-goods-list__buy-btn-wrapper--4"
>
<button
class=
"cap-goods-list__buy-btn-4 van-button van-button--default van-button--small"
>
{{
data
.
ParameterDictionary
.
buttonvalue
}}
</button>
</div>
</router-link>
</li>
...
...
@@ -26,21 +36,21 @@
</
template
>
<
script
>
import
{
getProduct
}
from
"../../api/page.js"
;
import
{
getProduct
}
from
"../../api/page.js"
;
export
default
{
name
:
'product'
,
data
()
{
export
default
{
name
:
'product'
,
data
()
{
return
{
productlist
:
[]
}
},
props
:{
data
:
Object
props
:
{
data
:
Object
},
created
:
function
()
{
var
id
=
this
.
data
.
PageSectionId
;
var
data
=
this
.
data
;
created
:
function
()
{
var
id
=
this
.
data
.
PageSectionId
;
var
data
=
this
.
data
;
var
classname
=
"big"
;
var
aclass
=
""
;
switch
(
data
.
ParameterDictionary
.
type
)
{
...
...
@@ -67,13 +77,13 @@ export default {
classname
=
"three"
;
break
;
}
data
.
classname
=
classname
;
data
.
aclass
=
aclass
;
data
.
classname
=
classname
;
data
.
aclass
=
aclass
;
getProduct
(
id
).
then
(
response
=>
{
this
.
productlist
=
response
;
this
.
productlist
=
response
;
})
}
}
}
</
script
>
<
style
>
...
...
mobile-web/src/config/request.js
浏览文件 @
b42aeac1
...
...
@@ -15,9 +15,13 @@ const serviceRouter = function(requestUrl) {
prefix
:
'/user-api'
,
target
:
'http://127.0.0.1:18082/user-api'
,
},
'/product-api'
:
{
prefix
:
'/product-api'
,
target
:
'http://127.0.0.1:18081/product-api'
,
},
'/promotion-api'
:
{
prefix
:
'/promotion-api'
,
target
:
'http://127.0.0.1:18085/promotion-api'
,
target
:
'http://127.0.0.1:18085/
/
promotion-api'
,
},
};
...
...
@@ -30,9 +34,13 @@ const serviceRouter = function(requestUrl) {
prefix
:
'/user-api'
,
target
:
'http://127.0.0.1:18082/user-api'
,
},
'/product-api'
:
{
prefix
:
'/product-api'
,
target
:
'http://127.0.0.1:18081/product-api'
,
},
'/promotion-api'
:
{
prefix
:
'/promotion-api'
,
target
:
'http://127.0.0.1:18085/promotion-api'
,
target
:
'http://127.0.0.1:18085/
/
promotion-api'
,
},
};
...
...
@@ -65,7 +73,9 @@ const serviceRouter = function(requestUrl) {
const
indexOf
=
requestUrl
.
indexOf
(
"/"
,
1
);
const
_urlPrefix
=
requestUrl
.
substring
(
0
,
indexOf
);
if
(
!
config
[
_urlPrefix
])
{
throw
new
Error
(
`服务路由,未找到可用服务!
${
requestUrl
}
`
);
// throw new Error(`服务路由,未找到可用服务! ${requestUrl}`);
console
.
error
(
`服务路由,未找到可用服务!
${
requestUrl
}
`
)
return
''
}
// if (!createServer[_urlPrefix]) {
// throw new Error("服务路由,未找到可用服务!");
...
...
mobile-web/src/config/router.js
浏览文件 @
b42aeac1
...
...
@@ -181,6 +181,13 @@ const routes = [
title
:
'确认订单'
}
},
{
path
:
'/order/success'
,
component
:
()
=>
import
(
'../page/shipping/order-success'
),
meta
:
{
title
:
'确认订单'
}
},
{
name
:
'category'
,
component
:
()
=>
import
(
'../page/category/index'
),
...
...
mobile-web/src/page/product/detail.vue
浏览文件 @
b42aeac1
...
...
@@ -3,7 +3,7 @@
<headerNav
title=
"商品详情"
/>
<van-swipe
class=
"goods-swipe"
:autoplay=
"3000"
>
<van-swipe-item
v-for=
"thumb in spu.picUrls"
:key=
"thumb"
>
<img
:src=
"thumb"
>
<img
:src=
"thumb"
>
</van-swipe-item>
</van-swipe>
...
...
@@ -56,7 +56,7 @@
<!--</van-cell-group>-->
<van-cell-group
class=
"goods-cell-group"
>
<van-cell
is-link
@
click=
"showSku"
>
<van-cell
is-link
@
click=
"showSku"
>
<
template
slot=
"title"
>
<span
style=
"margin-right: 10px;"
>
已选
</span>
<span>
{{
formatSkuText
(
initialSku
)
}}
</span>
...
...
@@ -66,7 +66,7 @@
</van-cell-group>
<div
class=
"goods-info"
>
<p
class=
"goods-info-title"
>
图文详情
</p>
<p
class=
"goods-info-title"
>
图文详情
</p>
<div
v-html=
"spu.description"
></div>
</div>
<van-goods-action>
...
...
@@ -165,12 +165,11 @@
</template>
<
script
>
// import skuData from '../../data/sku';
import
{
getProductSpuInfo
}
from
'../../api/product'
;
// import skuData from '../../data/sku';
import
{
getProductSpuInfo
}
from
'../../api/product'
;
export
default
{
components
:
{
},
export
default
{
components
:
{},
data
()
{
// this.skuData = skuData;
return
{
...
...
@@ -248,16 +247,25 @@ export default {
Toast
(
'暂无后续逻辑~'
);
},
showPromotion
()
{
this
.
show
=
true
;
this
.
show
=
true
;
},
showSku
()
{
// 展示 sku 选择
this
.
showBase
=
true
;
this
.
showBase
=
true
;
},
onClickShowTag
()
{
this
.
showTag
=
true
;
onClickShowTag
()
{
this
.
showTag
=
true
;
},
onBuyClicked
(
data
)
{
this
.
$toast
(
JSON
.
stringify
(
data
));
const
{
selectedNum
,
goodsId
}
=
data
;
console
.
log
(
data
);
// this.$toast(JSON.stringify(data));
this
.
$router
.
push
({
path
:
'/order'
,
query
:{
skuId
:
goodsId
,
quantity
:
selectedNum
,
}
});
},
onAddCartClicked
(
data
)
{
this
.
$toast
(
JSON
.
stringify
(
data
));
...
...
@@ -284,7 +292,7 @@ export default {
};
for
(
let
j
=
0
;
j
<
sku
.
attrs
.
length
;
j
++
)
{
let
attr
=
sku
.
attrs
[
j
];
skuVO
[
'attr_'
+
attr
.
attrId
]
=
attr
.
attrValueId
;
skuVO
[
'attr_'
+
attr
.
attrId
]
=
attr
.
attrValueId
;
}
vanSku
.
list
.
push
(
skuVO
);
// tree 规格
...
...
@@ -330,12 +338,13 @@ export default {
this
.
initialSku
.
quantity
=
1
;
});
}
};
};
</
script
>
<
style
lang=
"less"
>
.goods {
.goods {
padding-bottom: 50px;
&-swipe {
img {
width: 7.5rem;
...
...
@@ -343,22 +352,27 @@ export default {
display: block;
}
}
&-tag{
&-tag {
font-size: 12px;
border-top: 1px solid #e5e5e5;
span{
span {
margin-right: 10px;
}
i{
i {
color: red;
margin-right: 3px;
}
img{
img {
width: 12px;
margin-right: 3px;
margin-top: 6px;
}
}
&-title {
line-height: 18px;
padding-top: 10px;
...
...
@@ -368,38 +382,53 @@ export default {
font-weight: 700;
border-top: 1px solid #f0f0f0;
}
&-subtit{
&-subtit {
font-size: 13px;
color: #333;
line-height: 21px;
}
&-price {
color: #f44;font-size: 20px;
color: #f44;
font-size: 20px;
}
&-market-price {
text-decoration: line-through;
margin-left: 8px;
font-size: 13px;
color: #999;
}
&-cell-group {
margin: 15px 0;
.van-cell__value {
color: #999;
}
}
&-info-title{
height: 44px;line-height: 44px;text-align: center;font-size: 14px;font-weight: 700;margin: 10px;border-top: 1px solid #e5e5e5;
&-info-title {
height: 44px;
line-height: 44px;
text-align: center;
font-size: 14px;
font-weight: 700;
margin: 10px;
border-top: 1px solid #e5e5e5;
}
&-info p{
&-info p {
margin: 0;
padding: 0;
margin-block-end: 0;
margin-block-start: 0;
display: grid;
}
&-info img{
&-info img {
width: 100%;
}
}
}
</
style
>
mobile-web/src/page/shipping/order-success.vue
0 → 100644
浏览文件 @
b42aeac1
<
template
>
<div
class=
"order-success"
>
<headerNav
title=
"提交成功"
/>
<sapn>
TODO 支付成功
</sapn>
<router-link
:to=
"'/user/order'"
>
<van-button
size=
"small"
type=
"danger"
>
订单列表
</van-button>
</router-link>
</div>
</
template
>
<
script
>
import
{
createOrder
}
from
'../../api/order'
;
export
default
{
data
()
{
return
{
}
},
methods
:
{
},
activated
()
{
},
};
</
script
>
<
style
lang=
"less"
>
.order-success {
text-align: center;
}
</
style
>
mobile-web/src/page/shipping/order.vue
浏览文件 @
b42aeac1
...
...
@@ -13,12 +13,12 @@
</
template
>
<
template
v-else
>
<strong>
张三 138****6520
</strong>
<div>
广东省深圳市南山区科技园
</div>
<div>
广东省深圳市南山区科技园
</div>
</
template
>
</van-cell>
<div
style=
"height:15px;"
></div>
<div
class=
"card"
v-for=
"(product,i) in products"
:key=
"i"
>
<product-card
:product=
'product'
/>
<product-card
:product=
'product'
/>
</div>
<div
style=
"height:15px;"
></div>
<van-cell-group>
...
...
@@ -32,15 +32,15 @@
</van-cell-group>
<div
style=
"height:15px;"
></div>
<van-cell-group
class=
"total"
>
<van-cell
title=
"优惠券"
is-link
value=
"抵扣¥5.00"
/>
<van-cell
title=
"优惠券"
is-link
value=
"抵扣¥5.00"
/>
</van-cell-group>
<div
style=
"height:15px;"
></div>
<van-cell-group
class=
"total"
>
<van-cell
title=
"商品总额"
value=
"9.99"
/>
<van-cell
title=
"运费"
value=
"+ 0.00"
/>
<van-cell
title=
"折扣"
value=
"- 5.00"
/>
<van-cell
title=
"实付金额"
value=
"4.99"
style=
"font-weight: 700;"
/>
<van-cell
title=
"商品总额"
value=
"9.99"
/>
<van-cell
title=
"运费"
value=
"+ 0.00"
/>
<van-cell
title=
"折扣"
value=
"- 5.00"
/>
<van-cell
title=
"实付金额"
value=
"4.99"
style=
"font-weight: 700;"
/>
</van-cell-group>
<div
style=
"height:50px;"
></div>
...
...
@@ -55,7 +55,10 @@
</template>
<
script
>
export
default
{
import
{
createOrder
}
from
'../../api/order'
;
export
default
{
data
()
{
return
{
type
:
"add1"
,
...
...
@@ -100,22 +103,39 @@ export default {
methods
:
{
onSubmit
()
{
this
.
$toast
(
"点击按钮"
);
const
{
skuId
,
quantity
}
=
this
.
$route
.
query
;
const
userAddressId
=
1
;
const
remark
=
''
;
const
orderItems
=
[{
skuId
,
quantity
,
}];
createOrder
({
orderItems
,
userAddressId
,
remark
,
})
},
},
activated
(){
activated
()
{
//根据key名获取传递回来的参数,data就是map
this
.
$on
(
'selectAddress'
,
function
(
data
)
{
this
.
$on
(
'selectAddress'
,
function
(
data
)
{
//赋值给首页的附近医院数据模型
console
.
log
(
1
);
}.
bind
(
this
));
},
};
},
};
</
script
>
<
style
lang=
"less"
>
.order {
.order {
font-size: 14px;
background: #f7f7f7;
.contact-card::before {
content: "";
left: 0;
...
...
@@ -147,6 +167,7 @@ export default {
);
background-size: 80px;
}
.total {
.van-cell__value {
color: red;
...
...
@@ -156,17 +177,20 @@ export default {
.van-submit-bar__bar {
border-top: 1px solid #f7f7f7;
}
.additional {
.van-cell {
padding: 0 15px;
font-size: 12px;
}
.van-cell__title {
flex: 11;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.van-tag {
line-height: 12px;
margin-right: 5px;
...
...
@@ -175,10 +199,11 @@ export default {
.price {
color: #e93b3d;
font-size: 10px;
span {
font-size: 16px;
}
}
}
}
}
</
style
>
mobile-web/src/page/user/order/list.vue
浏览文件 @
b42aeac1
差异被折叠。
点击展开。
order/order-application/pom.xml
浏览文件 @
b42aeac1
...
...
@@ -109,29 +109,13 @@
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
3.5.1
</version>
<configuration>
<source>
1.8
</source>
<!-- or higher, depending on your project -->
<target>
1.8
</target>
<!-- or higher, depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${org.mapstruct.version}
</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 打包 -->
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<fork>
true
</fork>
</configuration>
</plugin>
</plugins>
</build>
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/config/MVCConfiguration.java
浏览文件 @
b42aeac1
...
...
@@ -33,4 +33,12 @@ public class MVCConfiguration implements WebMvcConfigurer {
registry
.
addResourceHandler
(
"webjars/**"
).
addResourceLocations
(
"classpath:/META-INF/resources/webjars/"
);
}
// TODO 芋艿,允许跨域
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowedHeaders
(
"*"
)
.
allowedMethods
(
"*"
)
.
allowedOrigins
(
"*"
);
}
}
\ No newline at end of file
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java
浏览文件 @
b42aeac1
...
...
@@ -8,10 +8,10 @@ import cn.iocoder.mall.order.api.bo.OrderRecipientBO;
import
cn.iocoder.mall.order.api.dto.*
;
import
cn.iocoder.mall.order.application.convert.OrderConvertAPP
;
import
cn.iocoder.mall.order.application.convert.OrderDeliveryConvert
;
import
cn.iocoder.mall.order.application.po.OrderDeliverPO
;
import
cn.iocoder.mall.order.application.po.OrderItemUpdatePO
;
import
cn.iocoder.mall.order.application.po.OrderLogisticsPO
;
import
cn.iocoder.mall.order.application.po.OrderPageQueryPO
;
import
cn.iocoder.mall.order.application.po.
admin.
OrderDeliverPO
;
import
cn.iocoder.mall.order.application.po.
admin.
OrderItemUpdatePO
;
import
cn.iocoder.mall.order.application.po.
admin.
OrderLogisticsPO
;
import
cn.iocoder.mall.order.application.po.
admin.
OrderPageQueryPO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -37,7 +37,7 @@ public class AdminsOrderController {
@GetMapping
(
"page"
)
@ApiOperation
(
"订单列表"
)
public
CommonResult
<
OrderPageBO
>
getOrderPage
(
@Validated
OrderPageQueryPO
orderPageQueryVO
)
{
OrderQueryDTO
orderQueryDTO
=
OrderConvertAPP
.
INSTANCE
.
convert
PageBO
(
orderPageQueryVO
);
OrderQueryDTO
orderQueryDTO
=
OrderConvertAPP
.
INSTANCE
.
convert
(
orderPageQueryVO
);
return
orderService
.
getOrderPage
(
orderQueryDTO
);
}
...
...
@@ -86,14 +86,14 @@ public class AdminsOrderController {
@PutMapping
(
"order_item/update"
)
@ApiOperation
(
"更新-订单item"
)
public
CommonResult
updateOrderItem
(
@RequestBody
@Validated
OrderItemUpdatePO
orderItemUpdateVO
)
{
OrderItemUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convert
PageBO
(
orderItemUpdateVO
);
OrderItemUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convert
(
orderItemUpdateVO
);
return
orderService
.
updateOrderItem
(
dto
);
}
@PutMapping
(
"logistics/update"
)
@ApiOperation
(
"更新-订单物流"
)
public
CommonResult
updateLogistics
(
@RequestBody
@Validated
OrderLogisticsPO
orderLogisticsVO
)
{
OrderLogisticsUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convert
PageBO
(
orderLogisticsVO
);
OrderLogisticsUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convert
(
orderLogisticsVO
);
return
orderService
.
updateLogistics
(
dto
);
}
}
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/users/UsersOrderController.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
controller
.
users
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.api.OrderService
;
import
cn.iocoder.mall.order.api.bo.OrderCreateBO
;
import
cn.iocoder.mall.order.api.bo.OrderPageBO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderQueryDTO
;
import
cn.iocoder.mall.order.api.dto.OrderUserPageDTO
;
import
cn.iocoder.mall.order.application.convert.OrderConvertAPP
;
import
cn.iocoder.mall.order.application.po.user.OrderCreatePO
;
import
cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* 订单API(users)
...
...
@@ -12,4 +23,22 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping
(
"users/order"
)
public
class
UsersOrderController
{
@Autowired
private
OrderService
orderService
;
@GetMapping
(
"order_page"
)
public
CommonResult
<
OrderPageBO
>
getOrderPage
(
@Validated
OrderQueryDTO
orderQueryDTO
)
{
Integer
userId
=
UserSecurityContextHolder
.
getContext
().
getUserId
();
orderQueryDTO
.
setUserId
(
userId
);
return
orderService
.
getOrderPage
(
orderQueryDTO
);
}
@PostMapping
(
"create_order"
)
public
CommonResult
<
OrderCreateBO
>
createOrder
(
@RequestBody
@Validated
OrderCreatePO
orderCreatePO
)
{
Integer
userId
=
UserSecurityContextHolder
.
getContext
().
getUserId
();
OrderCreateDTO
orderCreateDTO
=
OrderConvertAPP
.
INSTANCE
.
convert
(
orderCreatePO
);
orderCreateDTO
.
setUserId
(
1
);
return
orderService
.
createOrder
(
orderCreateDTO
);
}
}
order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderConvertAPP.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
convert
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderLogisticsUpdateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderQueryDTO
;
import
cn.iocoder.mall.order.application.po.OrderItemUpdatePO
;
import
cn.iocoder.mall.order.application.po.OrderPageQueryPO
;
import
cn.iocoder.mall.order.application.po.OrderLogisticsPO
;
import
cn.iocoder.mall.order.application.po.admin.OrderItemUpdatePO
;
import
cn.iocoder.mall.order.application.po.admin.OrderLogisticsPO
;
import
cn.iocoder.mall.order.application.po.admin.OrderPageQueryPO
;
import
cn.iocoder.mall.order.application.po.user.OrderCreatePO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
@@ -24,11 +26,14 @@ public interface OrderConvertAPP {
OrderConvertAPP
INSTANCE
=
Mappers
.
getMapper
(
OrderConvertAPP
.
class
);
@Mappings
({})
OrderQueryDTO
convert
PageBO
(
OrderPageQueryPO
orderPageQueryVO
);
OrderQueryDTO
convert
(
OrderPageQueryPO
orderPageQueryVO
);
@Mappings
({})
OrderLogisticsUpdateDTO
convert
PageBO
(
OrderLogisticsPO
orderLogisticsVO
);
OrderLogisticsUpdateDTO
convert
(
OrderLogisticsPO
orderLogisticsVO
);
@Mappings
({})
OrderItemUpdateDTO
convertPageBO
(
OrderItemUpdatePO
orderItemUpdateVO
);
OrderItemUpdateDTO
convert
(
OrderItemUpdatePO
orderItemUpdateVO
);
@Mappings
({})
OrderCreateDTO
convert
(
OrderCreatePO
orderCreatePO
);
}
order/order-application/src/main/java/cn/iocoder/mall/order/application/convert/OrderDeliveryConvert.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
convert
;
import
cn.iocoder.mall.order.api.dto.OrderDeliveryDTO
;
import
cn.iocoder.mall.order.application.po.OrderDeliverPO
;
import
cn.iocoder.mall.order.application.po.
admin.
OrderDeliverPO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/OrderDeliverPO.java
→
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/
admin/
OrderDeliverPO.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
;
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/OrderItemUpdatePO.java
→
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/
admin/
OrderItemUpdatePO.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
;
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/OrderLogisticsPO.java
→
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/
admin/
OrderLogisticsPO.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
;
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/OrderPagePO.java
→
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/
admin/
OrderPagePO.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
;
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
admin
;
import
cn.iocoder.mall.order.api.bo.OrderBO
;
import
io.swagger.annotations.ApiModel
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/OrderPageQueryPO.java
→
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/
admin/
OrderPageQueryPO.java
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
;
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/po/user/OrderCreatePO.java
0 → 100644
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
application
.
po
.
user
;
import
cn.iocoder.mall.order.api.dto.OrderCreateItemDTO
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 订单创建
*
* @author Sin
* @time 2019-03-16 14:42
*/
@Data
@Accessors
(
chain
=
true
)
public
class
OrderCreatePO
implements
Serializable
{
/**
* 收件手机号
*/
@NotNull
(
message
=
"用户地址id不能为空!"
)
private
Integer
userAddressId
;
/**
* 备注
*/
private
String
remark
;
///
/// order item
@NotNull
()
@Size
(
max
=
1000
,
min
=
1
,
message
=
"用户订单中没有商品!"
)
private
List
<
OrderCreateItemDTO
>
orderItems
;
}
order/order-service-api/pom.xml
浏览文件 @
b42aeac1
...
...
@@ -11,10 +11,6 @@
<artifactId>
order-service-api
</artifactId>
<properties>
<org.projectlombok.version>
1.16.14
</org.projectlombok.version>
</properties>
<dependencies>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
...
...
@@ -26,10 +22,17 @@
<groupId>
javax.validation
</groupId>
<artifactId>
validation-api
</artifactId>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<!-- use mapstruct-jdk8 for Java 8 or higher -->
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-jdk8
</artifactId>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${org.projectlombok.version}
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderService.java
浏览文件 @
b42aeac1
...
...
@@ -44,11 +44,10 @@ public interface OrderService {
/**
* 订单 - 创建
*
* @param userId
* @param orderCreateDTO
* @return
*/
CommonResult
<
OrderCreateBO
>
createOrder
(
Integer
userId
,
OrderCreateDTO
orderCreateDTO
);
CommonResult
<
OrderCreateBO
>
createOrder
(
OrderCreateDTO
orderCreateDTO
);
/**
* 订单item - 更新
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderPayBO.java
0 → 100644
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
api
.
bo
;
import
java.io.Serializable
;
/**
* 订单支付信息返回
*
* @author Sin
* @time 2019-04-08 19:39
*/
public
class
OrderPayBO
implements
Serializable
{
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
浏览文件 @
b42aeac1
...
...
@@ -17,9 +17,16 @@ public enum OrderErrorCodeEnum {
ORDER_PAY_AMOUNT_NOT_NEGATIVE
(
1008000003
,
"支付金额不能为负数!"
),
ORDER_STATUS_NOT_CANCEL
(
1008000004
,
"订单状态不能取消!"
),
ORDER_DELIVERY_INCORRECT_DATA
(
1008000005
,
"订单发货数据不正确!"
),
ORDER_INSUFFICIENT_INVENTORY
(
1008000006
,
"库存不足!"
),
ORDER_GOODS_AMOUNT_INCORRECT
(
1008000007
,
"商品金额非法!"
),
ORDER_GET_GOODS_INFO_INCORRECT
(
1008000008
,
"获取额商品信息不正确!"
),
ORDER_GET_USER_ADDRESS_FAIL
(
1008000009
,
"获取用户地址失败!"
),
ORDER_GET_PAY_FAIL
(
1008000009
,
"调用pay失败!"
),
// order item
ORDER_ITEM_ONLY_ONE
(
1008000004
,
"订单Item只有一个!"
),
;
private
final
int
code
;
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderPayStatus
Enum
.java
→
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderPayStatus.java
浏览文件 @
b42aeac1
...
...
@@ -6,7 +6,7 @@ package cn.iocoder.mall.order.api.constant;
* @author Sin
* @time 2019-03-16 14:32
*/
public
enum
OrderPayStatus
Enum
{
public
enum
OrderPayStatus
{
WAITING_PAYMENT
(
0
,
"等待支付"
),
SUCCESSFUL_PAYMENT
(
1
,
"支付成功"
),
...
...
@@ -19,7 +19,7 @@ public enum OrderPayStatusEnum {
private
final
String
name
;
OrderPayStatus
Enum
(
int
value
,
String
name
)
{
OrderPayStatus
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/PayAppId.java
0 → 100644
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
api
.
constant
;
/**
* 支付 AppId
*
* @author Sin
* @time 2019-04-08 19:54
*/
public
class
PayAppId
{
/**
* 电商
*/
public
static
final
String
APP_ID_1024
=
"1024"
;
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderCreateDTO.java
浏览文件 @
b42aeac1
...
...
@@ -3,8 +3,6 @@ package cn.iocoder.mall.order.api.dto;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
@@ -23,34 +21,20 @@ public class OrderCreateDTO implements Serializable {
*/
private
Integer
userId
;
/**
*
收件区域编号
*
用户地址
*/
@NotNull
private
String
areaNo
;
/**
* 收件人名称
*/
@NotNull
private
String
name
;
/**
* 收件手机号
*/
@NotNull
private
String
mobile
;
/**
* 收件详细地址
*/
@NotNull
private
String
address
;
private
Integer
userAddressId
;
/**
* 备注
*/
private
String
remark
;
/**
* ip信息
*/
private
String
ip
;
///
/// order item
@NotNull
@Size
(
max
=
1000
,
min
=
1
)
private
List
<
OrderCreateItemDTO
>
orderItems
;
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderUserPageDTO.java
0 → 100644
浏览文件 @
b42aeac1
package
cn
.
iocoder
.
mall
.
order
.
api
.
dto
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 用户订单 page
*
* @author Sin
* @time 2019-04-08 17:50
*/
@Data
@Accessors
(
chain
=
true
)
public
class
OrderUserPageDTO
implements
Serializable
{
/**
* id
*/
private
Integer
id
;
/**
* 订单号
*/
private
String
orderNo
;
/**
* 用户 id
*/
private
Integer
userId
;
/**
* 付款时间(待发货)
*/
private
Date
startPaymentTime
;
private
Date
endPaymentTime
;
/**
* 创建时间
*/
private
Date
startCreateTime
;
private
Date
endCreateTime
;
/**
* 状态
*/
private
Integer
status
;
}
order/order-service-impl/pom.xml
浏览文件 @
b42aeac1
...
...
@@ -11,11 +11,6 @@
<artifactId>
order-service-impl
</artifactId>
<properties>
<org.mapstruct.version>
1.3.0.Final
</org.mapstruct.version>
<org.projectlombok.version>
1.16.14
</org.projectlombok.version>
</properties>
<dependencies>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
...
...
@@ -28,6 +23,19 @@
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
pay-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
user-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
dubbo
</artifactId>
...
...
@@ -47,43 +55,27 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-jdbc
</artifactId>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<version>
${org.mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${org.projectlombok.version}
</version>
</dependency>
<dependency>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
<version>
27.0.1-jre
</version>
</dependency>
<dependency>
<groupId>
Pingplusplus
</groupId>
<artifactId>
pingpp-java
</artifactId>
<version>
2.2.4
</version>
<type>
jar
</type>
</dependency>
<dependency>
<groupId>
com.xuxueli
</groupId>
<artifactId>
xxl-job-core
</artifactId>
<version>
2.0.1
</version>
</dependency>
<dependency>
<groupId>
org.apache.rocketmq
</groupId>
<artifactId>
rocketmq-spring-boot-starter
</artifactId>
...
...
@@ -108,6 +100,12 @@
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
pay-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
@@ -116,23 +114,6 @@
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
3.5.1
</version>
<configuration>
<source>
1.8
</source>
<!-- or higher, depending on your project -->
<target>
1.8
</target>
<!-- or higher, depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${org.mapstruct.version}
</version>
</path>
<path>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${org.projectlombok.version}
</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderRecipientConvert.java
浏览文件 @
b42aeac1
...
...
@@ -3,6 +3,7 @@ package cn.iocoder.mall.order.biz.convert;
import
cn.iocoder.mall.order.api.bo.OrderRecipientBO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO
;
import
cn.iocoder.mall.user.api.bo.UserAddressBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
@@ -23,6 +24,9 @@ public interface OrderRecipientConvert {
@Mappings
({})
OrderRecipientDO
convert
(
OrderCreateDTO
orderCreateDTO
);
@Mappings
({})
OrderRecipientDO
convert
(
UserAddressBO
userAddressBO
);
@Mappings
({})
OrderRecipientBO
convert
(
OrderRecipientDO
orderRecipientDO
);
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dataobject/OrderItemDO.java
浏览文件 @
b42aeac1
...
...
@@ -32,6 +32,10 @@ public class OrderItemDO extends DeletableDO {
* 商品编号
*/
private
Integer
skuId
;
/**
* 物流id
*/
private
Integer
orderLogisticsId
;
/**
* 商品名称
*/
...
...
@@ -52,10 +56,6 @@ public class OrderItemDO extends DeletableDO {
* 支付金额(实付金额)
*/
private
Integer
payAmount
;
/**
* 物流id
*/
private
Integer
orderLogisticsId
;
///
/// 时间信息
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderServiceImpl.java
浏览文件 @
b42aeac1
差异被折叠。
点击展开。
order/order-service-impl/src/main/resources/mapper/OrderItemMapper.xml
浏览文件 @
b42aeac1
...
...
@@ -3,9 +3,11 @@
<mapper
namespace=
"cn.iocoder.mall.order.biz.dao.OrderItemMapper"
>
<sql
id=
"FIELDS"
>
id, order_id, order_no, sku_id, sku_name, sku_image, quantity, price, pay_amount,
id, order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
quantity, price, pay_amount,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, delivery_type, status, create_time, update_time, deleted
has_return_exchange, delivery_type, status,
create_time, update_time, deleted
</sql>
<!--
...
...
@@ -13,11 +15,14 @@
-->
<insert
id=
"insert"
parameterType=
"OrderItemDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
INSERT INTO `order_item` (
order_id, order_no, sku_id, sku_name, sku_image, quantity, price, pay_amount,
order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
quantity, price, pay_amount,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, delivery_type, status, create_time, update_time, deleted
has_return_exchange, delivery_type, status,
create_time, update_time, deleted
) VALUES (
#{orderId}, #{orderNo}, #{skuId}, #{quantity}, #{price},
#{orderId}, #{orderNo}, #{skuId}, #{skuName}, #{skuImage}, #{orderLogisticsId},
#{quantity}, #{price}, #{payAmount},
#{paymentTime}, #{deliveryTime}, #{receiverTime}, #{closingTime},
#{hasReturnExchange}, #{deliveryType}, #{status},
#{createTime}, #{updateTime}, #{deleted}
...
...
order/order-service-impl/src/main/resources/mapper/OrderMapper.xml
浏览文件 @
b42aeac1
...
...
@@ -14,15 +14,15 @@
-->
<insert
id=
"insert"
parameterType=
"OrderDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
INSERT INTO `order` (
user_id, order_no, p
rice
, payment_time,
user_id, order_no, p
ay_amount
, payment_time,
delivery_time, receiver_time, closing_time,
has_return_exchange,
status, remark,
create_time, update_time, `deleted`
has_return_exchange,
status, remark,
create_time, update_time, `deleted`
) VALUES (
#{userId}, #{orderNo}, #{p
rice
}, #{paymentTime},
#{userId}, #{orderNo}, #{p
ayAmount
}, #{paymentTime},
#{deliveryTime}, #{receiverTime}, #{closingTime},
#{hasReturnExchange},
#{status}, #{remark},
#{createTime}, #{updateTime}, #{deleted}
#{hasReturnExchange},
#{
status}, #{remark}, #{
createTime}, #{updateTime}, #{deleted}
)
</insert>
...
...
order/order-service-impl/src/test/java/cn/iocoder/mall/order/biz/service/OrderServiceImplTest.java
浏览文件 @
b42aeac1
...
...
@@ -36,24 +36,24 @@ public class OrderServiceImplTest {
@Test
public
void
createOrderTest
()
{
Integer
userId
=
1
;
OrderCreateItemDTO
orderCreateItemDTO
=
new
OrderCreateItemDTO
()
.
setSkuId
(
1
)
.
setQuantity
(
1
);
CommonResult
<
OrderCreateBO
>
result
=
orderService
.
createOrder
(
userId
,
new
OrderCreateDTO
()
.
setRemark
(
""
)
.
setName
(
"张三"
)
.
setMobile
(
"13301926050"
)
.
setAddress
(
"深圳市福田区"
)
.
setAreaNo
(
"1000100"
)
.
setOrderItems
(
Arrays
.
asList
(
orderCreateItemDTO
)));
OrderDO
orderDO
=
orderMapper
.
selectById
(
result
.
getData
().
getId
());
Assert
.
assertNotNull
(
"创建的订单不存在!"
,
orderDO
);
//
//
Integer userId = 1;
//
OrderCreateItemDTO orderCreateItemDTO
//
= new OrderCreateItemDTO()
//
.setSkuId(1)
//
.setQuantity(1);
//
//
CommonResult<OrderCreateBO> result = orderService.createOrder(
//
userId,
//
new OrderCreateDTO()
//
.setRemark("")
//
.setName("张三")
//
.setMobile("13301926050")
//
.setAddress("深圳市福田区")
//
.setAreaNo("1000100")
//
.setOrderItems(Arrays.asList(orderCreateItemDTO)));
//
//
OrderDO orderDO = orderMapper.selectById(result.getData().getId());
//
Assert.assertNotNull("创建的订单不存在!", orderDO);
}
}
user/user-service-api/src/main/java/cn/iocoder/mall/user/api/bo/UserAddressBO.java
浏览文件 @
b42aeac1
...
...
@@ -3,13 +3,15 @@ package cn.iocoder.mall.user.api.bo;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* @author Sin
* @time 2019-04-06 13:28
*/
@Data
@Accessors
(
chain
=
true
)
public
class
UserAddressBO
{
public
class
UserAddressBO
implements
Serializable
{
/**
...
...
user/user-service-api/src/main/java/cn/iocoder/mall/user/api/bo/UserBO.java
浏览文件 @
b42aeac1
...
...
@@ -3,11 +3,12 @@ package cn.iocoder.mall.user.api.bo;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
@Accessors
(
chain
=
true
)
public
class
UserBO
{
public
class
UserBO
implements
Serializable
{
/**
* 用户编号
...
...
user/user-service-api/src/main/java/cn/iocoder/mall/user/api/bo/UserPageBO.java
浏览文件 @
b42aeac1
...
...
@@ -3,11 +3,12 @@ package cn.iocoder.mall.user.api.bo;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
@Accessors
(
chain
=
true
)
public
class
UserPageBO
{
public
class
UserPageBO
implements
Serializable
{
/**
* 用户数组
...
...
user/user-service-impl/src/main/java/cn/iocoder/mall/user/biz/service/UserAddressServiceImpl.java
浏览文件 @
b42aeac1
...
...
@@ -24,6 +24,7 @@ import java.util.List;
* @time 2019-04-06 13:26
*/
@Service
@com
.
alibaba
.
dubbo
.
config
.
annotation
.
Service
(
validation
=
"true"
)
public
class
UserAddressServiceImpl
implements
UserAddressService
{
@Autowired
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论