Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
0256a4da
提交
0256a4da
authored
3月 30, 2019
作者:
sin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 添加修改金额
- 添加备注 - 添加取消订单操作
上级
bbccd623
隐藏空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
717 行增加
和
115 行删除
+717
-115
AdminsOrderController.java
.../application/controller/admins/AdminsOrderController.java
+16
-0
OrderPageQueryVO.java
...n/iocoder/mall/order/application/vo/OrderPageQueryVO.java
+12
-0
OrderReturnService.java
...in/java/cn/iocoder/mall/order/api/OrderReturnService.java
+21
-0
OrderService.java
...src/main/java/cn/iocoder/mall/order/api/OrderService.java
+19
-2
ErrorCodeInterval.java
...cn/iocoder/mall/order/api/constant/ErrorCodeInterval.java
+2
-2
OrderCancelReasonsEnum.java
...coder/mall/order/api/constant/OrderCancelReasonsEnum.java
+54
-0
OrderErrorCodeEnum.java
...n/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
+10
-5
OrderReturnStatusEnum.java
...ocoder/mall/order/api/constant/OrderReturnStatusEnum.java
+41
-0
OrderReturnTypeEnum.java
.../iocoder/mall/order/api/constant/OrderReturnTypeEnum.java
+31
-0
OrderReturnCreateDTO.java
...a/cn/iocoder/mall/order/api/dto/OrderReturnCreateDTO.java
+93
-0
OrderCommon.java
.../src/main/java/cn/iocoder/mall/order/biz/OrderCommon.java
+2
-2
OrderCommonImpl.java
.../main/java/cn/iocoder/mall/order/biz/OrderCommonImpl.java
+3
-3
DatabaseConfiguration.java
.../iocoder/mall/order/biz/config/DatabaseConfiguration.java
+2
-2
ServiceExceptionConfiguration.java
.../mall/order/biz/config/ServiceExceptionConfiguration.java
+1
-1
OrderExchangeReasonEnum.java
...der/mall/order/biz/constants/OrderExchangeReasonEnum.java
+1
-1
OrderReturnReasonEnum.java
...coder/mall/order/biz/constants/OrderReturnReasonEnum.java
+1
-1
package-info.java
...ava/cn/iocoder/mall/order/biz/constants/package-info.java
+2
-2
OrderConvert.java
.../java/cn/iocoder/mall/order/biz/convert/OrderConvert.java
+2
-2
OrderItemConvert.java
...a/cn/iocoder/mall/order/biz/convert/OrderItemConvert.java
+2
-2
OrderLogisticsConvert.java
...iocoder/mall/order/biz/convert/OrderLogisticsConvert.java
+2
-2
OrderReturnConvert.java
...cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java
+23
-0
OrderCancelMapper.java
...java/cn/iocoder/mall/order/biz/dao/OrderCancelMapper.java
+16
-0
OrderItemMapper.java
...n/java/cn/iocoder/mall/order/biz/dao/OrderItemMapper.java
+8
-2
OrderLogisticsMapper.java
...a/cn/iocoder/mall/order/biz/dao/OrderLogisticsMapper.java
+2
-2
OrderMapper.java
.../main/java/cn/iocoder/mall/order/biz/dao/OrderMapper.java
+2
-2
OrderReturnMapper.java
...java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java
+13
-0
OrderCancelDO.java
...a/cn/iocoder/mall/order/biz/dataobject/OrderCancelDO.java
+95
-0
OrderDO.java
...in/java/cn/iocoder/mall/order/biz/dataobject/OrderDO.java
+10
-10
OrderExchangeDO.java
...cn/iocoder/mall/order/biz/dataobject/OrderExchangeDO.java
+3
-3
OrderItemDO.java
...ava/cn/iocoder/mall/order/biz/dataobject/OrderItemDO.java
+1
-1
OrderLogisticsDO.java
...n/iocoder/mall/order/biz/dataobject/OrderLogisticsDO.java
+1
-2
OrderLogisticsDetailDO.java
...der/mall/order/biz/dataobject/OrderLogisticsDetailDO.java
+1
-1
OrderReturnDO.java
...a/cn/iocoder/mall/order/biz/dataobject/OrderReturnDO.java
+52
-24
README.md
.../main/java/cn/iocoder/mall/order/biz/dataobject/README.md
+0
-0
ProductSpuServiceMock.java
...cn/iocoder/mall/order/biz/mock/ProductSpuServiceMock.java
+1
-1
package-info.java
...src/main/java/cn/iocoder/mall/order/biz/package-info.java
+2
-2
OrderReturnServiceImpl.java
...ocoder/mall/order/biz/service/OrderReturnServiceImpl.java
+39
-0
OrderServiceImpl.java
...a/cn/iocoder/mall/order/biz/service/OrderServiceImpl.java
+69
-12
application.yaml
...r-service-impl/src/main/resources/config/application.yaml
+4
-3
OrderCancelMapper.xml
...vice-impl/src/main/resources/mapper/OrderCancelMapper.xml
+22
-0
OrderItemMapper.xml
...ervice-impl/src/main/resources/mapper/OrderItemMapper.xml
+15
-6
OrderLogisticsMapper.xml
...e-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
+2
-2
OrderMapper.xml
...er-service-impl/src/main/resources/mapper/OrderMapper.xml
+16
-12
OrderServiceImplTest.java
.../iocoder/mall/order/biz/service/OrderServiceImplTest.java
+3
-3
没有找到文件。
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/admins/AdminsOrderController.java
浏览文件 @
0256a4da
...
...
@@ -36,6 +36,22 @@ public class AdminsOrderController {
return
orderService
.
getOrderPage
(
orderQueryDTO
);
}
@PutMapping
(
"update_remark"
)
@ApiOperation
(
"更新-更新订单备注"
)
public
CommonResult
updateRemark
(
@RequestParam
(
"orderId"
)
Integer
orderId
,
@RequestParam
(
"remark"
)
String
remark
)
{
return
orderService
.
updateOrderRemake
(
orderId
,
remark
);
}
@PutMapping
(
"cancel_order"
)
@ApiOperation
(
"取消订单"
)
public
CommonResult
cancelOrder
(
@RequestParam
(
"orderId"
)
Integer
orderId
,
@RequestParam
(
"reasons"
)
Integer
reasons
,
@RequestParam
(
value
=
"otherReasons"
,
required
=
false
)
String
otherReasons
)
{
return
orderService
.
cancelOrder
(
orderId
,
reasons
,
otherReasons
);
}
@PutMapping
(
"order_item/update_pay_amount"
)
@ApiOperation
(
"更新-订单item实付金额"
)
public
CommonResult
updateOrderItemPayAmount
(
@RequestParam
(
"orderId"
)
Integer
orderId
,
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/vo/OrderPageQueryVO.java
浏览文件 @
0256a4da
...
...
@@ -59,6 +59,8 @@ public class OrderPageQueryVO implements Serializable {
/**
* 删除状态
*/
@ApiModelProperty
(
"订单状态"
)
private
Integer
status
;
@ApiModelProperty
(
"删除状态"
)
private
Integer
deleted
;
@ApiModelProperty
(
"分页pageNo"
)
...
...
@@ -78,6 +80,7 @@ public class OrderPageQueryVO implements Serializable {
", endCreateTime="
+
endCreateTime
+
", startClosingTime="
+
startClosingTime
+
", endClosingTime="
+
endClosingTime
+
", status="
+
status
+
", deleted="
+
deleted
+
", pageNo="
+
pageNo
+
", pageSize="
+
pageSize
+
...
...
@@ -165,6 +168,15 @@ public class OrderPageQueryVO implements Serializable {
return
this
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
OrderPageQueryVO
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
return
this
;
}
public
Integer
getDeleted
()
{
return
deleted
;
}
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderReturnService.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
api
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.api.dto.OrderReturnCreateDTO
;
/**
* 订单退货
*
* @author Sin
* @time 2019-03-30 15:33
*/
public
interface
OrderReturnService
{
/**
* 订单退货 - 创建
*
* @param orderReturnCreate
* @return
*/
CommonResult
createOrderReturn
(
OrderReturnCreateDTO
orderReturnCreate
);
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/OrderService.java
浏览文件 @
0256a4da
...
...
@@ -39,7 +39,7 @@ public interface OrderService {
CommonResult
updateOrderItem
(
OrderItemUpdateDTO
orderItemUpdateDTO
);
/**
*
订单item - 更新
payAmount(实付金额)
*
更新订单item -
payAmount(实付金额)
*
* @param orderId
* @param orderItemId
...
...
@@ -49,7 +49,24 @@ public interface OrderService {
CommonResult
updateOrderItemPayAmount
(
Integer
orderId
,
Integer
orderItemId
,
Integer
payAmount
);
/**
* 订单item - 删除
* 订单 - 取消订单
*
* @param orderId
* @return
*/
CommonResult
cancelOrder
(
Integer
orderId
,
Integer
reasons
,
String
otherReasons
);
/**
* 更新订单 - 备注
*
* @param orderId
* @param remake
* @return
*/
CommonResult
updateOrderRemake
(
Integer
orderId
,
String
remake
);
/**
* 删除订单item
*
* @param orderItemDeletedDTO
* @return
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/ErrorCodeInterval.java
浏览文件 @
0256a4da
...
...
@@ -5,13 +5,13 @@ import cn.iocoder.common.framework.constant.ModuleErrorCodeInterval;
/**
* 错误码区间
*
* 当前模块化区间:[1-00
0-001-000 ~ 1-000-002
-000]
* 当前模块化区间:[1-00
8-000-000 ~ 1-008-000
-000]
*
* @author Sin
* @time 2019-03-23 11:35
*/
public
class
ErrorCodeInterval
extends
ModuleErrorCodeInterval
{
// OrderErrorCodeEnum 错误码区间 [1-00
0-001-000 ~ 1-000-001-1
00]
// OrderErrorCodeEnum 错误码区间 [1-00
8-000-000 ~ 1-008-000-0
00]
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderCancelReasonsEnum.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
api
.
constant
;
/**
* 订单取消原因
* order_cancel_reasons
* @author Sin
* @time 2019-03-30 15:08
*/
public
enum
OrderCancelReasonsEnum
{
CANCEL_1
(
1
,
"无法联系上买家"
),
CANCEL_2
(
2
,
"买家误拍或重拍了"
),
CANCEL_3
(
3
,
"买家无诚意完成交易"
),
CANCEL_4
(
4
,
"已通过银行线下汇款"
),
CANCEL_5
(
5
,
"已通过同城见面交易"
),
CANCEL_6
(
6
,
"已通过货到付款交易"
),
CANCEL_7
(
7
,
"已通过网上银行直接汇款"
),
CANCEL_8
(
8
,
"已经缺货无法交易"
),
CANCEL_20
(
20
,
"其他"
),
;
// 无法联系上买家
// 买家误拍或重拍了
// 买家无诚意完成交易
// 已通过银行线下汇款
// 已通过同城见面交易
// 已通过货到付款交易
// 已通过网上银行直接汇款
// 已经缺货无法交易
private
final
int
code
;
private
final
String
message
;
OrderCancelReasonsEnum
(
int
code
,
String
message
)
{
this
.
code
=
code
;
this
.
message
=
message
;
}
@Override
public
String
toString
()
{
return
"OrderCancelEnum{"
+
"code="
+
code
+
", message='"
+
message
+
'\''
+
'}'
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getMessage
()
{
return
message
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
浏览文件 @
0256a4da
...
...
@@ -3,17 +3,22 @@ package cn.iocoder.mall.order.api.constant;
/**
* 订单错误码
*
* 错误码区间 [1-00
0-001-000 ~ 1-000-002
-000]
* 错误码区间 [1-00
8-000-000 ~ 1-008-000
-000]
*
* @author Sin
* @time 2019-03-23 11:23
*/
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
,
"支付金额不能为负数!"
),
// order
ORDER_NOT_EXISTENT
(
1008000000
,
"获取订单不存在!"
),
ORDER_GET_SKU_FAIL
(
1008000001
,
"获取商品失败!"
),
ORDER_GET_SKU_NOT_EXISTENT
(
1008000002
,
"获取的商品不存在!"
),
ORDER_PAY_AMOUNT_NOT_NEGATIVE
(
1008000003
,
"支付金额不能为负数!"
),
ORDER_STATUS_NOT_CANCEL
(
1008000004
,
"订单状态不能取消"
),
// 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/OrderReturnStatusEnum.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
api
.
constant
;
/**
* 订单退货 status
*
* @author Sin
* @time 2019-03-30 15:56
*/
public
enum
OrderReturnStatusEnum
{
/**
* 状态
*
* - 1、退货申请
* - 2、申请成功
* - 3、申请失败
* - 4、退货中
* - 5、退货成功
*/
RETURN_APPLICATION
(
1
,
"退货申请"
),
APPLICATION_SUCCESSFUL
(
1
,
"申请成功"
),
APPLICATION_FAIL
(
1
,
"申请失败"
),
;
private
final
int
value
;
private
final
String
name
;
OrderReturnStatusEnum
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
int
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderReturnTypeEnum.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
api
.
constant
;
/**
* 订单退货 类型
*
* @author Sin
* @time 2019-03-30 15:42
*/
public
enum
OrderReturnTypeEnum
{
ORDER
(
1
,
"订单"
),
ORDER_ITEM
(
2
,
"订单item"
),
;
private
final
int
value
;
private
final
String
name
;
OrderReturnTypeEnum
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
int
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/dto/OrderReturnCreateDTO.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
api
.
dto
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 订单退货 - 创建
*
* @author Sin
* @time 2019-03-30 15:34
*/
public
class
OrderReturnCreateDTO
implements
Serializable
{
/**
* 订单编号
*/
private
Integer
orderId
;
/**
* 订单 item 编号
*/
private
Integer
orderItemId
;
/**
* 退货原因(字典值)
*/
private
Integer
orderReason
;
/**
* 原因(如果选择其他,原因保存在这)
*/
private
String
otherReasons
;
/**
* 订单类型
*
* - 0、为 Order 订单 (对整个订单退货)
* - 1、为 OrderItem 订单 (对订单某一个商品退货)
*/
private
Integer
orderType
;
@Override
public
String
toString
()
{
return
"OrderReturnCreateDTO{"
+
"orderId="
+
orderId
+
", orderItemId="
+
orderItemId
+
", orderReason="
+
orderReason
+
", otherReasons='"
+
otherReasons
+
'\''
+
", orderType="
+
orderType
+
'}'
;
}
public
Integer
getOrderId
()
{
return
orderId
;
}
public
OrderReturnCreateDTO
setOrderId
(
Integer
orderId
)
{
this
.
orderId
=
orderId
;
return
this
;
}
public
Integer
getOrderItemId
()
{
return
orderItemId
;
}
public
OrderReturnCreateDTO
setOrderItemId
(
Integer
orderItemId
)
{
this
.
orderItemId
=
orderItemId
;
return
this
;
}
public
Integer
getOrderReason
()
{
return
orderReason
;
}
public
OrderReturnCreateDTO
setOrderReason
(
Integer
orderReason
)
{
this
.
orderReason
=
orderReason
;
return
this
;
}
public
String
getOtherReasons
()
{
return
otherReasons
;
}
public
OrderReturnCreateDTO
setOtherReasons
(
String
otherReasons
)
{
this
.
otherReasons
=
otherReasons
;
return
this
;
}
public
Integer
getOrderType
()
{
return
orderType
;
}
public
OrderReturnCreateDTO
setOrderType
(
Integer
orderType
)
{
this
.
orderType
=
orderType
;
return
this
;
}
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/OrderCommon.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
OrderCommon.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
;
package
cn
.
iocoder
.
mall
.
order
.
biz
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderItemDO
;
import
java.util.List
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/OrderCommonImpl.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
OrderCommonImpl.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
;
package
cn
.
iocoder
.
mall
.
order
.
biz
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderItemDO
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -23,7 +23,7 @@ public class OrderCommonImpl implements OrderCommon {
}
AtomicInteger
totalAmount
=
new
AtomicInteger
(
0
);
items
.
forEach
(
orderItemDO
->
{
totalAmount
.
addAndGet
(
orderItemDO
.
getP
rice
()
*
orderItemDO
.
getQuantity
());
totalAmount
.
addAndGet
(
orderItemDO
.
getP
ayAmount
()
*
orderItemDO
.
getQuantity
());
});
return
totalAmount
.
get
();
}
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/config/DatabaseConfiguration.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
config/DatabaseConfiguration.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
config
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
config
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
@Configuration
@MapperScan
(
"cn.iocoder.mall.order.dao"
)
// 扫描对应的 Mapper 接口
@MapperScan
(
"cn.iocoder.mall.order.
biz.
dao"
)
// 扫描对应的 Mapper 接口
@EnableTransactionManagement
(
proxyTargetClass
=
true
)
// 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
public
class
DatabaseConfiguration
{
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/config/ServiceExceptionConfiguration.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
config/ServiceExceptionConfiguration.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
config
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
config
;
import
org.springframework.boot.context.event.ApplicationReadyEvent
;
import
org.springframework.context.annotation.Configuration
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/constants/OrderExchangeReasonEnum.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
constants/OrderExchangeReasonEnum.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
constants
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
constants
;
/**
* 订单换货原因
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/constants/OrderReturnReasonEnum.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
constants/OrderReturnReasonEnum.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
constants
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
constants
;
/**
* 订单退货原因
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/constants/package-info.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
constants/package-info.java
浏览文件 @
0256a4da
...
...
@@ -4,4 +4,4 @@
* @author Sin
* @time 2019-03-20 21:16
*/
package
cn
.
iocoder
.
mall
.
order
.
constants
;
\ No newline at end of file
package
cn
.
iocoder
.
mall
.
order
.
biz
.
constants
;
\ No newline at end of file
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
convert/OrderConvert.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
convert
;
import
cn.iocoder.mall.order.api.bo.OrderBO
;
import
cn.iocoder.mall.order.dataobject.OrderDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderItemConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
convert/OrderItemConvert.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
convert
;
import
cn.iocoder.mall.order.api.dto.OrderCreateItemDTO
;
import
cn.iocoder.mall.order.api.bo.OrderItemBO
;
import
cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderItemDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/convert/OrderLogisticsConvert.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
convert/OrderLogisticsConvert.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
convert
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
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
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderLogisticsDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/convert/OrderReturnConvert.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
biz
.
convert
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
import
cn.iocoder.mall.order.api.dto.OrderReturnCreateDTO
;
import
cn.iocoder.mall.order.biz.dataobject.OrderReturnDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
/**
* 订单 return
*
* @author Sin
* @time 2019-03-30 15:46
*/
@Mapper
public
interface
OrderReturnConvert
{
OrderReturnConvert
INSTANCE
=
Mappers
.
getMapper
(
OrderReturnConvert
.
class
);
@Mappings
({})
OrderReturnDO
convert
(
OrderReturnCreateDTO
orderReturnCreate
);
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderCancelMapper.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dao
;
import
cn.iocoder.mall.order.biz.dataobject.OrderCancelDO
;
import
org.springframework.stereotype.Repository
;
/**
* 订单取消 mapper
*
* @author Sin
* @time 2019-03-30 16:27
*/
@Repository
public
interface
OrderCancelMapper
{
int
insert
(
OrderCancelDO
orderCancelDO
);
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dao/OrderItemMapper.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dao/OrderItemMapper.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dao
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dao
;
import
cn.iocoder.mall.order.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderItemDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -31,6 +31,12 @@ public interface OrderItemMapper {
*/
void
updateById
(
OrderItemDO
orderItemDO
);
/**
* 更新 - 根据 orderId
* @param orderItemDO
*/
void
updateByOrderId
(
OrderItemDO
orderItemDO
);
/**
* 更新 - 根据Ids
*
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dao/OrderLogisticsMapper.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dao/OrderLogisticsMapper.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dao
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dao
;
import
cn.iocoder.mall.order.dataobject.OrderLogisticsDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderLogisticsDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dao/OrderMapper.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dao/OrderMapper.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dao
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dao
;
import
cn.iocoder.mall.order.api.dto.OrderQueryDTO
;
import
cn.iocoder.mall.order.dataobject.OrderDO
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dao/OrderReturnMapper.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dao
;
import
org.springframework.stereotype.Repository
;
/**
* 订单退货 mapper
*
* @author Sin
* @time 2019-03-30 15:36
*/
@Repository
public
interface
OrderReturnMapper
{
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/dataobject/OrderCancelDO.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.BaseDO
;
import
java.io.Serializable
;
/**
* 订单关闭
*
* - 注意:订单只有在用户为付款前取消。
*
* - 取消订单,这里是取消整个订单,不能对订单 item 单独做取消
*
* @author Sin
* @time 2019-03-30 16:20
*/
public
class
OrderCancelDO
extends
BaseDO
{
/**
* id
*/
private
Integer
id
;
/**
* 订单id
*/
private
Integer
orderId
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 关闭订单原因(字典)
*/
private
Integer
reason
;
/**
* 原因(如果选择其他,原因保存在这)
*/
private
String
otherReason
;
@Override
public
String
toString
()
{
return
"OrderCancelDO{"
+
"id="
+
id
+
", orderId="
+
orderId
+
", orderNo='"
+
orderNo
+
'\''
+
", reason="
+
reason
+
", otherReason='"
+
otherReason
+
'\''
+
'}'
;
}
public
Integer
getId
()
{
return
id
;
}
public
OrderCancelDO
setId
(
Integer
id
)
{
this
.
id
=
id
;
return
this
;
}
public
Integer
getOrderId
()
{
return
orderId
;
}
public
OrderCancelDO
setOrderId
(
Integer
orderId
)
{
this
.
orderId
=
orderId
;
return
this
;
}
public
String
getOrderNo
()
{
return
orderNo
;
}
public
OrderCancelDO
setOrderNo
(
String
orderNo
)
{
this
.
orderNo
=
orderNo
;
return
this
;
}
public
Integer
getReason
()
{
return
reason
;
}
public
OrderCancelDO
setReason
(
Integer
reason
)
{
this
.
reason
=
reason
;
return
this
;
}
public
String
getOtherReason
()
{
return
otherReason
;
}
public
OrderCancelDO
setOtherReason
(
String
otherReason
)
{
this
.
otherReason
=
otherReason
;
return
this
;
}
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
...
...
@@ -59,20 +59,20 @@ public class OrderDO extends DeletableDO {
/**
* 是否退货
*
* -
0
、没有
* -
1
、换货
* -
2
、退货
* -
3
、换货 + 退货
* -
1
、没有
* -
2
、换货
* -
3
、退货
* -
4
、换货 + 退货
*/
private
Integer
hasReturnExchange
;
/**
* 状态(如果有多个商品分开发货需要全部商品发完才会改变状态)
*
* -
0
、待付款
* -
1
、待发货
* -
2
、待收获
* -
3
、已完成
* -
4
、已关闭
* -
1
、待付款
* -
2
、待发货
* -
3
、待收获
* -
4
、已完成
* -
5
、已关闭
*/
private
Integer
status
;
/**
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderExchangeDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderExchangeDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
...
...
@@ -51,13 +51,13 @@ public class OrderExchangeDO extends DeletableDO {
/**
* 原因 (关联字典)
*
* {@link cn.iocoder.mall.order.constants.OrderExchangeReasonEnum}
* {@link cn.iocoder.mall.order.
biz.
constants.OrderExchangeReasonEnum}
*/
private
Integer
orderReasonId
;
/**
* 原因(如果选择其他,原因保存在这)
*
* {@link cn.iocoder.mall.order.constants.OrderExchangeReasonEnum#REASON_000}
* {@link cn.iocoder.mall.order.
biz.
constants.OrderExchangeReasonEnum#REASON_000}
*/
private
String
reason
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderItemDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderItemDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderLogisticsDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderLogisticsDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.BaseDO
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
/**
* 订单物流信息
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderLogisticsDetailDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderLogisticsDetailDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/OrderReturnDO.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/OrderReturnDO.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
dataobject
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
...
...
@@ -31,7 +31,15 @@ public class OrderReturnDO extends DeletableDO {
/**
* 商品编号(保存一个冗余,如果一个订单下存在多个商品,会有很大的作用)
*/
private
String
skuId
;
private
Integer
skuId
;
/**
* 商品名称
*/
private
String
skuName
;
/**
* 商品图片
*/
private
String
skuImage
;
/**
* 物流id
*/
...
...
@@ -43,15 +51,15 @@ public class OrderReturnDO extends DeletableDO {
/**
* 退货原因(字典值)
*
* {@link cn.iocoder.mall.order.constants.OrderReturnReasonEnum}
* {@link cn.iocoder.mall.order.
biz.
constants.OrderReturnReasonEnum}
*/
private
Integer
orderReason
Id
;
private
Integer
orderReason
;
/**
* 原因(如果选择其他,原因保存在这)
*
* {@link cn.iocoder.mall.order.constants.OrderReturnReasonEnum#REASON_000}
* {@link cn.iocoder.mall.order.
biz.
constants.OrderReturnReasonEnum#REASON_000}
*/
private
String
reason
;
private
String
otherReasons
;
///
/// 时间信息
...
...
@@ -90,11 +98,11 @@ public class OrderReturnDO extends DeletableDO {
/**
* 状态
*
* -
0
、退货申请
* -
1
、申请成功
* -
2
、申请失败
* -
3
、退货中
* -
4
、退货成功
* -
1
、退货申请
* -
2
、申请成功
* -
3
、申请失败
* -
4
、退货中
* -
5
、退货成功
*/
private
Integer
status
;
...
...
@@ -105,10 +113,12 @@ public class OrderReturnDO extends DeletableDO {
", orderId="
+
orderId
+
", orderNo='"
+
orderNo
+
'\''
+
", orderItemId="
+
orderItemId
+
", skuId='"
+
skuId
+
'\''
+
", skuId="
+
skuId
+
", skuName='"
+
skuName
+
'\''
+
", skuImage='"
+
skuImage
+
'\''
+
", orderLogisticsId="
+
orderLogisticsId
+
", orderReason
Id="
+
orderReasonId
+
",
reason='"
+
reason
+
'\''
+
", orderReason
="
+
orderReason
+
",
otherReasons='"
+
otherReasons
+
'\''
+
", createTime="
+
createTime
+
", approvalTime="
+
approvalTime
+
", logisticsTime="
+
logisticsTime
+
...
...
@@ -155,15 +165,33 @@ public class OrderReturnDO extends DeletableDO {
return
this
;
}
public
String
getSkuId
()
{
public
Integer
getSkuId
()
{
return
skuId
;
}
public
OrderReturnDO
setSkuId
(
String
skuId
)
{
public
OrderReturnDO
setSkuId
(
Integer
skuId
)
{
this
.
skuId
=
skuId
;
return
this
;
}
public
String
getSkuName
()
{
return
skuName
;
}
public
OrderReturnDO
setSkuName
(
String
skuName
)
{
this
.
skuName
=
skuName
;
return
this
;
}
public
String
getSkuImage
()
{
return
skuImage
;
}
public
OrderReturnDO
setSkuImage
(
String
skuImage
)
{
this
.
skuImage
=
skuImage
;
return
this
;
}
public
Integer
getOrderLogisticsId
()
{
return
orderLogisticsId
;
}
...
...
@@ -173,21 +201,21 @@ public class OrderReturnDO extends DeletableDO {
return
this
;
}
public
Integer
getOrderReason
Id
()
{
return
orderReason
Id
;
public
Integer
getOrderReason
()
{
return
orderReason
;
}
public
OrderReturnDO
setOrderReason
Id
(
Integer
orderReasonId
)
{
this
.
orderReason
Id
=
orderReasonId
;
public
OrderReturnDO
setOrderReason
(
Integer
orderReason
)
{
this
.
orderReason
=
orderReason
;
return
this
;
}
public
String
get
Reason
()
{
return
reason
;
public
String
get
OtherReasons
()
{
return
otherReasons
;
}
public
OrderReturnDO
set
Reason
(
String
reason
)
{
this
.
reason
=
reason
;
public
OrderReturnDO
set
OtherReasons
(
String
otherReasons
)
{
this
.
otherReasons
=
otherReasons
;
return
this
;
}
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/dataobject/README.md
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
dataobject/README.md
浏览文件 @
0256a4da
File moved
order/order-service-impl/src/main/java/cn/iocoder/mall/order/mock/ProductSpuServiceMock.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
mock/ProductSpuServiceMock.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
mock
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
mock
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.product.api.ProductSpuService
;
...
...
order/order-service-impl/src/main/java/cn/iocoder/mall/order/package-info.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
package-info.java
浏览文件 @
0256a4da
...
...
@@ -2,4 +2,4 @@
* @author Sin
* @time 2019-03-16 13:49
*/
package
cn
.
iocoder
.
mall
.
order
;
\ No newline at end of file
package
cn
.
iocoder
.
mall
.
order
.
biz
;
\ No newline at end of file
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/OrderReturnServiceImpl.java
0 → 100644
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
biz
.
service
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.api.OrderReturnService
;
import
cn.iocoder.mall.order.api.constant.OrderReturnStatusEnum
;
import
cn.iocoder.mall.order.api.dto.OrderReturnCreateDTO
;
import
cn.iocoder.mall.order.biz.convert.OrderReturnConvert
;
import
cn.iocoder.mall.order.biz.dao.OrderReturnMapper
;
import
cn.iocoder.mall.order.biz.dataobject.OrderReturnDO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* 订单退货 service
*
* @author Sin
* @time 2019-03-30 15:35
*/
@Service
public
class
OrderReturnServiceImpl
implements
OrderReturnService
{
@Autowired
private
OrderReturnMapper
orderReturnMapper
;
@Override
public
CommonResult
createOrderReturn
(
OrderReturnCreateDTO
orderReturnCreate
)
{
OrderReturnDO
orderReturnDO
=
OrderReturnConvert
.
INSTANCE
.
convert
(
orderReturnCreate
);
orderReturnDO
.
setCreateTime
(
new
Date
())
.
setStatus
(
OrderReturnStatusEnum
.
RETURN_APPLICATION
.
getValue
());
return
null
;
}
}
order/order-service-impl/src/main/java/cn/iocoder/mall/order/service/OrderServiceImpl.java
→
order/order-service-impl/src/main/java/cn/iocoder/mall/order/
biz/
service/OrderServiceImpl.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
service
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
service
;
import
cn.iocoder.common.framework.constant.DeletedStatusEnum
;
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.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
cn.iocoder.mall.order.biz.OrderCommon
;
import
cn.iocoder.mall.order.biz.convert.OrderConvert
;
import
cn.iocoder.mall.order.biz.convert.OrderItemConvert
;
import
cn.iocoder.mall.order.biz.convert.OrderLogisticsConvert
;
import
cn.iocoder.mall.order.biz.dao.OrderCancelMapper
;
import
cn.iocoder.mall.order.biz.dao.OrderItemMapper
;
import
cn.iocoder.mall.order.biz.dao.OrderLogisticsMapper
;
import
cn.iocoder.mall.order.biz.dao.OrderMapper
;
import
cn.iocoder.mall.order.biz.dataobject.OrderCancelDO
;
import
cn.iocoder.mall.order.biz.dataobject.OrderDO
;
import
cn.iocoder.mall.order.biz.dataobject.OrderItemDO
;
import
cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDO
;
import
com.google.common.collect.Lists
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -45,6 +47,8 @@ public class OrderServiceImpl implements OrderService {
@Autowired
private
OrderLogisticsMapper
orderLogisticsMapper
;
@Autowired
private
OrderCancelMapper
orderCancelMapper
;
@Autowired
private
OrderCommon
orderCommon
;
@Override
...
...
@@ -52,7 +56,7 @@ public class OrderServiceImpl implements OrderService {
int
totalCount
=
orderMapper
.
selectPageCount
(
orderQueryDTO
);
if
(
totalCount
==
0
)
{
return
CommonResult
.
success
(
new
OrderPageBO
().
setTotal
(
0
));
return
CommonResult
.
success
(
new
OrderPageBO
().
set
Orders
(
Collections
.
EMPTY_LIST
).
set
Total
(
0
));
}
// 获取订单数据
...
...
@@ -212,10 +216,18 @@ public class OrderServiceImpl implements OrderService {
@Override
@Transactional
public
CommonResult
updateOrderItemPayAmount
(
Integer
orderId
,
Integer
orderItemId
,
Integer
payAmount
)
{
OrderDO
orderDO
=
orderMapper
.
selectById
(
orderId
);
if
(
orderDO
==
null
)
{
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
ORDER_NOT_EXISTENT
.
getCode
());
}
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
));
...
...
@@ -223,6 +235,51 @@ public class OrderServiceImpl implements OrderService {
}
@Override
@Transactional
public
CommonResult
cancelOrder
(
Integer
orderId
,
Integer
reason
,
String
otherReason
)
{
// 关闭订单,在用户还未付款的时候可操作
OrderDO
orderDO
=
orderMapper
.
selectById
(
orderId
);
if
(
orderDO
==
null
)
{
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
ORDER_NOT_EXISTENT
.
getCode
());
}
// 检查专题,只有待付款状态才能操作
if
(!
orderDO
.
getStatus
().
equals
(
OrderStatusEnum
.
WAITING_PAYMENT
.
getValue
()))
{
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
ORDER_STATUS_NOT_CANCEL
.
getCode
());
}
OrderCancelDO
orderCancelDO
=
(
OrderCancelDO
)
new
OrderCancelDO
()
.
setOrderId
(
orderDO
.
getId
())
.
setOrderNo
(
orderDO
.
getOrderNo
())
.
setReason
(
reason
)
.
setOtherReason
(
otherReason
)
.
setCreateTime
(
new
Date
())
.
setUpdateTime
(
null
);
// 关闭订单,修改状态 item
orderItemMapper
.
updateByOrderId
(
new
OrderItemDO
()
.
setOrderId
(
orderId
)
.
setStatus
(
OrderStatusEnum
.
CLOSED
.
getValue
())
);
// 关闭订单,修改状态 order
orderMapper
.
updateById
(
new
OrderDO
().
setId
(
orderId
).
setStatus
(
OrderStatusEnum
.
CLOSED
.
getValue
()));
// 保存取消订单原因
orderCancelMapper
.
insert
(
orderCancelDO
);
return
CommonResult
.
success
(
null
);
}
@Override
public
CommonResult
updateOrderRemake
(
Integer
orderId
,
String
remake
)
{
// 此处不做订单校验,直接设置备注即可
orderMapper
.
updateById
(
new
OrderDO
().
setId
(
orderId
).
setRemark
(
remake
));
return
CommonResult
.
success
(
null
);
}
@Override
@Transactional
public
CommonResult
deleteOrderItem
(
OrderItemDeletedDTO
orderItemDeletedDTO
)
{
Integer
orderId
=
orderItemDeletedDTO
.
getOrderId
();
List
<
Integer
>
orderItemIds
=
orderItemDeletedDTO
.
getOrderItemIds
();
...
...
order/order-service-impl/src/main/resources/config/application.yaml
浏览文件 @
0256a4da
...
...
@@ -10,7 +10,7 @@ spring:
mybatis
:
config-location
:
classpath:mybatis-config.xml
mapper-locations
:
classpath:mapper/*.xml
type-aliases-package
:
cn.iocoder.mall.order.dataobject
type-aliases-package
:
cn.iocoder.mall.order.
biz.
dataobject
# dubbo
dubbo
:
...
...
@@ -22,9 +22,10 @@ dubbo:
port
:
-1
name
:
dubbo
scan
:
base-packages
:
cn.iocoder.mall.order.service
base-packages
:
cn.iocoder.mall.order.
biz.
service
# logging
logging
:
level
:
cn.iocoder.mall.order.dao
:
debug
# dao 开启 debug 模式 mybatis 输入 sql
cn.iocoder.mall.order.biz.dao
:
debug
order/order-service-impl/src/main/resources/mapper/OrderCancelMapper.xml
0 → 100644
浏览文件 @
0256a4da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.mall.order.biz.dao.OrderCancelMapper"
>
<sql
id=
"FIELDS"
>
id, order_id, order_no, reason, other_reason,
create_time, update_time
</sql>
<!--
插入数据
-->
<insert
id=
"insert"
parameterType=
"OrderCancelDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
INSERT INTO `order_cancel` (
order_id, order_no, reason, other_reason,
create_time, update_time
) VALUES (
#{orderId}, #{orderNo}, #{reason}, #{otherReason},
#{createTime}, #{updateTime}
)
</insert>
</mapper>
order/order-service-impl/src/main/resources/mapper/OrderItemMapper.xml
浏览文件 @
0256a4da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderItemMapper"
>
<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,
...
...
@@ -106,10 +106,19 @@
</foreach>
</update>
<!--
查询 - 根据 orderId 下的 item
-->
<select
id=
"selectByOrderIdAndDeleted"
resultType=
"cn.iocoder.mall.order.dataobject.OrderItemDO"
>
<!--
更新 - 根据 orderId
-->
<update
id=
"updateByOrderId"
>
UPDATE `order_item`
<include
refid=
"updateFieldSql"
/>
WHERE order_id = #{orderId}
</update>
<!--
查询 - 根据 orderId 下的 item
-->
<select
id=
"selectByOrderIdAndDeleted"
resultType=
"cn.iocoder.mall.order.biz.dataobject.OrderItemDO"
>
SELECT * FROM `order_item`
WHERE 1=1
<if
test=
"deleted"
>
...
...
@@ -123,7 +132,7 @@
<!--
查询 - 根据 orderIds 和 status
-->
<select
id=
"selectByOrderIdsAndDeleted"
resultType=
"cn.iocoder.mall.order.dataobject.OrderItemDO"
>
<select
id=
"selectByOrderIdsAndDeleted"
resultType=
"cn.iocoder.mall.order.
biz.
dataobject.OrderItemDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order_item`
...
...
order/order-service-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
浏览文件 @
0256a4da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderLogisticsMapper"
>
<mapper
namespace=
"cn.iocoder.mall.order.
biz.
dao.OrderLogisticsMapper"
>
<sql
id=
"FIELDS"
>
id, area_no, `name`, mobile, address, logistics_no, create_time, update_time
...
...
@@ -53,7 +53,7 @@
<!--
查询 - 根据 orderId
-->
<select
id=
"selectByIds"
resultType=
"cn.iocoder.mall.order.dataobject.OrderLogisticsDO"
>
<select
id=
"selectByIds"
resultType=
"cn.iocoder.mall.order.
biz.
dataobject.OrderLogisticsDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order_logistics`
...
...
order/order-service-impl/src/main/resources/mapper/OrderMapper.xml
浏览文件 @
0256a4da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.mall.order.dao.OrderMapper"
>
<mapper
namespace=
"cn.iocoder.mall.order.
biz.
dao.OrderMapper"
>
<sql
id=
"FIELDS"
>
id, user_id, order_logistics_id, order_no, pay_amount, payment_time,
...
...
@@ -39,7 +39,7 @@
<if
test=
"payAmount != null"
>
, pay_amount = #{payAmount}
</if>
-- time
<if
test=
"paymentTime != null"
>
, payment_time = #{paymentTime}
</if>
...
...
@@ -55,7 +55,7 @@
<if
test=
"hasReturnExchange != null"
>
, has_return_exchange = #{hasReturnExchange}
</if>
-- other
<if
test=
"status != null"
>
, status = #{status}
</if>
...
...
@@ -86,7 +86,7 @@
<!--
查询 - 根据id 查询
-->
<select
id=
"selectById"
resultType=
"cn.iocoder.mall.order.dataobject.OrderDO"
>
<select
id=
"selectById"
resultType=
"cn.iocoder.mall.order.
biz.
dataobject.OrderDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order`
...
...
@@ -94,26 +94,30 @@
</select>
<!--
查询条件
查询条件
注意:条件顺序,避免不能使用索引
-->
<sql
id=
"selectWhere"
>
<if
test=
"
id
!= null"
>
AND `
id` = #{id
}
<if
test=
"
status
!= null"
>
AND `
status` = #{status
}
</if>
<if
test=
"userId != null"
>
AND `user_id` = #{userId}
</if>
<if
test=
"
orderLogisticsI
d != null"
>
AND `
order_logistics_id` = #{orderLogisticsI
d}
<if
test=
"
i
d != null"
>
AND `
id` = #{i
d}
</if>
<if
test=
"orderNo != null"
>
AND `order_no` = #{orderNo}
</if>
<if
test=
"orderLogisticsId != null"
>
AND `order_logistics_id` = #{orderLogisticsId}
</if>
<if
test=
"hasReturnExchange != null"
>
AND `has_return_exchange` = #{hasReturnExchange}
</if>
<if
test=
"status != null"
>
AND `status` = #{status}
<if
test=
"startCreateTime != null and endCreateTime != null"
>
AND `create_time`
>
= #{startCreateTime}
AND `create_time`
<
= #{endCreateTime}
</if>
</sql>
...
...
@@ -131,7 +135,7 @@
<!--
查询 - 后台分页page
-->
<select
id=
"selectPage"
resultType=
"cn.iocoder.mall.order.dataobject.OrderDO"
>
<select
id=
"selectPage"
resultType=
"cn.iocoder.mall.order.
biz.
dataobject.OrderDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM `order`
...
...
order/order-service-impl/src/test/java/cn/iocoder/mall/order/service/OrderServiceImplTest.java
→
order/order-service-impl/src/test/java/cn/iocoder/mall/order/
biz/
service/OrderServiceImplTest.java
浏览文件 @
0256a4da
package
cn
.
iocoder
.
mall
.
order
.
service
;
package
cn
.
iocoder
.
mall
.
order
.
biz
.
service
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.order.OrderApplicationTest
;
...
...
@@ -6,8 +6,8 @@ import cn.iocoder.mall.order.api.OrderService;
import
cn.iocoder.mall.order.api.bo.OrderCreateBO
;
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
cn.iocoder.mall.order.
biz.
dao.OrderMapper
;
import
cn.iocoder.mall.order.
biz.
dataobject.OrderDO
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论