Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
0d14138e
提交
0d14138e
authored
3月 29, 2019
作者:
sin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 修改订单展示
- 增加实付金额修改功能
上级
3cbe0ba3
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
666 行增加
和
350 行删除
+666
-350
CollectionUtil.java
...java/cn/iocoder/common/framework/util/CollectionUtil.java
+4
-55
AdminsOrderController.java
.../application/controller/admins/AdminsOrderController.java
+12
-5
OrderPageVO.java
...ava/cn/iocoder/mall/order/application/vo/OrderPageVO.java
+1
-1
OrderService.java
...src/main/java/cn/iocoder/mall/order/api/OrderService.java
+13
-3
OrderBO.java
...i/src/main/java/cn/iocoder/mall/order/api/bo/OrderBO.java
+189
-10
OrderCreateBO.java
...main/java/cn/iocoder/mall/order/api/bo/OrderCreateBO.java
+61
-0
OrderItemBO.java
...c/main/java/cn/iocoder/mall/order/api/bo/OrderItemBO.java
+89
-4
OrderLogisticsBO.java
...n/java/cn/iocoder/mall/order/api/bo/OrderLogisticsBO.java
+103
-0
OrderPageBO.java
...c/main/java/cn/iocoder/mall/order/api/bo/OrderPageBO.java
+1
-1
OrderErrorCodeEnum.java
...n/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
+1
-0
OrderBO.java
.../src/main/java/cn/iocoder/mall/order/api/dto/OrderBO.java
+0
-226
pom.xml
order/order-service-impl/pom.xml
+5
-0
DatabaseConfiguration.java
...a/cn/iocoder/mall/order/config/DatabaseConfiguration.java
+0
-0
ServiceExceptionConfiguration.java
...oder/mall/order/config/ServiceExceptionConfiguration.java
+0
-0
OrderConvert.java
...main/java/cn/iocoder/mall/order/convert/OrderConvert.java
+2
-2
OrderItemConvert.java
.../java/cn/iocoder/mall/order/convert/OrderItemConvert.java
+2
-2
OrderLogisticsConvert.java
.../cn/iocoder/mall/order/convert/OrderLogisticsConvert.java
+7
-1
OrderItemMapper.java
.../main/java/cn/iocoder/mall/order/dao/OrderItemMapper.java
+3
-3
OrderLogisticsMapper.java
.../java/cn/iocoder/mall/order/dao/OrderLogisticsMapper.java
+14
-0
OrderDO.java
...c/main/java/cn/iocoder/mall/order/dataobject/OrderDO.java
+6
-6
OrderItemDO.java
...in/java/cn/iocoder/mall/order/dataobject/OrderItemDO.java
+44
-2
OrderLogisticsDO.java
...va/cn/iocoder/mall/order/dataobject/OrderLogisticsDO.java
+14
-0
OrderServiceImpl.java
.../java/cn/iocoder/mall/order/service/OrderServiceImpl.java
+55
-14
OrderItemMapper.xml
...ervice-impl/src/main/resources/mapper/OrderItemMapper.xml
+19
-8
OrderLogisticsMapper.xml
...e-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
+16
-1
OrderMapper.xml
...er-service-impl/src/main/resources/mapper/OrderMapper.xml
+3
-3
OrderServiceImplTest.java
...a/cn/iocoder/mall/order/service/OrderServiceImplTest.java
+2
-3
没有找到文件。
common/common-framework/src/main/java/cn/iocoder/common/framework/util/CollectionUtil.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
common
.
framework
.
util
;
import
org.springframework.util.ReflectionUtil
s
;
import
java.
lang.reflect.Field
;
import
java.util.
*
;
import
java.util.Array
s
;
import
java.util.Collection
;
import
java.
util.HashSet
;
import
java.util.
Set
;
public
class
CollectionUtil
{
...
...
@@ -14,54 +14,4 @@ public class CollectionUtil {
public
static
<
T
>
Set
<
T
>
asSet
(
T
...
objs
)
{
return
new
HashSet
<>(
Arrays
.
asList
(
objs
));
}
/**
* 创建指定属性为KEY, objs的每个元素为值的Multimap的Map集合。
*
* @param objs 数组
* @param keyClazz 值类型,即{@code property}的类型
* @param valClazz 值类型
* @param property 属性名
* @param <K> 泛型
* @param <V> 泛型
* @return 指定属性的Map集合
*/
@SuppressWarnings
(
"unchecked"
)
public
static
<
K
,
V
>
Map
<
K
,
List
<
V
>>
buildMultimap
(
List
<
V
>
objs
,
Class
<
K
>
keyClazz
,
Class
<
V
>
valClazz
,
String
property
)
{
if
(
objs
.
isEmpty
())
{
return
Collections
.
EMPTY_MAP
;
}
Map
<
K
,
List
<
V
>>
results
=
new
HashMap
<>(
objs
.
size
());
try
{
Field
field
=
getField
(
objs
,
property
);
for
(
V
obj
:
objs
)
{
K
key
=
(
K
)
field
.
get
(
obj
);
List
<
V
>
value
=
results
.
get
(
key
);
if
(
value
==
null
)
{
results
.
put
(
key
,
value
=
new
ArrayList
<>());
}
value
.
add
(
obj
);
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
return
results
;
}
/**
* 获取 object 属性 field
*
* @param objs 对象数组
* @param property 属性
* @return 对象元素里的指定属性Field, 并设置该field可以被访问
*/
public
static
Field
getField
(
List
<?>
objs
,
String
property
)
{
Field
field
=
ReflectionUtils
.
findField
(
objs
.
get
(
0
).
getClass
(),
property
);
if
(!
field
.
isAccessible
())
{
field
.
setAccessible
(
true
);
}
return
field
;
}
}
\ No newline at end of file
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java
浏览文件 @
0d14138e
...
...
@@ -2,20 +2,19 @@ package cn.iocoder.mall.order.application.controller.admins;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.api.OrderService
;
import
cn.iocoder.mall.order.api.bo.OrderPageBO
;
import
cn.iocoder.mall.order.api.dto.*
;
import
cn.iocoder.mall.order.application.convert.OrderConvertAPP
;
import
cn.iocoder.mall.order.application.vo.OrderItemUpdateVO
;
import
cn.iocoder.mall.order.application.vo.OrderLogisticsVO
;
import
cn.iocoder.mall.order.application.vo.OrderPageQueryVO
;
import
cn.iocoder.mall.order.application.vo.OrderPageVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 订单API(admins)
*
...
...
@@ -37,15 +36,23 @@ public class AdminsOrderController {
return
orderService
.
getOrderPage
(
orderQueryDTO
);
}
@PutMapping
(
"order_item/update_pay_amount"
)
@ApiOperation
(
"更新-订单item实付金额"
)
public
CommonResult
updateOrderItemPayAmount
(
@RequestParam
(
"orderId"
)
Integer
orderId
,
@RequestParam
(
"orderItemId"
)
Integer
orderItemId
,
@RequestParam
(
"payAmount"
)
Integer
payAmount
)
{
return
orderService
.
updateOrderItemPayAmount
(
orderId
,
orderItemId
,
payAmount
);
}
@PutMapping
(
"order_item/update"
)
@ApiOperation
(
"
订单item更新
"
)
@ApiOperation
(
"
更新-订单item
"
)
public
CommonResult
updateOrderItem
(
@RequestBody
@Validated
OrderItemUpdateVO
orderItemUpdateVO
)
{
OrderItemUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convertPageBO
(
orderItemUpdateVO
);
return
orderService
.
updateOrderItem
(
dto
);
}
@PutMapping
(
"logistics/update"
)
@ApiOperation
(
"
订单物流更新
"
)
@ApiOperation
(
"
更新-订单物流
"
)
public
CommonResult
updateLogistics
(
@RequestBody
@Validated
OrderLogisticsVO
orderLogisticsVO
)
{
OrderLogisticsUpdateDTO
dto
=
OrderConvertAPP
.
INSTANCE
.
convertPageBO
(
orderLogisticsVO
);
return
orderService
.
updateLogistics
(
dto
);
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/vo/OrderPageVO.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
application
.
vo
;
import
cn.iocoder.mall.order.api.
dt
o.OrderBO
;
import
cn.iocoder.mall.order.api.
b
o.OrderBO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderService.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.api.bo.OrderCreateBO
;
import
cn.iocoder.mall.order.api.bo.OrderPageBO
;
import
cn.iocoder.mall.order.api.dto.*
;
import
java.util.List
;
/**
* 订单 service
*
...
...
@@ -28,7 +28,7 @@ public interface OrderService {
* @param orderCreateDTO
* @return
*/
CommonResult
<
cn
.
iocoder
.
mall
.
order
.
api
.
bo
.
Order
BO
>
createOrder
(
Integer
userId
,
OrderCreateDTO
orderCreateDTO
);
CommonResult
<
OrderCreate
BO
>
createOrder
(
Integer
userId
,
OrderCreateDTO
orderCreateDTO
);
/**
* 订单item - 更新
...
...
@@ -38,6 +38,16 @@ public interface OrderService {
*/
CommonResult
updateOrderItem
(
OrderItemUpdateDTO
orderItemUpdateDTO
);
/**
* 订单item - 更新 payAmount(实付金额)
*
* @param orderId
* @param orderItemId
* @param payAmount
* @return
*/
CommonResult
updateOrderItemPayAmount
(
Integer
orderId
,
Integer
orderItemId
,
Integer
payAmount
);
/**
* 订单item - 删除
*
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderBO.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
.
bo
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 订单
创建 BO
* 订单
page
*
* @author Sin
* @time 2019-03-
16 14:38
* @time 2019-03-
23 14:30
*/
public
class
OrderBO
implements
Serializable
{
/**
*
编号
*
id
*/
private
Integer
id
;
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 物流id
*/
private
Integer
orderLogisticsId
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 订单金额
* 交易金额
*/
private
Integer
payAmount
;
///
/// 时间信息
/**
* 付款时间(待发货)
*/
private
Date
paymentTime
;
/**
* 发货时间(待收货)
*/
private
Date
deliveryTime
;
/**
* 收货时间(已签收)
*/
private
Date
receiverTime
;
/**
* 成交时间(用户确认收货 -> status = 已完成)
*/
private
Date
closingTime
;
///
/// 其他
/**
* 是否退货
*
* - 0、没有
* - 1、换货
* - 2、退货
* - 3、换货 + 退货
*/
private
Integer
hasReturnExchange
;
/**
* 状态(如果有多个商品分开发货需要全部商品发完才会改变状态)
*
* - 0、待付款
* - 1、待发货
* - 2、待收获
* - 3、已完成
* - 4、已关闭
*/
private
Integer
status
;
/**
* 备注
*/
private
Integer
money
;
private
String
remark
;
///
/// 关联信息
/**
* orderItem
*/
private
List
<
OrderItemBO
>
orderItems
;
/**
* 订单物流信息
*/
private
OrderLogisticsBO
orderLogistics
;
@Override
public
String
toString
()
{
return
"OrderBO{"
+
"id="
+
id
+
", userId="
+
userId
+
", orderLogisticsId="
+
orderLogisticsId
+
", orderNo='"
+
orderNo
+
'\''
+
", money="
+
money
+
", payAmount="
+
payAmount
+
", paymentTime="
+
paymentTime
+
", deliveryTime="
+
deliveryTime
+
", receiverTime="
+
receiverTime
+
", closingTime="
+
closingTime
+
", hasReturnExchange="
+
hasReturnExchange
+
", status="
+
status
+
", remark='"
+
remark
+
'\''
+
", orderItems="
+
orderItems
+
", orderLogistics="
+
orderLogistics
+
'}'
;
}
...
...
@@ -41,6 +121,24 @@ public class OrderBO implements Serializable {
return
this
;
}
public
Integer
getUserId
()
{
return
userId
;
}
public
OrderBO
setUserId
(
Integer
userId
)
{
this
.
userId
=
userId
;
return
this
;
}
public
Integer
getOrderLogisticsId
()
{
return
orderLogisticsId
;
}
public
OrderBO
setOrderLogisticsId
(
Integer
orderLogisticsId
)
{
this
.
orderLogisticsId
=
orderLogisticsId
;
return
this
;
}
public
String
getOrderNo
()
{
return
orderNo
;
}
...
...
@@ -50,12 +148,93 @@ public class OrderBO implements Serializable {
return
this
;
}
public
Integer
getMoney
()
{
return
money
;
public
Integer
getPayAmount
()
{
return
payAmount
;
}
public
OrderBO
setPayAmount
(
Integer
payAmount
)
{
this
.
payAmount
=
payAmount
;
return
this
;
}
public
Date
getPaymentTime
()
{
return
paymentTime
;
}
public
OrderBO
setPaymentTime
(
Date
paymentTime
)
{
this
.
paymentTime
=
paymentTime
;
return
this
;
}
public
Date
getDeliveryTime
()
{
return
deliveryTime
;
}
public
OrderBO
setDeliveryTime
(
Date
deliveryTime
)
{
this
.
deliveryTime
=
deliveryTime
;
return
this
;
}
public
Date
getReceiverTime
()
{
return
receiverTime
;
}
public
OrderBO
setReceiverTime
(
Date
receiverTime
)
{
this
.
receiverTime
=
receiverTime
;
return
this
;
}
public
Date
getClosingTime
()
{
return
closingTime
;
}
public
OrderBO
setClosingTime
(
Date
closingTime
)
{
this
.
closingTime
=
closingTime
;
return
this
;
}
public
Integer
getHasReturnExchange
()
{
return
hasReturnExchange
;
}
public
OrderBO
setHasReturnExchange
(
Integer
hasReturnExchange
)
{
this
.
hasReturnExchange
=
hasReturnExchange
;
return
this
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
OrderBO
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
return
this
;
}
public
String
getRemark
()
{
return
remark
;
}
public
OrderBO
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
return
this
;
}
public
List
<
OrderItemBO
>
getOrderItems
()
{
return
orderItems
;
}
public
OrderBO
setOrderItems
(
List
<
OrderItemBO
>
orderItems
)
{
this
.
orderItems
=
orderItems
;
return
this
;
}
public
OrderLogisticsBO
getOrderLogistics
()
{
return
orderLogistics
;
}
public
OrderBO
set
Money
(
Integer
money
)
{
this
.
money
=
money
;
public
OrderBO
set
OrderLogistics
(
OrderLogisticsBO
orderLogistics
)
{
this
.
orderLogistics
=
orderLogistics
;
return
this
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderCreateBO.java
0 → 100644
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
.
bo
;
import
java.io.Serializable
;
/**
* 订单创建 BO
*
* @author Sin
* @time 2019-03-16 14:38
*/
public
class
OrderCreateBO
implements
Serializable
{
/**
* 编号
*/
private
Integer
id
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 订单金额
*/
private
Integer
payAmount
;
@Override
public
String
toString
()
{
return
"OrderCreateBO{"
+
"id="
+
id
+
", orderNo='"
+
orderNo
+
'\''
+
", payAmount="
+
payAmount
+
'}'
;
}
public
Integer
getId
()
{
return
id
;
}
public
OrderCreateBO
setId
(
Integer
id
)
{
this
.
id
=
id
;
return
this
;
}
public
String
getOrderNo
()
{
return
orderNo
;
}
public
OrderCreateBO
setOrderNo
(
String
orderNo
)
{
this
.
orderNo
=
orderNo
;
return
this
;
}
public
Integer
getPayAmount
()
{
return
payAmount
;
}
public
OrderCreateBO
setPayAmount
(
Integer
payAmount
)
{
this
.
payAmount
=
payAmount
;
return
this
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/
dt
o/OrderItemBO.java
→
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/
b
o/OrderItemBO.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
.
dt
o
;
package
cn
.
iocoder
.
mall
.
order
.
api
.
b
o
;
import
java.io.Serializable
;
import
java.util.Date
;
...
...
@@ -27,14 +27,26 @@ public class OrderItemBO implements Serializable {
* 商品编号
*/
private
Integer
skuId
;
/**
* 商品名称
*/
private
String
skuName
;
/**
* 商品图片
*/
private
String
skuImage
;
/**
* 数量
*/
private
Integer
quantity
;
/**
*
金额
(分)
*
价格
(分)
*/
private
Integer
price
;
/**
* 支付金额(实付金额)
*/
private
Integer
payAmount
;
///
/// 时间信息
...
...
@@ -79,21 +91,40 @@ public class OrderItemBO implements Serializable {
*/
private
Integer
status
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 删除状态
*/
private
Integer
deleted
;
@Override
public
String
toString
()
{
return
"OrderItem
D
O{"
+
return
"OrderItem
B
O{"
+
"id="
+
id
+
", orderId="
+
orderId
+
", orderNo='"
+
orderNo
+
'\''
+
", skuId='"
+
skuId
+
'\''
+
", skuId="
+
skuId
+
", skuName='"
+
skuName
+
'\''
+
", skuImage='"
+
skuImage
+
'\''
+
", quantity="
+
quantity
+
", price="
+
price
+
", payAmount="
+
payAmount
+
", paymentTime="
+
paymentTime
+
", deliveryTime="
+
deliveryTime
+
", receiverTime="
+
receiverTime
+
", closingTime="
+
closingTime
+
", hasReturnExchange="
+
hasReturnExchange
+
", status="
+
status
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", deleted="
+
deleted
+
'}'
;
}
...
...
@@ -133,6 +164,24 @@ public class OrderItemBO implements Serializable {
return
this
;
}
public
String
getSkuName
()
{
return
skuName
;
}
public
OrderItemBO
setSkuName
(
String
skuName
)
{
this
.
skuName
=
skuName
;
return
this
;
}
public
String
getSkuImage
()
{
return
skuImage
;
}
public
OrderItemBO
setSkuImage
(
String
skuImage
)
{
this
.
skuImage
=
skuImage
;
return
this
;
}
public
Integer
getQuantity
()
{
return
quantity
;
}
...
...
@@ -151,6 +200,15 @@ public class OrderItemBO implements Serializable {
return
this
;
}
public
Integer
getPayAmount
()
{
return
payAmount
;
}
public
OrderItemBO
setPayAmount
(
Integer
payAmount
)
{
this
.
payAmount
=
payAmount
;
return
this
;
}
public
Date
getPaymentTime
()
{
return
paymentTime
;
}
...
...
@@ -204,4 +262,31 @@ public class OrderItemBO implements Serializable {
this
.
status
=
status
;
return
this
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
OrderItemBO
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
return
this
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
OrderItemBO
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
return
this
;
}
public
Integer
getDeleted
()
{
return
deleted
;
}
public
OrderItemBO
setDeleted
(
Integer
deleted
)
{
this
.
deleted
=
deleted
;
return
this
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderLogisticsBO.java
0 → 100644
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
.
bo
;
import
cn.iocoder.common.framework.dataobject.BaseDO
;
/**
* 订单物流信息
*
* @author Sin
* @time 2019-03-19 20:47
*/
public
class
OrderLogisticsBO
extends
BaseDO
{
/**
* id
*/
private
Integer
id
;
/**
* 收件区域编号
*/
private
String
areaNo
;
/**
* 收件人名称
*/
private
String
name
;
/**
* 收件手机号
*/
private
String
mobile
;
/**
* 收件详细地址
*/
private
String
address
;
/**
* 物流编号
*/
private
String
logisticsNo
;
@Override
public
String
toString
()
{
return
"OrderLogisticsDO{"
+
"id="
+
id
+
", areaNo='"
+
areaNo
+
'\''
+
", name='"
+
name
+
'\''
+
", mobile='"
+
mobile
+
'\''
+
", address='"
+
address
+
'\''
+
", logisticsNo='"
+
logisticsNo
+
'\''
+
'}'
;
}
public
Integer
getId
()
{
return
id
;
}
public
OrderLogisticsBO
setId
(
Integer
id
)
{
this
.
id
=
id
;
return
this
;
}
public
String
getAreaNo
()
{
return
areaNo
;
}
public
OrderLogisticsBO
setAreaNo
(
String
areaNo
)
{
this
.
areaNo
=
areaNo
;
return
this
;
}
public
String
getName
()
{
return
name
;
}
public
OrderLogisticsBO
setName
(
String
name
)
{
this
.
name
=
name
;
return
this
;
}
public
String
getMobile
()
{
return
mobile
;
}
public
OrderLogisticsBO
setMobile
(
String
mobile
)
{
this
.
mobile
=
mobile
;
return
this
;
}
public
String
getAddress
()
{
return
address
;
}
public
OrderLogisticsBO
setAddress
(
String
address
)
{
this
.
address
=
address
;
return
this
;
}
public
String
getLogisticsNo
()
{
return
logisticsNo
;
}
public
OrderLogisticsBO
setLogisticsNo
(
String
logisticsNo
)
{
this
.
logisticsNo
=
logisticsNo
;
return
this
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/
dt
o/OrderPageBO.java
→
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/
b
o/OrderPageBO.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
api
.
dt
o
;
package
cn
.
iocoder
.
mall
.
order
.
api
.
b
o
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
浏览文件 @
0d14138e
...
...
@@ -13,6 +13,7 @@ public enum OrderErrorCodeEnum {
ORDER_ITEM_ONLY_ONE
(
1000001000
,
"订单Item只有一个!"
),
ORDER_GET_SKU_FAIL
(
1000001001
,
"获取商品失败!"
),
ORDER_GET_SKU_NOT_EXISTENT
(
1000001002
,
"获取的商品不存在!"
),
ORDER_PAY_AMOUNT_NOT_NEGATIVE
(
1000001002
,
"支付金额不能为负数!"
),
;
private
final
int
code
;
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderBO.java
deleted
100644 → 0
浏览文件 @
3cbe0ba3
package
cn
.
iocoder
.
mall
.
order
.
api
.
dto
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 订单 page
*
* @author Sin
* @time 2019-03-23 14:30
*/
public
class
OrderBO
implements
Serializable
{
/**
* id
*/
private
Integer
id
;
/**
* 用户编号
*/
private
Integer
userId
;
/**
* 物流id
*/
private
Integer
orderLogisticsId
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 交易金额
*/
private
Integer
price
;
///
/// 时间信息
/**
* 付款时间(待发货)
*/
private
Date
paymentTime
;
/**
* 发货时间(待收货)
*/
private
Date
deliveryTime
;
/**
* 收货时间(已签收)
*/
private
Date
receiverTime
;
/**
* 成交时间(用户确认收货 -> status = 已完成)
*/
private
Date
closingTime
;
///
/// 其他
/**
* 是否退货
*
* - 0、没有
* - 1、换货
* - 2、退货
* - 3、换货 + 退货
*/
private
Integer
hasReturnExchange
;
/**
* 状态(如果有多个商品分开发货需要全部商品发完才会改变状态)
*
* - 0、待付款
* - 1、待发货
* - 2、待收获
* - 3、已完成
* - 4、已关闭
*/
private
Integer
status
;
/**
* 备注
*/
private
String
remark
;
///
/// 关联信息
/**
* orderItem
*/
private
List
<
OrderItemBO
>
orderItems
;
@Override
public
String
toString
()
{
return
"OrderBO{"
+
"id="
+
id
+
", userId="
+
userId
+
", orderLogisticsId="
+
orderLogisticsId
+
", orderNo='"
+
orderNo
+
'\''
+
", price="
+
price
+
", paymentTime="
+
paymentTime
+
", deliveryTime="
+
deliveryTime
+
", receiverTime="
+
receiverTime
+
", closingTime="
+
closingTime
+
", hasReturnExchange="
+
hasReturnExchange
+
", status="
+
status
+
", remark='"
+
remark
+
'\''
+
", orderItems="
+
orderItems
+
'}'
;
}
public
Integer
getId
()
{
return
id
;
}
public
OrderBO
setId
(
Integer
id
)
{
this
.
id
=
id
;
return
this
;
}
public
Integer
getUserId
()
{
return
userId
;
}
public
OrderBO
setUserId
(
Integer
userId
)
{
this
.
userId
=
userId
;
return
this
;
}
public
Integer
getOrderLogisticsId
()
{
return
orderLogisticsId
;
}
public
OrderBO
setOrderLogisticsId
(
Integer
orderLogisticsId
)
{
this
.
orderLogisticsId
=
orderLogisticsId
;
return
this
;
}
public
String
getOrderNo
()
{
return
orderNo
;
}
public
OrderBO
setOrderNo
(
String
orderNo
)
{
this
.
orderNo
=
orderNo
;
return
this
;
}
public
Integer
getPrice
()
{
return
price
;
}
public
OrderBO
setPrice
(
Integer
price
)
{
this
.
price
=
price
;
return
this
;
}
public
Date
getPaymentTime
()
{
return
paymentTime
;
}
public
OrderBO
setPaymentTime
(
Date
paymentTime
)
{
this
.
paymentTime
=
paymentTime
;
return
this
;
}
public
Date
getDeliveryTime
()
{
return
deliveryTime
;
}
public
OrderBO
setDeliveryTime
(
Date
deliveryTime
)
{
this
.
deliveryTime
=
deliveryTime
;
return
this
;
}
public
Date
getReceiverTime
()
{
return
receiverTime
;
}
public
OrderBO
setReceiverTime
(
Date
receiverTime
)
{
this
.
receiverTime
=
receiverTime
;
return
this
;
}
public
Date
getClosingTime
()
{
return
closingTime
;
}
public
OrderBO
setClosingTime
(
Date
closingTime
)
{
this
.
closingTime
=
closingTime
;
return
this
;
}
public
Integer
getHasReturnExchange
()
{
return
hasReturnExchange
;
}
public
OrderBO
setHasReturnExchange
(
Integer
hasReturnExchange
)
{
this
.
hasReturnExchange
=
hasReturnExchange
;
return
this
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
OrderBO
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
return
this
;
}
public
String
getRemark
()
{
return
remark
;
}
public
OrderBO
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
return
this
;
}
public
List
<
OrderItemBO
>
getOrderItems
()
{
return
orderItems
;
}
public
OrderBO
setOrderItems
(
List
<
OrderItemBO
>
orderItems
)
{
this
.
orderItems
=
orderItems
;
return
this
;
}
}
order/order-service-impl/pom.xml
浏览文件 @
0d14138e
...
...
@@ -32,6 +32,11 @@
<artifactId>
dubbo
</artifactId>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
<version>
27.0.1-jre
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
application/
config/DatabaseConfiguration.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/config/DatabaseConfiguration.java
浏览文件 @
0d14138e
File moved
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
application/
config/ServiceExceptionConfiguration.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/config/ServiceExceptionConfiguration.java
浏览文件 @
0d14138e
File moved
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
application/
convert/OrderConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderConvert.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
application
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
convert
;
import
cn.iocoder.mall.order.api.
dt
o.OrderBO
;
import
cn.iocoder.mall.order.api.
b
o.OrderBO
;
import
cn.iocoder.mall.order.dataobject.OrderDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
application/
convert/OrderItemConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderItemConvert.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
application
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
convert
;
import
cn.iocoder.mall.order.api.dto.OrderCreateItemDTO
;
import
cn.iocoder.mall.order.api.
dt
o.OrderItemBO
;
import
cn.iocoder.mall.order.api.
b
o.OrderItemBO
;
import
cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
org.mapstruct.Mapper
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
application/
convert/OrderLogisticsConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderLogisticsConvert.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
application
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
convert
;
import
cn.iocoder.mall.order.api.bo.OrderLogisticsBO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderLogisticsUpdateDTO
;
import
cn.iocoder.mall.order.dataobject.OrderLogisticsDO
;
...
...
@@ -7,6 +8,8 @@ import org.mapstruct.Mapper;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
/**
* 订单物流 convert
*
...
...
@@ -23,4 +26,7 @@ public interface OrderLogisticsConvert {
@Mappings
({})
OrderLogisticsDO
convert
(
OrderLogisticsUpdateDTO
orderLogisticsDTO
);
@Mappings
({})
List
<
OrderLogisticsBO
>
convertOrderLogisticsBO
(
List
<
OrderLogisticsDO
>
orderLogisticsDOList
);
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dao/OrderItemMapper.java
浏览文件 @
0d14138e
...
...
@@ -46,12 +46,12 @@ public interface OrderItemMapper {
* 查询 - 根据 orderIds 和 status
*
* @param orderIds
* @param
status
* @param
deleted
* @return
*/
List
<
OrderItemDO
>
selectByOrderIdsAnd
Status
(
List
<
OrderItemDO
>
selectByOrderIdsAnd
Deleted
(
@Param
(
"orderIds"
)
Collection
<
Integer
>
orderIds
,
@Param
(
"
status"
)
Integer
status
@Param
(
"
deleted"
)
Integer
deleted
);
/**
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dao/OrderLogisticsMapper.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
dao
;
import
cn.iocoder.mall.order.dataobject.OrderLogisticsDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 订单 item mapper
*
...
...
@@ -25,4 +29,14 @@ public interface OrderLogisticsMapper {
* @param orderLogisticsDO
*/
void
updateById
(
OrderLogisticsDO
orderLogisticsDO
);
/**
* 查询 - 根据 orderId
*
* @param ids
* @return
*/
List
<
OrderLogisticsDO
>
selectByIds
(
@Param
(
"ids"
)
Collection
<
Integer
>
ids
);
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderDO.java
浏览文件 @
0d14138e
...
...
@@ -31,7 +31,7 @@ public class OrderDO extends DeletableDO {
/**
* 交易金额
*/
private
Integer
p
rice
;
private
Integer
p
ayAmount
;
///
/// 时间信息
...
...
@@ -87,7 +87,7 @@ public class OrderDO extends DeletableDO {
", userId="
+
userId
+
", orderLogisticsId="
+
orderLogisticsId
+
", orderNo='"
+
orderNo
+
'\''
+
", p
rice="
+
price
+
", p
ayAmount="
+
payAmount
+
", paymentTime="
+
paymentTime
+
", deliveryTime="
+
deliveryTime
+
", receiverTime="
+
receiverTime
+
...
...
@@ -134,12 +134,12 @@ public class OrderDO extends DeletableDO {
return
this
;
}
public
Integer
getP
rice
()
{
return
p
rice
;
public
Integer
getP
ayAmount
()
{
return
p
ayAmount
;
}
public
OrderDO
setP
rice
(
Integer
price
)
{
this
.
p
rice
=
price
;
public
OrderDO
setP
ayAmount
(
Integer
payAmount
)
{
this
.
p
ayAmount
=
payAmount
;
return
this
;
}
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderItemDO.java
浏览文件 @
0d14138e
...
...
@@ -28,14 +28,26 @@ public class OrderItemDO extends DeletableDO {
* 商品编号
*/
private
Integer
skuId
;
/**
* 商品名称
*/
private
String
skuName
;
/**
* 商品图片
*/
private
String
skuImage
;
/**
* 数量
*/
private
Integer
quantity
;
/**
*
金额
(分)
*
价格
(分)
*/
private
Integer
price
;
/**
* 支付金额(实付金额)
*/
private
Integer
payAmount
;
///
/// 时间信息
...
...
@@ -86,9 +98,12 @@ public class OrderItemDO extends DeletableDO {
"id="
+
id
+
", orderId="
+
orderId
+
", orderNo='"
+
orderNo
+
'\''
+
", skuId='"
+
skuId
+
'\''
+
", skuId="
+
skuId
+
", skuName="
+
skuName
+
", skuImage="
+
skuImage
+
", quantity="
+
quantity
+
", price="
+
price
+
", payAmount="
+
payAmount
+
", paymentTime="
+
paymentTime
+
", deliveryTime="
+
deliveryTime
+
", receiverTime="
+
receiverTime
+
...
...
@@ -134,6 +149,24 @@ public class OrderItemDO extends DeletableDO {
return
this
;
}
public
String
getSkuName
()
{
return
skuName
;
}
public
OrderItemDO
setSkuName
(
String
skuName
)
{
this
.
skuName
=
skuName
;
return
this
;
}
public
String
getSkuImage
()
{
return
skuImage
;
}
public
OrderItemDO
setSkuImage
(
String
skuImage
)
{
this
.
skuImage
=
skuImage
;
return
this
;
}
public
Integer
getQuantity
()
{
return
quantity
;
}
...
...
@@ -152,6 +185,15 @@ public class OrderItemDO extends DeletableDO {
return
this
;
}
public
Integer
getPayAmount
()
{
return
payAmount
;
}
public
OrderItemDO
setPayAmount
(
Integer
payAmount
)
{
this
.
payAmount
=
payAmount
;
return
this
;
}
public
Date
getPaymentTime
()
{
return
paymentTime
;
}
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderLogisticsDO.java
浏览文件 @
0d14138e
...
...
@@ -15,6 +15,10 @@ public class OrderLogisticsDO extends BaseDO {
* id
*/
private
Integer
id
;
/**
* 订单编号
*/
private
Integer
orderId
;
/**
* 收件区域编号
*/
...
...
@@ -40,6 +44,7 @@ public class OrderLogisticsDO extends BaseDO {
public
String
toString
()
{
return
"OrderLogisticsDO{"
+
"id="
+
id
+
", orderId="
+
orderId
+
", areaNo='"
+
areaNo
+
'\''
+
", name='"
+
name
+
'\''
+
", mobile='"
+
mobile
+
'\''
+
...
...
@@ -57,6 +62,15 @@ public class OrderLogisticsDO extends BaseDO {
return
this
;
}
public
Integer
getOrderId
()
{
return
orderId
;
}
public
OrderLogisticsDO
setOrderId
(
Integer
orderId
)
{
this
.
orderId
=
orderId
;
return
this
;
}
public
String
getAreaNo
()
{
return
areaNo
;
}
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/service/OrderServiceImpl.java
浏览文件 @
0d14138e
package
cn
.
iocoder
.
mall
.
order
.
service
;
import
cn.iocoder.common.framework.constant.DeletedStatusEnum
;
import
cn.iocoder.common.framework.util.CollectionUtil
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.OrderCommon
;
import
cn.iocoder.mall.order.api.OrderService
;
import
cn.iocoder.mall.order.api.bo.*
;
import
cn.iocoder.mall.order.api.constant.OrderErrorCodeEnum
;
import
cn.iocoder.mall.order.api.constant.OrderHasReturnExchangeEnum
;
import
cn.iocoder.mall.order.api.constant.OrderStatusEnum
;
import
cn.iocoder.mall.order.api.dto.*
;
import
cn.iocoder.mall.order.
application.
convert.OrderConvert
;
import
cn.iocoder.mall.order.
application.
convert.OrderItemConvert
;
import
cn.iocoder.mall.order.
application.
convert.OrderLogisticsConvert
;
import
cn.iocoder.mall.order.convert.OrderConvert
;
import
cn.iocoder.mall.order.convert.OrderItemConvert
;
import
cn.iocoder.mall.order.convert.OrderLogisticsConvert
;
import
cn.iocoder.mall.order.dao.OrderItemMapper
;
import
cn.iocoder.mall.order.dao.OrderLogisticsMapper
;
import
cn.iocoder.mall.order.dao.OrderMapper
;
import
cn.iocoder.mall.order.dataobject.OrderDO
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.dataobject.OrderLogisticsDO
;
import
com.google.common.collect.Lists
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -58,15 +59,36 @@ public class OrderServiceImpl implements OrderService {
List
<
OrderDO
>
orderDOList
=
orderMapper
.
selectPage
(
orderQueryDTO
);
// 获取订单 id
Set
<
Integer
>
orderIds
=
orderDOList
.
stream
().
map
(
orderDO
->
orderDO
.
getId
()).
collect
(
Collectors
.
toSet
());
Set
<
Integer
>
orderIds
=
orderDOList
.
stream
()
.
map
(
orderDO
->
orderDO
.
getId
())
.
collect
(
Collectors
.
toSet
());
Set
<
Integer
>
orderLogisticsIds
=
orderDOList
.
stream
()
.
map
(
orderDO
->
orderDO
.
getOrderLogisticsId
())
.
collect
(
Collectors
.
toSet
());
// 获取物流信息
List
<
OrderLogisticsDO
>
orderLogisticsDOList
=
orderLogisticsMapper
.
selectByIds
(
orderLogisticsIds
);
List
<
OrderLogisticsBO
>
orderLogisticsBOList
=
OrderLogisticsConvert
.
INSTANCE
.
convertOrderLogisticsBO
(
orderLogisticsDOList
);
Map
<
Integer
,
OrderLogisticsBO
>
orderLogisticsDOMap
=
orderLogisticsBOList
.
stream
().
collect
(
Collectors
.
toMap
(
OrderLogisticsBO:
:
getId
,
obj
->
obj
));
// 获取 订单的 items
List
<
OrderItemDO
>
orderItemDOList
=
orderItemMapper
.
selectByOrderIdsAnd
Status
(
orderIds
,
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
.
selectByOrderIdsAnd
Deleted
(
orderIds
,
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
List
<
OrderItemBO
>
orderItemBOList
=
OrderItemConvert
.
INSTANCE
.
convertOrderItemDO
(
orderItemDOList
);
Map
<
Integer
,
List
<
OrderItemBO
>>
orderItemBOMultimap
=
CollectionUtil
.
buildMultimap
(
orderItemBOList
,
Integer
.
class
,
OrderItemBO
.
class
,
"orderId"
);
Map
<
Integer
,
List
<
OrderItemBO
>>
orderItemBOMultimap
=
orderItemBOList
.
stream
().
collect
(
Collectors
.
toMap
(
OrderItemBO:
:
getOrderId
,
item
->
Lists
.
newArrayList
(
item
),
(
oldVal
,
newVal
)
->
{
oldVal
.
addAll
(
newVal
);
return
oldVal
;
}
)
);
// 转换 orderDO 为 OrderBO,并设置 item
List
<
OrderBO
>
orderPageBOList
=
OrderConvert
.
INSTANCE
.
convertPageBO
(
orderDOList
);
...
...
@@ -74,6 +96,9 @@ public class OrderServiceImpl implements OrderService {
if
(
orderItemBOMultimap
.
containsKey
(
orderBO
.
getId
()))
{
orderBO
.
setOrderItems
(
orderItemBOMultimap
.
get
(
orderBO
.
getId
()));
}
if
(
orderLogisticsDOMap
.
containsKey
(
orderBO
.
getOrderLogisticsId
()))
{
orderBO
.
setOrderLogistics
(
orderLogisticsDOMap
.
get
(
orderBO
.
getOrderLogisticsId
()));
}
return
orderBO
;
}).
collect
(
Collectors
.
toList
());
...
...
@@ -86,7 +111,7 @@ public class OrderServiceImpl implements OrderService {
@Override
@Transactional
public
CommonResult
<
cn
.
iocoder
.
mall
.
order
.
api
.
bo
.
Order
BO
>
createOrder
(
Integer
userId
,
OrderCreateDTO
orderCreateDTO
)
{
public
CommonResult
<
OrderCreate
BO
>
createOrder
(
Integer
userId
,
OrderCreateDTO
orderCreateDTO
)
{
List
<
OrderCreateItemDTO
>
orderItemDTOList
=
orderCreateDTO
.
getOrderItems
();
OrderLogisticsDO
orderLogisticsDO
=
OrderLogisticsConvert
.
INSTANCE
.
convert
(
orderCreateDTO
);
List
<
OrderItemDO
>
orderItemDOList
=
OrderItemConvert
.
INSTANCE
.
convert
(
orderItemDTOList
);
...
...
@@ -120,7 +145,7 @@ public class OrderServiceImpl implements OrderService {
.
setUserId
(
userId
)
.
setOrderLogisticsId
(
orderLogisticsDO
.
getId
())
.
setOrderNo
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
))
.
setP
rice
(-
1
)
// 先设置一个默认值,金额在下面计算
.
setP
ayAmount
(-
1
)
// 先设置一个默认值,金额在下面计算
.
setClosingTime
(
null
)
.
setDeliveryTime
(
null
)
.
setPaymentTime
(
null
)
...
...
@@ -140,6 +165,9 @@ public class OrderServiceImpl implements OrderService {
.
setOrderId
(
orderDO
.
getId
())
.
setOrderNo
(
orderDO
.
getOrderNo
())
.
setPrice
(
goodsPrice
)
.
setPayAmount
(
orderItemDO
.
getQuantity
()
*
orderItemDO
.
getPrice
())
.
setSkuName
(
"夏季衣服-默认数据"
)
.
setSkuImage
(
"//img.alicdn.com/tps/i4/TB1TiGwKXXXXXXRXFXXqVMCNVXX-400-400.jpg_350x350q90.jpg_.webp"
)
.
setPaymentTime
(
null
)
.
setDeliveryTime
(
null
)
.
setReceiverTime
(
null
)
...
...
@@ -158,16 +186,16 @@ public class OrderServiceImpl implements OrderService {
orderMapper
.
updateById
(
new
OrderDO
()
.
setId
(
orderDO
.
getId
())
.
setP
rice
(
totalAmount
)
.
setP
ayAmount
(
totalAmount
)
);
// TODO: 2019-03-17 Sin 需要发送 创建成果 MQ 消息
return
CommonResult
.
success
(
new
cn
.
iocoder
.
mall
.
order
.
api
.
bo
.
Order
BO
()
new
OrderCreate
BO
()
.
setId
(
orderDO
.
getId
())
.
setOrderNo
(
orderDO
.
getOrderNo
())
.
set
Money
(
orderDO
.
getPrice
())
.
set
PayAmount
(
orderDO
.
getPayAmount
())
);
}
...
...
@@ -181,6 +209,19 @@ public class OrderServiceImpl implements OrderService {
return
CommonResult
.
success
(
null
);
}
@Override
@Transactional
public
CommonResult
updateOrderItemPayAmount
(
Integer
orderId
,
Integer
orderItemId
,
Integer
payAmount
)
{
if
(
payAmount
<
0
)
{
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
ORDER_PAY_AMOUNT_NOT_NEGATIVE
.
getCode
());
}
orderItemMapper
.
updateById
(
new
OrderItemDO
().
setId
(
orderItemId
).
setPayAmount
(
payAmount
));
List
<
OrderItemDO
>
orderItemDOList
=
orderItemMapper
.
selectByOrderIdAndDeleted
(
orderId
,
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
Integer
orderPayAmount
=
orderCommon
.
calculatedAmount
(
orderItemDOList
);
orderMapper
.
updateById
(
new
OrderDO
().
setId
(
orderId
).
setPayAmount
(
orderPayAmount
));
return
CommonResult
.
success
(
null
);
}
@Override
public
CommonResult
deleteOrderItem
(
OrderItemDeletedDTO
orderItemDeletedDTO
)
{
Integer
orderId
=
orderItemDeletedDTO
.
getOrderId
();
...
...
@@ -211,7 +252,7 @@ public class OrderServiceImpl implements OrderService {
orderMapper
.
updateById
(
new
OrderDO
()
.
setId
(
orderId
)
.
setP
rice
(
totalAmount
)
.
setP
ayAmount
(
totalAmount
)
);
return
CommonResult
.
success
(
null
);
}
...
...
order/order-service-impl/src/main/resources/mapper/OrderItemMapper.xml
浏览文件 @
0d14138e
...
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderItemMapper"
>
<sql
id=
"FIELDS"
>
id, order_id, order_no, sku_id,
quantity, price
,
id, order_id, order_no, sku_id,
sku_name, sku_image, quantity, price, pay_amount
,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, status, create_time, update_time, deleted
</sql>
...
...
@@ -13,7 +13,7 @@
-->
<insert
id=
"insert"
parameterType=
"OrderItemDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
INSERT INTO `order_item` (
order_id, order_no, sku_id,
quantity, price
,
order_id, order_no, sku_id,
sku_name, sku_image, quantity, price, pay_amount
,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, status, create_time, update_time, deleted
) VALUES (
...
...
@@ -38,13 +38,22 @@
<if
test=
"skuId != null"
>
, sku_id = #{skuId}
</if>
<if
test=
"skuName != null"
>
, sku_name = #{skuName}
</if>
<if
test=
"skuImage != null"
>
, sku_image = #{skuImage}
</if>
<if
test=
"quantity != null"
>
, quantity = #{quantity}
</if>
<if
test=
"price != null"
>
, price = #{price}
</if>
-- time
<if
test=
"payAmount != null"
>
, pay_amount = #{payAmount}
</if>
<if
test=
"paymentTime != null"
>
, payment_time = #{paymentTime}
</if>
...
...
@@ -57,7 +66,7 @@
<if
test=
"closingTime != null"
>
, closing_time = #{closingTime}
</if>
-- other
<if
test=
"hasReturnExchange != null"
>
, has_return_exchange = #{hasReturnExchange}
</if>
...
...
@@ -114,12 +123,14 @@
<!--
查询 - 根据 orderIds 和 status
-->
<select
id=
"selectByOrderIdsAndStatus"
resultType=
"cn.iocoder.mall.order.dataobject.OrderItemDO"
>
SELECT * FROM `order_item`
WHERE `status` = #{status}
<select
id=
"selectByOrderIdsAndDeleted"
resultType=
"cn.iocoder.mall.order.dataobject.OrderItemDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order_item`
WHERE `deleted` = #{deleted}
AND `order_id`
IN
<foreach
collection=
"orderIds"
i
ndex
=
"orderId"
open=
"("
close=
")"
separator=
","
>
<foreach
collection=
"orderIds"
i
tem
=
"orderId"
open=
"("
close=
")"
separator=
","
>
#{orderId}
</foreach>
</select>
...
...
order/order-service-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
浏览文件 @
0d14138e
...
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderLogisticsMapper"
>
<sql
id=
"FIELDS"
>
id, area_no, `name`, mobile, address, logistics_no
id, area_no, `name`, mobile, address, logistics_no
, create_time, update_time
</sql>
<!--
...
...
@@ -49,4 +49,18 @@
<include
refid=
"updateFieldSql"
/>
WHERE id = #{id}
</update>
<!--
查询 - 根据 orderId
-->
<select
id=
"selectByIds"
resultType=
"cn.iocoder.mall.order.dataobject.OrderLogisticsDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order_logistics`
WHERE `id`
IN
<foreach
collection=
"ids"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</select>
</mapper>
\ No newline at end of file
order/order-service-impl/src/main/resources/mapper/OrderMapper.xml
浏览文件 @
0d14138e
...
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderMapper"
>
<sql
id=
"FIELDS"
>
id, user_id, order_logistics_id, order_no, p
rice
, payment_time,
id, user_id, order_logistics_id, order_no, p
ay_amount
, payment_time,
delivery_time, receiver_time, closing_time, has_return_exchange,
status, remark, create_time, update_time, `deleted`
</sql>
...
...
@@ -36,8 +36,8 @@
<if
test=
"orderNo != null"
>
, order_no = #{orderNo}
</if>
<if
test=
"p
rice
!= null"
>
, p
rice = #{price
}
<if
test=
"p
ayAmount
!= null"
>
, p
ay_amount = #{payAmount
}
</if>
-- time
<if
test=
"paymentTime != null"
>
...
...
order/order-service-impl/src/test/java/cn/iocoder/mall/order/service/OrderServiceImplTest.java
浏览文件 @
0d14138e
...
...
@@ -3,12 +3,11 @@ package cn.iocoder.mall.order.service;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.OrderApplicationTest
;
import
cn.iocoder.mall.order.api.OrderService
;
import
cn.iocoder.mall.order.api.bo.OrderBO
;
import
cn.iocoder.mall.order.api.bo.Order
Create
BO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateItemDTO
;
import
cn.iocoder.mall.order.dao.OrderMapper
;
import
cn.iocoder.mall.order.dataobject.OrderDO
;
import
org.checkerframework.checker.units.qual.A
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -44,7 +43,7 @@ public class OrderServiceImplTest {
.
setSkuId
(
1
)
.
setQuantity
(
1
);
CommonResult
<
OrderBO
>
result
=
orderService
.
createOrder
(
CommonResult
<
Order
Create
BO
>
result
=
orderService
.
createOrder
(
userId
,
new
OrderCreateDTO
()
.
setRemark
(
""
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论