Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
ff0760e0
Commit
ff0760e0
authored
Aug 03, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加随车物品功能
parent
64676cda
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
126 additions
and
12 deletions
+126
-12
ItemTypeEnum.java
...m/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
+1
-0
OrderItem.java
...c/main/java/com/xxfc/platform/order/entity/OrderItem.java
+9
-2
AddRentVehicleDTO.java
.../java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
+27
-0
OrderAccompanyDTO.java
.../java/com/xxfc/platform/order/pojo/OrderAccompanyDTO.java
+39
-0
RentVehicleBO.java
...ava/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
+4
-0
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+25
-4
RedisKey.java
...ain/java/com/xxfc/platform/vehicle/constant/RedisKey.java
+2
-0
VehicleFeign.java
...in/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
+5
-0
BookVehicleVO.java
...in/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
+1
-1
RentVehicleBookDTO.java
...va/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
+9
-0
AccompanyingItemBiz.java
...va/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
+4
-5
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
View file @
ff0760e0
...
...
@@ -12,6 +12,7 @@ public enum ItemTypeEnum {
TOUR_CHILD
(
202
,
"旅游儿童"
),
TOUR_INSURE
(
203
,
"旅游保险"
),
MEMBER
(
301
,
"会员"
),
ACCOMPANY
(
104
,
"随车物品"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderItem.java
View file @
ff0760e0
...
...
@@ -4,6 +4,9 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -50,10 +53,10 @@ public class OrderItem implements Serializable {
private
String
name
;
/**
* item 类型
1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员
* item 类型
,详见{@link ItemTypeEnum}
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"item 类型 1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员"
)
@ApiModelProperty
(
value
=
"item 类型 1--租车车型 2--车损免赔 3--司机费用 4--旅游项目 5--旅游保险 6--会员
7--随车物品
"
)
private
Integer
type
;
/**
...
...
@@ -126,6 +129,10 @@ public class OrderItem implements Serializable {
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
@Column
(
name
=
"detail"
)
@ApiModelProperty
(
value
=
"描述、详情"
)
private
String
detail
;
public
Integer
getCalculateNum
()
{
return
buyNum
-
cutNum
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
View file @
ff0760e0
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeItem
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -8,6 +11,8 @@ import java.time.Instant;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Data
public
class
AddRentVehicleDTO
extends
AddOrderCommonDTO
{
...
...
@@ -100,6 +105,12 @@ public class AddRentVehicleDTO extends AddOrderCommonDTO{
@ApiModelProperty
(
value
=
"优惠卷卷号"
)
private
String
tickerNos
;
@ApiModelProperty
(
value
=
"随车物品"
)
private
List
<
String
>
accompanyStrs
;
@ApiModelProperty
(
value
=
"随车物品"
,
hidden
=
true
)
private
List
<
OrderAccompanyDTO
>
accompanyItems
;
public
void
setStartTime
(
Long
startTime
)
{
this
.
startTime
=
startTime
;
this
.
bookStartDate
=
DEFAULT_DATE_TIME_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
startTime
),
ZoneOffset
.
ofHours
(
8
)));
...
...
@@ -109,4 +120,20 @@ public class AddRentVehicleDTO extends AddOrderCommonDTO{
this
.
endTime
=
endTime
;
this
.
bookEndDate
=
DEFAULT_DATE_TIME_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
endTime
),
ZoneOffset
.
ofHours
(
8
)));
}
public
void
setAccompanyStrs
(
List
<
String
>
accompanyStrs
)
{
this
.
accompanyStrs
=
accompanyStrs
;
if
(
null
!=
accompanyStrs
)
{
this
.
accompanyItems
=
this
.
accompanyStrs
.
parallelStream
().
map
(
str
->
{
String
[]
strs
=
str
.
split
(
","
);
if
(
strs
.
length
<
2
)
{
return
null
;
}
OrderAccompanyDTO
item
=
new
OrderAccompanyDTO
();
item
.
setId
(
Integer
.
valueOf
(
strs
[
0
]));
item
.
setNum
(
Integer
.
valueOf
(
strs
[
1
]));
return
item
;
}).
collect
(
Collectors
.
toList
());
}
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/OrderAccompanyDTO.java
0 → 100644
View file @
ff0760e0
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
OrderAccompanyDTO
{
/**
* 物品id
*/
private
Integer
id
;
/**
* 物品名称
*/
private
String
name
;
/**
* 物品数量
*/
private
Integer
num
;
/**
* 物品单位
*/
private
String
unit
;
/**
* 物品单价
*/
private
BigDecimal
unitPrice
;
/**
* 物品总价
*/
private
BigDecimal
totalAmount
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
View file @
ff0760e0
...
...
@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.BaseOrder;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.pojo.BookVehicleVO
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -38,4 +39,7 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
* 订单子项
*/
List
<
OrderItem
>
items
;
@ApiModelProperty
(
value
=
"随车物品"
,
hidden
=
true
)
private
List
<
OrderAccompanyDTO
>
accompanyItems
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
ff0760e0
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.order.service;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Dict
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
...
...
@@ -23,16 +24,19 @@ import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -40,15 +44,13 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
.
ItemTypeEnum
.*;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
...
...
@@ -154,9 +156,25 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
amount
,
ActivityFeign
.
TYPE_USE
);
}
//插入随声物品item
Map
<
String
,
AccompanyingItemVo
>
accompanyingItemMap
=
vehicleFeign
.
listAccompanyingItem
().
getData
()
.
parallelStream
().
collect
(
Collectors
.
toMap
(
en
->
en
.
getId
().
toString
(),
en
->
en
));
for
(
OrderAccompanyDTO
oad
:
bo
.
getAccompanyItems
())
{
AccompanyingItemVo
aiv
=
accompanyingItemMap
.
get
(
oad
.
getId
());
oad
.
setName
(
aiv
.
getName
());
oad
.
setUnit
(
aiv
.
getUnit
());
oad
.
setUnitPrice
(
aiv
.
getPrice
());
oad
.
setNum
(
aiv
.
getNumber
());
oad
.
setTotalAmount
(
oad
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
oad
.
getNum
().
toString
())));
}
//获取可用车辆
acquireVehicle
(
bo
);
OrderItem
accompanyItem
=
orderItemBiz
.
initOrderItem
(
BigDecimal
.
ZERO
,
1
,
"随车物品"
,
null
,
ACCOMPANY
);
accompanyItem
.
setDetail
(
JSONUtil
.
toJsonStr
(
bo
.
getAccompanyItems
()));
orderItemBiz
.
insertSelective
(
accompanyItem
);
super
.
handleDetail
(
bo
);
//发送定时取消订单(数据字典设置--5分钟)
...
...
@@ -380,6 +398,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO
.
setUserName
(
BaseContextHandler
.
getName
());
rentVehicleBookDTO
.
setLiftCompany
(
detail
.
getStartCompanyId
());
rentVehicleBookDTO
.
setLiftAddr
(
detail
.
getStartAddr
());
if
(
null
!=
detail
.
getAccompanyItems
())
{
rentVehicleBookDTO
.
setSelectedAccItem
(
detail
.
getAccompanyItems
().
parallelStream
().
collect
(
Collectors
.
toMap
(
OrderAccompanyDTO:
:
getId
,
OrderAccompanyDTO:
:
getNum
)));
}
ObjectRestResponse
<
VehicleBookRecord
>
orr
=
vehicleFeign
.
rentApplyVehicle
(
rentVehicleBookDTO
);
if
(!
CommonConstants
.
SYS_JSON_TRUE
.
equals
(
orr
.
getStatus
()))
{
throw
new
BaseException
(
orr
.
getMessage
(),
orr
.
getStatus
());
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/constant/RedisKey.java
View file @
ff0760e0
...
...
@@ -85,6 +85,8 @@ public class RedisKey {
// 随车物品相关key
public
static
final
String
ACCOMPANYING_ITEM_CACHE_ALL
=
"cache:accompanyItem:all"
;
public
static
final
String
ACCOMPANYING_ITEM_CACHE_ALL_APP
=
ACCOMPANYING_ITEM_CACHE_ALL
+
":app"
;
/**
* 服务器上传文件序号
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
View file @
ff0760e0
...
...
@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -109,4 +110,8 @@ public interface VehicleFeign {
@GetMapping
(
"/city/corporationCity"
)
ObjectRestResponse
<
Set
<
Integer
>>
corporationCity
(
@RequestParam
(
value
=
"zoneList"
)
String
zoneList
,
@RequestParam
(
value
=
"companyList"
)
String
companyList
);
@GetMapping
(
"/accompanyingItem/app/unauth/items"
)
public
RestResponse
<
List
<
AccompanyingItemVo
>>
listAccompanyingItem
();
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
View file @
ff0760e0
...
...
@@ -67,7 +67,7 @@ public class BookVehicleVO {
* 随车物品id以及数量 List<Map<id,数量>>
*/
@ApiModelProperty
(
"随车物品id以及数量 List<Map<id,数量>>"
)
Map
<
Integer
,
Integer
>
selectedAccItem
;
Map
<
Integer
,
Integer
>
selectedAccItem
;
/**
* 提车阶段里程数
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
View file @
ff0760e0
...
...
@@ -4,6 +4,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
RentVehicleBookDTO
extends
PageParam
{
//根据车型、时间、距离,门店,预定车辆
...
...
@@ -47,4 +50,10 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty
(
"订单号"
)
private
String
orderNo
;
/**
* 随车物品id以及数量 List<Map<id,数量>>
*/
@ApiModelProperty
(
"随车物品id以及数量 List<Map<id,数量>>"
)
Map
<
Integer
,
Integer
>
selectedAccItem
;
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
View file @
ff0760e0
...
...
@@ -69,7 +69,7 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
return
PageDataVO
.
pageInfo
(
accompanyingItemsPageInfo
);
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
@CacheClear
(
pre
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
add
(
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
AccompanyingItem
accompanyingItem
=
new
AccompanyingItem
();
accompanyingItem
.
setId
(
null
);
...
...
@@ -78,7 +78,7 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
return
RestResponse
.
suc
();
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
@CacheClear
(
pre
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
update
(
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
AccompanyingItem
accompanyingItem
=
new
AccompanyingItem
();
BeanUtils
.
copyProperties
(
accompanyingItem
,
addOrUpdateAccompanyingItem
);
...
...
@@ -86,15 +86,14 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
return
RestResponse
.
suc
();
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
@CacheClear
(
pre
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
del
(
Integer
id
){
Integer
effected
=
mapper
.
deleteByPrimaryKey
(
id
);
return
RestResponse
.
suc
();
}
@Cache
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL_APP
)
public
List
<
AccompanyingItemVo
>
listAllItem
(){
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
new
ArrayList
<>();
Example
example
=
new
Example
(
AccompanyingItem
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment