Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
4aac5bd2
提交
4aac5bd2
authored
4月 16, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
2eb5d32c
dabd9f5f
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
115 行增加
和
10 行删除
+115
-10
DataDictService.java
.../main/java/cn/iocoder/mall/admin/api/DataDictService.java
+21
-0
DataDictMapper.java
...c/main/java/cn/iocoder/mall/admin/dao/DataDictMapper.java
+11
-2
DataDictServiceImpl.java
...va/cn/iocoder/mall/admin/service/DataDictServiceImpl.java
+12
-0
DataDictMapper.xml
...service-impl/src/main/resources/mapper/DataDictMapper.xml
+13
-0
logistics.vue
mobile-web/src/page/user/order/logistics.vue
+1
-1
OrderLogisticsController.java
...pplication/controller/users/OrderLogisticsController.java
+41
-2
UsersOrderController.java
...er/application/controller/users/UsersOrderController.java
+2
-2
OrderLogisticsInfoBO.java
...va/cn/iocoder/mall/order/api/bo/OrderLogisticsInfoBO.java
+4
-0
DictKeyConstants.java
.../cn/iocoder/mall/order/api/constant/DictKeyConstants.java
+6
-2
OrderErrorCodeEnum.java
...n/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
+3
-0
OrderLogisticsMapper.xml
...e-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
+1
-1
没有找到文件。
admin/admin-service-api/src/main/java/cn/iocoder/mall/admin/api/DataDictService.java
浏览文件 @
4aac5bd2
...
...
@@ -5,6 +5,7 @@ import cn.iocoder.mall.admin.api.bo.DataDictBO;
import
cn.iocoder.mall.admin.api.dto.DataDictAddDTO
;
import
cn.iocoder.mall.admin.api.dto.DataDictUpdateDTO
;
import
java.util.Collection
;
import
java.util.List
;
public
interface
DataDictService
{
...
...
@@ -17,5 +18,25 @@ public interface DataDictService {
CommonResult
<
Boolean
>
deleteDataDict
(
Integer
adminId
,
Integer
dataDictId
);
/**
* 获取字典值 - 单个
*
* 注意: dictValue:Object 为了方便调用,会自动转换为 dictValue:String
*
* @param dictKey
* @param dictValue
* @return
*/
CommonResult
<
DataDictBO
>
getDataDict
(
String
dictKey
,
Object
dictValue
);
/**
* 获取字典值 - 多个
*
* 注意:dictValueList:? 为了方便调用,会自动转换为 Set:String
*
* @param dictKey
* @param dictValueList
* @return
*/
CommonResult
<
List
<
DataDictBO
>>
getDataDictList
(
String
dictKey
,
Collection
<?>
dictValueList
);
}
admin/admin-service-impl/src/main/java/cn/iocoder/mall/admin/dao/DataDictMapper.java
浏览文件 @
4aac5bd2
...
...
@@ -4,6 +4,7 @@ import cn.iocoder.mall.admin.dataobject.DataDictDO;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collection
;
import
java.util.List
;
@Repository
...
...
@@ -11,8 +12,16 @@ public interface DataDictMapper {
DataDictDO
selectById
(
@Param
(
"id"
)
Integer
id
);
DataDictDO
selectByEnumValueAndValue
(
@Param
(
"enumValue"
)
String
enumValue
,
@Param
(
"value"
)
String
value
);
DataDictDO
selectByEnumValueAndValue
(
@Param
(
"enumValue"
)
String
enumValue
,
@Param
(
"value"
)
String
value
);
List
<
DataDictDO
>
selectByEnumValueAndValues
(
@Param
(
"enumValue"
)
String
enumValue
,
@Param
(
"values"
)
Collection
<
String
>
values
);
List
<
DataDictDO
>
selectList
();
...
...
admin/admin-service-impl/src/main/java/cn/iocoder/mall/admin/service/DataDictServiceImpl.java
浏览文件 @
4aac5bd2
...
...
@@ -14,8 +14,11 @@ import cn.iocoder.mall.admin.dataobject.DataDictDO;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 数据字典 Service
...
...
@@ -93,4 +96,12 @@ public class DataDictServiceImpl implements DataDictService {
DataDictBO
dataDictBO
=
DataDictConvert
.
INSTANCE
.
convert
(
dataDictDO
);
return
CommonResult
.
success
(
dataDictBO
);
}
@Override
public
CommonResult
<
List
<
DataDictBO
>>
getDataDictList
(
String
dictKey
,
Collection
<?>
dictValueList
)
{
Set
<
String
>
convertDictValueList
=
dictValueList
.
stream
().
map
(
o
->
String
.
valueOf
(
o
)).
collect
(
Collectors
.
toSet
());
List
<
DataDictDO
>
dataDictDOList
=
dataDictMapper
.
selectByEnumValueAndValues
(
dictKey
,
convertDictValueList
);
List
<
DataDictBO
>
dataDictBOList
=
DataDictConvert
.
INSTANCE
.
convert
(
dataDictDOList
);
return
CommonResult
.
success
(
dataDictBOList
);
}
}
\ No newline at end of file
admin/admin-service-impl/src/main/resources/mapper/DataDictMapper.xml
浏览文件 @
4aac5bd2
...
...
@@ -17,6 +17,19 @@
LIMIT 1
</select>
<select
id=
"selectByEnumValueAndValues"
resultType=
"cn.iocoder.mall.admin.dataobject.DataDictDO"
>
SELECT
<include
refid=
"FIELDS"
/>
FROM data_dict
WHERE deleted = 0
AND enum_value = #{enumValue}
AND `value` IN
<foreach
collection=
"values"
item=
"value"
separator=
","
open=
"("
close=
")"
>
#{value}
</foreach>
</select>
<select
id=
"selectById"
resultType=
"DataDictDO"
>
SELECT
<include
refid=
"FIELDS"
/>
...
...
mobile-web/src/page/user/order/logistics.vue
浏览文件 @
4aac5bd2
...
...
@@ -8,7 +8,7 @@
<van-tabs>
<van-tab
v-for=
"(item, index) in logistics"
:key=
"index"
:title=
"'包裹' + (index + 1)"
>
<van-cell-group>
<van-cell
title=
"快递方式"
:value=
"item.logistics
+ 'TODO 字典值'
"
/>
<van-cell
title=
"快递方式"
:value=
"item.logistics
Text
"
/>
<van-cell
title=
"快递单号"
:value=
"item.logisticsNo"
/>
</van-cell-group>
<van-steps
direction=
"vertical"
:active=
"0"
active-color=
"#f60"
style=
"margin-top: 15px;"
>
...
...
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/users/OrderLogisticsController.java
浏览文件 @
4aac5bd2
package
cn
.
iocoder
.
mall
.
order
.
application
.
controller
.
users
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.admin.api.DataDictService
;
import
cn.iocoder.mall.admin.api.bo.DataDictBO
;
import
cn.iocoder.mall.order.api.OrderLogisticsService
;
import
cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO
;
import
cn.iocoder.mall.order.api.constant.DictKeyConstants
;
import
cn.iocoder.mall.order.api.constant.OrderErrorCodeEnum
;
import
cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder
;
import
com.alibaba.dubbo.config.annotation.Reference
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 订单物流 controller
*
...
...
@@ -26,11 +35,41 @@ public class OrderLogisticsController {
@Reference
(
validation
=
"true"
)
private
OrderLogisticsService
orderLogisticsService
;
@Reference
(
validation
=
"true"
)
private
DataDictService
dataDictService
;
@GetMapping
(
"logistics_info"
)
@ApiOperation
(
"物流详细 - 返回订单所关联的所有物流信息"
)
public
CommonResult
<
OrderLogisticsInfoBO
>
logisticsInfo
(
@RequestParam
(
"orderId"
)
Integer
orderId
)
{
Integer
userId
=
UserSecurityContextHolder
.
getContext
().
getUserId
();
return
orderLogisticsService
.
logisticsInfo
(
userId
,
orderId
);
CommonResult
<
OrderLogisticsInfoBO
>
commonResult
=
orderLogisticsService
.
logisticsInfo
(
userId
,
orderId
);
if
(
commonResult
.
isSuccess
())
{
OrderLogisticsInfoBO
orderLogisticsInfoBO
=
commonResult
.
getData
();
List
<
OrderLogisticsInfoBO
.
Logistics
>
logisticsList
=
orderLogisticsInfoBO
.
getLogistics
();
// 获取字典值
Set
<
Integer
>
dictValues
=
logisticsList
.
stream
().
map
(
o
->
o
.
getLogistics
()).
collect
(
Collectors
.
toSet
());
CommonResult
<
List
<
DataDictBO
>>
dictResult
=
dataDictService
.
getDataDictList
(
DictKeyConstants
.
ORDER_LOGISTICS_COMPANY
,
dictValues
);
if
(
dictResult
.
isError
())
{
// 错误情况
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
DICT_SERVER_INVOKING_FAIL
.
getCode
());
}
// 转换结果字典值
Map
<
String
,
DataDictBO
>
dataDictBOMap
=
dictResult
.
getData
()
.
stream
().
collect
(
Collectors
.
toMap
(
o
->
o
.
getValue
(),
o
->
o
));
logisticsList
.
stream
().
map
(
o
->
{
String
dicValue
=
o
.
getLogistics
().
toString
();
if
(
dataDictBOMap
.
containsKey
(
dicValue
))
{
o
.
setLogisticsText
(
dataDictBOMap
.
get
(
dicValue
).
getDisplayName
());
}
return
o
;
}).
collect
(
Collectors
.
toList
());
}
return
commonResult
;
}
}
order/order-application/src/main/java/cn/iocoder/mall/order/application/controller/users/UsersOrderController.java
浏览文件 @
4aac5bd2
...
...
@@ -8,7 +8,7 @@ import cn.iocoder.mall.admin.api.bo.DataDictBO;
import
cn.iocoder.mall.order.api.CartService
;
import
cn.iocoder.mall.order.api.OrderService
;
import
cn.iocoder.mall.order.api.bo.*
;
import
cn.iocoder.mall.order.api.constant.DictKey
s
Constants
;
import
cn.iocoder.mall.order.api.constant.DictKeyConstants
;
import
cn.iocoder.mall.order.api.constant.OrderErrorCodeEnum
;
import
cn.iocoder.mall.order.api.dto.CalcOrderPriceDTO
;
import
cn.iocoder.mall.order.api.dto.OrderCreateDTO
;
...
...
@@ -120,7 +120,7 @@ public class UsersOrderController {
OrderInfoBO
orderInfoBO
=
commonResult
.
getData
();
CommonResult
<
DataDictBO
>
dictResult
=
dataDictService
.
getDataDict
(
DictKey
sConstants
.
ORDER_STATUS_KEY
,
orderInfoBO
.
getStatus
());
.
getDataDict
(
DictKey
Constants
.
ORDER_STATUS
,
orderInfoBO
.
getStatus
());
orderInfoBO
.
setStatusText
(
dictResult
.
getData
().
getDisplayName
());
return
commonResult
;
}
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/bo/OrderLogisticsInfoBO.java
浏览文件 @
4aac5bd2
...
...
@@ -58,6 +58,10 @@ public class OrderLogisticsInfoBO implements Serializable {
* 物流 (字典)
*/
private
Integer
logistics
;
/**
* 物流 (字典) 转换后的值
*/
private
String
logisticsText
;
/**
* 物流编号
*/
...
...
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/DictKey
s
Constants.java
→
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/DictKeyConstants.java
浏览文件 @
4aac5bd2
...
...
@@ -6,10 +6,14 @@ package cn.iocoder.mall.order.api.constant;
* @author Sin
* @time 2019-04-14 17:46
*/
public
class
DictKey
s
Constants
{
public
class
DictKeyConstants
{
/**
* 订单 - status
*/
public
static
final
String
ORDER_STATUS_KEY
=
"order_status"
;
public
static
final
String
ORDER_STATUS
=
"order_status"
;
/**
* 订单 - 物流商家
*/
public
static
final
String
ORDER_LOGISTICS_COMPANY
=
"logistics_company"
;
}
order/order-service-api/src/main/java/cn/iocoder/mall/order/api/constant/OrderErrorCodeEnum.java
浏览文件 @
4aac5bd2
...
...
@@ -31,11 +31,14 @@ public enum OrderErrorCodeEnum {
ORDER_ITEM_SOME_NOT_EXISTS
(
1008000201
,
"有不存在的商品!"
),
// ========== 购物车 ==========
CARD_ITEM_NOT_FOUND
(
1008003000
,
"购物车项不存在"
),
CARD_ITEM_SKU_NOT_FOUND
(
1008003001
,
"商品不存在"
),
CARD_ITEM_SKU_QUANTITY_NOT_ENOUGH
(
1008003002
,
"商品库存不足"
),
// 工具类服务 1008004000
DICT_SERVER_INVOKING_FAIL
(
1008004000
,
"字典服务调用失败!"
),
;
private
final
int
code
;
...
...
order/order-service-impl/src/main/resources/mapper/OrderLogisticsMapper.xml
浏览文件 @
4aac5bd2
...
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"cn.iocoder.mall.order.biz.dao.OrderLogisticsMapper"
>
<sql
id=
"FIELDS"
>
id, area_no, `name`, mobile, address, logistics_no, create_time, update_time
id, area_no, `name`, mobile, address, logistics
, logistics
_no, create_time, update_time
</sql>
<!--
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论